← 返回深度解读总览

DeepSeek-VL2: Mixture-of-Experts Vision-Language Models 深度解读报告

数据依据:00-源数据提取.md(DeepSeek-AI,2024-12-13,arXiv: 2412.10302v1 [cs.CV],28 页技术报告)。凡源数据未明示、由推理得出的判断均标注「(推断)」。

摘要(约 300 字)

DeepSeek-VL2 是 DeepSeek-AI 于 2024 年 12 月发布的第二代多模态大模型家族,核心贡献在于把「动态高分辨率视觉分块」与「稀疏化 Mixture-of-Experts 语言大模型」整合进同一套 LLaVA 式架构,从而在大幅压缩激活参数与推理显存的同时,追平乃至超越同规模稠密多模态模型。架构上,它以 SigLIP-SO400M 为单一视觉编码器,用「分辨率为 (m·384, n·384)、满足 mn≤9」的动态分块策略取代上一代双路编码器融合,从而自然支持任意长宽比与超高分辨率输入并规避二次方计算膨胀;语言端则复用 DeepSeekMoE 的稀疏激活与 MLA 潜压缩 KV cache,使 Tiny/Small/VL2 三档模型在仅 0.57B/2.4B/4.1B(含视觉端 1.0B/2.8B/4.5B)激活参数下,实现对 InternVL2、Qwen2-VL 同级模型的可比或更优成绩。数据上,约 800B 图文 token 走「caption 重写 + 打分过滤」的清洗管线,覆盖文档 OCR、图表 VQA 与 Web-to-Code 等精细化任务。VL2-Small 的 MMStar 达 57.0、MMMU 48.0、MME 2123、MathVista 60.7,以 2.8B 激活参数超 GPT-4V 的 MMStar(56.0),展示了「少激活参数」路线的性价比(数据源 §3、§5)。


一、问题定位:多模态大模型在高分辨率与低成本之间的两难

1.1 核心矛盾:视觉分辨率如何与计算/显存预算共存

多模态大模型(Vision-Language, VLM)在 2024 年前后面临一个几乎无解的矛盾(数据源 §4「相对 DeepSeek-VL 的演进」)。要让模型「看得清」,直觉上需要把输入图像处理成尽量高的分辨率;但视觉 token 数量随分辨率近似线性(甚至超线性)增长,直接喂给语言模型的注意力机制会带来二次方量级的计算负担,并让上下文长度迅速失控。DeepSeek-VL 的旧方案用「SigLIP(384² 粗粒度) + SAM-B(1024² 细粒度) 混合编码器双路融合」来同时兼顾全局语义与局部细节,但这条路被一个刚性上限卡死——它最多只能处理 1024² 的固定分辨率。一旦输入是一张超长海报、一份细密文档或一个极端长宽比的图表,旧架构要么被迫降采样丢掉细节,要么超出显存/计算预算直接崩溃。

(推断) 这一矛盾的实质,是把「视觉侧的分辨率上限」从过去的技术瓶颈(编码器能编多细)转嫁成了「语言侧的 token 预算与管理」问题。谁能把「一张图究竟喂多少 token」这件事做成可动态调节的,谁就能在分辨率与成本之间找到更优的帕累托前沿。

1.2 为什么是高分辨率而不是「更深的编码器」

一个常见的替代思路是保留低分辨率输入,单纯做大做强编码器网络。但这样的收益有限:语言模型真正需要的是「结构化、可定位、可推理」的视觉证据,而不是一堆被严重压扁的全局特征。密集 OCR、精确定位(grounding)、图表问答这类任务,本质上是局部细节驱动的,局部模糊则能力归零。因此 DeepSeek-VL2 的选择是:不追求更深的编码器,而是让同一套编码器在高分辨率下工作,通过「把大图切块 + 保留一张全局缩略图」来兼顾局部精度与全局语境(数据源 §4、§5)。

1.3 问题指向的三个设计目标

综观全文,DeepSeek-VL2 实际上在同时回答三个问题,而这三个问题正是它区别于同期其他 VLM 的定位所在:

  1. 效率:能不能用「远少于稠密模型」的激活参数,达到可比的 SOTA?——以便推理端更便宜、更好部署。
  2. 分辨率弹性:能不能摆脱固定 1024² 上限,任意支持高分辨率与极端长宽比?——以便服务文档、信息图、精确定位等真实场景。
  3. 多模态与纯文本的平衡:稀疏化 MoE 语言模型被加进视觉分支后,原本的语言/对话能力是否还能保住?——这是「视觉增强会不会伤及语言底座」的隐藏问题。

