type
Post
status
Published
date
Oct 10, 2026
slug
MM-Unified
summary
过去几年,NLP 经历了一次彻底的统一:翻译、摘要、问答、分类,曾经各有专用的模型和流水线,最后都被一个 LLM 取代。多模态的理解和生成正在走同样的路。
在多模态理解和生成这条线上,NVIDIA 九月底发布的 PixelUMM(Encoder-Free Unified Image and Video Understanding and Generation)是一个很好的代表。它在像素空间里同时做图像、视频的理解和生成:没有 ViT,没有 VAE,像素和 Transformer 之间只有一层线性层。单看榜单它并不突出,作者自己的结论也只是与基线"可比"。但借这一篇论文,恰好能把生成领域这几年的核心问题串起来:输入为什么不再外挂编码器,理解和生成为什么要放进一个模型,生成的输出和 loss 又是怎样从 latent 走到像素的。
tags
深度学习
category
LLM
icon
password
priority
3
过去几年,NLP 经历了一次彻底的统一:翻译、摘要、问答、分类,曾经各有专用的模型和流水线,最后都被一个 LLM 取代。多模态的理解和生成正在走同样的路。
在多模态理解和生成这条线上,NVIDIA 九月底发布的 PixelUMM(Encoder-Free Unified Image and Video Understanding and Generation)是一个很好的代表。它在像素空间里同时做图像、视频的理解和生成:没有 ViT,没有 VAE,像素和 Transformer 之间只有一层线性层。单看榜单它并不突出,作者自己的结论也只是与基线"可比"。但借这一篇论文,恰好能把生成领域这几年的核心问题串起来:输入为什么不再外挂编码器,理解和生成为什么要放进一个模型,生成的输出和 loss 又是怎样从 latent 走到像素的。

这几个变化背后是同一件事:多模态模型正在逐步去掉自己的专用模块。统一到更干净的 backbone,理解和生成一体。
为什么都在追求统一
统一模型目前并不是最强的。PixelUMM 的理解能力不如同规模的 VLM,生成能力也不及 Wan、Qwen-Image 这类专用模型。那为什么各家仍在向这个方向投入?
我认为根本原因不在于某个已经兑现的收益,而在于一个信念。
2019 年 Rich Sutton 写过一篇很短的文章《The Bitter Lesson》,回顾 AI 七十年的历史,得出了一个让研究者并不舒服的结论:长期来看,能随算力扩展的通用方法,总会胜过将人类知识精心编入系统的方法。 开头提到的 NLP,就是最近也最彻底的一次验证。
用这个视角看多模态,脉络就很清晰:ViT 编码器预先固化了"图像该如何理解",VAE 预先固化了"哪些细节可以丢弃",扩散模型的时间步 adaLN 则把"网络必须知道噪声水平"写进了结构。在数据和算力有限时,这些设计是帮助;规模上去之后,它们就可能成为上限。PixelUMM 所做的,正是同时去掉了这三者。
统一目前已兑现的收益,主要在交互和工程层面:多轮编辑可以共享上下文,部署只需维护一个模型。理解与生成相互促进,尚未得到证明。在证据出现之前,支撑这条路线的首先是信念。 这也是我在"看见和相信"一文中想表达的:很多时候,是因为相信,才能看见。
我们做 OneTrans,也是基于同样的思路。OneTrans 将用户序列建模和特征交叉这两个长期独立演进的模块,统一到一个 Transformer 中;OneTrans-V2 更进一步,用一个 Transformer 统一了召回、粗排和精排。
巧合的是,OneTrans 在结构上和 PixelUMM 几乎同构。序列 token 和非序列特征 token 共享同一个 attention,但参数各自独立:相似的序列 token 之间共享参数,每个非序列特征 token 有自己专属的参数。这本质上就是一个 MoT 架构,和 PixelUMM 的理解专家、生成专家如出一辙。特征的处理方式也一样:原始 embedding 直接经过一个大矩阵的线性映射进入骨干,不再使用 DCN、FM 这类专门的特征交叉模块,正如 PixelUMM 用一层线性层取代了 ViT 和 VAE。

