专栏名称: 计算机视觉深度学习和自动驾驶
讨论计算机视觉、深度学习和自动驾驶的技术发展和挑战
目录
相关文章推荐
丁香医生  ·  想老得慢一点,劝你先把脸皮「变厚」! ·  昨天  
营养师顾中一  ·  你其实从没吃过「香芋」,不信来看! ·  2 天前  
丁香医生  ·  得了关节炎,真的是行走的「晴雨表」吗? ·  3 天前  
51好读  ›  专栏  ›  计算机视觉深度学习和自动驾驶

Janus-Pro:通过数据和模型规模化实现统一的多模态理解和生成

计算机视觉深度学习和自动驾驶  · 公众号  ·  · 2025-01-31 00:06

正文

25年1月来自 DeepSeek-AI 团队的技术报告“Janus-Pro: Unified Multimodal Understanding and Generation with Data and Model Scaling”。

Janus-Pro,它是Janus 的高级版本。具体来说,Janus-Pro 结合 (1) 优化的训练策略、(2) 扩展的训练数据和 (3) 规模化到更大的模型尺寸。通过这些改进,Janus-Pro 在多模态理解和文本-到-图像指令遵循能力方面取得重大进步,同时还增强文本-到-图像生成的稳定性。


统一的多模态理解和生成模型的最新进展已显示出重大进展 [30、40、45、46、48、50、54、55]。这些方法已被证明可以增强视觉生成任务中的指令跟随能力,同时减少模型冗余。大多数这些方法使用相同的视觉编码器来处理多模态理解和生成任务的输入。由于这两个任务所需的表示不同,这通常会导致多模态理解的性能不佳。为了解决这个问题,Janus [46] 提出将视觉编码解耦,从而缓解多模态理解和生成任务之间的冲突,在两个任务中都取得出色的性能。

作为一个先驱模型,Janus 在 1B 参数规模上得到验证。然而,由于训练数据量有限和模型容量相对较小,它表现出某些缺点,例如在短提示图像生成上的性能不佳以及文本到图像生成质量不稳定。Janus-Pro 是 Janus 的增强版,它在三个维度上进行改进:训练策略、数据和模型大小。Janus-Pro 系列包括两种模型大小:1B 和 7B,展示视觉编码解码方法的规模化。

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


Janus 的旧版本采用三阶段训练流程。第一阶段专注于训练适配器和图像头。第二阶段进行统一预训练,在此期间,除理解编码器和生成编码器之外所有组件的参数都会更新。第三阶段是监督微调,在第二阶段的基础上,在训练过程中进一步解锁理解编码器的参数。这种训练策略存在一些问题。在第二阶段,Janus 效仿 PixArt [4] 将文本转图像功能的训练分为两部分。第一部分在 ImageNet [9] 数据上进行训练,使用图像类别名称作为文本-转-图像生成的提示,目标是建模像素依赖性。第二部分在普通的文本-转-图像数据上进行训练。在实施过程中,第二阶段 66.67% 的文本转图像训练步骤分配给第一部分。然而,实验中这种策略不是最优的,并且导致计算效率显著低下。

为了解决这个问题,做两处修改。

  1. •增加第一阶段的训练步骤,以便在 ImageNet 数据集上进行充分的训练。即使在 LLM 参数固定的情况下,模型也可以有效地模拟像素依赖性并根据类别名称生成合理的图像。

  2. •在第二阶段,放弃 ImageNet 数据并直接利用普通的文本-转-图像数据来训练模型,基于密集描述生成图像。这种重新设计的方法使第二阶段能够更有效地利用文本-转-图像数据,从而提高训练效率和整体性能。

还调整第三阶段监督微调过程中不同类型数据集的数据比例,将多模态数据、纯文本数据和文本转图像数据的比例从 7:3:10 更改为 5:1:4。通过略微降低文本转图像数据的比例,能够保持强大的视觉生成能力,同时提高多模态理解性能。

从多模态理解和视觉生成两个方面扩大用于 Janus 的训练数据。

  1. • 对于第二阶段的预训练数据,参考 DeepSeek-V2 [49] 并添加大约 9000 万个样本。这些包括图像标题数据集(例如 YFCC [31])以及用于表格、图表和文档理解的数据(例如 Docmatix [20])。对于第三阶段的监督微调数据,还结合来自 DeepSeek-V2 的其他数据集,例如 MEME 理解、中文对话数据和旨在增强对话体验的数据集。这些新增内容显著扩展模型的功能,丰富其处理各种任务的能力,同时改善整体对话体验。

  2. • Janus 的先前版本中,使用的真实世界数据质量不佳且包含大量噪声,这通常会导致文本-到-图像生成不稳定,从而导致输出不美观。在 Janus-Pro 中,整合大约 7200 万个合成美学数据样本,在统一的预训练阶段将真实数据与合成数据的比例调整为 1:1。这些合成数据样本的提示都是公开的,例如 [43] 中的提示。实验表明,在使用合成数据进行训练时,该模型收敛速度更快,并且生成的文本转图像输出不仅更稳定,而且美学质量也显著提高。

Janus 的上一版本使用 1.5B LLM 验证视觉编码解耦的有效性。在 Janus-Pro 中,将模型扩展到 7B,1.5B 和 7B LLM 的超参如表所示。当使用更大规模的 LLM 时,与较小的模型相比,多模态理解和视觉生成损失的收敛速度都有显著提高。这一发现进一步验证该方法的强大规模化。



实验中,用 DeepSeek-LLM(1.5B 和 7B)[3] 作为基础语言模型,最大支持序列长度为 4096。对于用于理解任务的视觉编码器,选择 SigLIP-Large-Patch16-384 [53]。生成编码器的码本大小为 16,384,并将图像下采样 16 倍。理解适配器和生成适配器都是两层 MLP。下表提供每个阶段的详细超参。







请到「今天看啥」查看全文