DeepSeek最新图像模型Janus-Pro论文阅读

目录

论文总结

摘要

1. 引言

2. 方法

2.1 架构

2.2 优化的训练策略

2.4 模型扩展

3. 实验

3.1 实施细节

3.2 评估设置

3.3 与最新技术的比较

3.4 定性结果

4. 结论


论文总结

Janus-Pro是DeepSeek最新开源的图像理解生成模型,Janus-Pro在多模态理解和文本到图像生成方面进行了显著改进的先进模型。它是之前工作 Janus 的升级版本,主要通过优化训练策略、扩展训练数据和扩大模型规模来提升性能。

Janus-Pro 的架构基于解耦的视觉编码器。具体来说,它使用 SigLIP 编码器 处理多模态理解任务中的图像特征,使用 VQ tokenizer 处理视觉生成任务中的图像特征。这两种编码器分别将图像转换为特征序列,然后将这些特征序列与文本特征序列合并,输入到统一的自回归变换器中进行处理。这种设计有效缓解了多模态理解和生成任务之间的冲突,使得模型在这两项任务上都能表现出色。

Janus-Pro 在以下三个方面进行了关键改进:

1.优化训练策略
Janus-Pro 对训练过程进行了重新设计,增加了第一阶段的训练步骤,专注于在 ImageNet 数据集上训练视觉编码器,以更好地建模像素依赖关系。在第二阶段,直接使用正常的文本到图像数据进行训练,避免了之前版本中对 ImageNet 数据的过度依赖,提高了训练效率。此外,在第三阶段的监督微调中,调整了不同类型数据的比例,进一步平衡了多模态理解和生成任务的训练。

2.扩充数据集
Janus-Pro 在多模态理解和视觉生成方面引入了大量高质量的数据。对于多模态理解,增加了约 9000 万个样本,包括图像字幕数据和表格、图表、文档理解数据。对于视觉生成,引入了约 7200 万个合成审美数据样本,使真实数据与合成数据的比例达到 1:1。这些数据的增加显著提升了模型的泛化能力和生成质量。

3.扩大模型
Janus-Pro 将模型规模从 1.5B 扩展到 7B,显著提高了模型的表达能力和收敛速度。实验表明,更大的模型在多模态理解和视觉生成任务上都表现出了更好的性能。

项目主页:https://github.com/deepseek-ai/Janus

接下来是论文原文的翻译

Janus-Pro:通过数据和模型扩展实现统一的多模态理解和生成

摘要

在本研究中,我们介绍了 Janus-Pro,这是之前工作 Janus 的一个高级版本。具体来说,Janus-Pro 采用了(1)优化的训练策略,(2)扩展的训练数据,以及(3)更大的模型规模。凭借这些改进,Janus-Pro 在多模态理解和文本到图像的指令跟随能力方面取得了显著进展,同时增强了文本到图像生成的稳定性。我们希望这项工作能够激发该领域的进一步探索。代码和模型已公开。

1. 引言
 

图1 | Janus-Pro 的多模态理解和视觉生成结果。对于多模态理解,我们平均了 POPE、MME-Perception、GQA 和 MMMU 的准确率。MME-Perception 的分数除以 20 以缩放到 [0, 100] 范围。对于视觉生成,我们在两个指令跟随基准测试 GenEval 和 DPG-Bench 上评估性能。总体而言,Janus-Pro 超越了之前的统一多模态模型以及一些特定任务的模型。最好在屏幕上查看。

图2 | Janus-Pro 与前代产品 Janus 在文本到图像生成之间的比较。Janus-Pro 在短提示下能够提供更稳定的输出,具有改进的视觉质量、更丰富的细节,并且能够生成简单文本。图像分辨率为 384×384。

最近在统一多模态理解和生成模型方面的进展已经取得了显著的成果。这些方法已被证明可以增强视觉生成任务中的指令跟随能力,同时减少模型冗余。大多数方法使用相同的视觉编码器来处理多模态理解和生成任务的输入。由于这两个任务所需的表示不同,这通常会导致多模态理解性能不佳。为了解决这一问题,Janus 提出了视觉编码解耦,缓解了多模态理解和生成任务之间的冲突,实现了在两项任务中的出色表现。

作为开创性模型,Janus 在 1B 参数规模上得到了验证。然而,由于训练数据有限,模型容量相对较小,它在短提示图像生成和不稳定文本到图像生成质量方面表现出一定的不足。在本文中,我们介绍了 Janus-Pro,这是 Janus 的一个增强版本,它在训练策略、数据和模型规模三个维度上进行了改进。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-E 3(0.67)和 Stable Diffusion 3 Medium(0.74)。