(推断) 第三点在公开报告里着墨不多,却是多模态工程里最常见的翻车点:很多 VLM 在视觉 QA 刷高分,却在纯文本对话上出现灾难性遗忘。DeepSeek-VL2 通过「SFT 阶段多模态对话 + 纯文本对话混训」显式对冲这一风险(数据源 §4「SFT 数据」),说明作者对此有清醒认知。


二、概念内核:稀疏激活 + 动态分块,两个「省钱新机制」

2.1 视觉侧共识:LLaVA 式三件套

DeepSeek-VL2 的骨架并非全新创造,而是延续了当时 VLM 的标准套路(数据源 §4「架构」):SigLIP 视觉编码器 + 2 层 MLP 视觉-语言适配器 + DeepSeekMoE 语言大模型。这套「编码器 → 适配器 → 语言模型」的三段式结构在 2024 年是绝对主流,DeepSeek-VL2 的差异化不在这里,而在两处:分块输入策略与语言模型内部架构。

2.2 关键概念一:动态分块(Dynamic Tiling)

这是 DeepSeek-VL2 最具辨识度的创新点(数据源 §2、§4)。它不是把整张图缩放到固定尺寸,而是:

效率红利:视觉编码器 SigLIP-SO400M-384 对每个 tile 输出 27×27=729 个 1152 维 embedding。tile 与缩略图拼接后,再经 2×2 pixel shuffle 重组,视觉序列长度符合公式 211 + m·14 × (n·14 + 1)(数据源 §2)。211 项来自全局缩略图(约 210 token)与分隔符开销,m·14×(n·14+1) 则对应动态 tile 部分。这个公式的妙处在于:它把 token 预算完全变成了长宽比 (m,n) 的一次函数,分辨率越高、tile 越多、token 呈线性增长,而非二次方。

(推断) 用「局部 tile + 全局缩略图」而非「把整图硬塞进一个固定分辨率」的做法,本质是在做一次「空间上的分治」。类比人类阅读:我们先扫一眼整页把握结构(全局缩略图),再逐字逐段、逐区块细读(局部 tile)。这种「自底向上汇聚细节 + 自顶向下提供语境」的双通道设计,是 DeepSeek-VL2 能在密集 OCR 与精确定位上胜过旧版的关键机制。

2.3 关键概念二:Mixture-of-Experts(MoE)稀疏激活

语言侧复用 DeepSeek 自家的稀流专家模型(数据源 §4)。MoE 的核心思想是:把前馈网络(FFN)复制成多份「专家」,每份只对一部分输入生效(Top-K 路由激活),其余专家本轮跳过。这样模型总参数可以很大,但每次前向只激活一小部分参数,推理时实际计算量与显存占用按「激活参数」计,而不是按「总参数」计。

文本全模型三档的配置(数据源 §3、§4):

(推断) 路由函数从 Softmax 到 Sigmoid 的变化、以及「expert correction bias」只在最大模型出现,暗示作者认为大模型专家更多(72 个)、负载均衡更易失衡,需要更强的偏向/scaling 校正来维持专家利用率与稳定性;而 Tiny 专家最少、规模最小,靠简单 Softmax 即可稳定。这类细节通常来自训练中「aux loss 见顶、个别专家死亡」的实证教训,属于「成本换稳定」的工程判断。

2.4 两个机制的合力:为什么「少激活参数能打稠密大模型」

把 2.2 的「分辨率弹性」与 2.3 的「参数弹性」放在一起,就得到了 DeepSeek-VL2 的核心卖点(数据源 §4):

两头同时省,于是出现了一个反直觉的结果:一个激活参数只有 2.8B 的模型,能在多项基准上比肩甚至反超激活参数大得多的稠密模型。这正是「推理性价比」路线的理论根基(数据源 §6「VL2-Small(2.8B 激活)」)。


三、方法拆解:从数据到训练的完整流水线

3.1 数据构建:三线并行(§3)

