幻方发布超强多模态LLM DeepSeek-VL!支持代码,文档OCR等!

DeepSeek-VL是一个为现实世界设计的开源视觉语言模型,它通过数据构建、模型架构和训练策略三个维度来实现对高分辨率图像的高效处理和丰富语义理解。

数源AI 最新论文解读系列

幻方发布超强多模态LLM DeepSeek-VL!支持代码,文档OCR等!

 

论文名:DeepSeek-VL: Towards Real-World Vision-Language Understanding

论文链接:https://arxiv.org/pdf/2403.05525.pdf

开源代码:https://github.com/deepseek-ai/DeepSeek-VL

 

幻方发布超强多模态LLM DeepSeek-VL!支持代码,文档OCR等!

 

引言

大型语言模型(LLMs)的显著成功(Anthropic, 2023;谷歌,2023;OpenAI (2022, 2023a)推动了对可处理语言以外的多种模式的通用接口的需求。为了应对这种不断增长的需求,我们已经看到了大型多模态模型(lmm)的出现,如GPT-4V (OpenAI, 2023b)和双子座 (Team等人,2023), 它们可以作为多功能助手,能够理解和执行跨越视觉和语言的指令。这些模型在执行复杂、 多样的现实世界任务方面表现出了相当大的前景,实现了更自然和类似人类的交互。

 

简介

我们提出了DeepSeek-VL,一个为现实世界设计的开源视觉语言(VL)模型 视觉和语言理解应用。我们的方法围绕三个关键维度构建: o数据构建:我们努力确保我们的数据是多样化的,可扩展的,并广泛覆盖现实世界的场景,包 括网络截图,pdf, OCR,图表和基于知识的内容(专家知识,教科书),旨在全面表示实际上下文。此外,我们从真实的用户场景中创建一个用例分类法,并相应地构建一个指令调优数据集。使 用该数据集进行微调,大大提高了模型在实际应用中的用户体验。o模型架构:考虑到效率和大多数现实世界场景的需求,DeepSeek-VL集成了一个混合视觉编码 器,可以在固定的令牌预算内有效地处理高分辨率图像(1024 x 1024),同时保持相对较低的计算 开销。这种设计选择确保了模型跨各种视觉任务捕捉关键语义和详细信息的能力。o训练策略:我们假设一个熟练的视觉语言模型首先应该具有很强的语言能力。为确保预训练期 间LLM能力的保留,本文研究了一种有效的VL预训练策略,从一开始就整合LLM训练,并仔细 管理视觉和语言模态之间观察到的竞争动态。从关注文本开始,我们逐渐调整比例,以促进两 种模态的平衡融合。

 

 

方法与模型

 

幻方发布超强多模态LLM DeepSeek-VL!支持代码,文档OCR等!

 

 

1

架构

我们的系统包含三个模块:混合视觉编码器、视觉适配器和语言模型。我们在本节中介绍了每 个部分。

混合视觉编码器

我们采用SigLIP作为视觉编码器,从视觉输入中提取高级语义特征表示。然而,我们观察到单个SigLIP编码器很难全面解决所有现实世界的问题。CLIP家族中的视觉 编码器,包括SigLIP,主要是为语义视觉表示而设计的,但受到模糊编码的挑战,导致视觉上 不同的图像被编码为相似,这是由于所谓的“CLIP盲对”Tong等人(2024)。同时,CLIP系列 模型受到其相对低分辨率输入的限制(例如,224 × 224、336 × 336、384 × 384、512 × 512), 这阻碍了它们处理需要更详细的低级特征的任务的能力,如密集OCR和视觉接地任务。为了解决这些限制,我们还使用了基于SAM-B的纯视觉编码器(Kirillov等人,2023),一 个预训练的ViTDet (Li等人,2022)图像编码器来处理低级特征,它接受高分辨率1024 x 1024图 像输入。除了SAM-B编码器外,我们还保留了具有低分辨率384 x 384图像输入的SigLIP-L视觉 编码器。因此,我们的混合视觉编码器结合了SAM-B和SigLIP-L编码器,有效地编码高分辨率 1024 x 1024图像,同时保留语义和详细信息。具体来说,高分辨率SAM-B视觉编码器首先将 图像大小调整为1024 x 1024,并产生64 x 64 x 256的特征图。然后我们将其插值为96 x 96 x 256并采用步幅为2的两个卷积层,产生24 x 24 x 1024的特征图,最后将其重塑为576 x 1024。低分辨率SigLIP-L视觉编码器首先将图像大小调整为384 × 384,编码为24 × 24 × 1024的特 征图,最后将其重塑为576 × 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的低分辨率 特征图与高分辨率特征相连接,产生具有2048个维度的576个视觉标记。这些视觉token具有增 强高级语义视觉识别和低级视觉基础任务的大量能力。然后它们经过GeLU激活,并被引导通 过嵌入层与语言模型建立连接。

视觉语言适配器

我们采用两层混合MLP来桥接视觉编码器和LLM。最初,使用不同的 单层mlp分别处理高分辨率特征和低分辨率特征。随后,这些特征沿着它们的维度进行连接, 然后通过另一层MLP转换到LLM的输入空间。

语言模型

我们的语言模型基于DeepSeek LLM (DeepSeek- ai, 2024),其微设计很大程度 上遵循了LLaMA (Touvron等人,2023a,b)的设计,采用带有RMSNorm (Zhang和Sennrich, 2019) 函数的Pre-Norm结构,并使用SwiGLU (Shazeer, 2020)作为前馈网络(FFN)的激活函数中间层维83DMODEL。它还合并了旋转嵌入(Su et al., 2024)用于位置编码,并与DeepSeek-LLM 使用相同的标记器。我们介绍了一系列DeepSeek-VL模型。鉴于我们的目标是与多模态和语言 进行联合预训练,我们从DeepSeek的预训练模型中选择了一个中间检查点来继续预训练。具体来说,DeepSeek-VL-1B模型是基于DeekSeek-LLM-1B模型构建的,DeekSeek-LLM-1B 模型接受了大约5000亿个文本令牌的语料库的训练。而DeekSeek-VL-7B模型是利用DeepSeekLLM-7B模型用估计2万亿文本token进行训练而开发的。

 

2

训练Pipeline

我们分三个阶段训练DeepSeek-VL,如图3所示:视觉语言适配器预热、联合视觉语言预训练 和监督微调。我们目前专注于视觉理解能力,只计算语言部分的下一个token预测损失。

 

第一阶段:训练视觉语言适配器

该阶段的主要目标是在嵌入空间内的视觉元素和语言元素之间建立概念联系,从而促进大语言模型(LLM)对图像中所描述实体的全面理解。与LLaVA 和Instruct-BLIP 之前进行的研究一致,我们采用了类似的方法,在此阶段视觉编码器和 LLM都保持冻结,同时仅允许视觉-语言适配器内的可训练参数。我们利用了一个数据集, 其中包括从ShareGPT4V获得的125万张图像-文本配对的标题,以及250万张文档OCR渲染对 来训练VL适配器。然而,与大型语言模型(llm)相比,视觉语言适配器(例如,2层MLP)的参数容量要小得多。模型容量的这种限制限制了在这一阶段可以学习的能力。一个自然的问题出现了:数据缩放 定律在这个阶段是否有效?为了解决这个问题,我们在表8中做了一个简单的实验。结果表明, 在这个阶段扩大数据规模并不能带来好处,甚至可能导致性能下降。因此,我们继续解冻大语言模型(LLM),并在第二阶段研究有效的视觉语言预训练方法。

第二阶段:联合视觉语言预训练

在这一阶段,我们探索了有效的预训练策略,可以将其视为使大型语言模型(llm)能够理解 多模态输入的额外阶段。我们保持视觉编码器冻结,并优化语言模型和VL适配器。 

最初,我们尝试用多模态数据直接训练LLM。然而,我们发现,在多模态性能的指标 逐步提高的同时,语言指标出现了明显和严重的下降,如图4所示(multimodal: language = 100%:0%),。这突出了在LLM的基础上直接进行多模态预训练的固有挑战,揭示了增强多模态能力和保持语言熟练度之间的关键权衡。 

本文假设观察到的现象源于两个主要因素:首先,大多数多模态语料库过于简单,并 表现出与语言数据的复杂性和分布的显著分歧。其次,在多模态和语言模态之间似乎存在 一种竞争动态,导致了可以被描述为LLM内语言能力的灾难性遗忘。 

联合语言-多模态训练为了应对这一挑战,本文设计了一种直接而有效的联合语言-多模态 训练策略。在训练过程中,我们不仅进行多模态数据训练,还将很大比例的语言数据纳入 训练中。这种方法旨在平衡训练重点,减轻观察到的不利影响。我们在图4所示的 DeepSeek-VL 1B模型上进行了实验,以探索不同模态混合比的影响。 

幻方发布超强多模态LLM DeepSeek-VL!支持代码,文档OCR等!

 

对图的分析得出了几个关键结论:(1)整合语言数据显著缓解了语言能力的下降,表明 模型的语言性能有了实质性的提高。(2).纳入语言数据并没有导致多模态性能的显著损失, 表明模型保留了其多模态处理能力。(3).不同模态的表现与其各自在训练数据集中的比例 有很强的相关性,证实了两种模态之间的竞争关系。最终,我们为我们的最终模型选择了 语言与多模态数据的训练比例约为7:3。这个比率使模型能够保持其语言能力,同时在多 模态数据上实现更好的预训练,有效地平衡了语言和多模态熟练度的发展。 

缩放视觉-语言预训练然而,模型的预训练阶段会产生大量的计算成本,在7B模型上执行迭代需要过多的计算能力和时间。一个合适的策略是在一个较小的模型上进行实验,特别是1.3B模型,然后将其扩展到7B模型。幸运的是,我们已经观察到,通过利用SFT(例如编 码器设计),从1.3B模型中获得的大部分结果可以有效地转移到7B模型中。然而,在第二 阶段的训练阶段,我们遇到了1.3B模型的生成指标有相当大的波动,这给有效地监督训练过程带来了挑战。而这一点在Schaeffer et al.(2024)中已经讨论过,“即使模型家族的每 token错误率随着规模的增加而平滑、连续和可预测地变化,研究人员的测量选择可能会 导致急剧和不可预测的变化。”随后的实验让我们找到了这个问题的根本原因:1.3B模型的 有限容量和训练数据集中缺乏SFT数据,这两者都阻碍了模型准确遵循指令的能力。即使 模型掌握了正确选项的知识,它也很难精确地生成它们。

为了缓解这些挑战,我们采取了一种双管齐下的方法。首先,我们采用多选择PPL方 法来监测模型的进展。这不仅涉及将提示和图像输入到网络中,还包括与问题相关的所有 答案。随后,我们计算每个答案位置(例如,A, B, C, D)的PPL,并选择模型认为正确的选 项作为最终答案。其次,我们以最小的比例将SFT数据引入训练数据集中,使模型能够熟 练地遵循指令。这两种方法的结合确保了1.3B模型的训练指标保持稳定,并在阶段3之后带 来更好的性能。

第三阶段:有监督的微调

在这个阶段,我们通过基于指令的微调来微调预训练的DeepSeek-VL模型,以增强其遵循 指令和参与对话的能力,最终创建交互式DeepSeek-VL- chat模型。我们优化了语言模型、 VL适配器和混合视觉编码器与视觉语言SFT数据如表2所示,SAM-B由于GPU内存有限而保持冻结状态。我 们只监督答案和特殊令牌,并屏蔽系统和用户提示。为了保证模型在对话方面的全面熟练程度, 我们利用了DeepSeek-LLM中使用的多模态数据和纯文本对话数据的混合。这种方法确保了模型 在各种对话场景中的通用性。

幻方发布超强多模态LLM DeepSeek-VL!支持代码,文档OCR等!

 

3

超参数和基础配置

各阶段的详细超参数见表4。我们使用HAI-LLM训练和评估我们的DeepSeekVL, HAI-LLM是一种轻量级和高效的分布式训练框架。由于我们使用视觉编码器将图像转换为嵌入向量,然后统一对待图像嵌入和文本嵌入,因此我们可以轻松地将流水线并行性适应于VL模型训练:我们所需要做的就是将视觉编码器和文本嵌入视为单个模块,并将其作为结果模型的第一层。这个非常第一层具有复杂的模型结构,并排除了标准的张量并行技术,但幸运的是,与上标准的transformer块相比,它需要相对较小的计算。因此,我们简单地重新计算所有张量并行级别中的视觉编码器前向传递。视觉编码器的存在也导致跨模型层的执行时间不均匀,因此我们在流水线并行排序之间重新划分模型层,以实现更好的负载平衡和吞吐量。DeepSeek-VL的 上层与DeepSeek-LLM完全相同。通过这样的小修改,我们现在可以执行规范的3D并行技术,就像在Megatron中一样,以及DeepSeek-LLM中的重叠计算和通信。DeepSeek-VL-7B在64个Nvidia A100处 理单元的集群上消耗了5天,每个处理单元包括8张卡,而DeepSeek-VL-1B在涉及16个Nvidia A100处理单元的设置上消耗了7天。

幻方发布超强多模态LLM DeepSeek-VL!支持代码,文档OCR等!

 

 

实验与结果

在这份技术报告中,我们介绍了DeepSeek-VL,这是一系列多模态大语言模型,有13 b 和6.7B两种参数。本报告揭示了主要基于投影的预训练方法固有的局限性,为 DeepSeek-VL采用的创新方法奠定了基础。通过优先考虑联合视觉和语言(VL)预训练阶段,DeepSeek-VL超越了传统模型,确保多模态数据的集成不会损害大型语言模型(llm) 的语言能力。这是通过战略性的预热数据比率和引入混合视觉编码器来实现的,它们共同实现了对高分辨率图像的高效处理,同时不丢失语义丰富性的视觉。

 

不同多模态模型的比较

幻方发布超强多模态LLM DeepSeek-VL!支持代码,文档OCR等!

 

微型多模态模型之间的对比

幻方发布超强多模态LLM DeepSeek-VL!支持代码,文档OCR等!

 

 

语言基准上的表现

幻方发布超强多模态LLM DeepSeek-VL!支持代码,文档OCR等!

 

人对InternLM2-VL、CogVLM、DeepSeek-VL和GPT-4V的评价结果

幻方发布超强多模态LLM DeepSeek-VL!支持代码,文档OCR等!

语言(Pile-test)和多模态(MMBench和MMBench_CN)基准上的模态预热对比分析表明,

在语言任务中, 模态分组始终超过非分组的模态方法,同时在多模态任务(multimodal: language =60%:40%)上保持性能。

幻方发布超强多模态LLM DeepSeek-VL!支持代码,文档OCR等!

 

可视化结果

幻方发布超强多模态LLM DeepSeek-VL!支持代码,文档OCR等!

 

幻方发布超强多模态LLM DeepSeek-VL!支持代码,文档OCR等!

 

 

来源:数源AI

0赞

好文章,需要你的鼓励

2024

03/12

17:04

分享

点赞

数源AI

AI源于数据,数源AI专注于AI领域入门及提升,让大家能够更加快速高效的完成相关专业知识的学习!学AI就来数源!

最近文章 :