2. 方法

2.1 架构

Janus-Pro 的架构如图 3 所示,与 Janus 相同。整体架构的核心设计理念是解耦多模态理解和生成的视觉编码。我们应用独立的编码方法将原始输入转换为特征,然后通过统一的自回归变换器进行处理。对于多模态理解,我们使用 SigLIP 编码器从图像中提取高维语义特征。这些特征从二维网格展平为一维序列,然后通过理解适配器将图像特征映射到 LLM 的输入空间。对于视觉生成任务,我们使用 VQ tokenizer 将图像转换为离散 ID。将 ID 序列展平为一维后,我们使用生成适配器将每个 ID 对应的码本嵌入映射到 LLM 的输入空间。然后我们将这些特征序列连接起来形成多模态特征序列,随后将其输入到 LLM 中进行处理。除了 LLM 内置的预测头外,我们还为视觉生成任务中的图像预测使用了一个随机初始化的预测头。整个模型遵循自回归框架。

图3 | Janus-Pro的架构。我们解耦了用于多模态理解和视觉生成的视觉编码。“Und. Encoder”和“Gen. Encoder”分别是“Understanding Encoder”(理解编码器)和“Generation Encoder”(生成编码器)的缩写。

2.2 优化的训练策略

Janus 的前一个版本采用了一个三阶段训练过程。第一阶段专注于训练适配器和图像头部。第二阶段处理统一预训练,在此期间,除了理解编码器和生成编码器之外的所有组件都会更新其参数。第三阶段是监督微调,在第二阶段的基础上,进一步在训练过程中解锁理解编码器的参数。这种训练策略存在一些问题。在第二阶段,Janus 按照 PixArt 的方式将文本到图像能力的训练分为两部分。第一部分使用 ImageNet 数据,以图像类别名称作为文本到图像生成的提示,目标是建模像素依赖关系。第二部分使用正常的文本到图像数据进行训练。在实施过程中,第二阶段 66.67% 的文本到图像训练步骤分配给了第一部分。然而,通过进一步的实验,我们发现这种策略是次优的,并导致了显著的计算效率低下。

为了解决这一问题,我们进行了两项改进:

  • 第一阶段的更长训练:我们增加了第一阶段的训练步骤,以便在 ImageNet 数据集上进行充分的训练。我们的发现表明,即使在 LLM 参数固定的情况下,模型也能够有效地建模像素依赖关系,并根据类别名称生成合理的图像。

  • 第二阶段的专注训练:在第二阶段,我们放弃了 ImageNet 数据,直接使用正常的文本到图像数据来训练模型,使其能够根据密集描述生成图像。这种重新设计的方法使得第二阶段能够更高效地利用文本到图像数据,从而提高了训练效率和整体性能。

我们还调整了第三阶段监督微调过程中不同类型数据集的数据比例,将多模态数据、纯文本数据和文本到图像数据的比例从 7:3:10 调整为 5:1:4。通过略微减少文本到图像数据的比例,我们观察到这种调整使我们能够在保持强大的视觉生成能力的同时,实现更好的多模态理解性能。

2.3 数据扩展
我们在多模态理解和视觉生成方面扩展了用于 Janus 的训练数据。

  • 多模态理解:对于第二阶段预训练数据,我们参考了 DeepSeekVL2,并增加了大约 9000 万个样本。这些包括图像字幕数据集(例如 YFCC),以及用于表格、图表和文档理解的数据(例如 Docmatix)。对于第三阶段监督微调数据,我们也纳入了 DeepSeek-VL2 的额外数据集,如 MEME 理解、中文对话数据以及旨在增强对话体验的数据集。这些新增内容显著扩展了模型的能力,丰富了其处理多样化任务的能力,同时改善了整体对话体验。

  • 视觉生成:我们发现前一个版本的 Janus 所使用的现实世界数据质量欠佳且包含大量噪声,这常常导致文本到图像生成不稳定,产生审美质量较差的输出。在 Janus-Pro 中,我们纳入了大约 7200 万个合成审美数据样本,在统一预训练阶段使真实数据与合成数据的比例达到 1:1。这些合成数据样本的提示是公开可用的,例如 [43] 中的提示。实验表明,模型在合成数据上训练时收敛速度更快,生成的文本到图像输出不仅更加稳定,而且在审美质量上也有显著提升。

2.4 模型扩展

