DeepSeek 又整活儿了。
除夕凌晨,DeepSeek 在 GitHub 上的 Janus 项目空间突然官宣开源了 Janus-Pro 模型和技术报告。
「四木相对论」第一时间阅读了这份技术报告,提取出这一模型的核心亮点。
先划个重点:
1. 本次发布的 Janus-Pro 模型是一个多模态模型,可以同时进行多模态理解和图像生成任务。它共有2个参数量版本,Janus-Pro-1B 及 Janus-Pro-7B。
2. Janus-Pro 的核心创新是将多模态理解和生成,两种不同的任务解耦。让这两种任务可以在同一模型中高效完成。
3. Janus-Pro 与去年10月 DeepSeek 发布的 Janus 模型架构一致,但当时 Janus 没有太多声量。视觉领域的算法专家 Charles 博士告诉我们,之前的 Janus "性能一般","比不上 DeepSeek 的语言模型"。
*DeepSeek Janus 项目的 GitHub 首页
意在攻克业界难题:平衡多模态理解和图像生成
DeepSeek官方介绍,Janus-Pro 不仅能理解图片、对图片中的文字进行提取与理解,还能同时生成图片。
技术报告提及,与其他同类型、同参数量级模型对比,Janus-Pro-7B 在 GenEval、DPG-Bench 的测试集上的得分都超过了 SD3-Medium、DALL-E 3 等其他模型。
*官方技术报告中给出的测试集评测结果
官方也给出了案例👇:
*官方技术报告中给到的测试样例
X上也有很多网友尝鲜。
(*网球小鸟,效果不错)
(*食物的演示效果也不错)
但也偶有翻车。
(*网友对比 Midjourney 和 Janus-Pro-7B 的人像)
通过查阅 DeepSeek 的技术论文,我们发现,Janus Pro 是基于三个月前发布的 Janus 的优化。
这一系列模型的核心创新,是将视觉理解任务与视觉生成任务进行解耦,让两种任务的效果得到平衡。
*24年10月份发布的 Janus 模型论文
一个模型同时做多模态理解和生成,不算罕见。这次测试集中的 D-DiT、TokenFlow-XL 都具备这个能力。
但 Janus 的特点是,通过解耦处理的方式,让一个能做多模态理解和生成的模型,平衡这两种任务的效果。
平衡这两种任务的效果,在业内是个难题。此前大家的思路是,尽量用同一编码器实现多模态理解和生成。
这样做的好处是架构简单、不存在冗余部署,思路上能和文本模型对齐(文本模型也是用同一套方法实现文本生成和文本理解)。还有一种说法是,这种多能力融合可以带来一定程度的涌现。
但事实上,将生成和理解融合后,两种任务会存在冲突——图像理解需要模型高维抽象、提炼出图片的核心语义,偏向宏观。而图像生成,侧重对局部细节像素级的表达和生成。
对此业界常规的做法是,优先保证图像生成能力。这会导致,能生成较高质量图像的多模态模型,图像理解的效果往往很一般。
Janus 解耦架构,Janus-Pro优化训练策略
Janus的解耦架构,可以让模型自己平衡理解和生成的任务。
看官方技术报告的结果,不论是多模态理解还是图像生成,Janus-Pro-7B 在多个测试集上表现还不错。
多模态理解方面,Janus-Pro-7B 在7个评测数据集中的4个取得了第一的成绩,其余3个数据集均位于第二,略低于排名第一的模型得分。
图像生成能力,在 GenEval 和 DPG-Bench 两个评测数据集上,Janus-Pro-7B 均取得了总分第一的成绩。
这种多任务处理的效果,主要源于 Janus 系列针对不同任务使用的两个视觉编码器:
理解编码器:用于提取图像中的语义特征,以便进行图像理解任务(如图像问答、视觉分类等)。
生成编码器:将图像转换为离散表示(例如,使用 VQ 编码器),用于文本到图像生成任务。
通过这种架构,模型能独立优化每个编码器的表现,使多模态理解与生成任务各自发挥最强性能。
*技术报告中,Janus-pro 的模型架构示意图。
这种解耦的架构是 Janus-Pro 和 Janus 的共性。那么,这几个月Janus-Pro有什么迭代?
从评测集的结果能看出,本次发布的 Janus-Pro-1B 对比此前的 Janus 在不同评测集中,得分均有约 10%-20% 的提升。Janus-Pro-7B 在扩展参数量后,对比 Janus 有最高约 45% 的提升。
*视觉理解能力的不同评测集中,Janus 与 Janus-Pro 的得分对比
*图片生成能力的不同评测集中,Janus 与 Janus-Pro 的得分对比
在训练细节上,技术报告表示,本次发布的 Janus-Pro 相比于之前的 Janus 模型,除却保留最核心的解耦式架构设计,又额外迭代了参数大小、训练策略和训练数据。
首先来看参数。
Janus 初代版本的参数量仅有 1.3B,本次发布的 Pro 版本包含 1B 和 7B 参数量的模型。
这两个尺寸,体现出 Janus 结构架构的扩展性。最为轻量的1B模型,已经被外网用户用在浏览器中的WebGPU运行。
还有训练策略。
同 Janus 的训练阶段划分一致,Janus Pro 总共有三个训练阶段,论文直接分为Stage I、Stage II和Stage III。
在保留每一阶段的基本训练思路和训练目标后,Janus-Pro 在三个阶段做了训练时长和训练数据的改进。以下是三个阶段具体的改进:
Stage I - 训练时间更长
和 Janus 对比,Janus-Pro 在 Stage I 的训练中延长了训练时间,特别是在 视觉部分的适配器和图像 head 的训练。这意味着视觉特征的学习得到了更多的训练时间,希望模型可以充分理解图像的细节特征(如像素到语义的映射)。
这种延长的训练有助于确保视觉部分的训练不被其他模块干扰。
Stage II - 去除 ImageNet 数据,新增多种模态数据
在 Stage II 中,Janus 之前参考 PixArt,分两部分进行训练。第一部分是利用 ImageNet 数据集进行图像分类任务训练,第二部分通过常规的文本到图像数据进行训练。Stage II 中的约三分之二的时间都被用于第一部分的训练。
Janus-Pro 在 Stage II 的训练中去除了第一部分有关于 ImageNet 的训练。这一设计使模型在 Stage II 的训练中专注于文本到图像的数据。根据实验结果,这样做可以显著提升文本到图像数据的利用率。
除了训练方式设计的调整外,被用作 Stage II 中的训练数据集不再局限于单一的图像分类任务,而是新增了较多其他类型的多模态数据,如图像描述、对话等进行联合训练。
Stage III - 优化数据比例
在 Stage III 的训练中,Janus-Pro 调整了不同类型的训练数据比例。
此前 Janus 在 Stage III 所使用的训练数据中,多模态理解数据、纯文本数据和文本到图像数据的比例为 7:3:10。Janus-Pro 减少了后两种类型数据的比例,将这三种数据的比例调整为 5:1:4,也就是更关注多模态理解任务。
再看训练数据。
对比 Janus,这次 Janus-Pro 大量增加了高质量的合成数据。
它在多模态理解以及图像生成上,对训练数据做了数量和种类的扩展。
多模态理解数据扩增:
Janus-Pro 在训练时参考了 DeepSeek-VL2 的数据集,额外增加了约 9000 万条数据,其中既包含图像描述的数据集,也包含表格、图表、文档等复杂场景的数据集。
在有监督微调阶段(Stage III),它继续加入了有关 MEME 理解、对话(包括中文对话)体验提升的数据集。
视觉生成数据扩增:
原有的真实世界数据由于质量欠佳、噪声水平较高,导致模型在文本到图像任务上输出不稳定、审美质量不足。
Janus-Pro 在训练阶段新增了约 7200 万条的高审美合成数据,使真实数据与合成数据在预训练阶段的比例达到了 1:1。
合成数据的提示词(prompts)都来自公开资源。实验显示这部分数据的加入使得模型收敛更快,生成的图像在稳定性和视觉美感上都有明显提升。
一场效率革命的延续?
整体这一次的发布,DeepSeek将“效率革命”的屠刀砍向了视觉模型。
不同于仅专注于单一功能的视觉模型,或偏向某一任务的多模态模型,Janus-Pro 在同一个模型中平衡了图像生成和多模态理解两大任务的效果。
而且,它虽然参数不大,却在测评中击败 OpenAI DALL-E 3 和 SD3-Medium。
扩展到落地,企业仅需部署一个模型,就能直接实现图像生成和理解两种功能,再加上仅7B的体量,部署的难度和成本都小得多。
联系之前R1、V3的发布,DeepSeek 正在以“精巧的架构创新、轻量化模型、开源模式,和超低的训练成本”挑战现有的游戏规则,这也是西方科技巨头乃至华尔街恐慌情绪爆发的原因。
就在刚刚,被舆论裹挟好几天的 Sam Altman,终于在 X 上正面回复了关于 DeepSeek 的信息——在夸赞 R1 的同时,表示 OpenAI 会进行一些发布。
看起来,这场由"中国鲶鱼"搅动的游戏刚刚开始。