2 方法

本文为论文《Janus-Pro:统一多模态理解与生成》「中文全文翻译」板块的对应章节,与「论文原文」板块同一章节一一对应,层级保持一致。

2.1 架构

Janus-Pro 的架构如图 3 所示,与 Janus [46] 相同。整体架构的核心设计原则是对多模态理解与生成采用解耦的视觉编码。 我们采用独立的编码方法将原始输入转换为特征,随后由一个统一的自回归 transformer 进行处理。对于多模态理解,我们使用 SigLIP [53] 编码器从图像中提取高维语义特征。这些特征从 $2$ 维网格展平为 $1$ 维序列,并使用一个理解适配器(understanding adaptor)将这些图像特征映射到 LLM 的输入空间。 对于视觉生成任务,我们使用 [38] 中的 VQ 分词器(VQ tokenizer)将图像转换为离散 ID。在 ID 序列展平为 $1$ 维后,我们使用一个生成适配器(generation adaptor)将每个 ID 对应的码本嵌入映射到 LLM 的输入空间。随后我们将这些特征序列拼接起来形成多模态特征序列,并送入 LLM 进行处理。除了 LLM 内置的预测头之外,我们还使用一个随机初始化的预测头在视觉生成任务中进行图像预测。整个模型遵循自回归框架。

2.2 优化的训练策略

此前版本的 Janus 采用三阶段训练流程。阶段 I 侧重于训练适配器和图像头。 阶段 II 进行统一预训练,在此期间除理解编码器和生成编码器之外的所有组件都会更新参数。 阶段 III 是监督微调,在阶段 II 的基础上进一步在训练期间解锁理解编码器的参数。这一训练策略存在一定问题。 在阶段 II 中,Janus 沿用 PixArt [4] 的做法,将文生图能力的训练分为两部分。第一部分在 ImageNet [9] 数据上训练,使用图像类别名称作为文生图生成的提示词,目标是建模像素依赖关系。第二部分在常规文生图数据上训练。在实现中,阶段 II 中 66.67% 的文生图训练步数被分配给第一部分。然而,通过进一步实验,我们发现这一策略并非最优,并导致显著的计算低效。

为解决这一问题,我们做了两处修改。

  • •

阶段 I 更长时间的训练:我们增加阶段 I 的训练步数,从而在 ImageNet 数据集上进行充分训练。我们的发现表明,即便 LLM 参数固定,模型也能有效建模像素依赖关系,并根据类别名称生成合理的图像。

  • •

阶段 II 聚焦的训练:在阶段 II 中,我们去除 ImageNet 数据,直接使用常规文生图数据来训练模型基于稠密描述生成图像。这一重新设计的方法使阶段 II 能够更高效地利用文生图数据,从而带来训练效率和整体性能的提升。

我们还调整了阶段 III 监督微调过程中不同类型数据集之间的数据比例,将多模态数据、纯文本数据和文生图数据的比例从 7:3:10 改为 5:1:4。通过略微降低文生图数据的比例,我们观察到这一调整使我们能够在保持强大视觉生成能力的同时,获得更佳的多模态理解性能。

2.3 数据扩展

我们在多模态理解与视觉生成两方面都扩展了 Janus 所使用的训练数据。

  • •

多模态理解。对于阶段 II 的预训练数据,我们参考 DeepSeek-VL2 [49],增加了约 9000 万个样本。这些包括图像描述数据集(如 YFCC [31]),以及表格、图表和文档理解的数据(如 Docmatix [20])。对于阶段 III 的监督微调数据,我们还纳入了来自 DeepSeek-VL2 的额外数据集,例如 MEME 理解、中文对话数据,以及旨在提升对话体验的数据集。这些新增内容显著扩展了模型的能力,丰富了其处理多样化任务的能力,同时改善了整体对话体验。

  • •

视觉生成。我们观察到此前版本 Janus 所用的真实世界数据缺乏质量且包含大量噪声,这常常导致文生图生成不稳定,产出美学效果欠佳的结果。在 Janus-Pro 中,我们纳入了约 7200 万个合成美学数据样本,使统一预训练阶段中真实数据与合成数据的比例达到 1:1。这些合成数据样本的提示词是公开可得的,例如 [43] 中的提示词。实验表明,在合成数据上训练时模型收敛更快,且由此产生的文生图输出不仅更稳定,还在美学质量上有显著提升。

2.4 模型扩展

此前版本的 Janus 使用 1.5B LLM 验证了视觉编码解耦的有效性。在 Janus-Pro 中,我们将模型扩展到 7B,1.5B 和 7B LLM 的超参数详见表 1。我们观察到,当使用更大规模的 LLM 时,多模态理解与视觉生成的损失收敛速度相较较小模型都显著提升。这一发现进一步验证了该方法强大的可扩展性。

表 1:Janus-Pro 的架构配置。我们列出了架构的超参数。

表 2:训练 Janus-Pro 的详细超参数。数据比例指多模态理解数据、纯文本数据与视觉生成数据之间的比例。