Files
note_sync/大模型/deepseek/05-多模态/04-Janus-Pro-2501.17811.md
T

103 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.
# Janus-Pro:以数据与模型规模扩展实现统一的多模态理解与生成
> **原文标题**:Janus-Pro: Unified Multimodal Understanding and Generation with Data and Model Scaling
> **arXiv**:[2501.17811](https://arxiv.org/abs/2501.17811) | **发布**:29 Jan 2025
> **作者/机构**:Xiaokang Chen, Zhiyu Wu, Xingchao Liu, Zizheng Pan, Wen Liu, Zhenda Xie, Xingkai Yu, Chong Ruan(DeepSeek-AI,深度求索)
> **原文 PDF**:[04-Janus-Pro-2501.17811.pdf](./04-Janus-Pro-2501.17811.pdf)
## 一、摘要(全文翻译)
在本工作中,我们提出 Janus-Pro,它是此前工作 Janus 的进阶版本。具体而言,Janus-Pro 引入了(1)优化的训练策略、(2)扩展的训练数据,以及(3)向更大模型规模的扩展。借助这些改进,Janus-Pro 在多模态理解与文本到图像的指令跟随能力两方面均取得了显著进展,同时也提升了文本到图像生成的稳定性。我们希望这项工作能够启发该领域的进一步探索。代码与模型均已公开。
## 二、核心贡献
1. **优化训练策略,消除算力浪费**:把 Janus 三阶段训练中的重排——延长 Stage I、在 Stage II 直接使用常规文生图数据而丢弃 ImageNet 数据、并把 Stage III 的多模态/纯文本/文生图数据配比从 7:3:10 改为 5:1:4;原策略把 Stage II 中 66.67% 的文生图训练步数花在仅用类别名做提示的 ImageNet 上,该设计被实验证明次优且算力效率低下。
2. **理解侧数据扩展约 9000 万样本**:Stage II 预训练参照 DeepSeek-VL2 增加图像描述(如 YFCC)以及表格、图表、文档理解(如 Docmatix)数据;Stage III 微调补充 MEME 理解、中文对话与增强对话体验的数据集,显著拓宽了任务覆盖与对话体验。
3. **生成侧引入约 7200 万合成美学数据**:发现旧版所用真实数据质量低、噪声大,是文生图不稳定的根源;Janus-Pro 在统一预训练阶段将真实与合成数据比例调至 1:1,模型收敛更快、输出更稳定且美感显著提升,并获得了生成简单文字的能力。
4. **验证视觉编码解耦的可扩展性**:从 1.5B LLM 扩展到 7B,发布 1B 与 7B 两个规模;更大模型在理解与生成的损失收敛速度上均明显加快,证明该架构具备良好可扩展性。
5. **双重任务同时刷新 SOTA**:Janus-Pro-7B 在 MMBench 上取得 79.2(Janus 69.4、TokenFlow 68.9、MetaMorph 75.2),在 GenEval 上取得 0.80(Janus 0.61、DALL-E 3 0.67、Stable Diffusion 3 Medium 0.74),在不依赖外部扩散模型的前提下同时超越统一模型与部分任务专用模型。
## 三、方法与技术要点
### 3.1 架构:为理解与生成解耦视觉编码
Janus-Pro 的架构与 Janus 完全一致,核心设计原则是**为多模态理解与视觉生成解耦视觉编码(decouple visual encoding)**。痛点在引言中被明确指出:多数统一模型让理解与生成共用同一个视觉编码器,而这两类任务所需的表征并不相同,结果往往牺牲多模态理解性能。
具体流程是:用彼此独立的编码方式把原始输入转成特征,再交给同一个自回归 Transformer 处理。
- **理解分支**:用 SigLIP 编码器提取图像的高维语义特征,把 $2\times 2$ 的网格特征展平为 $1\times 1$ 的序列,再通过 understanding adaptor 映射到 LLM 的输入空间。
- **生成分支**:用 VQ tokenizer 把图像转成离散 ID,ID 序列展平为 $1\times 1$ 后,通过 generation adaptor 把每个 ID 对应的码本嵌入映射到 LLM 输入空间。
- 两条特征序列拼接成统一的多模态特征序列送入 LLM;除 LLM 自带的预测头外,视觉生成任务额外使用一个随机初始化的预测头做图像预测。整个模型遵循自回归框架。
### 3.2 优化的训练策略(三处改动)
Janus 的三阶段流程为:Stage I 只训练 adaptor 与图像头;Stage II 统一预训练,除理解编码器与生成编码器外全部参数更新;Stage III 监督微调,在 Stage II 基础上进一步解锁理解编码器参数。论文指出这套流程存在问题并作了两处修改:
- **Stage I 训练更久(Longer Training in Stage I)**:增加 Stage I 步数,让模型在 ImageNet 上得到充分训练。作者发现,即使 LLM 参数冻结,模型也能有效建模像素依赖、按类别名生成合理图像——正因如此,原本占用 Stage II 大量步数的 ImageNet 训练可以前移。
- **Stage II 聚焦训练(Focused Training in Stage II)**:在 Stage II 丢弃 ImageNet 数据,直接使用常规文生图数据训练模型依据稠密描述生成图像,从而更高效地利用文生图数据,同时提升训练效率与最终性能。
第三处改动是 Stage III 的数据配比调整:多模态数据、纯文本数据、文生图数据由 7:3:10 改为 5:1:4。略微降低文生图数据占比后,视觉生成能力得以保持,而多模态理解性能得到提升。
### 3.3 数据扩展
- **多模态理解**:Stage II 预训练参照 DeepSeek-VL2 增加约 9000 万样本,涵盖图像描述数据集(如 YFCC)以及表格、图表、文档理解数据(如 Docmatix);Stage III 监督微调也引入 DeepSeek-VL2 的额外数据集,如 MEME 理解、中文对话数据以及旨在增强对话体验的数据集。
- **视觉生成**:旧版 Janus 使用的真实世界数据质量不足、噪声显著,常导致文生图不稳定、观感较差。Janus-Pro 引入约 7200 万合成美学数据样本,使统一预训练阶段真实与合成数据比例达到 1:1;这些合成数据的提示词是公开可得的(如 [43])。实验表明模型在合成数据上收敛更快,文生图输出更稳定、美感明显提升。
### 3.4 模型扩展与训练细节
Janus-Pro 的 1B 与 7B 两个规模共享同一套超参结构(词表 100K、上下文窗口 4096),差异在嵌入维度(2048 vs 4096)、注意力头数(16 vs 32)与层数(24 vs 30)。三阶段学习率均为恒定型调度,分别为 $1.0\times10^{-3}$、$1.0\times10^{-4}$、$4.0\times10^{-5}$,权重衰减 0.0、梯度裁剪 1.0,优化器为 AdamW($\beta_1=0.9,\beta_2=0.95$)。训练步数为 20K/360K/80K(7B 的 Stage III 为 40K),批大小 256/512/128,warm-up 600/5000/0 步;三阶段数据配比依次为 1:0:3、2:3:5、5:1:4。
实现上,语言模型采用最大序列长度 4096 的 DeepSeek-LLM(1.5B 与 7B);理解侧视觉编码器为 SigLIP-Large-Patch16-384;生成编码器码本大小 16384、图像下采样 16 倍;两个 adaptor 均为两层 MLP。Stage II 采用早停策略,在 270K 步停止。所有图像分辨率统一为 $384\times384$:理解数据将长边缩放、短边用背景色(RGB 127,127,127)填充至 384;生成数据将短边缩放至 384、长边裁剪至 384。训练使用序列打包(sequence packing)提升效率,并在单步内按指定比例混合所有数据类型。整个训练过程基于 HAI-LLM 分布式框架,1.5B/7B 模型分别在 16/32 个节点(每节点 8 张 Nvidia A100 40GB)上耗时约 9/14 天。
## 四、主要实验结果
### 4.1 多模态理解(Table 3,↑ 越高越好)
| 基准 / 任务 | 本模型 | 对比对象 | 说明 |
|---|---|---|---|
| POPE ↑ | 87.4(7B)/86.2(1B) | Janus 87.0;TokenFlow-XL 86.8;ILLUME 88.5 | 与更大规模统一模型持平,仅略低于 ILLUME |
| MME-Perception ↑ | 1567.1(7B)/1444.0(1B) | Janus 1338.0;TokenFlow-XL 1545.9;LLaVA-v1.5 1510.7 | 超越 13B 的 TokenFlow-XL,1B 版本也远超同量级 Show-o-512(1097.2) |
| MMBench ↑ | 79.2(7B)/75.5(1B) | Janus 69.4;MetaMorph 75.2;TokenFlow-XL 68.9 | 统一模型中最高,1B 版本亦超过 8B 的 MetaMorph |
| SEED ↑ | 72.1(7B)/68.3(1B) | ILLUME 72.9;MetaMorph 71.8;Janus 63.7 | 仅次于 ILLUME(7B),高于 TokenFlow-XL 的 68.7 |
| GQA ↑ | 62.0(7B)/59.3(1B) | TokenFlow-XL 62.7;LLaVA-v1.5 62.0;Janus 59.1 | 唯一未超过 TokenFlow-XL 的理解基准 |
| MMMU ↑ | 41.0(7B)/36.3(1B) | TokenFlow-XL 38.7;ILLUME 38.2;Janus 30.5 | 统一模型中最高 |
| MM-Vet ↑ | 50.0(7B)/39.8(1B) | TokenFlow-XL 40.7;Emu3-Chat 37.2;ILLUME 37.0 | 领先幅度最大的一项,较 Janus 34.3 提升逾 15 分 |
### 4.2 文本到图像生成
| 基准 / 任务 | 本模型 | 对比对象 | 说明 |
|---|---|---|---|
| GenEval Overall ↑ | 0.80(7B)/0.73(1B) | SD3-Medium 0.74;DALL-E 3 0.67;Transfusion 0.63;Janus 0.61 | 超越所有统一模型与仅生成模型 |
| GenEval 子项(7B) | Single 0.99/Two 0.89/Counting 0.59/Colors 0.90/Position 0.79/Color Attri. 0.66 | Janus 对应为 0.97/0.68/0.30/0.84/0.46/0.42 | 组合能力全面提升,Position 与颜色属性提升最显著 |
| DPG-Bench Overall ↑ | 84.19(7B)/82.63(1B) | SD3-Medium 84.08;DALL-E 3 83.50;Emu3-Gen 80.60;Janus 79.68 | 稠密提示词语义对齐能力为全部方法中最高 |
Janus-Pro 在两个任务上同时取得领先:理解侧在 MMBench(79.2)、MMMU(41.0)、MM-Vet(50.0)上刷新统一模型纪录,7B 版本除 GQA 外在所有理解基准上都胜过 13B 的 TokenFlow-XL;生成侧 GenEval 0.80 与 DPG-Bench 84.19 均为最高分。论文把这一结果归因于视觉编码解耦缓解了理解与生成之间的冲突。相对薄弱之处在于 GQA 仍小幅落后 TokenFlow-XL(62.0 对 62.7)、SEED 略低于 ILLUME(72.1 对 72.9),且理解侧的绝对水平仍受 $384\times384$ 输入分辨率限制。
## 五、结论、局限与影响
- **结论**:本文从训练策略、数据与模型规模三方面改进了 Janus。这些改进使多模态理解与文本到图像指令跟随能力都获得显著提升,其中 7B 规模是首次把「视觉编码解耦」这一设计验证到更大模型上,并观察到理解与生成的损失收敛速度都明显加快,说明该路线具备良好的可扩展性。
- **局限性**(作者自述):多模态理解方面,输入分辨率被限制在 $384\times384$,这影响了 OCR 等细粒度任务的表现;文本到图像生成方面,低分辨率叠加视觉 tokenizer 带来的重建损失,使生成的图像虽然语义丰富却仍缺乏精细细节,例如占图像空间很小的人脸区域可能细节不足。论文认为提高图像分辨率可以缓解这些问题。此外,作者也承认 Janus-Pro 相对前作仍有不足之处,需要用更大的模型与数据继续验证。
- **影响**:论文把统一多模态模型的竞争维度从「架构巧妙」推进到「训练策略、数据配比与规模」的工程可复制层面——解耦视觉编码 + 三阶段训练 + 合成数据补齐,构成了一个相对简洁且已被 1B/7B 两个规模验证的方案。代码与模型公开,为后续统一理解与生成的研究提供了可复现的基线,同时也指出了分辨率与 tokenizer 重建损失是下一阶段的关键瓶颈。
## 六、关键术语对照表
| English | 中文 |
|---|---|
| Unified Multimodal Understanding and Generation | 统一多模态理解与生成 |
| Decoupled Visual Encoding | 解耦视觉编码 |
| Understanding Encoder / Generation Encoder | 理解编码器/生成编码器 |
| Understanding Adaptor / Generation Adaptor | 理解适配器/生成适配器 |
| VQ Tokenizer | 向量量化分词器 |
| Codebook Embedding | 码本嵌入 |
| Autoregressive Transformer | 自回归 Transformer |
| Text-to-Image Instruction Following | 文本到图像的指令跟随 |
| Unified Pretraining | 统一预训练 |
| Supervised Fine-tuning (SFT) | 监督微调 |
| Data Ratio | 数据配比 |
| Synthetic Aesthetic Data | 合成美学数据 |
| Sequence Packing | 序列打包 |
| Early Stopping | 早停 |
| Dense Prompt | 稠密提示词 |
| Reconstruction Loss | 重建损失 |
| Compositional Capability | 组合能力 |