机器之心 2024年10月22日
DeepSeek新作Janus:解耦视觉编码,引领多模态理解与生成统一新范式
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

Janus 是一种基于自回归的多模态理解与生成统一模型,它通过对理解和生成任务的视觉编码进行解耦,有效缓解了单一视觉编码导致的冲突和性能瓶颈。Janus 在多模态理解和视觉生成任务中都取得了显著的性能提升,甚至超越了同规模的专门模型。此外,Janus 的设计灵活易扩展,可以轻松接入更多模态,为下一代多模态通用模型提供了新的可能性。

🚀 **解耦视觉编码:** Janus 采用两个独立的视觉编码器分别负责理解和生成任务,避免了单一视觉编码器在处理不同任务时的冲突和妥协。 这就像拥有两双眼睛,分别观察不同的景色,然后将信息整合到同一个大脑中进行处理。这种设计不仅提升了模型的灵活性,也让模型能够更准确地理解和生成各种视觉信息。

📈 **超越同类模型:** Janus 在多模态理解和视觉生成任务中都取得了显著的性能提升,超越了同规模的统一模型,甚至在一些 benchmark 上超越了专门的理解或生成模型。 这表明解耦视觉编码策略有效地提升了模型的性能,证明了 Janus 在多模态领域具有强大的竞争力。

💡 **灵活易扩展:** Janus 的设计灵活易扩展,可以轻松接入更多模态,例如视频、3D 点云、EEG 信号等。 这种灵活性使得 Janus 有可能成为下一代多模态通用模型的有力候选,为未来多模态应用的发展提供了新的方向。

🌟 **涌现多语言文生图能力:** Janus 意外地涌现出了多语言文生图能力,即使训练数据中只有英文文生图数据,它也能根据中文、法语、日语甚至 emoji 生成图像。 这种涌现能力表明 Janus 具备更强大的语言理解和生成能力,为多模态模型的应用场景扩展提供了新的可能性。

🖼️ **更精准的指令跟随能力:** Janus 在文生图任务中表现出更精准的指令跟随能力,能够根据用户的提示生成更符合预期的图像。 这表明 Janus 的理解能力更强,能够更好地理解用户的意图,并将其转化为具体的图像生成任务。

🧠 **更聪明的多模态理解:** Janus 在多模态理解任务中表现出更强的理解能力,能够更准确地理解 meme 图像、latex 公式和代码等复杂信息。 这表明 Janus 的多模态理解能力更强大,能够处理更复杂的视觉信息,为未来多模态应用的发展提供了更广阔的可能性。

2024-10-22 13:02 北京

多模态统一模型开始了从旧范式到新范式的过渡。

AIxiv专栏是机器之心发布学术、技术内容的栏目。过去数年,机器之心AIxiv专栏接收报道了2000多篇内容,覆盖全球各大高校与企业的顶级实验室,有效促进了学术交流与传播。如果您有优秀的工作想要分享,欢迎投稿或者联系报道。投稿邮箱:liyazhou@jiqizhixin.com;zhaoyunfeng@jiqizhixin.com




1. 太长不看版


我们提出了 Janus,一种基于自回归的多模态理解与生成统一模型。Janus 的核心思想是对理解和生成任务的视觉编码进行解耦,在提升了模型的灵活性的同时,有效缓解了使用单一视觉编码导致的冲突和性能瓶颈。实验表明,Janus 超越了此前的统一模型的效果,并取得了和纯理解 / 纯生成模型比肩或更好的性能。我们通过详细严格的对比实验证实了解耦的好处,并分析了理解生成统一训练相较于分开训练带来的影响。


在罗马神话中,Janus (雅努斯) 是象征着矛盾和过渡的双面守护神。我们将模型命名为 Janus,形象地表示我们的模型可以像 Janus 一样,用不同的眼睛看向视觉数据,分别编码特征,然后用同一个身体 (Transformer) 去处理这些输入信号。此外,得益于解耦的设计,Janus 极易扩展,研究者们可以将理解和生成领域最新的编码技术直接应用在 Janus 之上。我们希望我们提出的框架能和雅努斯一样,象征着多模态统一模型的旧范式到新范式的过渡。



2. 背景和动机


