Representation Forcing: 让统一多模态模型摆脱 VAE 瓶颈
论文:Representation Forcing for Bottleneck-Free Unified Multimodal Models
arXiv:2605.31604
作者:Yuqing Wang, Zhijie Lin, Ceyuan Yang 等(HKU × ByteDance Seed × CUHK × NJU × THU)
一句话总结
该论文提出表征强制(Representation Forcing, RF),让统一多模态模型(Unified Multimodel model,UMM)在像素生成前先自回归预测visual representation作为中间 token,并将其作为context进一步引导pixel diffusion,通过将representation作为自回归生成目标而不是VAE输出,摆脱对外部 VAE 的依赖、消除结构瓶颈,在像素空间实现与 VAE 模型相当的生成质量并提升理解能力,迈向端到端无瓶颈统一多模态模型。

1. 它在解决什么问题?
当前 UMM 的结构性瓶颈
目前主流的统一多模态模型(Chameleon、Emu3、Transfusion、Show-o、JanusFlow、BAGEL 等)几乎都依赖一个独立预训练且冻结的 VAE:图像先压成 latent,再在 latent 空间上做扩散。这看似是一个解耦良好的工程选择,但作者指出这其实是一个结构性的天花板:
- 目标错位:VAE 的 latent 空间是为重建优化的,而不是为 UMM 的多目标(语言建模 + 视觉理解 + 图像生成)联合优化的。
- 信息上限:VAE 是有损压缩,无论后续怎么训 UMM 都无法突破这个上限。
- 理解-生成不共享空间:理解侧用 SigLIP/DINO 这类语义编码器,生成侧用 VAE,两套表征空间天然撕裂。
直接做"像素空间生成"为什么不行?
JiT 等工作已经证明:对独立的生成模型而言,纯 ViT + x-prediction 可以直接在 raw pixel 上生成(在 ImageNet 上甚至能比 latent diffusion 更好)。但作者发现:把这套搬进 UMM 里就垮——pixel-only 的 GenEval 只有 0.25,而 VAE 版本能到 0.52。
为什么? 因为 UMM 面对的图像分布远比 ImageNet 复杂,且文本条件更丰富,模型被迫同时学习高层语义结构和低层像素细节,从同一份原始信号里完成两件事,过载了。
这是论文最关键的诊断:纯像素生成的失败不是像素的失败,而是"高层语义结构缺位"的失败。
论文的核心切入点
UMM 内部其实已经有一份现成的高层视觉表征——理解侧编码器的输出。理解任务里,这份表征是从输入图像里抽出来的;但生成任务里没有图像可抽,模型必须从文本上下文中预测出这份表征。
把这个"预测"过程显式化、训练化,就是 Representation Forcing。
2. 核心方法:把"理解表征"做成自回归词元
2.1 表征从哪里来——理解编码器自带
不引入外部冻结模块(不是 REPA 那样对齐到一个外部的 DINOv2/SigLIP 目标),直接用模型自己理解侧编码器(联合训练的 DINOv3)的特征。
这是一个很优雅的选择:
- 表征空间和理解任务同步进化,不会成为外挂。
- 理解和生成共享同一份语义骨架——这正是后面在理解 benchmark 上 Pixel+RF > VAE+RF 的根本原因。
2.2 用 Online VQ 把连续特征离散化
连续回归会误差累积(消融里 Continuous 版本 GenEval 仅 0.26,几乎等于不加 RF 的 0.25)。所以必须离散化,把"预测表征"做成 next-token prediction,享受语言模型那一套训练机制的稳定性。
离散化的实现:
- 来源是 encoder 的 EMA 副本(慢变目标,让离散分配稳定)。
- 维护 K=16,384 个可学习的 prototype 向量构成的 codebook。
- 每个 patch feature 与所有 prototype 算余弦相似度,最近邻就是它的离散 token id。
- codebook 用 SwAV 风格的动量更新,配 Sinkhorn–Knopp 平衡防塌缩。
- 每个 spatial patch → 一个表征 token,按 raster-scan 排成序列。
离散化在这里同时起了两个作用:(1) 让 next-token CE loss 能用;(2) 天然丢掉细节、保留结构——这正好契合"高层 scaffold"的定位。
2.3 训练阶段——三种 loss 同时优化
模型处理统一序列:[文本 tokens, 表征 tokens, 像素 patches]。
注意力模式是这套设计的关键:
- 文本 + 表征 tokens:因果(自回归)
- 噪声像素 patches:彼此双向,对前面的文本+表征 tokens 因果
这样表征 tokens 天然成为像素生成的 in-context 条件,不需要额外的 cross-attention 模块。这一点比 REPA 高级:REPA 是把表征当辅助 loss 去对齐内部特征,RF 是把表征直接放进解码序列里、让像素去 attend 它。
总目标:
- \(L_{LM}\):文本 next-token CE
- \(L_{Rep}\):表征 token next-token CE
- \(L_{FM}\):像素 x-prediction 的 velocity loss(沿用 JiT):\(z_t = tx + (1-t)\varepsilon\),\(L_{FM} = \mathbb{E}[\|v_\theta - v\|^2]\),\(v = x - \varepsilon\)
2.4 推理阶段——两步走
- 给定文本,自回归生成完整的表征 token 序列(top-k 采样,CFG=2.0)。
- 以文本 + 表征 tokens 为条件,迭代扩散去噪 25 步得到像素图(CFG=3.0)。
推理时 encoder 完全不参与——这是 RF 真正落地的关键:训练时 encoder 提供监督,推理时模型已经把"如何生成表征"内化了。
2.5 架构:MoT 路由
沿用 BAGEL 的 Mixture-of-Transformers:所有 token 共享 self-attention,但根据类型路由到三个 FFN expert:
- 多模态理解
- 表征 token 预测
- 像素生成
这避免了模态干扰,又最大化共享。
- 整体架构图:
![_attachments/RepresentationForcing/file-20260608000326315.png]()
一些细节
- 架构:Qwen3-A3B (3B active) + DINOv3 ViT-H+/16 + MoT (3 experts)
- Codebook:K = 16,384
- Patch:16×16,pool 2×2
- 训练:10K (align) + 50K (joint @ ≤256) + 20K (high-res @ ≤1024)
- 推理:25 步扩散,CFG (rep=2.0, pix=3.0)
- 数字:GenEval 0.84 / 0.88(rewrite),DPG-Bench 84.15

