3月12日 工作记录 DeepSeek-VL阅读笔记

news2024/9/23 3:25:25

昨天考完试,晚上把那个讨人厌的项目做了阶段结果给合作者展示去了,然后就看到deepseek发布了vision language的技术报告,于是打算今天上午看看。

DeepSeek VL

很多内容直接翻译自其 DeepSeek-VL,下面的我们指的的是deepseek vl的作者。

数据构建

预训练数据

我们努力确保我们的数据是多样化的,可扩展的,并广泛覆盖现实世界的场景,包括web截图,pdf, OCR,图表和基于知识的内容(专家知识,教科书),旨在全面表示实际环境。

此外,我们从真实用户场景中创建用例分类法,并相应地构建指令调优数据集。使用该数据集进行的微调实质上改善了模型在实际应用中的用户体验。
在这里插入图片描述

  • Interleaved image-text:交错的图像-文本数据使模型具有更好的上下文处理能力学习多模态输入,我们利用了三个公共数据集MMC4 (Zhu等人,2024)、Wiki (Burns等人,2023)、Wikihow (Yang等人,2021)和Epub教科书。
  • Image capture:图像说明数据来自三个高质量的图像-文本配对数据集:Capsfusion (Yu等人,2023a)、TaiSu (Liu等人,2022b)和Detailed caption (echo840, 2024)。表格和图表数据使模型能够学习通用表格和图表图像理解的能力。它包含了各种各样的公共数据源,包括Chart2text(Kantharaj 等人,2022)、Geo170K(Gao 等人,2023)、Unichart(Masry 等人,2023)、Ureader (Ye et al., 2023)、M-paper (Hu et al., 2023)、ScienceQA (Lu et al., 2022b)、ScreenQA (Hsiao et al., 2022)、SciGraphQA-295K (Li and Tajbakhsh, 2023)、Paper2figure100k(Rodriguez 等人,2023)、Widget Captioning(Li 等人,2020)、Screen2words(Wang 等人,2021)和 Refexp(Mao 等人,2016)。
  • Web Code:Web代码数据赋予模型从图形界面或可视化图重构代码的能力。利用Websight (HuggingFaceM4, 2024)进行UI逆渲染,我们采用了类似于MATCHA (Liu et al., 2022a)用于视觉图逆渲染的策略。这涉及处理来自Stack数据集的大约146万Jupyter笔记本(Kocetkov et al., 2023)。通过提取这些笔记本并整理所有图表及其对应的前面代码段,我们成功地策划了一个包含200万对图像和代码的集合。为了获得更好的数据质量,我们过滤了110万个实例,每个实例由单个图像加上至少5行代码组成,以构成我们的主要训练数据集。
  • Document Optical Character Recognition (OCR):文档光学字符识别(OCR)数据有助于在文档级别识别光学字符,即使在具有挑战性的现实场景中也是如此。据我们所知,目前还没有公开可用的包含英文和中文文档的大规模数据集。尽管存在可公开访问的小规模数据集Latex-OCR (Blecher, 2024),但我们还构建了一个全面的英文和中文OCR数据集。它由两部分组成:1):arXiv文章:我们从140万篇arXiv文章中收集源代码并编译pdf。利用Nougat(Blecher et al., 2023)的预处理工具,我们将这些文章渲染成成对的图像和文本;2):电子书和教育材料:我们从Anna’s Archive(Anna’s Archive,2024)中清理了860K英文和180K中文电子书,以及数百万K-12教育考试问题。随后,我们使用HTML渲染工具(Kulkarni和Truelsen)将这些具有不同模板的HTML文件转换为成对的图像和文本格式。
  • Scene text OCR :场景文本OCR数据增强了模型识别和从图像中提取文本的能力,在这些图像中,文本与环境融为一体。该数据集由多个公共数据集组成,包括ArT (Chng et al., 2019)、MLT-17 (Nayef et al., 2017)、LSVT (Sun et al., 2019)、UberText (Zhang et al., 2017)、Coco-text (Veit et al., 2016)、RCTW-17 (Shi et al., 2017)、ReCTS (Zhang et al., 2019)、TextOCR (Singh et al., 2021)、OpenVINO (Krylov et al., 2021)和HierText (Long et al., 2022)。
  • Text-only corpus: 纯文本语料库用于保持以语言为中心的任务的熟练程度。在本研究中,我们使用了与DeepSeek-LLM (DeepSeek-AI, 2024)相同的文本语料库。

