DeepSeek多模态能力起底!一探究竟Janus 系列模型:解耦统一多模态理解和生成模型的视觉编码


DeepSeek多模态能力起底!一探究竟Janus 系列模型:解耦统一多模态理解和生成模型的视觉编码

仅用于站内搜索,没有排版格式,具体信息请跳转上方微信公众号内链接

作者丨科技猛兽
编辑丨极市平台
导读
DeepSeek团队生成理解统一架构代表作Janus以及后续扩大版本Janus-Pro。
DeepSeek团队生成理解统一架构代表作Janus以及后续扩大版本Janus-Pro。
本文介绍DeepSeek团队的Janus系列模型(Janus和Janus-Pro)。Janus系列是DeepSeek多模态团队的作品,是一种既能做图像理解,又可以做图像生成任务的Transformer模型。这类模型存在的问题之一是:由于多模态理解和生成所需的信息粒度不同,这种方法可能会导致次优的性能。
为了解决这个问题,Janus仍利用单个统一的Transformer,但是将视觉编码解耦为单独的路径。这种解耦不仅缓解了视觉编码器在理解和生成中的作用之间的冲突,而且增强了框架的灵活性。比如多模态理解和生成组件都可以独立选择最合适的编码方法。
Janus-Pro是先前工作Janus的高级版本。Janus-Pro具体特点:(1)优化的训练策略;(2)扩展训练数据;(3)更大的模型大小。通过这些改进,Janus-Pro在多模态理解和文本到图像指令跟踪能力方面都取得了显著进步,同时还提高了文生图任务的稳定性。
下面是对本文的详细介绍。
1Janus系列模型:解耦统一多模态理解和生成模型的视觉编码(来自DeepSeek)1Janus论文解读1.1Janus模型架构1.2Janus训练策略1.3Janus训练目标1.4Janus推理过程1.5Janus实验设置1.6Janus评测

论文名称:Janus:DecouplingVisualEncodingforUnifiedMultimodalUnderstandingandGeneration
论文地址:
http ://arxiv.org/pdf/2410.13848
项目主页:
http ://github.com/deepseek-ai/Janus
Janus是使用一个统一的Transformer架构来统一多模态图像理解和多模态图像生成任务的模型。这种方法通常使用单个视觉编码器来处理这2个任务的输入。然而,多模态理解和生成任务所需的表征差异很大:多模态理解任务中,视觉编码器的目的是提取高级语义信息。理解任务的输出不仅涉及从图像中提取信息,还涉及复杂的语义推理。因此,视觉编码器表示的粒度往往主要集中在高维语义的表征上。相比之下,视觉生成任务中,主要关注点是生成局部细节并保持图像中的全局一致性。在这种情况下,表征需要表示出细粒度的空间结构,以及纹理细节。在同一空间中统一这两个任务的表示将导致冲突。因此,现有的多模态理解和生成的统一模型通常会影响多模态理解性能,明显低于最先进的多模态理解模型。
Janus作为一个类似的统一多模态模型,为了解决这个问题,将视觉编码进行解耦来进行多模态理解和生成。Janus引入了2个独立的视觉编码路径:一个用于多模态理解,一个用于多模态生成,由相同的Transformer架构统一。
这有两个主要好处:
Janus减轻了源自多模态理解和生成的不同粒度需求的冲突,并消除了在选择视觉编码器时需要在2个任务之间进行权衡的需要。
Janus灵活且可扩展。在解耦后,理解和生成任务都可以采用各自领域里最先进的编码技术。
如图3所示是Janus的架构。对于纯文本理解、多模态理解和视觉生成,Janus应用独立的编码方法将原始输入转换为特征,然后由统一的AutoregressiveTransformer处理。
文本理解:使用LLM内置的tokenizer将文本转换为离散的ID,并获得与每个ID对应的特征表征。
多模态理解:使用SigLIP[1]Encoder从图像中提取高维语义特征。这些特征从二维网格flattened为一维序列,利用UnderstandingAdaptor将这些图像特征映射到LLM的输入空间。