从外挂编码器到原生输入
过去几年,多模态大模型的标准做法是"拼接":一个预训练好的 ViT,经过投影层,再接入 LLM。可以把 ViT 理解为一个翻译:LLM 本身无法直接看图,由 ViT 先看,再转述给 LLM。
这种方式见效快,但问题也恰恰出在翻译上:翻译只能转述文字能够描述的内容。 对比学习训练出的 ViT 主要保留与 caption 相关的信息,文字难以描述的细节在进入 LLM 之前就已经丢失。LLM 再强,也只能看到翻译所转述的部分。
"原生"则是去掉这个翻译:原始图像 patch 直接投影到 LLM 的嵌入空间,从第一层起就与文本 token 一起计算。
"原生多模态"其实有两种含义。 Qwen3.5 今年 2 月发布时就强调原生多模态,指的是从预训练阶段起就图文联合训练,而不是先训好语言模型再外挂视觉,但它仍保留了 ViT 前端。本文所说的原生更进一步:把视觉编码器整个去掉。在这个意义上,Gemma 4 12B 是一个有代表性的例子。
Google 今年 6 月发布的 Gemma 4,其他型号仍使用 150M 到 550M 的 ViT,唯独 12B 从头训练,将 550M 的 ViT 替换为一次 35M 参数的矩阵乘法:图像切成 48×48 的 patch,经过一次矩阵乘法,加上位置编码和归一化,即进入骨干。音频编码器也一并去掉。官方数据显示,它在标准基准上接近 26B MoE,内存占用不到后者的一半。主流大厂在一个面向端侧的模型上,验证了去掉视觉编码器是可行的。
PixelUMM 延续了这一思路,并扩展到视频:图像切成 16×16 的 patch,视频切成 4 帧×16×16 的 tubelet,各经过一层线性层后直接进入骨干。
理解与生成的统一
难点在视觉表示:理解要的是抽象,生成要的是保真。 理解只需要知道"图里是一只猫",生成还需要知道这只猫的每一处细节。
此前的统一模型,比如字节的 BAGEL(Emerging Properties in Unified Multimodal Pretraining),选择同时保留两套表示:同一张图编码两次,ViT 特征用于理解,VAE latent 用于生成。只用 ViT,编辑时难以保持原图细节;只用 VAE,其 latent 本质上是"压缩过的像素",缺乏语义,理解能力会下降。代价是每张图都需编码两次,视觉上下文长度翻倍。
也有模型只保留 VAE,再设法补充语义,比如 Transfusion、Show-o2,但需要额外的结构来弥补 VAE latent 缺失的语义。
PixelUMM 则两套都不保留,直接输入像素。骨干采用 Mixture-of-Transformers,理解专家和生成专家各有独立参数,共享同一个 attention。路由规则很简单:干净的像素进入理解专家,加噪的像素进入生成专家。 视频同理:参考图、源视频作为干净像素进入理解专家,待生成的视频以加噪像素进入生成专家,图生视频和视频编辑都在同一个接口中完成。
一体不等于协同
看到这里,容易认为统一的问题已经解决。但阶跃星辰首席科学家张祥雨去年 6 月曾提到,这是他近两年模型训练中遇到的最大困境:在大一统模型中,理解和生成可以共存,却很少协作,联合训练时一方能力提升,甚至会导致另一方下降。
这里需要区分两件事:架构一体是一个模型、一套接口;能力协同是理解与生成相互促进。PixelUMM 证明的是前者,后者尚未得到证明。
他的解释是:生成一张图需要空间规划、物理常识和语义推理,而 Transformer 单次前向能完成的推理步数有限,一次性生成满足所有约束的图像过于困难。他给出的方向是:像语言推理一样,为生成引入思维链。
北大的 UniSandBox(Does Understanding Inform Generation in Unified Multimodal Models? From Analysis to Path Forward)的实验基本印证了这一点。以"画出 2 加 3 个苹果"为例:同一个模型用文字回答"2 加 3 等于几"没有问题,但在这类需要推理的生成任务上,大部分开源统一模型在不使用思维链时得分接近零,生成退化为从关键词到像素的浅层映射;先让模型用文字推导出"需要画 5 个苹果"再生成,BAGEL 的平均分从 0.028 提升到 0.51。

