DeepSeek多模态统一模型Janus算法解析

DeepSeek多模态统一模型算法解析与功能抢先体验



多模态统一模型是一种能够同时处理多模态输入(如文本、图像、视频等)并进行理解和生成任务的人工智能模型。这种模型可以将将多模态理解(如视觉问答、图像描述等)和多模态生成(如文本到图像生成、图像修复等)的能力集成到一个统一的框架中,从而提高模型的灵活性和效率。传统多模态模型常将理解和生成任务分离,分别设计不同的结构,这不仅增加了模型复杂度,还降低了部署效率。而多模态统一模型能够高效处理混合模态任务,是人工智能从单一模态迈向多模态发展的必然趋势。本文就将介绍一下目前最热门的多模态统一模型Janus和Janus-Pro。

Janus 是 DeepSeek 团队提出的一个统一多模态理解与生成的模型,能够在单一模型中实现图像理解和文本到图像生成的双重任务。在多模态理解方面,Janus可以处理图像描述、视觉问答(VQA)、地标识别、文字识别等多种任务;在多模态生成方面,Janus也可以根据输入的文本描述生成高质量的图片。Janus-Pro是其最新的升级版本。

多模态理解效果

多模态生成效果

Janus的核心创新点在于将多模态理解与生成的视觉编码进行解耦,从而缓解了这两个任务潜在存在的冲突。Janus-Pro在此基础上,优化训练策略(包括增加训练步数、调整数据配比等)、增加数据(包括使用合成数据等)、扩大模型规模(扩大到70亿参数),从而同时提高了模型的多模态理解和生成能力。

Janus模型结构

Janus和Janus-Pro结构一致,均使用两个独立的编码器来理解和生成图像,而不像之前的做法依赖单个编码器来处理这两项任务。对于图像理解,Janus 使用 SigLIP 编码器将图像转换为丰富的语义特征;而对于图像生成,Janus 使用 VQ Tokenizer 将图像转换为离散标记。这种解耦的设计带来两个收益:

1)将多模态理解与生成的视觉编码解耦,缓解了多模态理解和生成不同粒度需求的冲突;

2)理解和生成任务都可以分别采用各领域最先进的编码技术,可输入其他模态例如点云或音频数据,并使用统一的Transformer进行处理。

Janus结构图,“Und. Encoder”和“Gen. Encoder”分别是“理解编码器”和“生成编码器”的缩写。

对于纯文本理解、多模态理解和视觉生成任务,Janus采用独立的编码方法将原始输入转换为特征,然后通过统一的自回归 Transformer 进行处理。具体来说:

  • 文本理解:使用大语言模型(LLM)内置的分词器将文本转换为离散的 ID,并获取每个 ID 对应的特征表示。

  • 多模态理解:使用 SigLIP 视觉编码器从图像中提取高维语义特征。这些特征从 2D 网格展平为 1D 序列,并通过一个两层MLP的理解适配器Adaptor将这些图像特征映射到 LLM 的输入空间。

  • 视觉生成:使用 VQ Tokenizer将图像转换为离散的 ID。将 ID 序列展平为 1D 后,使用一个生成适配器Adaptor将每个 ID 对应的码本嵌入映射到 LLM 的输入空间。 然后,将这些特征序列连接起来,形成一个多模态特征序列,随后输入到 LLM 中进行处理。

在纯文本理解和多模态理解任务中,Janus都是使用 LLM 内置的预测头进行文本预测;而在视觉生成任务中,Janus使用随机初始化的预测头进行图像预测。整个模型是使用 Next-Token-Prediction 的方式进行训练的,采用 causal attention mask,和 LLM 的训练方式一致,遵循自回归框架。

Janus训练流程

Janus 的训练分为三个阶段:

  • 第一阶段:训练Adaptor与Image Head。在嵌入空间创建语言元素与视觉元素之间的联系,使得LLM能够理解图像中的实体,并具备初步视觉生成能力; 对于多模态理解,使用来自ShareGPT-4V的125万个图像-文本配对字幕数据,格式:<image><text>; 对于视觉生成,使用来自ImageNet-1k的120万个样本,格式:<category_name><image>;

  • 第二阶段:统一预训练。使用多模态语料库进行统一预训练,学习多模态理解和生成。在该阶段使用纯文本数据、多模态理解数据和视觉生成数据;

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

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

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

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

    • 视觉生成数据:来自多个数据集的image-caption对以及 200 万个内部数据;在训练过程中,以25%的概率随机仅使用caption的第一句话;ImageNet 样本仅在最初的 120K 训练步骤中出现,其他数据集的图像在后续 60K 步骤中出现;

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

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

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

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

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

Janus-Pro性能升级与优化

Janus-Pro 是 Janus 的升级版本,它在多个方面进行了优化和改进。

  • 训练策略

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

    • Stage 2: 不再使用 ImageNet,直接使用常规text-to-image数据的训练数据;

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

  • 数据规模

    • 多模态理解

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

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

    • 视觉生成:真实世界数据可能包含质量不高,导致文本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值