然后,将这些特征序列Concatenate起来形成一个多模态特征序列,然后将其输入到LLM进行处理。LLM内置的预测头用于纯文本理解和多模态理解任务中的文本预测,而随机初始化的预测头用于生成任务中的图像预测。
整个模型遵循自回归框架,无需专门设计AttentionMask。
Janus的训练分为3个阶段,如图4所示。
第1阶段:训练Adaptors和ImageHead。
这一阶段的主要目标是在嵌入空间中创建视觉和语言元素之间的概念联系,使LLM能够理解图像中显示的实体,并具有初步的视觉生成能力。作者在这个阶段保持VisionEncoder(SigLIP)和LLM完全冻结,只允许更新UnderstandingAdaptor、GenerationAdaptor和ImageHead中的可训练参数。
第2阶段:联合预训练,除了理解编码器和生成编码器之外的所有组件都更新参数。
在这个阶段,作者使用多模态语料库进行统一预训练,使Janus能够学习多模态理解和生成。作者解冻LLM并利用所有类型的训练数据:纯文本数据、多模态理解数据和视觉生成数据。受PixArt[3]的启发,作者首先使用ImageNet-1K进行简单的视觉生成训练,以帮助模型掌握基本像素依赖关系。随后,作者使用通用T2I数据增强了模型的开放域视觉生成能力。
第3阶段:有监督微调,进一步解锁理解编码器的参数。
这个阶段作者使用instructiontuning数据,增强其指令跟随和对话能力。作者微调除生成编码器之外的所有参数。作者只微调答案,mask掉系统和用户的提示。为了确保Janus在多模态理解和生成方面的熟练程度,作者不会为特定任务微调单独的模型。相反,作者使用纯文本对话数据、多模态理解数据和视觉生成数据的混合,确保跨各种场景的多功能性。
Janus是一个自回归模型,作者在训练期间简单地采用交叉熵损失:
这里,表示由Janus的权重建模的条件概率。对于纯文本理解和多模态理解任务,作者计算纯文本序列的loss。对于视觉生成任务,作者仅在图像序列上计算loss。为了使设计简单,没有为不同的任务分配不同的权重。

Janus利用最大支持序列长度为4096的DeepSeek-LLM(1.3B)[5]作为基础语言模型。对于理解任务中使用的视觉编码器,选择SigLIP-Large-Patch16-384。generationencoder有一个大小为16,384的codebook,并将图像下采样16倍。UnderstandingAdaptor和GenerationAdaptor都是两层MLP。所有图像都被调整为384×384像素。对于多模态理解数据,调整图像的长边,并用背景颜色(RGB:127,127,127)填充短边,达到384。对于视觉生成数据,短边被调整为384,长边裁剪为384。
阶段1:
作者使用包含来自ShareGPT4V的1.25million个图文配对字幕的数据集做多模式理解,以及来自ImageNet-1K的大约1.2million样本用于视觉生成。ShareGPT4V数据格式化为””。ImageNet数据使用类别名称组织成文本到图像数据格式:””。
阶段2:将数据组织成以下类别。
纯文本数据:使用来自DeepSeek-LLM的预训练文本copus。
交错图像文本数据:使用WikiHow和WIT数据集。
Imagecaption数据。
表和图表数据:使用来自DeepSeek-VL的相应表格和图表数据。
视觉生成数据:利用图像标题对(包括2M内部数据)。视觉生成数据格式:””。
在训练期间,以25%的概率只使用标题的第1句,鼓励模型为短描述开发强大的生成能力。ImageNet数据只在前120K训练步骤中提出,而其他数据集的图像出现在后面的60K步。这种方法帮助模型首先学习基本像素依赖关系,然后再发展到更复杂的场景理解。
阶段3:
对于文本理解,使用来自[6]的数据。对于多模态理解,使用来自[7]等的指令微调数据。对于视觉生成,使用来自[8]等以及4M内部数据图像-文本对。利用以下格式进行指令微调:”用户:\nAssistant:”。
如图4所示,比较了Janus与最先进的Unified模型以及Understanding-only模型。Janus在类似规模的模型中取得了最好的结果。具体来说,与之前的最佳统一模型Show-o相比,Janus在MME和GQA数据集上分别实现了41%(949→1338)和30%(48.7→59.1)的性能改进。这可以归因于Janus将视觉编码解耦以进行多模态理解和生成,减轻了这两个任务之间的冲突。与尺寸明显较大的模型相比,Janus仍然具有很强的竞争力。例如,Janus在多个数据集上优于LLaVA-v1.5(7B),包括POPE、MMbench、SEEDBench和MM-Vet。
(多模态)视觉生成
作者报告了GenEval、COCO30K和MJHQ-30K基准上的视觉生成性能,如图5所示。Janus在GenEval上获得了61%的整体精度,优于之前最好的统一模型Show-o(53%)和一些流行的生成模型,例如SDXL(55%)和DALL-E2(52%)。这表明本文方法具有更好的指令跟随能力。
如表4所示,Janus在COCO-30K和MJHQ-30KBenchmark上分别实现了8.53和10.10的FID,超过了统一模型Show-o和LWM,并且与一些众所周知的仅生成方法相比表现出具有竞争力的性能方法。这表明Janus生成的图像具有良好的质量,并突出了其在视觉生成方面的潜力。
有一个消融实验的细节值得注意,即如图7所示。Exp-D为UnifiedTraining,Exp-E相当于是训练了一个纯理解模型,Exp-F相当于是训练了一个纯生成模型。对于纯理解模型,作者省略了视觉生成数据;对于纯生成模型,作者省略了理解数据。注意,统一训练和纯理解训练对于理解部分遵循相同的步骤,统一训练和纯生成训练对于生成部分遵循相同的步骤。实验结果表明,UnifiedTraining的性能与PureUnderstanding或PureGeneration的训练相当。这表明Janus能够结合强大的生成能力,同时最低限度地影响多模态理解性能。
图8显示了Janus多模态理解能力的定性结果,与Chameleton和Show-o相比。Janus准确地解释文本标题并捕获记忆中传达的情感。相比之下,Chameleon和Show-o都难以准确识别图像中的文本。此外,Chameleon无法识别meme中的对象,而Show-o误解了狗的颜色。这些示例强调,与Chameleon和Show-o使用的共享编码器相比,解耦视觉编码器显着提高了Janus的细粒度多模态理解能力。
论文名称:Janus-Pro:UnifiedMultimodalUnderstandingandGenerationwithDataandModelScaling
论文地址:
http ://arxiv.org/pdf/2501.17811
项目主页:
http ://github.com/deepseek-ai/Janus
Janus在1B参数量级上得到验证。然而,由于训练数据量有限,模型容量相对较小,存在一定的不足,例如:在短提示图像生成的性能次优,文生图质量不稳定。
Janus-Pro是一种增强的Janus版本,结合了3个维度的改进:训练策略、数据和模型大小。Janus-Pro系列包括两个模型大小:1B和7B,展示了视觉编码解码方法的可扩展性。
作者在多个基准上评估了Janus-Pro,结果揭示了其优越的多模态理解能力,并显着提高了文生图的指令跟随性能。Janus-Pro-7B在多模态理解基准MMBench上得分为79.2,超过了最先进的统一多模态模型,例如Janus(69.4)、TokenFlow(68.9)和MetaMorph(75.2)。此外,在文生图指令跟随排行榜GenEval中,Janus-Pro-7B得分为0.80,优于Janus(0.61)、DALL-E3(0.67)和SD-3Medium(0.74)。
Janus-Pro的模型架构如图3所示,与Janus完全相同。整体架构的核心设计原则是将视觉编码解耦以进行多模态理解和生成。
作者应用独立的编码方法将原始输入转换为特征,然后由UnifiedAutoregressiveTransformer来处理。

