【DeepSeek AI】Janus-Pro: 数据与模型扩展的统一多模态理解与生成

大模型向量数据库机器学习

点击下方 卡片 ,关注“ 慢慢学AIGC ”

内容来源:DeepSeek 论文

作者:DeepSeek-AI
项目页面 : https://github.com/deepseek-ai/Janus

picture.image

摘要

在本研究中,我们提出了 Janus-Pro ,这是之前工作 Janus 的高级版本。具体而言,Janus-Pro 引入了以下改进:

  1. 优化的训练策略
  2. 扩展的训练数据
  3. 更大模型规模的扩展

通过这些改进,Janus-Pro 在多模态理解和文本到图像指令跟随能力方面取得了显著进步,同时还提升了文本到图像生成的稳定性。我们希望这项工作能够激发该领域的更多探索。代码和模型已公开提供。

1. 引言

近年来,统一的多模态理解与生成模型取得了显著进展 [30, 40, 45, 46, 48, 50, 54, 55]。这些方法被证明在视觉生成任务中的指令跟随能力上有所提升,同时降低了模型冗余性。大多数方法使用相同的视觉编码器来处理多模态理解和生成任务的输入。然而,由于这两种任务所需的表征存在差异,这通常导致多模态理解性能次优。为了解决这一问题,Janus [46] 提出了 解耦视觉编码 的方法,缓解了多模态理解与生成任务之间的冲突,从而在两项任务中都取得了优异的表现。

作为一个开创性的模型,Janus 在 10 亿参数规模上得到了验证。然而,由于训练数据量有限以及模型容量较小,Janus 在某些方面仍存在不足,例如对短提示的图像生成性能欠佳,以及文本到图像生成质量的不稳定性。在本文中,我们提出了 Janus-Pro ,这是 Janus 的增强版本,从训练策略、数据和模型规模三个方面进行了改进。Janus-Pro 系列包括两个模型规模:1B(10 亿参数)和 7B(70 亿参数),展示了视觉编码解码方法的可扩展性。

picture.image

我们在多个基准上对 Janus-Pro 进行了评估,结果表明它具有出色的多模态理解能力,并显著提升了文本到图像指令跟随性能。具体而言,Janus-Pro-7B 在多模态理解基准 MMBench [29] 上取得了 79.2 分的成绩,超越了当前最先进的统一多模态模型,例如 Janus [46](69.4)、TokenFlow [34](68.9)和 MetaMorph [42](75.2)。此外,在文本到图像指令跟随排行榜 GenEval [14] 上,Janus-Pro-7B 的得分为 0.80,超过了 Janus [46](0.61)、DALL-E 3(0.67)以及 Stable Diffusion 3 Medium [11](0.74)。

picture.image

2. 方法

2.1 架构

Janus-Pro 的架构如图 3 所示,与 Janus [46] 的架构相同。

picture.image

其核心设计原则是 解耦多模态理解与生成的视觉编码 。 我们采用独立的编码方法将原始输入转换为特征,然后通过一个统一的自回归 Transformer 进行处理。

对于多模态理解任务,我们使用 SigLIP [53] 编码器从图像中提取高维语义特征。这些特征从二维网格被展平为一维序列,并通过一个理解适配器将这些图像特征映射到大语言模型(LLM)的输入空间。

对于视觉生成任务,我们使用 [38] 的 VQ 分词器(VQ tokenizer)将图像转换为离散的 ID。这些 ID 序列被展平为一维序列后,通过生成适配器将与每个 ID 对应的代码簿嵌入(codebook embeddings)映射到 LLM 的输入空间。随后,我们将这些特征序列拼接形成一个多模态特征序列,并将其输入 LLM 进行处理。

除了 LLM 内置的预测头外,我们还为视觉生成任务引入了一个随机初始化的预测头,用于图像预测。整个模型遵循自回归框架设计。


2.2 优化训练策略

Janus 的上一版本采用了三阶段训练流程:

  • 阶段 I :训练适配器和图像预测头。
  • 阶段 II :统一预训练,期间除理解编码器和生成编码器外,所有组件的参数都被更新。
  • 阶段 III :在阶段 II 的基础上,通过进一步解锁理解编码器的参数进行有监督微调。

然而,这种训练策略存在一定问题。在阶段 II 中,Janus 按照 PixArt [4] 将文本到图像能力的训练分为两部分:

  1. 第一部分基于 ImageNet [9] 数据训练,使用图像类别名称作为文本到图像生成的提示词,其目标是建模像素依赖性。
  2. 第二部分基于常规的文本到图像数据进行训练。

在实现过程中,阶段 II 中的文本到图像训练步骤有 66.67% 分配给了第一部分。然而,通过进一步实验,我们发现此前的训练策略效率低下且计算资源利用不充分。为了解决这些问题,我们做了两项改进:

  • 延长阶段 I 的训练时间 :我们增加了阶段 I 的训练步数,从而在 ImageNet 数据集上进行充分训练。实验表明,即使在固定 LLM 参数的情况下,模型也能够有效地建模像素依赖性,并根据类别名称生成合理的图像。
  • 阶段 II 的聚焦训练 :在阶段 II 中,我们舍弃了 ImageNet 数据,直接利用常规的文本到图像数据进行训练,使模型能够基于详细描述生成图像。这种重新设计的方法提升了文本到图像数据的利用效率,从而改进了训练效率和模型整体性能。

