论文原文链接:https://arxiv.org/pdf/2412.10302?

本文在DeepSeek-VL以及DeepSeek-V2的基础上来写的,可以先回顾一下这两篇论文的内容:

《DeepSeek-VL: Towards Real-World Vision-Language Understanding》阅读解析-CSDN博客

《DeepSeek-V2: A Strong, Economical, and Efficient Mixture-of-Experts Language Model》阅读解析_deepseek v2: a strong, economical, and efficient m-CSDN博客

简介

在DeepSeek-VL的基础上进行了两个主要的升级:一个是采用了DeepSeek-V2中的MLA以及DeepSeekMoE架构,一个是动态平铺视觉编码策略(dynamic tiling vision encoding strategy)来处理具有不同纵横比的高分辨率图像。并且介绍了DeepSeek-VL2-Tiny, DeepSeek-VL2Small and DeepSeek-VL2三个不同参数量大小的模型,分别有1.0B, 2.8B and 4.5B激活的参数。

创新点

(1)采用了DeepSeek-V2中的MLA以及DeepSeekMoE架构。

(2)动态平铺视觉编码策略(dynamic tiling vision encoding strategy)来处理具有不同纵横比的高分辨率图像。DeepSeek-VL中采用SAM-B以及SigLIP(1024*1024以及384*384的分辨率)。

模型架构

模型架构由三部分组成:Vision Encoder、VL Adaptor、DeepSeek-MoE LLM。 

Vision Enconder

采用Dynamic Tiling Strategy,将图像切分为m*n个小块(每个块大小为384*384),其中 1 <= m,n,m*n<=9,也就是说最多切分为9块,最大纵横比或者横纵比为1:9。然后将这些小块按照行优先的形式展开(类似于二维数组在内存中的存储)。采用SigLIP-SO400M-384视觉编码器处理(1 + m*n)块(m*n个切分小块,以及一个整体缩略图块用来维护小块之间的位置关系)。每个小块在经过SigLIP-SO400M-384后会产生27*27=729个纬度为1152的tokens。为了提高计算效率和上下文长度管理,在处理多个 (> 2) 图像时禁用动态拼接策略。

Vision-Language Adaptor

在视觉块处理后产生了(1 + m*n)*(27*27)个tokens,使用一个2*2的像素核将每个小块压缩为14*14个tokens。如上图所示,对于1个全局块(14*14)个tokens,每行结束加一个<tile_newline>token作为换行标记,一共14行,那么全局块需要14 * (14 + 1)= 210 个tokens。

对于(m * n)个小块,一共有((m * 14) * (n * 14))个tokens,有m * 14行tokens,每一行后面依然跟一个<tile_newline> token作为换行标记,那么一共有(m * 14) * (n * 14 + 1)个tokens,全局块和其他小块之间用一个<view_separator>token分割开来,那么一张图像变成完整的视觉token序列包含210 + 1 + (m * 14) * (n * 14 + 1)个tokens。随后使用一个两层的MLP投影到语言模型的嵌入空间。

DeepSeekMoE LLM

这部分与DeepSeek-V2语言模型一致,只不过有三种不同参数量大小LLM产生三个不同大小的VLLM,分别为1.0B、2.8B和4.5B。它们之间的区别如下:

三阶段训练

Vision-Language Alignment

与DeepSeek-VL一样,第一阶段都是训练视觉语言适配器,基于预先训练的语言模型(DeepSeekMoE3B / 16B / 27B),我们的主要目标是建立视觉特征和语言特征之间的稳健连接。只不过在DeepSeek-VL2中Adaptor中主要是MLP链接器,所以,对齐阶段的重点是训练MLP连接器,以桥接预处理的视觉编码器和LLM。对于这个最初的热身阶段,我们将同时优化视觉编码器和视觉-语言适配器,并将语言模型冻结。文中使用ShareGPT4V数据集 ,该数据集包含大约120万个字幕和对话样本。

Vision-Language Pretraining

与DeepSeek-VL一样,第二阶段都是纯文本数据和多模态数据的联合预训练。在嵌入空间中建立视觉语言对齐后,我们将大部分计算资源用于视觉语言预训练。这一阶段的重点是开发跨多种任务的全面联合视觉语言知识。我们解冻所有参数,在DeepSeek-VL2中采用纯文本数据:多模态数据比例为7:3的数据构成进行预训练(原因作者在DeepSeek-VL中已经讲到过)主要预训练多模态数据主要包含以下几类:Interleaved image-text data、Image captioning data、Optical character recognition data、Visual question-answering (QA) data、Visual grounding data、Grounded conversation data。

Supervised Fine-tuning

与DeepSeek-VL一样,第三阶段都是监督微调。作者结合了多种来源的数据,并且进行了挑选,这些数据主要包括以下几类:General visual question-answering、OCR and document understanding、Table and chart understanding、Reasoning, logic, and mathematics、Textbook and academic questions、Web-to-code and plot-to-Python generation、Visual grounding、Grounded conversation、Text-Only datasets。

训练超参数

模型效果评估

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