Files
note_sync/大模型/deepseek/05-多模态/03-DeepSeek-VL2-2412.10302.md
T

116 lines
12 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# DeepSeek-VL2:面向高级多模态理解的混合专家视觉语言模型
> **原文标题**:DeepSeek-VL2: Mixture-of-Experts Vision-Language Models for Advanced Multimodal Understanding
> **arXiv**:[2412.10302](https://arxiv.org/abs/2412.10302) | **发布**:13 Dec 2024
> **作者/机构**:Zhiyu Wu、Xiaokang Chen 等 27 人,通讯作者 Chong Ruan — DeepSeek-AI(深度求索)
> **原文 PDF**:[03-DeepSeek-VL2-2412.10302.pdf](./03-DeepSeek-VL2-2412.10302.pdf)
## 一、摘要(全文翻译)
我们提出了 DeepSeek-VL2,一个先进的大型混合专家(Mixture-of-Experts, MoE)视觉语言模型系列,它通过两项关键的重大升级,显著改进了其前代模型 DeepSeek-VL。在视觉部分,我们引入了一种动态分块(dynamic tiling)视觉编码策略,专为处理具有不同长宽比的高分辨率图像而设计。在语言部分,我们采用了带有多头潜在注意力(Multi-head Latent Attention, MLA)机制的 DeepSeekMoE 模型,该机制将键值(Key-Value, KV)缓存压缩为潜在向量,从而实现高效推理与高吞吐。在一个经过改进的视觉语言数据集上训练后,DeepSeek-VL2 在多种任务上展现出卓越的能力,包括但不限于视觉问答、光学字符识别、文档/表格/图表理解以及视觉定位。我们的模型系列由三个变体组成:DeepSeek-VL2-Tiny、DeepSeek-VL2-Small 与 DeepSeek-VL2,其激活参数量分别为 1.0B、2.8B 和 4.5B。与现有的开源稠密模型和基于 MoE 的模型相比,DeepSeek-VL2 在激活参数量相当或更少的情况下,取得了有竞争力或最先进(state-of-the-art)的性能。代码与预训练模型已在 https://github.com/deepseek-ai/DeepSeek-VL2 公开发布。
## 二、核心贡献
1. **动态分块视觉编码**:用单个 SigLIP-SO400M-384 取代前代 $384/1024$ 双分辨率双编码器,按长宽比切块并附加全局缩略图,摆脱固定 $1024\times1024$ 限制,提升超高清与极端长宽比场景的细粒度理解。
2. **高效率 MoE 语言模型**:DeepSeekMoE 稀疏架构 + MLA(KV 缓存压缩为潜在向量)降低算力与显存、提升吞吐;总参数 3B/16B/27B,语言激活参数仅 0.57B/2.4B/4.1B。
3. **数据升级带来新能力**:预训练约 800B 图文 token(VL:纯文本约 70%:30%),对图注、VQA、OCR、表格图表与推理数据重生成与清洗,新增视觉定位与 GUI 感知。
4. **以少胜多**:激活 4.5B 的模型取得 DocVQA 93.3、ChartQA 86.0、InfoVQA 78.1、TextVQA 84.2、OCRBench 811,多项超过 GPT-4o,定位基准领先同规模模型。
5. **部署门槛低**:三个模型可分别单卡部署在 10GB/40GB/80GB 显存 GPU 上。
## 三、方法与技术要点
### 3.1 整体架构
沿用前代的 LLaVA 式仅解码器架构,由视觉编码器、视觉语言适配器与 MoE 语言模型组成;相对 DeepSeek-VL 仅两处改动——动态分块策略应对高分辨率输入,带 MLA 的 DeepSeekMoE 提升效率。
### 3.2 动态分块策略(Dynamic Tiling)
前代把视觉特征固定在 $384\times384$ 与 $1024\times1024$ 两档,难以处理更大尺寸与极端长宽比图像。DeepSeek-VL2 定义候选分辨率集合
$$C_{R}=\{(m\cdot 384,\ n\cdot 384)\mid m,n\in\mathbb{N},\ 1\leq m,n,\ mn\leq 9\}$$
其中 $m:n$ 为目标长宽比:对 $(H,W)$ 图像先缩放长边、再保持比例填充另一维,选择**填充面积最小**的候选;随后划为 $m_i\times n_i$ 个 $384\times384$ 局部块加 1 个全局缩略图块,由单个 SigLIP-SO400M-384 编码全部 $(1+m_i\times n_i)$ 个块,每块得 $27\times27=729$ 个 1152 维嵌入。图像多于 2 张时关闭该策略以控制上下文长度。
### 3.3 视觉语言适配器
用 $2\times2$ 像素重排把每块 token 压到 $14\times14=196$ 个,并用特殊 token 标记布局:缩略图块每行末补 14 个 `<tile_newline>`(共 210 个),局部块按 $(m_i\cdot14,\ n_i\cdot14)$ 网格排列、最后一列后追加 $m_i\cdot14$ 个 `<tile_newline>`,两者间插一个 `<view_separator>`;序列长度为
$$210+1+m_i\cdot14\times(n_i\cdot14+1)$$
最后经两层 MLP 投影进语言模型嵌入空间。
### 3.4 DeepSeekMoE 语言模型
MLA 压缩 KV 缓存以提升吞吐,MoE 稀疏计算只激活部分专家,训练时给每个专家加全局偏置项以低成本改善负载均衡。配置见下表:仅最大模型用 Sigmoid 路由并启用专家修正偏置,两个小模型仍是 Softmax 路由。
| 配置项 | VL2-Tiny | VL2-Small | VL2 |
|---|---|---|---|
| 词表大小 | 129,280 | 102,400 | 129,280 |
| 嵌入维度 | 1,280 | 2,048 | 2,560 |
| 注意力头数 | 10 | 16 | 32 |
| 层数 | 12 | 27 | 30 |
| 注意力类型 | 多头注意力 | MLA(rank=512) | MLA(rank=512) |
| 路由专家数 / 共享专家数 | 64 / 2 | 64 / 2 | 72 / 2 |
| 专家选择 Top-K | 6 | 6 | 6 |
| 路由函数 | Softmax | Softmax | Sigmoid |
| 专家修正偏置 | × | × | ✓ |
### 3.5 数据构建(对齐 / 预训练 / SFT)
对齐阶段仅用 ShareGPT4V(约 1.2M 图注与对话样本)训练 MLP 连接器。预训练按约 70% VL + 30% 纯文本(取自基础 LLM 语料)配比,VL 数据涵盖交错图文(含中文补充)、图像描述(公开数据质量参差,故结合 OCR 提示重新生成并按写作质量过滤)、OCR(公开数据与自建中英文档数据集)、视觉问答(文档、表格图表、网页转代码与视觉提示问答)、视觉定位(回答形如 `<|ref|>物体<|/ref|><|det|>[[x1,y1,x2,y2],…]<|/det|>`,坐标归一化到 0–999,并含负样本)与由 `<|grounding|>` 触发的带定位对话。SFT 针对公开 VQA「回答过短、OCR 质量差、内容幻觉」的问题重生成回答,并为 Tiny 变体中文夹带英文补充自建中文 QA;推理数据补详细过程且答案置于末尾,另有教科书问答、代码与纯文本指令数据。
### 3.6 训练流程与基础设施
三段式:冻结语言模型、只训视觉编码器与适配器 MLP 的**对齐**阶段;解冻全部参数、用约 800B 图文 token 的**预训练**阶段;只在答案与特殊 token 上算损失、掩蔽用户提示并混入 DeepSeek-V2 纯文本对话的 **SFT** 阶段——三阶段都只对文本 token 计算下一 token 预测损失。视觉编码器学习率乘数 0.1,权重衰减 0.1,梯度裁剪 1.0,优化器 AdamW($\beta_1=0.9,\beta_2=0.95$),调度为余弦、分段步进与常数,序列长度 4096。基于 HAI-LLM 采用流水线、张量与专家并行;因视觉编码器居于流水线首段且与 LLM 层特性差异大,对其做细粒度层切分并在数据并行 rank 间做负载均衡,另为纯文本与含图批次准备两套流水线策略。
## 四、主要实验结果
评测涵盖 OCR 与文档类、通用与推理类基准及 RefCOCO 定位基准(InfoVQA 评测时候选分辨率放宽到 $mn\leq18$)。
| 基准 / 任务 | 本模型 | 对比对象 | 说明 |
|---|---|---|---|
| DocVQA (test) | VL2 93.3 / Small 92.3 / Tiny 88.9 | GPT-4o 92.8;Claude 3.5 Sonnet 95.2;InternVL2-8B 91.6;Qwen2-VL-7B 94.5 | 激活 4.5B 超过 GPT-4o 与 InternVL2-8B |
| ChartQA (test) | VL2 86.0 / Small 84.5 / Tiny 81.0 | GPT-4o 85.7;Claude 3.5 Sonnet 90.8;InternVL2-8B 83.3;Qwen2-VL-7B 83.0 | 超过 GPT-4o,低于 Claude 3.5 Sonnet |
| InfoVQA (test) | VL2 78.1 / Small 75.8 / Tiny 66.1 | GPT-4o 79.2;Gemini-1.5-Pro 80.1;InternVL2-8B 74.8;Qwen2-VL-7B 76.5 | 开源模型中最优,仍低于闭源最强 |
| TextVQA (val) | VL2 84.2 / Small 83.4 / Tiny 80.7 | GPT-4o 77.4;Qwen2-VL-7B 84.3;InternVL2-8B 77.4 | 明显超过 GPT-4o |
| OCRBench (test) | VL2 811 / Small 834 / Tiny 809 | GPT-4o 736;Gemini-1.5-Pro 754;Claude 3.5 Sonnet 788;Qwen2-VL-7B 845;MiniCPM-V2.6 852(CoT) | Small 以 2.8B 激活超过多数 7–8B 模型 |
| MMStar (test) | VL2 61.3 / Small 57.0 / Tiny 45.9 | InternVL2-8B 61.5;Qwen2-VL-7B 60.7;GPT-4o 63.9 | 与 8B 级开源模型持平 |
| AI2D | VL2 81.4 / Small 80.0 / Tiny 71.6 | InternVL2-8B 83.8;Qwen2-VL-7B 83.0;GPT-4o 94.2 | 低于同规模最强开源模型 |
| MMMU (val) | VL2 51.1 / Small 48.0 / Tiny 40.7 | InternVL2-8B 51.8;Qwen2-VL-7B 54.1;GPT-4o 69.1;DeepSeek-VL 7B 36.6 | 相比前代大幅提升 |
| MME (sum) | VL2 2,253 / Small 2,123 / Tiny 1,915 | GPT-4o 2,329;Qwen2-VL-7B 2,327;MiniCPM-V2.6 2,348(CoT) | 同规模组中最高 |
| MMBench / V1.1 | VL2 83.1(en)、79.6(cn)、79.2(V1.1) | Qwen2-VL-7B 83.0 / 80.5;GPT-4o 83.4 / 82.1 / 82.2 | 与 7–8B 模型相当 |
| MMT-Bench | VL2 63.6 / Small 62.9 / Tiny 53.2 | Qwen2-VL-7B 63.7;InternVL2-8B 60.0 | 基本追平 7B 稠密模型 |
| RealWorldQA | VL2 68.4 / Small 65.4 / Tiny 64.2 | Qwen2-VL-7B 70.1;InternVL2-8B 64.4;GPT-4o 75.4 | 小幅落后 Qwen2-VL-7B |
| MathVista (testmini) | VL2 62.8 / Small 60.7 / Tiny 53.6 | Qwen2-VL-7B 58.2;InternVL2-8B 58.3;GPT-4o 63.8 | 超过所有列出的开源模型 |
| RefCOCO (val/testA/testB) | VL2 95.1 / 96.7 / 92.7;Small 93.9 / 95.3 / 91.3 | Qwen2-VL-7B 91.7 / 93.6 / 87.3;Ferret-v2-7B 92.8 / 94.7 / 88.7;Florence-2-L 93.4 / 95.3 / 92.0 | 全面领先同规模 VLM |
| RefCOCO+ (val/testA/testB) | VL2 91.2 / 94.9 / 87.4 | Qwen2-VL-7B 85.8 / 90.5 / 79.5;ONE-PEACE 88.8 / 92.2 / 83.2 | 领先幅度显著 |
| RefCOCOg (val/test) | VL2 92.8 / 92.9 | Qwen2-VL-7B 87.3 / 87.8;Florence-2-L 91.2 / 91.7 | 领先幅度显著 |
受益于 MoE 架构,DeepSeek-VL2 以更少激活参数取得相当或更好的性能。OCR 与文档/表格/图表理解是最强项:激活 4.5B 的模型在 DocVQA、ChartQA、TextVQA 上超过 GPT-4o,激活 2.8B 的 Small 在 OCRBench 上(834)高于 Claude 3.5 Sonnet(788)。视觉定位全面领先:RefCOCO 系列各分项均超过所列 VLM 与专用定位模型,仅 Florence-2-L 在 RefCOCO testA(95.3)略高。推理类基准与开源最强模型互有胜负:AI2D(81.4)低于 InternVL2-8B(83.8),RealWorldQA(68.4)略低于 Qwen2-VL-7B(70.1),与 GPT-4o 在 MMMU(51.1 vs 69.1)上差距明显。
## 五、结论、局限与影响
- **结论**:DeepSeek-VL2 是 MoE 视觉语言模型的增强版,总参数 3B/16B/27B、激活参数 1.0B/2.8B/4.5B,可分别单卡部署于 10GB/40GB/80GB 显存 GPU;核心为动态分块视觉编码策略,代码与模型全部开源。
- **局限性**:作者自述三点——上下文窗口每次对话仅支持少量图像;面对模糊图像或未见物体偶发出错;视觉感知出色但**推理能力仍需加强**。定性研究还提到创意讲故事需要更多元体裁与情节,与安全性要求存在张力。
- **影响**:以「稀疏激活 + MLA 压缩 KV 缓存 + 动态分块编码」的组合,DeepSeek-VL2 证明激活参数远小于同性能稠密模型时即可达到或超越 SOTA,把强多模态能力的部署门槛降到单张 GPU,并为具身智能、GUI 智能体等方向提供视觉定位基础。
## 六、关键术语对照表
| English | 中文 |
|---|---|
| Mixture-of-Experts (MoE) | 混合专家 |
| Vision-Language Model (VLM) | 视觉语言模型 |
| Dynamic Tiling Strategy | 动态分块策略 |
| Vision Encoder | 视觉编码器 |
| Vision-Language Adaptor | 视觉语言适配器 |
| Multi-head Latent Attention (MLA) | 多头潜在注意力 |
| Key-Value (KV) Cache | 键值缓存 |
| Activated Parameters | 激活参数 |
| Pixel Shuffle | 像素重排 |
| Visual Grounding | 视觉定位 |
| Grounded Conversation | 带定位的对话 |
| In-context Visual Grounding | 上下文视觉定位 |
| Optical Character Recognition (OCR) | 光学字符识别 |
| Supervised Fine-Tuning (SFT) | 监督微调 |
| Expert Parallelism / Pipeline Parallelism | 专家并行 / 流水线并行 |