Janus 的前一个版本使用 1.5B LLM 验证了视觉编码解耦的有效性。在 Janus-Pro 中,我们将模型扩展到 7B,1.5B 和 7B LLM 的超参数详细信息见表 1。我们发现,当使用更大规模的 LLM 时,多模态理解和视觉生成的损失收敛速度显著提高,与较小模型相比优势明显。这一发现进一步验证了这种方法的强大可扩展性。

表1 | Janus-Pro 的架构配置。我们列出了架构的超参数。

 表2 | Janus-Pro 训练的详细超参数。数据比例是指多模态理解数据、纯文本数据和视觉生成数据的比例。

3. 实验

3.1 实施细节

在我们的实验中,我们使用 DeepSeek-LLM(1.5B 和 7B)作为基础语言模型,最大支持的序列长度为 4096。对于理解任务中使用的视觉编码器,我们选择了 SigLIP-Large-Patch16-384。生成编码器的码本大小为 16,384,图像下采样因子为 16。理解适配器和生成适配器都是两层 MLP。每个阶段的详细超参数见表 2。请注意,在第二阶段,我们采用了提前停止策略,在 270K 步骤时停止训练。所有图像都被调整为 384×384 像素。对于多模态理解数据,我们将图像的长边调整大小,并用背景颜色(RGB:127,127,127)填充短边以达到 384。对于视觉生成数据,将短边调整为 384,长边裁剪为 384。我们在训练中使用序列打包以提高训练效率。我们根据指定的比例在单个训练步骤中混合所有数据类型。我们的 Janus-Pro 使用 HAI-LLM 进行训练和评估,这是一个基于 PyTorch 构建的轻量级高效分布式训练框架。整个训练过程大约花费了 9/14 天,分别在 16/32 个节点的集群上进行,每个节点配备 8 个 Nvidia A100(40GB)GPU。

3.2 评估设置

多模态理解:为了评估多模态理解能力,我们在广泛认可的基于图像的视觉语言基准测试中评估我们的模型,这些测试包括 GQA、POPE、MME、SEED、MMB、MM-Vet 和 MMMU。

视觉生成:为了评估视觉生成能力,我们使用 GenEval 和 DPG-Bench。GenEval 是一个针对文本到图像生成的挑战性基准测试,旨在通过提供详细实例级分析来反映视觉生成模型的综合生成能力。DPG-Bench(密集提示图基准测试)是一个包含 1065 个长且密集提示的综合数据集,旨在评估文本到图像模型的复杂语义对齐能力。

3.3 与最新技术的比较

多模态理解性能:我们将提出的方法与最新统一模型和仅理解模型进行了比较,结果见表 3。Janus-Pro 实现了整体最佳结果。这可以归因于解耦多模态理解和生成的视觉编码,缓解了这两项任务之间的冲突。与规模大得多的模型相比,Janus-Pro 仍然具有很强的竞争力。例如,Janus-Pro-7B 在所有基准测试中(除了 GQA)均超过了 TokenFlow-XL(13B)。

表3 | 与多模态理解基准测试中的最新技术进行比较。“Und.” 和 “Gen.” 分别表示 “理解” 和 “生成”。使用外部预训练扩散模型的模型用†标记。

视觉生成性能:我们在 GenEval 和 DPG-Bench 上报告了视觉生成性能。如表 4 所示,我们的 Janus-Pro-7B 在 GenEval 上获得了 80% 的总体准确率,超过了所有其他统一或仅生成方法,例如 Transfusion(63%)、SD3-Medium(74%)和 DALL-E 3(67%)。这表明我们的方法具有更好的指令跟随能力。如表 5 所示,Janus-Pro 在 DPG-Bench 上得分为 84.19,超过了所有其他方法。这表明 Janus-Pro 在遵循密集指令进行文本到图像生成方面表现出色。

表4 | 在 GenEval 基准测试中对文本到图像生成能力的评估。“Und.” 和 “Gen.” 分别表示 “理解” 和 “生成”。使用外部预训练扩散模型的模型用†标记。

表5 | DPG-Bench 上的性能。本表中的方法均为仅生成模型,除了 Janus 和 Janus-Pro。

3.4 定性结果

我们在图 4 中展示了多模态理解的结果。Janus-Pro 在处理来自各种上下文的输入时表现出令人印象深刻的理解能力,展示了其强大的能力。我们还在图 4 的下半部分展示了一些文本到图像的生成结果。Janus-Pro-7B 生成的图像非常逼真,尽管分辨率仅为 384×384,但仍然包含大量细节。对于富有想象力和创造力的场景,Janus-Pro-7B 准确地从提示中捕捉语义信息,生成了合理且连贯的图像。

