当前位置:   article > 正文

DeepSeek-VL论文阅读和整理

deepseek-vl

一、DeepSeek的亮点分析

1. 数据方面

提供了大量的开源数据集的整合,如果想要构建开源数据集,可以从这篇文章的数据部分着手依次收集。

提供了VL的训练需要纯文本语料的思路,之前的VL训练,无论是预训练还是微调都着重于多模态数据集的训练;这里通过实验发现必须保证纯文本训练数据,才能保证大语言模型性能不衰退,通过实验,大致确认了图文对和纯文本的训练比例在3:7上。

和llava系列不同,DeepSeek-VL有大量的自有数据的参与,这和Qwen类似。如果需要构建特殊方向的能力,大量的自有数据是有必要的。

2. 模型结构

视觉模型可以处理1024*1024的输入,并且在一个固定的token budget,且计算的训练代价较低。

亮点分析:

1. 首先指出了传统的视觉编码器存在的输入像素问题,一般的clip基础的视觉编码大模型输出的分辨率都比较低,最高位512*512,这种输入无法处理图像的微小细节,也无法实现富文本OCR的识别。

2. 这里采用的策略和Vary类似,额外叠加一个高分辨率的视觉编码器,然后让图片分别通过原始的低像素视觉编码器和新的高分辨率视觉编码器。将两个视觉编码器的输入embedding统一到同一个维度之后进行concat操作,实现高像素和低像素信息的融合。

3.训练策略

整理的训练首先从语言模型开始,在VL的预训练中,从头开始训练LLM模型,然后仔细控制视觉训练和语言训练两个模态。

在传统的两阶段训练中,第一阶段用于对齐图像编码器输入的embedding空间和大语言模型输入的embedding输入空间。在这个阶段中,往往只训练视觉适配器,而冻结视觉编码器和大语言模型。在第二阶段,用于训练全量的模型参数。

和传统的两阶段训练方式不同,这里的训练分为三个阶段。

第一阶段和传统的第一阶段类似,用大量的图文对训练视觉适配器,对齐视觉embedding特征和大语言模型的输入embedding空间。第二阶段是联合训练语言能力和多模态能力,用大量的图文交互对和纯文本语料训练视觉适配器和大语言模型,目标是不降低大语言模型的能力。第三阶段是进行全量参数的微调训练,让模型更好的适配chat环境。

对VL的训练工作提出的挑战

  1. 数据的整合方面,DEEPSEEK数据规模之大,令人咋舌。以第一阶段的视觉对齐来说,DEEPSEEK采用了3750K数据量,而LLava1.5第一阶段的训练量仅为550K。
  2. 自研数据方面的整合需要加速,如果需要提升表格和图表理解方面的能力,这部分的训练数据整合需要着重增强。
  3. 训练代码方面,目前论文自身的多模态训练框架和代码编写的能力有待通过实践增强。

二、简介

为啥要搞多模态?现有的方法有什么问题?

  1. 本文更加注重预训练阶段。开源的多模态解决方案在指令调优阶段分配了大量计算资源。然而,强大的语言模型训练经验强调了通用智力发展中的广泛预训练的重要性。为了赋予多模态模型丰富的世界知识,应重视利用广泛视觉语言数据的全面预训练。
  2. 学术数据集可以在调优阶段提升模型的学术指标,但是对于真实的用户对话场景来说,效果不好。在指令调优过程中,合并各种学术数据集是一种常见做法。尽管这种方法可能带来良好的基准测试结果,但通常在提供真实现实用户场景的使用体验方面表现不足。
  3. 过去的方法在视觉模型上不支持高分辨率。在模型架构方面,先前的研究通常采用文本对齐的视觉变换器,也就是视觉模型的输出通常对齐于基于预训练的语言模型。然而,大多数这些模型处理的分辨率相对较低,例如336×336或448×448。复杂现实世界场景,如图象字符识别OCR或微小物体辨识,需要高分辨率处理能力。
  4. 过去的方法没有保持住LLM的语言能力。一些模型(如01-ai,2024年;Lin 等人,2023年;Sun 等人,2023年;Wang 等人,2023b年)已经开始利用预训练。然而,它们往往忽视了语言技能的保持。在长时间的多模态训练后,语言能力往往会下降。由于论文的目标是培养一个在两种模态上都具有强大能力的通才,因此在发展新模态能力时,应该有一个训练策略,以保持语言能力。

三、数据构建

Vision-Language pretraining Data and VisionLanguage Supervised Fine-Tuning Data

视觉语言(VL)预训练数据由来自各种来源的视觉-文本数据组成,旨在增强模型的基础跨模态理解能力;而视觉语言(VL)监督微调数据相对较小,旨在教会模型完成特定的下游任务。按设计,VL预训练数据用于在训练阶段1中预热视觉语言适配器,并在阶段2中共同预训练视觉语言模型;VL监督微调数据在训练阶段3中使用,即视觉语言监督微调。

预训练数据

交织的图像-文本数据使模型能够更好地进行多模态输入的上下文学习,我们利用了三个公共数据集MMC4、Wiki和Wikihow。

图像字幕数据来自三个高质量图像-文本配对数据集:Capsfusion、TaiSu和Detailed Caption。

表格和图表数据使模型能够学习通用表格和图表图像理解的能力。它包括各种公共数据源,包括Chart2text、Geo170K、Unichart、Ureader、M-paper、ScienceQA、ScreenQA、SciGraphQA-295K、Paper2figure100k、Widget Captioning、Screen2words和Refexp。