DeepSeek-VL2 的数据构建明显分成三条线,对应表格中的 VL Alignment、VL Pretraining、SFT 三阶段(数据源 §2、§4):

数据线目的关键组成规模(数据源)
------------
VL Alignment(Stage 1)先把视觉编码器与 LLM 对齐ShareGPT4V~1.2M
VL Pretraining(Stage 2)大规模打底70% VL 图文 + 30% 纯文本~800B(796.5–808.9B 图文 tokens)
SFT(Stage 3)指令微调多模态对话 + 纯文本对话混训——(阶段 token 数见 §3.2 训练)

值得注意的是 VL Pretraining 的三类细分数据(数据源 §4):

  1. 长尾/高分辨率数据:海报、幻灯片等来自 in-house captioner 的重写文本,用于把视觉模型推向高分辨率区域;
  2. OCR 数据:LaTeX OCR + 12M RenderedText + 自建中英文档,解决文字识别;
  3. VQA 数据:覆盖表格/图表/文档(PubTabNet、FinTabNet、Docmatix)、Web-to-Code(Websight)、plot-to-Python(经 DeepSeek V2.5 增强去噪)、视觉提示 QA(用箭头/框/圈覆盖标注)。

(推断) 数据配比(70% VL / 30% 纯文本、OBELICS 随机 30% 子采样)并非一拍脑袋,源数据明确指出「比例经 Tiny 初步实验定」,说明作者先在小模型上做消融,再放大到 VL2——这是「小成本验证、大成本落地」的典型工程范式。

3.2 数据质量:caption 重写 + 打分过濾

针对公开数据集的低质文本,DeepSeek-VL2 用一套「重写 + 过滤」闭环(数据源 §4):

(推断) 这一步骤解决的是「网上抓来的图文对,文本太烂、配文与图无关」的通病。用强模型(DeepSeek Chat / in-house captioner)清洗弱数据的思路,在 2024 年已是开源多模态的主流做法,DeepSeek-VL2 的差异化在于把「元信息 + OCR」也塞进重写 prompt,使重写结果更贴近真实场景的信息需求。

3.3 视觉定位(grounding)数据

为了让模型「指哪看哪」,DeepSeek-VL2 构建了定位监督(数据源 §4):

这个格式化的可解析定位标记,是后续能在 RefCOCO 系列上做定量评估的基础(数据源 §5.1)。

3.4 训练方法论:三阶段流水线(§4.1/4.2)

训练分三阶段,接口与超参各不相同(数据源 §5):

(推断) Stage 2 的 token 量级与 batch 远大于 Stage 1/3,正好对应「预训练打底、SFT 精调」的经典分工;Stage 3 序列长度不变而 batch 骤降、LR 恒定,说明 SFT 是「稳定微调」而非「继续预训练」,用更小的乱动幅度保住对话与指令能力。

3.5 优化器与基建

(推断) BF16 优化器状态是「为大模型省显存」的标准动作,VL2 因为专家多、规模大、显存压力才用;而 aux loss 从 0.001 降到 0.0001 说明调低了均衡约束的强度,可能是为了避免 aux loss 与训练 loss 之间过强的竞争。


四、证据链:这些设计真的有效吗?

4.1 主结果:激活参数换性能

DeepSeek-VL2 的定量证据集中在一个点上:以更少的激活参数,达到同级或更好。最有说服力的一组来自 VL2-Small(2.8B 激活)(数据源 §3):

基准VL2-Small 得分参照(数据源)
---------
MMStar57.0GPT-4V 为 56.0(已超);GPT-4o 为 63.9
AI2D80.0同级领先(对比 InternVL2-2B / Qwen2-VL-2B)
MMMU48.0——
MME2123——
MathVista60.7——

DeepSeek-VL2 参照系是 InternVL2 与 Qwen2-VL 的同类规模版本(数据源 §5.1「对比 InternVL2-2B/Qwen2-VL-2B」)。结论称「以更少激活参数达到与 InternVL2、Qwen2-VL 同级或 SOTA 表现」。Figure 1 则以「6 个基准均值 vs 激活参数量」的散点图,直观展示家族在「性能对成本」曲线上的位置——相对封闭的 GPT-4o、GPT-4V 与各家开源 VLM,DeepSeek-VL2 家族勾出了一条性价比更高的包络线。