然后,作者将这些特征序列连接起来形成一个多模态特征序列,然后将其输入到LLM进行处理。除了LLM的内置预测头外,作者还利用随机初始化的预测头进行视觉生成任务中的图像预测(和Janus一致)。整个模型遵循Autoregressive框架。
Janus的训练分为3个阶段,如1.2节所示。
第1阶段:训练Adaptors和ImageHead。
第2阶段:联合预训练,除了理解编码器和生成编码器之外的所有组件都更新参数。
第3阶段:有监督微调,进一步解锁理解编码器的参数。
但是Janus的训练策略有问题:
在第2阶段,Janus按照PixArt将文生图的训练分为2部分。第1部分在ImageNet数据上进行训练,使用图像类别名称作为文生图的提示,目标是对像素依赖进行建模。第2部分在正常的文生图数据上训练。实施过程中,第2阶段的文本-图像训练步骤中有66.67%被分配给第1部分。
但是通过进一步的实验,作者发现这种策略是次优的,并导致计算效率显著低下。
第1阶段较长训练:在第1阶段增加训练步骤,允许在ImageNet数据集上进行足够的训练。本文的研究结果表明,即使LLM参数固定,该模型也能有效建模像素依赖性,并根据类别名称生成合理的图像。
第2阶段集中训练:在第2阶段丢弃ImageNet数据,直接利用正常的文生图数据训练模型,根据密集描述生成图像。这种重新设计的方法使第2阶段能够更有效地利用文生图数据,提高训练效率和整体性能。
作者还调整了第3阶段监督微调过程在不同类型数据集上的数据比率,将多模态数据、纯文本数据和文本图像数据的比例从7:3:10更改为5:1:4。通过略微降低文生图数据的比例,作者观察到这种调整允许我们保持强大的视觉生成能力,同时实现改进的多模态理解性能。
作者在多模态理解和视觉生成方面扩展了用于Janus的训练数据。
多模态理解:对于第2阶段的预训练数据,参考DeepSeekVL2并添加大约90万个样本。这些包括图像标题数据集(例如YFCC),以及表、图表和文档理解的数据(例如,Docmatix)。对于第3阶段的监督微调数据,作者还结合了DeepSeek-VL2的附加数据集,例如MEME理解、中文会话数据和旨在增强对话体验的数据集。这些添加显着扩展了模型的能力,丰富了它在提高整体对话体验的同时处理各种任务的能力。
视觉生成:作者观察到,先前版本的Janus中使用的真实世界数据缺乏质量并且包含显著的噪声,通常会导致文生图的不稳定性,从而导致美学上较差的输出。在Janus-Pro中,作者结合了大约7200万个合成美学数据,在统一的预训练阶段将真实数据与合成数据的比率提高到1:1。这些合成数据样本的提示是公开的。实验表明,该模型在对合成数据进行训练时收敛速度更快,得到的文生图不仅更稳定,而且显著提高了审美质量。
先前版本的Janus使用1.5BLLM验证了视觉编码解耦的有效性。在Janus-Pro中,作者将模型缩放到7B,1.5B和7BLLM的超参数如图10所示。作者观察到,当使用更大规模的LLM时,与较小的模型相比,多模态理解和视觉生成的损失收敛速度显著提高。这一发现进一步验证了这种方法的强大可扩展性。
作者利用最大支持序列长度为4096的DeepSeek-LLM(1.5B和7B)作为基础语言模型。对于理解任务中使用的视觉编码器,选择SigLIP-Large-Patch16-384。生成编码器有一个大小为16,384的codebook,并将图像下采样16倍。UnderstandingAdaptor和GenerationAdaptor都是2层的MLP。每个阶段的详细超参数如图11所示。所有图像都被调整为384×384像素。
对于多模态理解数据,作者调整图像的长边,并用背景颜色(RGB:127,127,127)填充短边,达到384。
对于视觉生成数据,短边被调整为384,长边裁剪为384。
在训练期间使用序列打包来提高训练效率。Janus使用HAI-LLM(幻方-深度求索研发的深度学习训练工具)训练和评估,这是一个建立在PyTorch之上的轻量级且高效的分布式训练框架。对于1.5B/7B的模型,整个训练过程在16/32个mode的集群上大约需要7/14天,每个模型配备8个NvidiaA100(40GB)GPU。
为了评估多模态理解能力,作者在广泛认可的基于图像的视觉语言基准上评估我们的模型,其中包括GQA,POPE,MME,SEED,MMB,MM-Vet,和MMMU。