此外,在阶段 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 的上一版本使用一个 15 亿参数的 LLM 验证了视觉编码解耦的有效性。在 Janus-Pro 中,我们将模型规模扩展到 70 亿参数,其 15 亿和 70 亿参数的超参数细节见表 1。实验表明,使用更大规模的 LLM 后,多模态理解和视觉生成的损失收敛速度相较于小规模模型显著提升。这一发现进一步验证了该方法的强扩展性。

picture.image

3. 实验

3.1 实现细节

在实验中,我们采用 DeepSeek-LLM(1.5B 和 7B 参数)[3] 作为基础语言模型,其最大支持序列长度为 4096。用于理解任务的视觉编码器选用 SigLIP-Large-Patch16-384 [53]。生成编码器的代码簿大小为 16,384,图像下采样倍数为 16。理解适配器和生成适配器均为两层的多层感知器(MLP)。每个阶段的详细超参数见表 2。

所有图像均调整为 384 × 384 像素:

  • 对于多模态理解数据,将图像的长边调整为 384,短边填充背景色(RGB: 127, 127, 127)至 384。
  • 对于视觉生成数据,将图像的短边调整为 384,长边裁剪为 384。

训练过程中,我们使用序列打包(sequence packing)以提高训练效率,并在单个训练步骤中根据指定比例混合所有数据类型。我们的 Janus 模型通过 HAI-LLM [15] 进行训练和评估,HAI-LLM 是基于 PyTorch 构建的轻量级高效分布式训练框架。整个训练过程耗时约 7 天(1.5B 模型)和 14 天(7B 模型),运行在 16/32 个节点的集群上,每个节点配备 8 张 Nvidia A100(40GB)GPU。


3.2 评估设置

多模态理解
为评估多模态理解能力,我们在广泛认可的基于图像的视觉-语言基准数据集上对模型进行测试,包括 GQA [17]、 POPE [23]、 MME [12]、 SEED [21]、 MMB [29]、 MM-Vet [51] 和 MMMU [52]。

视觉生成
为评估视觉生成能力,我们采用 GenEval [14] 和 DPG-Bench [16] 数据集:

  • GenEval 是一个专为图像到文本生成设计的挑战性基准数据集,通过提供实例级分析来反映视觉生成模型的综合生成能力,尤其是其组成能力。
  • DPG-Bench (密集提示图基准)是一个包含 1065 条长度较长、语义密集提示的综合数据集,用于评估文本到图像模型的复杂语义对齐能力。

3.3 与最新技术的对比

多模态理解性能

我们将 Janus-Pro 与最先进的统一模型和专注于理解任务的模型进行了对比(详见表 3)。

picture.image

Janus-Pro 实现了整体最佳性能,这得益于多模态理解与生成任务的视觉编码解耦,有效缓解了两者之间的冲突。

即使与参数规模明显更大的模型相比,Janus-Pro 依然表现出高度的竞争力。例如, Janus-Pro-7B 在除 GQA 外的所有基准上均优于 TokenFlow-XL (13B)

视觉生成性能

我们在 GenEvalDPG-Bench 上报告了视觉生成的性能。如表 4 所示, Janus-Pro-7B 在 GenEval 上取得了 80% 的整体准确率 ,优于所有其他统一模型或仅用于生成的模型,例如 Transfusion [55] (63%)、 SD3-Medium (74%) 和 DALL-E 3 (67%)。这表明我们的方法在指令遵循能力方面表现更优。

picture.image

如表 5 所示, Janus-Pro 在 DPG-Bench 上取得了 84.19 的得分,超越了所有其他方法。这表明 Janus-Pro 在处理密集指令的文本到图像生成任务中具有卓越表现。

picture.image


3.4 定性结果

我们在图 4 中展示了多模态理解任务的结果。

picture.image

picture.image

Janus-Pro 在处理多种上下文输入时表现出色,展现了其强大的理解能力。图 4 下部分展示了一些文本到图像生成的结果。

Janus-Pro-7B 生成的图像高度逼真,尽管分辨率仅为 384 × 384 ,但仍包含大量细节。对于具有创造性和想象力的场景,Janus-Pro-7B 能准确捕捉提示语中的语义信息,生成合理且连贯的图像。


4. 结论

本文从三个方面对 Janus 进行了改进: 训练策略、数据和模型规模。 这些改进显著提升了多模态理解和文本到图像指令遵循能力。 然而,Janus-Pro 仍然存在一些局限性:

  • 多模态理解方面 :输入分辨率限制为 384 × 384 ,在 OCR 等细粒度任务中的性能受到影响。

  • 文本到图像生成方面 :低分辨率与视觉分词器引入的重构损失相结合,使得生成的图像虽然语义内容丰富,但细节表现仍然不足。例如,占据图像空间较小的面部区域可能显得细节不足。

    提高图像分辨率 或可缓解这些问题。


扫描下方 二维码 ,关注“ 慢慢学AIGC ”

picture.image

0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
大规模高性能计算集群优化实践
随着机器学习的发展,数据量和训练模型都有越来越大的趋势,这对基础设施有了更高的要求,包括硬件、网络架构等。本次分享主要介绍火山引擎支撑大规模高性能计算集群的架构和优化实践。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论