Paper Card
论文标题:Janus: Decoupling Visual Encoding for Unified Multimodal Understanding and Generation
论文作者:Chengyue Wu, Xiaokang Chen, Zhiyu Wu, Yiyang Ma, Xingchao Liu, Zizheng Pan, Wen Liu, Zhenda Xie, Xingkai Yu, Chong Ruan, Ping Luo
论文链接:https://arxiv.org/abs/2410.13848v1
项目主页:https://github.com/deepseek-ai/Janus
论文出处:/
论文被引:/
Abstract
本文介绍了统一多模态理解和生成的自回归框架 Janus。以前的研究(例如 Chameleon)通常依赖于单个视觉编码器来完成这两个任务。 然而,由于多模态理解和生成所需的信息粒度(information granularity)不同,这种方法会导致性能下降,尤其是在多模态理解。 为了解决这个问题,将视觉编码解耦成独立的路径,同时仍然利用单个统一的 Transformer 架构进行处理。 解耦不仅缓解了视觉编码器在理解和生成中的角色冲突,而且还增强了框架的灵活度。例如,多模态理解和生成组件都可以独立选择最适合的编码方法。 实验表明,Janus 超越了以前统一的模型,并且持平或者超过了任务特定的模型的性能。
Summary
研究背景
先前的统一多模态理解和生成的模型使用单个视觉编码器处理理解和生成任务的输入,因为两个任务所需的表示差异很大,这种将两个任务的表示统一在用一个空间中会导致任务的冲突,导致理解能力降低。两种任务的差异:
- 多模态理解任务:视觉编码器的作用是提取高级语义信息(图像中的物体类别或者视觉属性),模型的输出不仅包括图像中提取的信息还包括复杂的语义推理。
- 多模态生成任务:视觉编码器的作用是低维编码,能够进行细粒度的空间结构和纹理细节表达。主要关注生成局部细节并保持图像的全局一致性。
方法介绍
为了解决上述问题,提出了将多模态理解和生成的视觉编码器解耦的模型 Janus,引入了连个视觉编码器,一个用于理解,一个用于生成。优势是:
- 1)缓解了多模态理解和生成任务对不同信息粒度需求产生的冲突;
- 2)理解和生成任务都可以采用特定领域的编码器,未来可以支持诸如点云、脑电信号和音频数据等模态的输入,可扩展性更强。
模型架构
文本编码器:DeepSeek-LLM (1.3B) 的 LLM tokenizer
多模态理解视觉编码器:
- 本文配置:SigLIP-Large-Patch 16-384 + Adaptor (2-Layer MLP),所有图像都被缩放为 384×384 像素。如果不足,则缩放图像的长边大小,并使用背景颜色(RGB:127,127,127)填充短边,使其达到 384。
- 未来扩展:1) 可以选择更强大的视觉编码器,例如 EVA-CLIP、InternViT 等。 2) 为了处理高分辨率图像,可以使用动态高分辨率技术 [50]。3) 可以进一步压缩 token 以节省计算成本,例如使用 pixel shuffle 操作 [12]。
多模态生成视觉编码器:
- 本文配置:引文 [73] 提出的 VQ tokenizer + Adaptor (2-Layer MLP),codebook 大小为 1638,图像下采样 16 倍。所有图像都被调整为 384×384 像素。如果不足,短边被缩放为 384,长边被裁剪为 384。
- 未来扩展:1) 可以选择更细粒度的编码器,以在编码后保留更多图像细节,例如 MoVQGan [93] 。2) 可以使用专门为视觉生成设计的损失函数,例如扩散损失 [46] 。3) 在视觉生成过程中,可以使用 AR(因果注意力)和并行(双向注意力)方法的组合来减少视觉生成过程中的累积误差 [79] 。
[12] How far are we to gpt-4v? closing the gap to commercial multimodal models with open-source suites. arXiv:2404.16821
[46] Autoregressive image generation without vector quantization. arXiv:2406.11838
[50] Improved baselines with visual instruction tuning. CVPR2024
[73] Autoregressive model beats diffusion: Llama for scalable image generation. arXiv:2406.06525
[79] Visual autoregressive modeling: Scalable image generation via next-scale prediction. arXiv:2404.02905
[93] Movq: Modulating quantized vectors for high-fidelity image generation. NIPS 2022
训练过程
Stage I: Training Adaptors and Image Head.
训练目的:在嵌入空间建立视觉元素和语言元素之间的概念联系,使 LLM 能够理解图像中的实体,并具备初步的视觉生成能力。
训练组件:多模态理解 Adaptor,多模态生成 Adaptor,图像生成 Head,其他组件保持冻结
训练数据:
- ShareGPT4V 的1.25 M 个图像描述数据集
- 1.2M 个 ImageNet-1k 的物体名称数据集
Stage II: Unified Pretraining.
训练目的:学习多模态理解和生成。受 Pixart 启发,使用 ImageNet-1k 进行简单的视觉生成训练(该数据仅在前 120k steps 中使用,之后的 60k steps 使用其他数据),使得模型首先掌握基本的像素依赖关系。随后,视同Image2Text数据增强模型的开放域视觉生成能力。
训练组件:进一步解冻LLM和文本理解Head
训练数据:
- 纯文本对话数据:DeepSeek-LLM 的预训练文本语料库
- 图文交错数据(多模态理解):WikiHow [39] 和 WIT [72] 数据集
- 图像描述数据(多模态理解):[18, 38, 17, 40, 23, 47, 49, 45, 70] 的图像,使用开源的多模态模型重新为 [17, 40] 中的图像添加描述
- 表格和图表数据(多模态理解):DeepSeek-VL 中相应的表格和图表数据
- 视觉生成数据:[38, 17, 40, 70, 57, 58, 63, 60] 的图像描述数据,以及 2M 条内部数据。对于 [38, 70] 的数据基于 asethetic 分数和图片尺寸进行过滤,最终保留了20%的数据,在训练过程中以25%的概率随机使用 caption 中的第一个句子,以让模型具备从较短描述中生成图像的能力。
Stage III: Supervised Fine-tuning.
训练目的:增强模型的指令遵从和对话能力
训练组件:进一步解冻多模态理解视觉编码器
训练数据:
- 文本理解:[43] 中的数据
- 多模态理解:[43,31,35,69,34,56] 中的指令调优数据
- 视觉生成:[17, 70, 60] 中的数据,4M 条内部数据
训练目标:Janus 是一个自回归模型,在训练期间采用交叉熵损失。对于纯文本理解和多模态理解任务,在文本序列上计算损失。对于视觉生成任务,只在图像序列上计算损失。为了保持设计的简单性,没有对不同的任务分配不同的损失权重。
推理过程:采用NTP方法。对于纯文本理解和多模态理解,遵循从预测分布中顺序采样 token 的标准做法。对于图像生成,利用无分类器引导 (CFG) 。具体来说,对于每个 token,logit lg 计算为: lg=lu+s(lc−lu),其中 lc 是条件 logit,lu 是无条件 logit,s 是无分类器引导的尺度。s 的默认值为 5 。
消融实验
实验设置
使用 HAI-LLM [32] 进行训练和评估,HAI-LLM 是一个构建在 PyTorch 之上的轻量级且高效的分布式训练框架。 整个训练过程在一个包含 16 个节点的集群上进行,每个节点 8 个 Nvidia A100 (40
GB) GPU,共花费 7 天。
定量分析
多模态理解性能:表 2 所示,与之前最好的统一模型 Show-o 相比,Janus 在 MME 和 GQA 数据集上分别取得了 41% (949→1338) 和 30% (48.7→59.1) 的性能提升。
视觉生成性能:如表 3 所示,Janus 在 GenEval 上获得了 61% 的整体准确率,这超过了之前的最佳统一模型 Show-o (53%) 和一些流行的仅生成方法,例如 SDXL (55%) 和 DALL-E 2 (52%)。
定性分析
多模态理解性能: 图 5 展示了 Janus 的多模态理解能力的定性结果,与 Chameleon [77] 和 Show-o [86] 相比。Janus 准确地解释了文本标题并捕捉到了表情包中传达的情绪。相反,Chameleon 和 Show-o 都难以准确识别图像中的文本。Chameleon 无法识别表情包中的物体,Show-o 错误地解释了狗的颜色。
视觉生成性能:图 4 展示了 Janus 与基于扩散的模型(如 SDXL [62])和自回归模型 LlamaGen [73] 之间的定性比较。结果表明,Janus 在视觉生成方面展现出更强的指令遵从能力,准确地捕捉到用户提示中的大部分细节。这表明统一模型在视觉生成的潜力。
实验结论
本文介绍了 Janus,一个简单、统一且可扩展的多模态理解和生成模型。Janus 的核心思想是解耦用于多模态理解和生成的视觉编码,可以缓解理解和生成对视觉编码器提出的不同需求而产生的冲突。大量的实验已经证明了 Janus 的有效性和领先性能。Janus 还易于扩展,以整合更多输入模态。