3. 实验告诉了我们什么
3.1 RF 是必要的、且无可替代
最强力的消融在 4.4(a):
| 条件 | Pixel GenEval | VAE GenEval |
|---|---|---|
| 不加 RF | 0.25 | 0.52 |
| 加 RF | 0.76 | 0.77 |
两个结论:
- 像素空间在 UMM 里裸跑就是灾难(0.25),加 RF 才能匹配 VAE(0.76 vs 0.77)。
- VAE 也能受益于 RF(+0.25),说明 RF 提供的"高层结构脚手架"是普适的,不是只对像素生成有用。
3.2 RF vs REPA——架构差异决定一切
| 方法 | GenEval |
|---|---|
| 无 | 0.25 |
| REPA(辅助对齐 loss) | 0.43 |
| RF(in-context 自回归预测) | 0.76 |
REPA 把表征当 auxiliary loss 去 align 内部特征;RF 直接把预测出的表征放进解码序列。这个区别在数字上是 0.43 vs 0.76 的鸿沟。
这条消融提示了一个一般性原则:conditioning 信号最好以 token 形式进入注意力上下文,而不是以辅助 loss 形式悬挂在中间层。
3.3 离散 vs 连续
| 方法 | GenEval |
|---|---|
| Continuous | 0.26(几乎等于没做) |
| Discrete | 0.76 |
连续表征 token 在 AR 里误差累积——后面位置基于前面位置的预测,小误差被指数放大。离散化天然限制了状态空间,加上 next-token CE 的训练范式,稳定性优势是巨大的。
3.4 与现有 SOTA 比较
不加 LLM rewriter:GenEval 0.84(略胜 BAGEL 0.82,平 BLIP3-o 0.84),DPG-Bench 84.15。加 rewriter 后到 0.88,对齐统一模型的 SOTA。
3.5 最有意思的发现:Pixel+RF 在理解上反而更强
理解 benchmark(8 个)上,Pixel+RF 在其中 6 个上击败了 VAE+RF。作者的解释是:
去掉外部 VAE 隐空间,让理解和生成真正共享同一份表征空间,耦合更紧。
这反过来回应了开篇的诊断——VAE 不只是生成侧的瓶颈,它同时也是理解侧的拖累,因为它把两条路径的表征空间撕开了。
3.6 编码器选择:DINOv3 > SigLIP2
DINOv3 在 5 个理解 benchmark 中 4 个胜出。作者归因于 DINOv3 的自监督目标保留更丰富的空间和结构信息——这与 RF 需要的"空间 layout scaffold"高度契合。
4. 这篇论文的真正贡献
抛开 GenEval 上 +0.02 的数字,这篇论文的真正贡献是对 UMM 架构哲学的一次纠偏:
- 诊断:"VAE 是工程便利,不是架构必然"——并量化了它的代价。
- 方案:通过"自回归预测离散化的内部表征" + "in-context 注入"两个简单设计,把语义脚手架内化进模型。
- 结论:像素空间生成不仅可行,且与统一多模态建模更兼容——这是一个反直觉但被实验充分支持的结论。
它和 BAGEL 的关系
RF 用了 BAGEL 的 MoT backbone 和数据 pipeline,所以可以看作"BAGEL - VAE + RF"的对照实验。两者数字接近(GenEval 0.84 vs 0.82)但 RF 的训练成本更低(去掉 VAE 那部分),且理解侧更强。
没说的话
- 没和 from-scratch 训练比:模型仍是从 Qwen3-A3B 初始化,纯从头训会怎样不知道。
- 没扩展到视频:时序模态下"表征 token 序列"会爆炸,怎么处理是开放问题。
- codebook 的语义可解释性没分析:16,384 个 prototype 学到了什么概念?是不是有 mode collapse 的细分模式?
5. 给我们的启发
对设计 UMM 的启发
- 质疑"冻结预训练组件"的默认设定。VAE / CLIP / 离散 tokenizer 都是借来的工具,借得越多越受制于借源的目标。
- 共享表征空间是关键——理解和生成走同一条路径才能互相增强,否则就是"两个套间合住一间房"。
- conditioning 应当尽可能以 token 进入 attention,而不是以 loss 挂在中间。这与 in-context learning 的成功本质上是一回事。
对设计训练目标的启发
- 离散化 + 自回归 + CE 这套组合的稳定性远超连续回归——这条经验在 RQ-VAE、MaskGIT、本文都成立。
- EMA 副本提供训练目标是稳定化的小但关键的细节(MoCo/BYOL/DINO 谱系都是这套)。
- Sinkhorn-Knopp 是防止 codebook 塌缩的低成本工具,应当成为离散表征学习的标配。
一个开放问题
如果"中间表征 scaffold"这个思路是对的,那么 LLM 的"chain of thought" 和 UMM 的"representation token sequence" 是不是同一个东西的不同形态?两者都是"在最终输出之前,先生成一个结构化的中间表征序列"——这或许是 next-token paradigm 在多模态上的统一表达。