为了评估视觉生成能力,作者使用GenEval和DPG-Bench。GenEval是文生图的一个具有挑战性的基准,旨在通过对其组合能力进行详细的实例级分析来反映视觉生成模型的综合生成能力。DPG-Bench(DensePromptGraphBenchmark)是一个由1065个冗长的密集提示组成的综合数据集,旨在评估文生图模型的复杂语义对齐能力。
作者报告了GenEval和DPG-Bench上的视觉生成性能。如图13所示,Janus-Pro-7B在GenEval上获得了80%的整体准确率,优于所有其他统一或仅生成的方法,例如Transfusion(63%)SD3-Medium(74%)和DALL-E3(67%)。这表明本文方法具有更好的指令跟随能力。如图14所示,Janus-Pro在DPG-Bench上得分为84.19,超过了所有其他方法。这表明Janus-Pro擅长遵循文生图的密集指令。
作者在图15中展示了多模态理解的结果。Janus-Pro在处理来自不同上下文的输入时表现出令人印象深刻的理解能力,展示了其强大的能力。作者还在图15的下半部分展示了一些文生图的结果。Janus-Pro-7B生成的图像是高度现实的,尽管分辨率只有384×384,但它们仍然包含大量细节。对于富有想象力和创造性的场景,Janus-Pro7B准确地从提示中捕获语义信息,产生合理和连贯的图像。
参考
1.^Sigmoidlossforlanguageimagepretraining
2.^abAutoregressivemodelbeatsdiffusion:Llamaforscalableimagegeneration
3.^Pixart-𝑎𝑙𝑝ℎ𝑎:Fasttrainingofdiffusiontransformerforphotorealistictext-to-imagesynthesis
4.^Muse:Text-To-ImageGenerationviaMaskedGenerativeTransformers
5.^Deepseekllm:Scalingopen-sourcelanguagemodelswithlongtermism
6.^Llava-onevision:Easyvisualtasktransfer
7.^Llava-onevision:Easyvisualtasktransfer
8.^Laion-aesthetics-umap.


文章作者: ZejunCao
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 ZejunCao !
  目录