2.1 相关工作


多模态理解大模型和视觉生成模型都取得了飞速的发展。最近,也有一些工作尝试将这两者进行统一,构造更强大的通用模型。将理解和生成进行统一具有重大意义。从模型部署角度来说,统一之后能避免分开部署多个模型,减少了模型的冗余性。且社区对 LLM 的推理做了很细致的优化,如果能统一到一个 LLM 中,会很方便;从结果来说,理解和生成统一可以提高视觉生成的指令跟随能力,甚至解锁一些涌现能力,例如多语言视觉生成,或随着 LLM 的 scale up 获得更强的能力。


有一些先驱工作 (EMU, Seed) 尝试将预训练好的 Diffusion Model 接在多模态理解模型后面。这些方法中,多模态理解模型输出 Diffusion Model 的条件,然后依赖 Diffusion Model 做图像生成。但是,这样的设计中,LLM 本身并不具备直接出图的能力,出图的性能也往往被外接的 Diffusion Model 所限制。后来的一些工作 (Chameleon, Vila-U, Show-O 等) 则提出直接让 LLM 处理多模态理解和生成任务,真正做到了统一。但是,这些方法通常将视觉编码器也进行了合并,即:用一个视觉编码器同时负责理解与生成任务。


2.2 目前方法存在的问题


由于多模态理解和生成任务所需的信息不完全一致,视觉编码器的合并可能导致一些问题。(1) 多模态理解任务通常需要的是对图像或视频等视觉输入的高层语义理解,因此需要视觉编码器能够从低级像素信息逐渐转换为具有更高层语义的信息。(2) 对视觉生成任务来说,视觉编码器需要传递细粒度的视觉信息,通常需要保留更多的细节信息,例如纹理、颜色等。将这两个任务的视觉编码压缩到同一个表征空间中,会带来一些冲突和妥协。由于专门为多模态理解设计的编码器很多并不能直接来做视觉生成,现有的方案在挑选编码器时,往往优先考虑图像生成任务 (如 使用 VQ Tokenizer 作为编码器),导致目前的统一模型生成能力还不错,但是多模态理解能力和当前最先进的方法差异较大。


3. 方法


3.1 模型结构



为了解决单一视觉编码器带来的性能瓶颈,我们提出了对视觉编码进行解耦。具体来说,我们使用两个独立的视觉编码器分别负责多模态理解和生成任务,然后用一个统一的 Transformer 结构去处理不同的输入信息。


为了简化整个模型,我们在选取视觉编码器的时候没有进行复杂的设计。对多模态理解任务来说,我们使用 SigLIP-Large-Patch16-384 去编码特征。对视觉生成任务来说,我们使用 LlamaGen 中训练的标准 VQ Tokenizer 去编码。编码后的信息会分别经过一个 adaptor,然后送入 LLM 中。整个模型是使用 Next-Token-Prediction 的方式进行训练的,采用 causal attention mask,和 LLM 的训练方式一致。


3.2 训练流程



Janus 的训练分为三个阶段。(每一阶段使用的数据详情请参考 paper。整体上会控制 多模态理解 + 纯文本理解:视觉生成 = 1:1)



3.3 推理流程


我们使用 Next-Token-Prediction 的方式进行推理,所以可以使用针对 LLM 进行的优化,例如 KV Cache, vLLM 等加速推理。对视觉生成任务,遵循之前的方法,我们还额外使用了 classifier-free guidance (cfg) 机制,即每个 token 的 logit 由以下公式得出:



其中, 是无条件生成得到的 logit,s 是 cfg 权重,默认为 5。相应的,为了让 cfg 能顺利进行,我们在训练时会随机将 10% 的文生图数据置换为无条件生图。


3.4 可能的扩展


Janus 的设计非常灵活,易于扩展。



4. 实验


4.1 实现细节


我们使用 DeepSeek-LLM (1.3B, pretrain 模型,未经过指令微调) 作为 LLM 的初始化。在理解和生成任务中,图像分辨率均为 384 * 384。我们用 DeepSeek 自研的 HAI-LLM 框架进行开发,整个训练流程需要在 16 台 8 Nvidia A100 (40GB) GPU 机器上跑 7 天时间。具体细节请参考论文。