图4 | 多模态理解和视觉生成能力的定性结果。模型为 Janus-Pro-7B,视觉生成的图像输出分辨率为 384×384。最好在屏幕上查看。

4. 结论

本文从训练策略、数据和模型规模三个方面对 Janus 进行了改进。这些改进使得多模态理解和文本到图像指令跟随能力都取得了显著进展。然而,Janus-Pro 仍然存在一些限制。在多模态理解方面,输入分辨率限制在 384×384,这影响了其在细粒度任务(如 OCR)中的性能。对于文本到图像生成,低分辨率加上视觉 tokenizer 引入的重建损失,导致生成的图像虽然语义丰富,但在细节上仍然缺乏精细度。例如,占据有限图像空间的小面部区域可能会显得细节不足。提高图像分辨率可能会缓解这些问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/964335.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

深入解析“legit”的地道用法——从俚语到正式表达:Sam Altman用来形容DeepSeek: legit invigorating(真的令人振奋)

深入解析“legit”的地道用法——从俚语到正式表达 一、引言 在社交媒体、科技圈甚至日常对话中,我们经常会看到或听到“legit”这个词。比如最近 Sam Altman 在 X(原 Twitter)上发的一条帖子中写道: we will obviously deliver …

物联网领域的MQTT协议,优势和应用场景

