完整解读从DeepSeekJanus到JanusPro

干货

作者:Eternity,成员

Take Home Message: Janus 是一个简单、统一且可扩展的多模态理解与生成模型,其将多模态理解与生成的视觉编码进行解耦,缓解了两个任务潜在存在的冲突。可在未来通过拓展,纳入更多的输入模态。Janus-Pro 在此基础上,优化训练策略(包括增加训练步数、调整数据配比等)、增加数据(包括 使用合成数据等 )、扩大模型规模(扩大到 70 亿参数),使得模型多模态理解和 文本到图像指令遵循 能力方面取得了进步。

完整解读从DeepSeekJanus到JanusPro-2

代码地址:https://github.com/deepseek-ai/Janus Janus

Janus Pro 地址:https://github.com/deepseek-ai/Janus/blob/main/janus_pro_tech_report.pdf

Janus-Pro 是之前工作 Janus 的高级版本,具体地,包括(1)优化的训练策略、(2)扩展的训练数据以及(3)更大的模型规模。通过这些改进,Janus-Pro 在 多模态理解 和 文本到图像指令遵循 能力方面取得了显著进步,同时也增强了文本到图像生成的稳定性。在解读 Janus-Pro 前,先回顾一下 Janus。

回顾Janus

前作 Janus 是一个统一多模态理解与生成的自回归框架 ,用于 解耦视觉编码以实现统一的多模态理解与生成 。对于多模态理解,通常遵循 LLaVA 的设计,使用视觉编码器作为桥梁,使大语言模型能够理解图像。对于生成,通常基于扩散模型,也有一些基于自回归方法。 一些方法试图使用单个 Transformer 试图统一多模态理解与生成任务,其通常使用单一视觉编码器处理两个任务的输入。

然而,多模态理解与生成任务所需要的表示有所差异。在 多模态理解 任务中,视觉编码器的目的是提取高层次的语义信息(如物体类别或者视觉属性),输出不仅涉及从图像中提取信息,还涉及复杂的语义推理,编码器主要集中于高维语义表示。 生成任务 主要关注于生成局部细节并在图像中保持全局一致性,因此需要低维度编码表示空间结构和纹理细节。在同一空间中将两种任务的表示进行统一会导致冲突。

Janus 包含 2 个独立的视觉编码路径,分别用于多模态理解、生成,并带来两个收益:1)缓解了源自多模态理解和生成不同粒度需求的冲突,2)具有灵活性和可扩展性,解耦后,理解和生成任务都可以采用针对其领域最先进的编码技术,未来可输入点云、脑电信号或音频数据,使用统一的 Transformer 进行处理。

完整解读从DeepSeekJanus到JanusPro-3

对于文本理解,使用 LLM 内置 Tokenizer 将文本转换为离散 IDs;

对于多模态理解,使用 SigLIP 编码器抽取图片中的高维语义特征(笔者注:Cosmos中在Guardrails部分同样使用SigLIP编码器),使用 Adaptor(2 层 MLP)将抽取特征映射到 LLM 的文本特征空间中;

长边调整至 384 像素,使用 RGB(127, 127, 127)填充短边至 384 像素;

对于视觉生成,使用 VQ Tokenizer 将图像转换为离散IDs,使用Adaptor(2 层 MLP)将每个 ID 映射到 LLM 的文本特征空间中;

短边调整至384像素,长边裁剪至 384 像素;

整体训练使用 16 个节点,每个节点包含 8 块 Nvidia A100 GPU;

无论是视觉生成还是多模态理解任务,图片特征序列和文本特征序列都会连接在一起,作为 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. Janus/blob/main/janus_pro_tech_report.pd

Janus 的训练分为 3 个阶段:

第一阶段:训练 Adaptor 与 Image Head ,在嵌入空间创建语言元素与视觉元素之间的联系,使得 LLM 能够理解图像中的实体,并具备初步视觉生成能力;

对于多模态理解,使用来自 SHareGPT4V 的 125 万个图像-文本配对字幕数据,格式:<图像><文本>;

对于视觉生成,使用来自 ImageNet1k 的 120 万个样本,格式:<类别名><图像>;

第二阶段:统一预训练 ,使用多模态语料库进行统一预训练,学习多模态理解和生成。在该阶段使用纯文本数据、多模态理解数据和视觉生成数据。使用ImageNet-1k进行简单的视觉生成训练,随后使用通用文本到图像数据提升模型开放领域的视觉生成能力;