4.2 和 state-of-the-arts 的比较






4.3 消融实验


我们设计了严格的消融实验,一方面对 Janus 的视觉编码解耦这一观点进行验证,另一方面,研究联合训练对单任务训练的性能影响。



Baseline 介绍


我们首先按照 Chameleon 的设计,使用一个 VQ Tokenizer 去同时为理解和生成任务编码 (Exp-A)。这个 VQ Tokenizer 和 Janus 中视觉生成部分的编码器是同一个。考虑到这个编码器语义很弱,所以我们额外构造了一个更强的 baseline, Semantic Tokenizer (Exp-B)。


简单来说,这个 Semantic Tokenzier 基于原先的 VQ Tokenizer 构造,额外加了一个 semantic decoder,预测 SigLIP 产生的语义特征,具体细节请见论文的补充材料。通过这样的方式,一方面可以通过 semantic decoder,产生语义更强的图像特征;另一方面,可以使得 Semantic Tokenizer 编码出的图像 ID 具有更好的语义,局部连续性更强。请注意:为了方法的简单性。Semantic Tokenizer 仅在对比实验中使用,而没有在 Janus 中用。如果用了,Janus 应该会在视觉生成方面表现更好。


视觉编码解耦的影响


(1) 比较 Exp-A 和 Exp-D,我们发现 Exp-A 的图像生成效果还不错,COCO-FID 有 8.72,和 Janus (8.53) 类似。但是 Exp-A 的多模态理解性能明显拉胯。


(2) 当换上语义更强的 tokenizer (Exp-B),我们发现多模态理解能力有了明显的提升,但和 Janus 相比还有一定距离。视觉生成方面,Exp-B (7.11) 比 Janus (8.53) 更好。我们猜测原因可能有两点。首先,Semantic Tokenizer 编码出的图像 ID 语义更强,作为 LLM 的预测目标更合理。其次,Semantic Tokenizer 的参数量显著高于 VQ Tokenizer。这也说明了 Janus 在视觉生成方面巨大的提升空间。


(3) 那么,使用同一个 Encoder,对理解的影响到底有多大呢?通过比较 Exp-B 和 Exp-C,我们发现仅使用 Semantic Tokenizer 做多模态理解,明显高于 Exp-B 中的结果。举例来说,MMBench 从 52.7 提高到 62.1。这说明使用单一视觉编码器确实在理解和生成任务上导致了冲突,牺牲了多模态理解的性能。


(4) 最后,我们探讨一下联合训练对单一任务的影响,见 Exp-D, Exp-E, Exp-F。这里为了公平,我们对迭代步数做了严格的控制。例如,让联合训练的模型和纯理解模型见过的多模态理解数据一样多。(其实这样对联合模型不太公平,因为联合模型的数据里,多模态理解的数据浓度相对更低)。最后发现联合训练可以在基本保持多模态理解的能力下,有效地加入视觉生成能力。


4.4 可视化


文生图可视化


如 Figure 4 所示,我们的模型相比于 SDXL, LlamaGen 有着更好的指令跟随能力,能对用户的 prompt 做出更精准的反馈。



涌现能力:多语言文生图


如 Figure 8 所示,我们还意外地发现,及时训练数据中只有英文文生图数据,但最后的模型涌现出了多语言文生图能力,如中文、法语、日语、甚至使用 emoji ? 都可以。我们认为这里的涌现能力来自于 LLM 预训练模型。



多模态理解可视化


请见以下两张图,相比于以前的大一统模型,我们的模型更聪明,能读懂 meme 图像。同时还能处理 latex 公式转换、图转代码等任务。




5. 总结


Janus 是一个基于自回归的统一多模态理解与生成框架,具有简单性、高效性和高度灵活性。通过解耦视觉编码,我们突破了当前多模态统一模型中的性能瓶颈,拉进了大一统模型和专用模型在专项任务上的性能差距,解锁了多模态统一模型的新范式。




© THE END 

转载请联系本公众号获得授权

投稿或寻求报道:liyazhou@jiqizhixin.com


跳转微信打开

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

多模态 统一模型 视觉编码 理解 生成 Janus
相关文章