(推断) 值得注意的是「MMStar 57.0 已超 GPT-4V 56.0」这一点。GPT-4V 是当时闭源阵营的代表,开源模型在单一多模态基准上跨过闭源门槛,是「少激活参数路线」可行性的直接背书。但要谨慎:MMStar 只是多模态综合基准之一,单点反超不代表整体超越 GPT-4V,更不能推导到 GPT-4o。

4.2 分辨率弹性的证据:密集 OCR 与精确定位

相对于上一代「固定 1024² 上限」的硬约束,DeepSeek-VL2 对极端长宽比与超高分辨率更友好。这一能力落在 DocVQA、InfoVQA、OCRBench、TextVQA、ChartQA 这类「细节密集」的评测上(数据源 §5.1 评测覆盖)。数据源特别指出,InfoVQA 评测中把分块候选放宽到 mn ≤ 18(§5.1 脚注),说明作者在 InfoVQA 这类信息图上愿意允许更多 tile 以换取更高分辨率——这正是「分辨率弹性」在评测协议中的直接体现。

(推断) InfoVQA 放宽到 mn≤18 而非默认 mn≤9,是一个重要的信号:默认 mn≤9 是「在多数情况下平衡精度与 token 预算」的折中选择,而 InfoVQA 这类任务精度的提升几乎全部来自更高分辨率。这也暗示普通用户若想进一步提升某些指标的得分,可以通过放宽分块上限来换取,但代价是视觉 token 变多、上下文变长、速度变慢。

4.3 训练细节的辅助证据

4.4 定性研究(§5.2)

除基准数字外,报告还提供了若干定性案例分析(数据源 §5.2「文档/图表/grounding/GUI 案例」),正面展示模型在文档阅读、图表解析、视觉定位与 GUI 控制上的实际行为。这类案例意义在于:补齐了基准分数「说人话」的能力——分数再高,若不落到具体场景,很难判断是否真的解决了用户问题。


五、批判性分析:亮点背后的代价与局限

5.1 亮点的另一面:不是免费午餐

「动态分块 + MoE 稀疏激活」听起来处处省,但等价代价清晰可见(数据源 §6 + 正文自述):

  1. >2 张图时动态分块被禁用(数据源 §6 第 5 点)。这意味着「超高分辨率」和「多图并读」这两个需求是互斥的——模型无法同时处理多个高分辨率输入,否则上下文会失控。多轮/多图对话能力受限,「高分辨率」其实是单图场景的特权。
  2. 上下文窗口限制单会话多图交互(数据源 §6 第 1 点),作者承认下版才扩展。
  3. 感官能力强,推理能力待加强(数据源 §6 第 3 点)。这是「感知型 VLM」的普遍软肋:能看清、能读字,但「看懂了之后会不会想」仍是短板。
  4. 模糊图像与未见物体鲁棒性不足(数据源 §6 第 2 点),作者归为 VLM 通病。

(推断) 第 1、2 条其实是同一个根因的两种表象:动态分块把单图 token 预算做得很大,一旦多图叠加,上下文立刻爆掉。这说明「分辨率弹性」与「多图并行」是此消彼长的,作者选择了先做好单图高分辨率,把多图留给远期。这暴露了问题定位里「高分辨率与成本两难」的另一半,即它转嫁成了「单图分辨率与多图上下文」的新矛盾。

5.2 数据与文档的局限

5.3 评测视角的批判性审视

(推断) 报告把「6 基准均值 vs 激活参数」作为核心卖点,这是对开源社区最有说服力的话术(因为推理方只看激活显存)。但有几点值得警惕:

  1. 基准的选择:MMStar、MMMU、MME、AI2D、MathVista、DocVQA 等,大多是「感知 + 轻推理」偏重的榜单,对真正的开放域多模态推理覆盖有限。一个「感知强推理弱」的模型在这些榜单上非常占优,容易漂亮地掩盖推理短板——这与作者自述的「推理待加强」相互印证。
  2. 单点反超的解读:MMStar 57.0 > GPT-4V 56.0 是事实,但样本/偏差可能在误差范围内,且 57.0 距离 GPT-4o 的 63.9 仍有明显差距(数据源 §5.1),所以「超 GPT-4V」不等于「接近 GPT-4o」。
  3. 对照的公平性:与 InternVL2-2B / Qwen2-VL-2B 对比是同规模对照,本身公平;但不同模型对评测协议(分块上限、分辨率、prompt)的处理差异,也可能悄悄影响分差,公开报告里通常只给聚合结论,难做完全鹰式复核。

