【第三十五周】Janus-pro 技术报告阅读笔记
Janus-Pro
- 摘要
- Abstract
- 文章信息
- 引言
- 方法
- Janus 架构
- Janus 训练
- Janus-Pro 的改进
- 实验结果
- 总结
摘要
本篇博客介绍了Janus-Pro,这是一个突破性的多模态理解与生成统一模型,其核心思想是通过解耦双路径视觉编码架构解决传统方法中语义理解与像素生成的任务冲突。针对统一编码器在高低层次特征需求上的矛盾,Janus-Pro采用SigLIP编码器提取图像语义特征(理解路径)与VQ Tokenizer建模像素细节(生成路径),再通过自回归Transformer联合训练;针对训练效率低的问题,提出三阶段优化策略:延长ImageNet基础生成训练、采用高密度文本-图像数据预训练、调整微调数据配比,使训练周期缩短20%;同时引入9000万结构化理解数据和7200万合成美学生成数据,平衡多任务性能。实验表明,Janus-Pro在MMBench(79.2)和GenEval(0.80)上达到SOTA,生成稳定性显著提升。然而,受限于384×384分辨率,其在细粒度识别和图像细节还原上仍有不足。未来研究可探索更高分辨率输入、动态特征融合机制,以及跨模态对齐损失优化,进一步突破多模态统一架构的语义-细节平衡瓶颈。
Abstract
This blog introduces Janus-Pro, a groundbreaking unified model for multimodal understanding and generation. Its core innovation lies in a decoupled dual-path visual encoding architecture that resolves the inherent conflict between semantic comprehension and pixel-level generation tasks in traditional unified encoders. To address the contradictory demands for high-level semantic features (understanding) and low-level pixel details (generation), Janus-Pro employs a SigLIP encoder to extract image semantic features (understanding path) and a VQ Tokenizer to model pixel-level details (generation path), unified via joint training with an autoregressive Transformer. To enhance training efficiency, it proposes a three-stage optimized strategy: prolonging ImageNet-based foundational training, adopting high-density text-image data for pretraining, and adjusting fine-tuning data ratios, reducing the training cycle by 20%. The model further balances multitask performance by integrating 90 million structured understanding samples and 72 million synthetic aesthetic generation datasets. Experiments demonstrate SOTA results on MMBench (79.2) and GenEval (0.80), with significantly improved generation stability. However, constrained by 384×384 resolution, challenges remain in fine-grained recognition and intricate detail restoration. Future research should explore higher-resolution inputs, dynamic feature fusion mechanisms, and cross-modal alignment loss optimization to further bridge the semantic-detail trade-off in unified multimodal architectures.
文章信息
Title:Janus-Pro: Unified Multimodal Understanding and Generation with Data and Model Scaling
Author:Xiaokang Chen, Zhiyu Wu, Xingchao Liu, Zizheng Pan, Wen Liu, Zhenda Xie, Xingkai Yu, Chong Ruan
Source:https://arxiv.org/abs/2501.17811
引言
近年来,多模态大模型在理解和生成任务上取得了显著进展,成为人工智能领域的核心研究方向之一。传统方法通常采用统一的视觉编码器处理多模态输入,但由于理解和生成任务对视觉特征的需求存在本质差异(前者需要高层次的语义信息,后者依赖低层次的像素级建模),这种架构容易导致性能冲突。例如,生成任务对图像细节的建模要求可能削弱理解任务的语义捕捉能力,反之亦然。为了解决这个问题,Janus 提出解耦两种任务的视觉编码,这缓解了多模态理解和生成任务之间的冲突,在这两项任务中都实现了出色的性能。
Janus在1.5B的参数规模上验证了可行性,其仍存在明显局限:
(1)训练策略效率低下,例如在预训练阶段需分阶段处理ImageNet数据和文本生成数据,导致计算资源浪费;
(2)训练数据规模和质量不足,尤其在文本到图像生成任务中,真实数据噪声大、合成数据缺乏美学优化,影响生成稳定性;
(3)模型容量受限,无法充分发挥解耦架构的潜力。
为了解决上述问题,本文介绍的Janus-Pro,从三个维度对Janus进行全面升级:
- 训练策略优化:重新设计三阶段训练流程,延长ImageNet数据建模时间以增强像素依赖学习,并在预训练阶段直接采用高质量文本生成数据,提升效率。
- 数据扩展与平衡:引入9000万理解任务样本(含表格、图表等结构化数据)和7200万合成美学图像数据,通过1:1的真实-合成数据比例改善生成质量。
- 模型规模化验证:将参数量从1.5B扩展至7B,证明解耦架构的可扩展性,并通过实验发现大模型在多任务损失收敛速度上显著优于小模型。
这些改进使Janus-Pro在多模态理解和生成任务上均超越现有SOTA模型。
方法
Janus 架构
Janus-pro 的架构与 Janus 的架构一致。所以在此小节先介绍Janus。
对于多模态理解,通常遵循LLaVA的设计,使用视觉编码器作为桥梁,使大语言模型能够理解图像。对于生成,通常基于扩散模型,也有一些基于自回归方法。一些方法试图使用单个Transformer试图统一多模态理解与生成任务,其通常使用单一视觉编码器处理两个任务的输入。
然而,多模态理解与生成任务所需要的表示有所差异。在多模态理解任务中,视觉编码器的目的是提取高层次的语义信息(如物体类别或者视觉属性),输出不仅涉及从图像中提取信息,还涉及复杂的语义推理,编码器主要集中于高维语义表示。生成任务主要关注于生成局部细节并在图像中保持全局一致性,因此需要低维度编码表示空间结构和纹理细节。在同一空间中将两种任务的表示进行统一会导致冲突。
Janus包含2个独立的视觉编码路径,分别用于多模态理解、生成,并带来两个收益:
- 缓解了源自多模态理解和生成不同粒度需求的冲突
- 具有灵活性和可扩展性,解耦后,理解和生成任务都可以采用针对其领域最先进的编码技术
- 对于文本理解,使用LLM内置Tokenizer将文本转换为离散IDs;
- 对于多模态理解,使用SigLIP编码器抽取图片中的高维语义特征(笔者注:Cosmos中在Guardrails部分同样使用SigLIP编码器),使用Adaptor(2层MLP)将抽取特征映射到LLM的文本特征空间中;
- 对于视觉生成,使用VQ Tokenizer将图像转换为离散IDs,使用Adaptor(2层MLP)将每个ID映射到LLM的文本特征空间中;
无论是视觉生成还是多模态理解任务,图片特征序列和文本特征序列都会连接在一起,作为LLM(文中使用DeepSeek-LLM 1.3B)的输入。
The built-in prediction head of the LLM is utilized for text predictions in both the pure text understanding and multimodal understanding tasks, while a randomly initialized prediction head is used for image predictions in the visual generation task. The entire model adheres to an autoregressive framework without the need for specially designed attention masks.
LLM 的内置预测头用于纯文本理解和多模态理解任务中的文本预测,而随机初始化的预测头用于视觉生成任务中的图像预测。整个模型遵循自回归框架,不需要专门设计的注意力掩码。
Janus 训练
Janus的训练分为3个阶段:
- stage1:训练Adaptor与Image Head,在嵌入空间创建语言元素与视觉元素之间的联系,使得LLM能够理解图像中的实体,并具备初步视觉生成能力。其中对于多模态理解,使用来自SHareGPT4V125万个图像-文本配对字幕数据,格式:<图像><文本>;对于视觉生成,使用来自ImageNet1k的120万个样本,格式:<类别名><图像>。
- stage2:统一预训练,使用多模态语料库进行统一预训练,学习多模态理解和生成。在该阶段使用纯文本数据、多模态理解数据和视觉生成数据。使用ImageNet-1k进行简单的视觉生成训练,随后使用通用文本到图像数据提升模型开放领域的视觉生成能力。
- stage3:监督微调,使用指令微调数据对预训练模型进行微调,以增强其遵循指令和对话的能力。微调除生成编码器之外的所有参数。在监督答案的同时,对系统和用户提示进行遮盖。为了确保Janus在多模态理解和生成方面都具备熟练度,不会针对特定任务分别微调模型。相反,我们使用纯文本对话数据、多模态理解数据和视觉生成数据的混合数据,以确保在各种场景下的多功能性。
训练目标 Janus是自回归模型,训练使用交叉熵损失函数,对于纯文本理解和多模态理解任务,在文本序列计算损失。对于视觉生成任务,仅在图像序列上计算损失。为了保持设计简单,没有为不同任务分配不同的损失权重。
推理 使用下一个词元预测方法,对于纯文本理解和多模态理解,从预测分布中依次采样词元。对于图像生成,使用无分类器引导。
Janus-Pro 的改进
Janus训练数据有限且模型容量(1B)相对较小,在一些方面存在不足,如在短提示下的图像生成表示不佳,文本到图像生成的质量不稳定。Janus-Pro的架构与Janus相同。
Janus 的改进主要在三个方面:训练策略、数据规模和模型规模。
训练策略上:
- 延长 stage1 的训练,在 ImageNet 数据集上充分训练,即便 LLM 参数固定,模型也能有效建模像素依赖并生成合理图像;
- stage2 中不再使用ImageNet,直接使用正常文本到图像数据训练模型基于密集描述生成图像,提高训练效率和整体性能。
- 调整 stage3 监督微调过程中不同类型数据集的数据比例,从 7:3:10 调整为 5:1:4,在保持视觉生成能力的同时提升多模态理解性能。
数据规模上:
在多模态理解和视觉生成方面均扩展了训练数据。
多模态理解中,第二阶段预训练数据参考 DeepSeekVL2 添加约 9000 万个样本,包括图像字幕数据集、表格图表和文档理解数据;第三阶段监督微调数据也加入了 DeepSeek-VL2 的其他数据集,如 MEME 理解、中文对话数据等,丰富了模型处理任务的能力和对话体验。
视觉生成中,Janus 之前使用的真实世界数据质量欠佳且有噪声,导致文本到图像生成不稳定。Janus-Pro 引入约 7200 万个合成美学数据样本,统一预训练阶段真实数据与合成数据比例为 1:1,实验表明使用合成数据训练模型收敛更快,生成的图像更稳定且美学质量更高。
模型规模上,Janus 使用 1.5B参数的 LLM 验证了视觉编码解耦的有效性,Janus-Pro 将模型扩展到 7B 参数。实验观察到,使用更大规模的 LLM 时,多模态理解和视觉生成的损失收敛速度比小模型显著提升,进一步验证了该方法的强扩展性。
实验结果
多模态理解性能
在多个广泛认可的基于图像的视觉语言基准测试中评估 Janus-Pro,包括 GQA、POPE、MME 等。结果显示 Janus-Pro 取得总体最佳成绩,这得益于其对多模态理解和生成的视觉编码解耦,缓解了两个任务间的冲突。
与参数规模大得多的模型相比,Janus-Pro 也极具竞争力,例如 Janus-Pro-7B 在除 GQA 外的所有基准测试中均优于 TokenFlow-XL(13B)。
视觉生成性能
在 GenEval 基准测试中评估文本到图像的生成能力,Janus-Pro-7B 总体准确率达到 80%超越了所有其他统一模型或仅用于生成的模型,如 Transfusion、SD3-Medium 和 DALL-E 3 等,这表明该模型具有更好的指令跟随能力。
在 DPG-Bench 基准测试中,Janus-Pro 得分为 84.19,超过所有其他方法,证明 Janus-Pro 在遵循密集指令进行文本到图像生成方面表现出色。
Janus-pro 代码:https://github.com/deepseek-ai/Janus
总结
Janus-Pro作为多模态理解与生成统一架构的突破性模型,其核心在于双路径视觉编码器与三阶段训练策略的协同优化:通过独立的SigLIP编码器(提取语义特征)和VQ Tokenizer(捕捉像素细节)分别处理理解与生成任务,再将特征序列拼接输入自回归Transformer联合训练;训练流程上,第一阶段延长ImageNet数据学习以强化生成基础,第二阶段直接采用高密度文本-图像数据提升效率,第三阶段调整数据配比以平衡多任务性能。该方法在多模态理解(MMBench 79.2)和生成(GenEval 0.80)上实现SOTA,生成稳定性显著提升,但受限于384×384分辨率,存在细粒度识别不足和图像细节缺失的缺陷。未来研究可探索更高分辨率输入、动态特征融合机制,以及跨模态对齐损失的优化,以进一步突破多模态统一架构的语义-细节平衡瓶颈。