有监督Fine-tuning数据

我们研究中使用的监督式调优数据集包含多种多模态和语言数据源,包括知名的开源共享gpt4v数据集,如ShareGPT4V (Chen等人,2023)、LAION- gptv (LAION, 2023)、lvisi - instruct4v (Wang等人,2023a)、textOCR-GPT4V (Carter, 2024)、llava16 - gpt4v (Liu等人,2024a)和IconQA (Lu等人,2021)。此外,我们结合了从预训练数据集中提取的部分表格和图表数据,如Ureader (Ye等人,2023)、ScreenQA (Hsiao等人,2022)、Geo170K (Gao等人,2023)和ScienceQA (Lu等人,2022b)。此外,我们整合了从Screen-to-code (Abi, 2024)任务中获得的UI Code数据集。为了提高我们多模态SFT数据的质量,我们还整理了一部分高质量的内部多模态SFT数据,其中一些数据是中文的。我们的内部指令调优数据集经过精心设计,以反映现实世界的使用场景,并涵盖广泛的任务。我们首先从各种在线来源收集GPT-4V和Gemini的各种真实测试用例。然后对这些测试用例进行仔细分析并组织成一个全面的分类法,该分类法包含识别、转换、分析、推理、评估和安全等多个类别,详见表3。这个结构化的分类法作为为每个测试图像选择代表性提示的指南,确保我们的指令调优数据集既实用又与现实世界的应用相关。此外,该分类法还用于构建平衡和全面的评估数据集,这使我们能够有效地评估模型在不同任务和类别中的性能。通过遵循这种系统化的方法,我们确保我们内部多模态SFT数据所涵盖的类别与分类法和实际使用场景的代表性很好地保持一致。

DeepSeek自建数据

在这里插入图片描述

模型架构

模型架构看代码就好了:https://github.com/deepseek-ai/DeepSeek-VL/tree/main/deepseek_vl/models

考虑到效率和大多数现实世界场景的需求,DeepSeek-VL集成了一个混合视觉编码器,可以在固定的令牌预算内有效地处理高分辨率图像(1024 x 1024),同时保持相对较低的计算开销。这种设计选择确保了模型在各种视觉任务中捕获关键语义和详细信息的能力。训练策略:我们假设一个熟练的视觉语言模型首先应该拥有强大的语言能力。为了确保在预训练期间保留LLM能力,我们研究了一种有效的VL预训练策略,从一开始就整合LLM训练,并仔细管理视觉和语言模式之间观察到的竞争动态。从关注文本开始,我们逐渐调整比例,以促进两种模式的平衡整合。DeepSeek-VL系列(13 b和7B型号)在实际应用中作为视觉语言聊天机器人展示了卓越的用户体验,在相同的模型尺寸下,在广泛的视觉语言基准测试中实现了最先进或具有竞争力的性能,同时在以语言为中心的基准测试中保持了稳健的性能。我们将13 b模型和7B模型都对外开放,在此基础上促进创新。

训练方法

总体分析

三步训练,如下图所示。

在这里插入图片描述
我们可以对比一下qwen-vl的训练pipeline:
在这里插入图片描述
DeepSeek的训练方法和LLaVA相比多了Stage3,和qwen-vl相比在每个stage冻结和训练的模块各有选择。

具体DeepSeek的训练过程:

  1. 首先训练vision language的adaptor,insight:adaptor的训练参数少,不适用scale law,所以使用适量的数据训练就好,过多反而有害。
  2. 进行stage 2训练的原因:

最初,我们尝试用多模态数据直接训练LLM。然而,我们发现,虽然多模态性能的指标逐渐提高,但语言指标却出现了明显而严重的下降,如图4所示(multimodal: language -100%:0%)。这强调了在LLM的基础上直接进行多模态预训练的内在挑战,揭示了提高多模态能力和保持语言熟练度之间的关键权衡。
我们认为这一现象主要源于两个因素:第一,大多数多模态语料库过于简单,与语言数据的复杂性和分布存在显著差异。其次,在多模态和语言模态之间似乎存在一种竞争动态,导致了LLM中语言能力的灾难性遗忘。

  • DeepSeek-VL训练中的一个核心实验观察是,在VLM训练中保证原本大模型的能力需要70%:30%的多模态、文本数据投入
    在这里插入图片描述
  1. 监督微调在这个阶段,我们通过基于指令的微调对预训练的DeepSeek-VL模型进行微调,以增强其遵循指令和参与对话的能力,最终创建交互式DeepSeek-VL- chat模型。我们优化了语言模型、VL适配器和

  2. DeepSeek-VL的训练参数设置
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1510755.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的障碍物检测系统(Python+PySide6界面+训练代码)

摘要:开发障碍物检测系统对于道路安全性具有关键作用。本篇博客详细介绍了如何运用深度学习构建一个障碍物检测系统,并提供了完整的实现代码。该系统基于强大的YOLOv8算法,并对比了YOLOv7、YOLOv6、YOLOv5,展示了不同模型间的性能…

卡片大小,秒传千兆,内嵌加密 | 芯点子 x 希捷联名款CS1000高速移动固态硬盘首发评测

卡片大小,秒传千兆,内嵌加密 | 芯点子 x 希捷联名款CS1000高速移动固态硬盘首发评测 哈喽小伙伴们好,我是Stark-C~ 写在前面 我个人作为一名常和各种数据打交道的苦逼搬砖族,平时使用最多的操作就是各种数据备份、文件传输和分…

Codeforces Round 933 (Div. 3)

Codeforces Round 933 (Div. 3) Codeforces Round 933 (Div. 3) A. Rudolf and the Ticket 题意:俩口袋各有n和m枚不同面值的硬币,各取一枚,有多少种小于k的可能。 思路:数据很小,暴力枚举。 AC code:…

【深度学习笔记】7_6 RMSProp算法

注:本文为《动手学深度学习》开源内容,部分标注了个人理解,仅为个人学习记录,无抄袭搬运意图 7.6 RMSProp算法 我们在7.5节(AdaGrad算法)中提到,因为调整学习率时分母上的变量 s t \boldsymbol…

得帆助力大族激光主数据平台建设,用数据为企业生产力赋能

本期客户 大族激光科技产业集团股份有限公司(以下简称“大族激光”)是一家从事工业激光加工设备与自动化等配套设备及其关键器件的研发、生产、销售,激光、机器人及自动化技术在智能制造领域的系统解决方案的优质提供商,是国内激光…

RPC通信原理

RPC通信原理 RPC的概念 如果现在我有一个电商项目,用户要查询订单,自然而然是通过Service接口来调用订单的实现类。 我们把用户模块和订单模块都放在一起,打包成一个war包,然后再tomcat上运行,tomcat占有一个进程&am…

智能革新:思通数科开源AI平台在保险合同管理中的应用与优化

思通数科开源的多模态AI能力引擎平台是一个强大的工具,它结合了自然语言处理(NLP)、图像识别和语音识别技术,为企业提供自动化处理和分析文本、音视频和图像数据的能力。这个平台的开源性质意味着它可以被广泛地应用于各种业务场景…

JSP中间件漏洞

jsp的注入最难挖 另外3个好挖 struts2 url有action 就代表是struts2 用漏洞利用工具 下面之这两个一般都可以用工具扫一下 、 有些网站看起来没有 action实际上我们提交了 我们的账号和密码 之后就有了 工具包是下面 这些 github上面也有 用法就是如下图 把url放进去就…

3d视觉笔记 | 神经辐射场NeRF(Neural Radiance Fields)