原因在于生成过程中没有推理的环节:flow matching 即使走 50 步,每一步也只是在修正像素。到目前为止,理解与生成之间唯一被证明有效的桥梁是语言。 因此,更准确的说法是:PixelUMM 证明了统一可行,但没有证明统一带来协同。
理解与生成:输出与loss
讲统一,绕不开一个不做生成的人往往不太熟悉的问题:理解和生成的输出分别是什么,loss 又分别是什么。
理解(以及 LLM 的文本输出)本质上是分类问题。 输出头把隐藏状态映射到词表上,经过 softmax 得到一个离散分布,用交叉熵监督下一个 token。这个设计有一个容易被忽略的优点:softmax 天然能表达多峰分布。同一个上下文后面可以接"猫"也可以接"狗",模型只需把概率分给两者,采样时再选其一。
图像生成是连续高维空间里的问题,无法照搬这套做法。 不可能对所有可能的图像做 softmax。直观的替代方案有两种,但各有问题:
- 离散化:用 VQ 把图像量化成离散 token,再用交叉熵做自回归。代价是量化带来的信息损失。
- 直接回归:给定文本,用 MSE 回归整张图。MSE 学到的是条件期望,同一句话对应的所有可能图像会被平均,结果是一张模糊的图。这和推荐里多兴趣被回归到均值是同一个问题。
扩散和 flow matching 的做法,是把一次困难的生成拆成多次容易的回归。 可以用开车来理解:出发点是一团随机噪声,目的地是一张真实的图像。

训练时,在起点和终点之间连一条路线,随机停在路上的某个位置(对应某个时间步,此时的画面是噪声和图像的混合),让网络回答一个问题。问法有三种:从哪里出发的(预测噪声),现在该往哪个方向、以多快的速度开(预测速度),目的地在哪(预测干净图像)。知道了当前位置和已经走过的时间,三个答案可以相互换算,用 MSE 监督即可。
推理时,从一个随机的出发点开始,每走一小段就问一次网络,按它给的速度再往前开一段,几十次之后到达目的地。
为什么不直接报出目的地,一步到位?因为同一句描述往往对应多个合理的答案。比如"一只猫",橘猫和黑猫都对。如果让网络一次报出目的地,MSE 会让它报出所有答案的平均,也就是橘猫和黑猫叠在一起的一团灰色模糊,哪个都不是。拆成多步之后,网络每次只需根据当前位置判断眼前这一小段该怎么开:出发点不同,前几步就自然偏向不同的方向,越往后越明确,最终开到橘猫或黑猫,而不会停在两者中间。随机性来自出发点,多个合理的答案也就都能被生成出来。代价是推理要开几十段路,而文本每个 token 只需一次前向。
扩散和 flow matching 的区别在于路径:扩散沿一条弯曲的加噪路径,学习每一步应去除多少噪声;flow matching 沿噪声到数据的直线,学习每一点应朝哪个方向移动。 两者在数学上可以相互转换,差别在于直线路径更容易学习,所需采样步数更少:路越直,越容易判断方向,中途也越少需要停下来问路。
这里顺带澄清一个我之前也常混用的概念:Stable Diffusion 不是一种技术,而是一个模型品牌。 SD 1.x 和 SDXL 采用 U-Net 加传统扩散;到了 SD3(Scaling Rectified Flow Transformers for High-Resolution Image Synthesis),骨干换成了 DiT,训练目标换成了 rectified flow(即采用直线插值路径的 flow matching)。因此"flow matching 还是 Stable Diffusion"并不是二选一,Stable Diffusion 从第三代起就已经是 flow matching 了。 SD3 的核心作者后来创立 Black Forest Labs,推出的 FLUX 沿用了同一路线。
PixelUMM 在一个模型里同时使用这两套:文本 token 用交叉熵,像素用 MSE,最后的联合训练阶段按文本、图像、视频 1 : 10 : 30 的比例加权。
像素空间里,生成该预测什么
MSE 回归的目标是什么,同样有讲究。 给定带噪输入和时间步,噪声 ε、速度 v、干净图像 x(也就是开车比喻里的出发点、速度和目的地)三者可以通过线性变换相互换算,理论上预测哪一个都等价。SD1 预测噪声,SD3 和 FLUX 预测速度,在 latent 空间里一直相安无事。但这个等价在像素空间里被打破了。
原因出在维度上。在 VAE 的 latent 空间里,一个 token 是 2×2×16 = 64 维;去掉 VAE、直接在像素空间里,覆盖同样 16×16 像素的一个 token 是 16×16×3 = 768 维。如果网络还像 SD3、FLUX 那样预测速度或噪声,在这么高的维度下会严重失效。
何恺明团队的 JiT(Back to Basics: Let Denoising Generative Models Denoise)给出的解法不是把维度降回去,而是换一个预测目标:回到"去噪"的本义,让网络直接预测干净图像。原因在于,噪声在 768 维里每一维都独立随机,没有结构可言,网络必须完整地输出它;而干净图像的 768 个像素值高度相关,实际落在一个低维流形上,网络只需要学会这个流形。JiT 的实验也表明,在 16×16、32×32 这样的大 patch 下,预测噪声或速度会训练失败,预测干净图像却能得到很好的结果。这说明 ε、v、x 的等价只在网络容量足够时成立;容量有限、维度很高时,预测一个落在低维流形上的目标要容易得多。PixelUMM 沿用了这一做法:以干净图像作为输出,在速度空间计算损失。