5.4 工程层面的潜在坑点

(推断) 动态分块让「每张图的 token 数动态变化」,这对 serving / batching 是挑战:不同图的序列长度差异大,batch 打包时会拖慢;mn≤9 的上限虽控住单图 token,但极端长宽比(如 mn=9 恰好用满)仍会产生较多 token。MoE 的 Top-6 路由也让推理时要同时搬运较多专家权重,专家均衡(aux loss)若不调好,个别专家可能被过度使用形成热点。这些细节在报告里被一笔带过,真正上线时会变成运维者要啃的硬骨头。


六、启示与影响:这项工作的历史坐标

6.1 对开源多模态格局的意义

DeepSeek-VL2 发表于 2024-12,正值开源 VLM 竞争白热化。它的历史坐标(推断)大致在「InternVL2 / Qwen2-VL 同代、且更强调稀疏化降本」的位置上。它的直接启示是:

6.2 对后续技术路线的启示

  1. 动态分块成为 VLM 标配化的入口。DeepSeek-VL2 用一套可解析的公式(211 + m·14×(n·14+1))把「分辨率」变成「可视作 token 预算的连续量」,这种「把视觉问题语言模型化、以 token 为计量单位」的建模方式,为后续「放大了看、再精细看」的分辨率策略提供了可复用范式。之后的 VLM 几乎都采用类似的「多分辨率 + 分块」思路。
  2. MoE 与多模态的结合是一条值得长期押注的路线。MoE 降触发成本、MLA 压 KV cache,二者叠加让「少激活参数打稠密模型」有了两手支撑,也预示了后来更强开源多模态模型在稀疏化上继续加码的趋势。
  3. 数据质量的清洗闭环(caption 重写 + 打分过滤)成为标配。用强模型清洗弱数据的做法,在 DeepSeek-VL2 中被具体化为「OCR + 元信息 + 原 caption 作 prompt 的 in-house captioner」,这一产线设计对后续专注于文档 / 图表 / OCR 的多模态项目有直接借鉴价值。

6.3 对研究者的提醒

(推断) 这份报告最值得普通人记住的不是某个分数,而是它示范的「工程化取舍」:用三阶段(对齐→预训练→SFT)渐进式训练、用 MoE+MLA 控制成本、用动态分块换分辨率弹性,每一项都是「在有限预算下做最优妥协」的产物。它同时提醒我们:

6.4 一句话定位

DeepSeek-VL2 是「把稀疏化降本与动态高分辨率结合、以更少激活资源追平同级稠密 VLM」的代表性开源作品,它的价值不仅在于分数本身,更在于铺开了一条「在有限显存下把多模态做得又准又能落地」的工程路径(数据源 §3、§4、§5、§6)。


附:关键数字速查

数字含义出处
---------
SigLIP-SO400M-384视觉编码器,每个 tile 729 个 1152 维嵌入§2
CR={(m·384,n·384), mn≤9}动态分块候选分辨率集(InfoVQA 放宽 mn≤18)§2 / §5.1
196 tokens/tile + 210 全局缩略图视觉序列长度公式 211+m·14×(n·14+1)§2
MLA rank=512Small/VL2 的 KV cache 潜压缩秩Table 1
64/64/72 routed experts,共享 2,Top-6MoE 配置;路由 Softmax/Softmax/SigmoidTable 1
~800B 图文 tokens(70% VL + 30% 纯文本)Stage 2 预训练量§3.2 / Table 2
2.0B / ~800B / ~19.5–20B tokens三阶段训练 token 数Table 2
10GB / 40GB / 80GBTiny / Small / VL2 单卡部署显存§6
MMStar 57.0 · AI2D 80.0 · MMMU 48.0 · MME 2123 · MathVista 60.7VL2-Small 主结果(超 GPT-4V 56.0,距 GPT-4o 63.9)Table 4 / §5.1
129,280 / 102,400 / 129,280三模型词表规模(Small 基于 16B 分支词表)附注
数据依据:本页 00-源数据提取.md | 推断处已标注(推断)| 生成:批量转换脚本