Web Code数据使模型能够从图形界面或视觉图中重建代码。利用Websight进行UI反渲染,论文采用了类似于MATCHA中视觉图反渲染的策略。这涉及处理大约146万个Jupyter笔记本从Stack数据集(Kocetkov et al., 2023)中提取这些笔记本,并收集所有图表及其相应的 preceding代码段,论文成功策划了一个包含200万对图像和代码的集合。为了提高数据质量,论文过滤了110万个实例,每个实例包含一个单一图像和至少5行代码,构成了论文的主要训练数据集

文档光学字符识别(OCR)数据有助于在文档级别识别光学字符,即使是在具有挑战性的现实世界中场景也是如此。据论文所知,目前还没有公开可用的涵盖英文和中文文档的大型数据集。尽管存在公开可访问的小型数据集Latex-OCR(Blecher,2024),但论文还构建了一个全面的英文和中文文档OCR数据集。它由两部分组成:1):arXiv文章:论文从140万篇arXiv文章中收集源代码和编译的PDF文件。利用Nougat中的预处理工具,论文将这些文章转换成成对的图像和文本;2):电子书和教育材料:论文从Anna’s Archive中清理了86万本英文和18万本中文电子书,以及数百万K-12教育考试题目。随后,论文使用HTML渲染工具将这些不同模板的HTML文件转换成成对的图像和文本格式。

场景文本OCR数据增强了模型从环境中集成文本的图像中识别和提取文本的能力。该数据集由多个公共数据集组成,包括ArT、MLT-17、LSVT、UberText、Coco-text、RCTW-17、ReCTS、TextOCR、OpenVINO和HierText。

Text-only corpus serves to maintain proficiency in language-centric tasks. In this study, weemploy the same text corpus with DeepSeek-LLM

数据的配比如下

微调数据

在论文研究中使用的有监督的微调数据集涵盖了多种多模态和语言数据源,包括著名的开源共享 gpt4v 数据集,如 ShareGPT4V、LAION-GPTV、LVIS-Instruct4V、textOCR-GPT4V、LLaVA1.6-GPT4V和 IconQA。此外,论文还整合了从预训练数据集中提取的部分表格和图表数据,如 Ureader、ScreenQA、Geo170K和 ScienceQA。此外,论文还集成了来自 Screen-to-code任务的 UI Code 数据集。为了提高论文的多模态 SFT 数据的质量,论文还精心整理了一部分高质量的自家多模态 SFT 数据,其中一些是中文语言的。

论文自有的指令微调数据集经过精心设计,以反映现实世界的使用场景并涵盖广泛的任务。论文首先从各种在线来源收集了一组多样化的真实测试用例,采用 GPT-4V 和 Gemini进行问答。这些测试用例随后被仔细分析和组织成一个全面分类,涵盖了多个类别,如识别、转换、分析、推理、评估和安全,如表 3 所示。这个结构化的分类为选择每个测试图像的代表性提示提供了指导,确保论文的指令微调数据集既实用又与现实世界应用相关。此外,这个分类也被用来构建平衡和全面的评估数据集,这使论文能够有效评估模型在不同任务和类别上的性能。通过遵循这种系统化方法,确保了自家的多模态 SFT 数据涵盖的类别与分类良好对齐,并代表现实世界的使用场景。

下面是自有数据按照上面提到的类别进行分类的一些例子

微调的数据配比如下

四、模型构成

论文系统包含三个模块:混合视觉编码器、视觉适配器和语言模型

混合视觉编码器

采用SigLIP作为视觉编码器,以从视觉输入中提取高级语义特征表示。然而,论文观察到单个SigLIP编码器难以全面解决所有现实世界的问题。CLIP家族的视觉编码器,包括SigLIP,主要是为语义视觉表示而设计的,但面临着模糊编码的挑战,导致视觉上不同的图像被编码为相似,这被称为"CLIP盲对"Tong等人(2024)。同时,CLIP家族模型的输入分辨率相对较低(例如,224 x 224, 336 x 336, 384 x 384, 512 x 512),这阻碍了它们处理需要更详细低级特征的任务,如密集OCR和视觉定位任务。

为了解决这些局限性,论文额外使用了一个基于SAM-B的仅视觉编码器,这是一个预训练的ViTDet图像编码器,以处理高分辨率的1024 x 1024图像输入。除了SAM-B编码器外,论文保留了低分辨率的384 x 384图像输入的SigLIP-L视觉编码器。因此,论文的混合视觉编码器结合了SAM-B和SigLIP-L编码器,高效地编码高分辨率的1024 x 1024图像,同时保留了语义和详细信息。

在SAM-B生成的大小为64 x 64 x 256的特征图的情况下,VL适配器最初将其插值到96 x 96 x 256的大小。随后,它使用步长为2的两个卷积层,产生一个24 x 24 x 1024的特征图,并将其重塑为576 x 1024。与此同时,由SigLIP-L生成的576 x 1024低分辨率特征图与高分辨率特征相连接,生成576个具有2048维的视觉标记。这些视觉标记具有显著增强高级语义视觉识别和低级视觉定位任务的能力。然后它们经过GeLU激活,并通过嵌入层与语言模型建立联系。

视觉-语言适配器

使用两层的混合多层感知器(MLP)来连接视觉编码器和大型语言模型(LLM)。首先,分别使用不同的单层MLP处理高分辨率特征和低分辨率特征。随后,这些特征沿着它们的维度进行连接,然后通过另一层MLP转换为LLM的输入空间。

语言模型

语言模型基于DeepSeek LLM,其微架构设计主要遵循LLaMA的设计,采用预规范化结构(Pre-Norm)和RMSNorm函数,并在前馈网络(FFN)中使用SwiGLU作为激活函数,中间层维度为83

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/574471
推荐阅读
相关标签