PixelUMM 的另一处简化,是去掉了时间步输入。 扩散模型通常通过 adaLN 将时间步注入每一层。adaLN 即 adaptive LayerNorm,用时间步的 embedding 生成每一层 LayerNorm 的缩放和平移参数,让网络在不同噪声水平下表现出不同的行为。PixelUMM 去掉了这一设计,由网络从输入像素中自行判断噪声水平。adaLN 是扩散模型特有的结构,去掉之后,生成专家与理解专家在结构上更加对称,更接近一个标准的 Transformer。
去掉 VAE 的代价
PixelUMM 的对照实验也清楚地给出了代价:
- 压缩越少越容易学习,但序列越长成本越高。 32×32 的 patch 比 16×16 更难学习,但 patch 越小,token 越多,attention 成本随序列长度平方增长。能否在更大的 patch 下保持质量,决定了像素路线能否扩展到高分辨率和长视频。
- VAE decoder 承担的工作并未消失。 线性输出头会在平滑区域产生沿 patch 边界的网格伪影,需要更重的卷积输出头才能缓解,细节重建的工作以输出头的形式重新出现。
- 效果尚未领先。 理解能力整体明显落后于同规模的 VLM 和 BAGEL;图像和视频生成大致接近 Qwen-Image、Wan 这类专用模型,但没有超越。作者也说明,各家训练数据不同,这些结果不能用来判断架构的优劣。
但规模化的信号是积极的:相同配方下,8B 模型达到相同损失所需的步数约为 1.7B 的三分之一。去掉专用模块之后,模型越大,越能自行学会原本由这些模块承担的功能。
写在最后
PixelUMM 去掉的 ViT、VAE 和 adaLN,都曾是推动这个领域发展的关键设计。去掉它们,短期内几乎在每一项指标上都要付出代价。但这正是苦涩的教训一再重演的方式。
Gemma 4 12B 证明了去掉视觉编码器的原生输入是可行的,PixelUMM 证明了原生输入能够同时支撑图像和视频的理解与生成。更难的问题在于,统一能否从"可行"走向"协同"。如果张祥雨的判断成立,答案可能不在表示与接口,而在于生成能否像语言一样,先推理,再生成。
推荐系统同样如此:当骨干和数据足够强,专用模块的归纳偏置就从帮助变成了限制。 而在证据出现之前,我们需要先相信它。