MQTT(Message Queuing Telemetry Transport)作为轻量级发布/订阅协议,凭借其低带宽消耗、低功耗与高扩展性,已成为物联网通信的事实标准。其核心优势包括:基于TCP/IP的异步通信机制、支持QoS(服务质量&…

【Hadoop】Hadoop的HDFS

这里写目录标题 HDFS概述HDFS产出背景及定义HDFS产生背景HDFS定义 HDFS优缺点HDFS优点HDFS缺点 HDFS组成架构HDFS文件块大小 HDFS的Shell操作常用命令实操准备工作上传下载HDFS直接操作 HDFS的API操作客户端环境准备HDFS的API案例实操HDFS文件上传HDFS文件下载HDFS文件更名和移…

二、面向对象

一、结构体类型 结构体类型是一种自定义类型&#xff0c;用于创建我们游戏或者实际业务中的自定义类型. 代码中变量有通用的&#xff0c;可以使用结构体&#xff0c;包裹起来。 1、成员变量 /// <summary> /// 英雄结构体 /// </summary> struct Hero {//成员p…

基于机器学习的布伦特原油价格的分析与研究

项目&#xff1a;基于机器学习的布伦特原油价格的分析与研究 摘 要 布伦特原油期货及现货市场所构成的布伦特原油定价体系&#xff0c;最多时竟涵盖了世界原油交易量的80%&#xff0c;即使在纽约原油价格日益重要的今天&#xff0c;全球仍有约65%的原油交易量&#xff0c;是以…

excel实用问题:提取文字当中的数字进行运算

0、前言&#xff1a; 这里汇总在使用excel工作过程中遇到的问题&#xff0c;excel使用wps版本&#xff0c;小规模数据我们自己提取数据可行&#xff0c;大规模数据就有些难受了&#xff0c;因此就产生了如下处理办法。 需求&#xff1a;需要把所有文字当中的数字提取出来&…

贝叶斯-概率

起点&#xff1a;玩猜硬币游戏中发现贝叶斯定理貌似有很强的预测功能&#xff0c;细看还真有那么回事&#xff0c;因此研究研究。当然&#xff0c;看起来学精后不止可用来猜硬币&#xff0c;也可猜其它玩艺。 贝叶斯统计的基础是贝叶斯定理&#xff0c;贝叶斯定理的基础是条件…

信息安全专业2025最新毕业设计选题汇总:课题精选

目录 前言 毕设选题 开题指导建议 更多精选选题 选题帮助 最后 前言 大家好,这里是海浪学长毕设专题! 大四是整个大学期间最忙碌的时光&#xff0c;一边要忙着准备考研、考公、考教资或者实习为毕业后面临的升学就业做准备,一边要为毕业设计耗费大量精力。学长给大家整理…

[LeetCode]day13 19.删除链表的倒数第n个结点

19. 删除链表的倒数第 N 个结点 - 力扣&#xff08;LeetCode&#xff09; 题目描述 给你一个链表&#xff0c;删除链表的倒数第 n 个结点&#xff0c;并且返回链表的头结点。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5], n 2 输出&#xff1a;[1,2,3,5]示例 2&a…

2024年终总结来了

忘记发CSDN的年度总结了&#xff0c;今天补上吧 说实话&#xff0c;今年过得不是特别好&#xff0c;感觉遇到了瓶颈&#xff0c;人生变得迷茫起来。不知道大家有没有同样的感受 刚毕业的时候人生充满了憧憬&#xff0c;慢慢的随着年龄变大后&#xff0c;就会觉得一事无成&…

Haproxy+keepalived高可用集群,haproxy宕机的解决方案

Haproxykeepalived高可用集群&#xff0c;允许keepalived宕机&#xff0c;允许后端真实服务器宕机&#xff0c;但是不允许haproxy宕机&#xff0c; 所以下面就是解决方案 keepalived配置高可用检测脚本 &#xff0c;master和backup都要添加 配置脚本 # vim /etc/keepalived…

树莓派pico入坑笔记,故障解决:请求 USB 设备描述符失败,故障码(43)

今天心血来潮&#xff0c;拿出吃灰的pico把玩一下&#xff0c;打开thonny&#xff0c;上电&#xff0c;然后...... 上电识别不到端口&#xff0c;windows报错&#xff0c;请求 USB 设备描述符失败&#xff0c;故障码&#xff08;43&#xff09; 一开始以为是坏了&#xff08;磕…

从Transformer到世界模型:AGI核心架构演进

文章目录 引言:架构革命推动AGI进化一、Transformer:重新定义序列建模1.1 注意力机制的革命性突破1.2 从NLP到跨模态演进1.3 规模扩展的黄金定律二、通向世界模型的关键跃迁2.1 从语言模型到认知架构2.2 世界模型的核心特征2.3 混合架构的突破三、构建世界模型的技术路径3.1 …

2025年01月25日Github流行趋势

项目名称&#xff1a;it-tools 项目地址url&#xff1a;https://github.com/CorentinTh/it-tools项目语言&#xff1a;Vue历史star数&#xff1a;25298今日star数&#xff1a;212项目维护者&#xff1a;CorentinTh, apps/renovate, cgoIT, sharevb, marvin-j97项目简介&#xf…

鸿蒙Harmony-双向数据绑定MVVM以及$$语法糖介绍

鸿蒙Harmony-双向数据绑定MVVM以及$$语法糖介绍 1.1 双向数据绑定概念 在鸿蒙&#xff08;HarmonyOS&#xff09;应用开发中&#xff0c;双向数据改变&#xff08;或双向数据绑定&#xff09;是一种让数据模型和UI组件之间保持同步的机制&#xff0c;当数据发生变化时&#x…

【DeepSeek背后的技术】系列二:大模型知识蒸馏(Knowledge Distillation)

目录 1 引言2 操作步骤和公式说明2.1 准备教师模型&#xff08;Teacher Model&#xff09;和学生模型&#xff08;Student Model&#xff09;2.2 生成软标签&#xff08;Soft Labels&#xff09;2.3 定义蒸馏损失函数2.4 训练学生模型2.5 调整超参数2.6 评估与部署 3 其他知识蒸…

【BUUCTF杂项题】后门查杀、webshell后门

前言&#xff1a;Webshell 本质上是一段可在 Web 服务器上执行的脚本代码&#xff0c;通常以文件形式存在于 Web 服务器的网站目录中。黑客通过利用 Web 应用程序的漏洞&#xff0c;如 SQL 注入、文件上传漏洞、命令执行漏洞等&#xff0c;将 Webshell 脚本上传到服务器&#x…

SPI(Serial Peripheral Interface)串行外围设备接口

SPI概述&#xff1a; SPI协议最初由Motorola公司&#xff08;现为NXP Semiconductors的一部分&#xff09;在20世纪80年代中期开发。最初是为了在其68000系列微控制器中实现高速、高效的串行通信。该协议旨在简化微控制器与外围设备之间的数据传输。 1980年代&#xff1a;SPI协…

深度学习 Pytorch 基础网络手动搭建与快速实现

为了方便后续练习的展开&#xff0c;我们尝试自己创建一个数据生成器&#xff0c;用于自主生成一些符合某些条件、具备某些特性的数据集。 导入相关的包 # 随机模块 import random# 绘图模块 import matplotlib as mpl import matplotlib.pyplot as plt# 导入numpy import nu…

10分钟快速上手DeepSeek!

DeepSeek 是一款基于命令行和配置文件的数据处理工具&#xff0c;支持多种数据格式&#xff08;如 CSV、JSON、SQL 等&#xff09;和多种数据源&#xff08;如本地文件、数据库、API 等&#xff09;。 它的核心功能包括&#xff1a; 数据导入与导出&#xff1a;支持从多种数据…