纯文本数据 :DeepSeek-LLM 预训练语料库;

交错的图像 - 文本数据 :WikiHow 和 WIT 数据集;

图像 Caption 数据 :来自多个来源的图像,并采用开源多模态模型重新为部分图像添加字幕,数据格式为问答对,如 <image>Describe the image in detail.<caption>;

表格和图表数据 :来自 DeepSeek-VL 的相应表格和图表数据,数据格式为 <question><answer>;

视觉生成数据 :来自多个数据集的 image-caption 对以及 200 万个内部数据;

在训练过程中,以 25% 的概率随机仅使用 caption 的第一句话;

ImageNet 样本仅在最初的 120K 训练步骤中出现,其他数据集的图像在后续 60K 步骤中出现;

第三阶段:监督微调 ,使用指令微调数据对预训练模型进行微调,以增强其遵循指令和对话的能力。微调除生成编码器之外的所有参数。在监督答案的同时,对系统和用户提示进行遮盖。为了确保 Janus 在多模态理解和生成方面都具备熟练度,不会针对特定任务分别微调模型。相反,我们使用纯文本对话数据、多模态理解数据和视觉生成数据的混合数据,以确保在各种场景下的多功能性;

文本理解 :使用来自特定来源的数据;

多模态理解 :使用来自多个来源的指令调整数据;

视觉生成 :使用来自部分第二阶段数据集的图像-文本对子集以及 400 万个内部数据;

数据格式为:User:<Input Message> n Assistant: <Response>;

完整解读从DeepSeekJanus到JanusPro-4

训练目标

Janus 是自回归模型,训练使用交叉熵损失函数,对于纯文本理解和多模态理解任务,在文本序列计算损失。对于视觉生成任务,仅在图像序列上计算损失。为了保持设计简单,没有为不同任务分配不同的损失权重。

推理

使用下一个词元预测方法,对于纯文本理解和多模态理解,从预测分布中依次采样词元。对于图像生成,使用无分类器引导。

可能的扩展

对于多模态理解,1)可选择更强的视觉编码器,2)可使用动态高分辨技术;

对于视觉生成,1)可选择更加细粒度的编码器,2)使用专门为视觉生成设计的损失函数,3)结合因果注意力和并行方法;

更多模态,能够集成 3D 点云、触觉、脑电图等输模态输入;

Janus-Pro升级

Janus 训练数据有限且模型容量(1B)相对较小,在一些方面存在不足,如在短提示下的图像生成表示不佳,文本到图像生成的质量不稳定。Janus-Pro 的架构与 Janus 相同,可参考下图:

完整解读从DeepSeekJanus到JanusPro-5

主要改进

训练策略

Stage 1: 增加训练步数,在 ImageNet 上充分训练;

Stage 2: 不再使用 ImageNet,直接使用常规文本到图像数据的训练数据;

Stage 3: 修改微调过程中的数据集配比,将多模态数据、纯文本数据和文本到图像的比例从 7:3:10 改为 5:1:4;

数据规模

多模态理解

Stage 2: 增加 9000 万个样本,包括图像字幕数据 YFCC、表格图表文档理解数据 Doc-matrix;

Stage 3: 加入 DeepSeek-VL2 额外数据集,如 MEME 理解等;

视觉生成:真实世界数据可能包含质量不高,导致文本到图像的生成不稳定,产生美学效果不佳的输出, Janus-Pro 使用 7200 万份合成美学数据样本 ,统一预训练阶段(Stage 2)真实数据与合成数据比例 1:1;

模型规模

将模型参数扩展到 70 亿参数规模;

实验细节

对比 Janus,Janus-Pro 实验细节基本一致。相比之下,更大规模参数的模型使用了更多的集群节点(16 个变为 32 个)。

Janus-Pro训练超参数

不足

对于多模态理解,输入分辨率限制在384x384,影响细粒度的视觉任务性能。对于文本到图像的生成,低分辨率导致生成结果缺乏细节。

作者:Eternity,成员

往期作品: 一文详尽之LLM-Based Agent !

知乎主页:

https://www.zhihu.com/people/AlbertRen

一起“ 点 赞 ” 三连 ↓

THE END
分享
二维码
< <上一篇
下一篇>>