NeRF概念 NeRF(Neural Radiance Fields,神经辐射场)是一种用于3D场景重建和图像渲染的深度学习方法。它由Ben Mildenhall等人在2020年的论文《NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis》中首次提出。NeRF通过…

8-100V转5V 2A 12V 2A 降压芯片 外置MOS 恒压输出

SC9103 一款宽电压范围降压型 DC-DC 电源管理芯片,内部集成使能开关控制、基准电源、误差放大器、 过热保护、限流保护、短路保护等功能,非常适合宽电压输入降压使用。 SC9103 零功耗使能控制,可以大大节省外围器件,更加适合电池场…

20240309web前端_第一周作业_完成用户注册界面

作业一&#xff1a;完成用户注册界面 成果展示&#xff1a; 完整代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-…

c++初阶------类和对象(下)

作者前言 &#x1f382; ✨✨✨✨✨✨&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f382; ​&#x1f382; 作者介绍&#xff1a; &#x1f382;&#x1f382; &#x1f382; &#x1f389;&#x1f389;&#x1f389…

避抗指南:如何寻找OLED透明屏供应商

寻找OLED透明屏供应商&#xff0c;你可以按照以下步骤进行&#xff1a; 明确需求&#xff1a;首先&#xff0c;你需要明确自己的需求&#xff0c;包括所需OLED透明屏的尺寸、分辨率、亮度、色彩饱和度等具体参数&#xff0c;以及预算和采购量。这有助于你更精准地找到符合需求的…

Django入门 整体流程跑通

Django学习笔记 一、Django整体流程跑通 1.1安装 pip install django //安装 import django //在python环境中导入django django.get_version() //获取版本号&#xff0c;如果能获取到&#xff0c;说明安装成功Django目录结构 Python310-Scripts\django-admi…

滑动窗口的概念,糊涂窗口综合征,nagle算法

目录 1.流量控制 2.滑动窗口 3.思考问题 1.流量控制 一般来说,我们总是希望数据传输得更快一些,但如果发送方把数据发送得过快,接收方就可能来不及接收,这就会造成数据的丢失.所谓流量控制(flow control)就是发送方的发送速率不要太快,要让接收方来得及接收. 2.滑动窗口 T…

【VS Code插件开发】自定义指令实现 git 命令 (九)

&#x1f431; 个人主页&#xff1a;不叫猫先生&#xff0c;公众号&#xff1a;前端舵手 &#x1f64b;‍♂️ 作者简介&#xff1a;前端领域优质作者、阿里云专家博主&#xff0c;共同学习共同进步&#xff0c;一起加油呀&#xff01; ✨优质专栏&#xff1a;VS Code插件开发极…

WebServer -- 架构图 面试题(上)

目录 &#x1f382;前言 &#x1f33c;流程图 && 架构图 1&#xff09;什么是 WebServer 2&#xff09;服务器基本框架 3&#xff09;Reactor && Proactor 模式 4&#xff09;同步 I/O 模拟Proactor模式&#xff08;Linux&#xff09; 5&#xff09;主从…

小白刷题CTF show web方向

web01 右键查看源代码&#xff0c;再使用在线解密&#xff0c;就可以得出答案了 web02 sql注入 admin or 11 或者 1 or 11可以登录查询几个字段&#xff1a;1 or 11 order by 3 # 使用此语句&#xff0c;判断列数。 order by 3不会出错&#xff0c;但是order by 4就没有显示…

上传文件携带参数总是deubg不进去

const { data } await createVerificationMaterialApi({file: info.file,name: file,filename: info.file.name,data: { ids },})//这样传参数&#xff0c;网络里看发的请求会是如下样子&#xff0c;这样debug不到代码里正确方法 const { data } await createVerificationMat…

这下爽了,全是特殊版实用软件,功能强大还免费

闲话少说&#xff0c;直接上狠货。 1、我的ABC软件工具箱 简洁而不失强大&#xff0c;我的ABC软件工具箱是您批量处理办公任务的得力小助手。完全免费&#xff0c;界面清新无广告&#xff0c;让您轻松开启高效办公之旅。 面对日常办公中繁多的文件处理需求&#xff0c;如内容…