阅读深度

统一多模态模型速览(Unified Multimodal Models)

覆盖 2022 ~ 2026 · 聚焦「理解 + 生成放进同一个模型」· 检索时间 2026-08-23 · 每篇 = 配方 + 一句话(问题 / 方法 / 效果)

零基础读法:先弄懂「理解」和「生成」为什么难放一起

定义:理解任务(看图回答问题、识别物体)需要语义表示;生成任务(文生图)需要能还原出细节的表示。统一多模态模型想把这两个任务放进同一个 Transformer,并尽量共享视觉表示。

方法:图像进入模型有几种选择:离散 VQ token、VAE 连续 latent、CLIP/DINO 语义表示、或直接原始像素 patch。理解通常用自回归 next-token;生成则可用离散 AR 或连续 flow/diffusion。共享与否则是另一个轴。

模型:Chameleon、Emu3 走全离散 AR;Transfusion、Show-o 把文本 AR 和图像扩散/flow 放进一个模型;Tuna 系列把 VAE 与语义表示级联;encoder-free 路线直接吃像素。

算法:文本 token 用交叉熵;离散图像 token 也用交叉熵;连续图像 token 常用 flow matching 的 MSE,回归速度或干净 patch。共享主干还是拆开 head,会直接影响训练稳定和两个任务是否打架。

评测:理解看 MMMU、VQAv2、OCRBench、V* 等;生成看 GenEval、DPG-Bench、FID/CLIP score;真正难的是看联合训练后是否比单任务模型更强,而不是互相拖累。

读每篇时问:视觉表示是什么格式?理解和生成各用什么目标?哪些部分是共享的?

0. 记法(这个领域的「最大公约数」)

统一多模态模型最关键的对比维度不是「预测什么 + 什么损失」(这些模型基本都有 next-token / flow / diffusion 目标),而是三件事:图像怎么进模型、理解/生成各用什么目标、两者共享还是分离。所以配方记法围绕这三个轴:

记号意思
vaeVAE 压缩的连续潜空间(生成常用)
rep表示编码器(SigLIP / CLIP / DINO)的语义表示(理解常用)
vq离散 codebook token(VQ-VAE)
pixel原始像素 patch,无编码器(encoder-free)
ar自回归 next-token(理解基本都用它)
flowflow matching / rectified flow
diff去噪扩散(DDPM 式)
1T单个 Transformer,理解 + 生成共享(native)
dec双端分离:理解编码器 + 生成编码器各一套

配方格式:模型: <视觉表示> -> <理解目标> / <生成目标> [结构]。例:Tuna-2: pixel -> ar / flow [1T,无编码器]。

一句话总结固定三段:问题 → 方法 → 效果,其中「效果」要落到具体 benchmark(GenEval、DPG-Bench、MMMU、GQA 等),不是「效果很好」这种空话。

1. 主线:三个轴在收敛

  1. 视觉表示:VAE 潜空间 → 表示编码器(SigLIP/CLIP)→ 离散 VQ token → 原始像素 patch。方向是「把编码器一层层拆掉」。
  2. 结构:双端分离(理解/生成各一套编码器,Janus)→ 单 Transformer 原生统一(Transfusion / Show-o / Emu3 / Tuna)。
  3. 目标:理解用 next-token(AR),生成从离散 AR(Emu3)与连续 flow/diffusion(Transfusion/Tuna)两条路往「像素空间 flow」汇合。

三条轴的终点是同一个结论(Tuna-2 证明):预训练视觉编码器不是必需的,端到端像素空间学习也能同时做好理解与生成。

2. Tuna 家族深度(读原文:问题 / 方法 / 效果)

Meta 的 Tuna 系列是一条清晰的「拆编码器」演化线:Tuna 用「VAE + 表示编码器」级联做统一视觉表示 → Tuna-R 删掉 VAE、只留表示编码器、生成走像素空间 flow → Tuna-2 连表示编码器也删掉、只用 patch embedding。每一步都更简单,但效果不降反升。

Tuna:Taming Unified Visual Representations(2512.02014)
Tuna: vae + rep(siglip) -> ar / flow [1T]
问题 理解与生成各自一套编码器,视觉表示格式不匹配、难端到端;方法 把 VAE 编码器与表示编码器(SigLIP)级联成一个统一的连续视觉表示,图像和视频都在同一空间里做理解 + 生成;效果 7B 下 GenEval 0.90、MMStar 61.2%,且联合训练让两个任务互相受益而非打架。

Tuna-R(VAE-free 变体)(见 Tuna-2 论文 §2)
Tuna-R: rep(siglip) -> ar / flow(pixel) [1T]
问题 VAE 是有损、多余的瓶颈;方法 删掉 VAE,保留 SigLIP 表示编码器 + connector,生成改用像素空间 flow matching(x-prediction);效果 理解与 Tuna 持平、生成反超(GenEval 0.88),证明「像素空间统一表示」可行。

Tuna-2:Pixel Embeddings Beat Vision Encoders(2604.24763)
Tuna-2: pixel -> ar / flow(pixel) [1T,无编码器]
问题 预训练视觉编码器是不是必需的、encoder-free 能不能赢;方法 连 SigLIP 也删掉,用最朴素的 patch embedding 把原始像素直接喂进 LLM decoder,单 Transformer 双 head(LM head 做理解 + flow head 做像素空间生成,x-pred + v-loss);效果 7B 下 MMMU 51.7、V* 77.3、CountBench 59.2、VisuLogic 81.7,GenEval 0.87、DPG-Bench 86.5——理解和细粒度感知(V*/CountBench)反超 Tuna-R/Tuna,生成持平;early 收敛慢但规模上去后更强。

3. 其他统一多模态模型(按视觉表示分类)

3.1 源头与早期统一

这条线的起点是「图像要不要先过一个编码器」。Flamingo 确立了「冻结视觉编码器 + 交叉注意力」的理解范式;Fuyu-8B 最早质疑编码器,直接用像素 patch;Chameleon 和 Transfusion 则最早把理解与生成塞进同一个 Transformer。

Flamingo(2204.14198)
Flamingo: rep(clip) -> ar [dec,理解-only]
问题 语言模型怎么「看懂」图像做 few-shot;方法 冻结预训练视觉编码器 + 交叉注意力注入 LLM;效果 确立了「视觉编码器 + LLM」的理解范式,但它是理解-only、不含生成;后续 Fuyu / Tuna-2 质疑视觉编码器是否必需,直接吃像素 patch——Flamingo 的冻结编码器 + 交叉注意力仍是理解主流,「必须有编码器」被挑战。

Fuyu-8B(Adept 2023,技术博客)
Fuyu-8B: pixel -> ar [1T,无编码器]
问题 视觉编码器带来架构复杂与信息损失;方法 直接把图像 patch 线性投影进 decoder-only Transformer,无专门视觉编码器;效果 最早证明「无编码器」可行,但只做理解、不生成;后续 Tuna-2 指出 encoder-free 早期收敛慢、规模上去后更强——Fuyu 的 encoder-free 思想被继承。

Chameleon(2405.09818)
Chameleon: vq -> ar(全模态) [1T,early-fusion]
问题 多模态模型各模态拼装、割裂;方法 文本与图像都离散成 token、一个 Transformer 从头训练做 next-token;效果 早期 mixed-modal early-fusion 代表作,证明单模型全模态 next-token 可行;后续 Show-o2 / Tuna 指出离散 token 有量化损失、质量受限,改连续表示——Chameleon 的单模型 early-fusion 思想被继承、全离散被部分弃。

Transfusion(2408.11039)
Transfusion: vae -> ar / diff [1T]
问题 文本与图像各用一套模型、一个模型两个目标;方法 单 Transformer,文本走 next-token、图像走去噪扩散,两个目标共享权重;效果 「一个模型两个目标」的标志性工作,后续 Tuna / Show-o 的框架底座;后续 Tuna 指出其视觉表示不够统一,把 VAE 与表示编码器级联成一个连续表示——Transfusion 的双 head 共享权重被继承。

3.2 离散 token 派(纯 AR)

这条路把图像也离散成 VQ token,于是「生成」和「理解」都变成同一个 next-token 问题,架构最干净,代价是量化损失。

Emu3(2409.18869)
Emu3: vq -> ar(全模态) [1T,纯 next-token]
问题 统一多模态能否只靠一个 next-token 目标;方法 文本+图像+视频全离散成 token,单一 Transformer 纯 next-token 训练;效果 把「next-token is all you need」推到多模态,理解/生成/视频统一;后续 Tuna 指出离散 token 有量化损失、质量受限,转连续 flow——Emu3 的 next-token 统一思想被保留、离散 token 被部分弃。

Show-o(2408.12528)
Show-o: vq -> ar + diff(离散) [1T]
问题 理解与生成难统一在一个模型;方法 离散视觉 token,文本 next-token + 图像离散扩散两个目标共享 Transformer;效果 早期单 Transformer 统一理解生成的代表,Show-o2 是改进版;后续 Show-o2 指出离散 token 有量化损失、质量受限,改连续视觉表示 + flow——Show-o 的共享 Transformer 被继承、离散扩散被改。

VILA-U(2409.04429)
VILA-U: vq -> ar + diff [1T]
问题 统一模型缺一个通用底座;方法 统一 VQ token + AR + 扩散做理解与生成;效果 开源统一理解+生成的代表作之一。

3.3 连续 / 潜空间派(flow + 扩散)

这条路保留 VAE 潜空间,生成用 flow/diffusion,理解用 AR,关键设计是「理解和生成是否共享视觉表示」。

Show-o2(2506.15564)
Show-o2: vae+rep -> ar / flow [1T]
问题 Show-o 离散 token 有量化损失、质量受限;方法 改用连续视觉表示(VAE + 表示编码器)、生成走 flow,理解生成共享;效果 7B 下理解 MME 1620.5、MMMU 48.9,生成 GenEval 0.76、DPG-Bench 86.14,是 Tuna 对标的主要对象。

Janus-Pro(2501.17811)
Janus-Pro: rep(理解) + vq(生成) -> ar [dec,双端分离]
问题 理解要语义表示、生成要重建表示,二者冲突;方法 理解与生成各用一套编码器、解耦,但共享同一个 LLM;效果 「双端分离」路线代表,避免统一表示的格式打架;后续 JanusFlow 指出离散 token 生成质量有限,把生成端换成 rectified flow + VAE——Janus 的双端解耦被继承。

JanusFlow(2411.07975,CVPR 2026)
JanusFlow: rep(理解) + vae(生成) -> ar / flow [dec]
问题 离散 token 生成质量有限;方法 保留 Janus 解耦思路,生成端换成 rectified flow + VAE;效果 把自回归与 rectified flow 统一,GenEval 0.63、DPG-Bench 80.09%、MJHQ FID-30k 9.51,超 SDv1.5/SDXL。

3.4 统一 tokenizer / 编码器支线

要「理解 + 生成共用一套视觉表示」,tokenizer 是关键。这条支线专注做一个「既保留语义、又能重建」的统一视觉 tokenizer。

UniTok(2502.20321)
UniTok: unified-tokenizer -> ar / diff [重建 $L_R+\lambda_{VQ}L_{VQ}$ + 图文对比]
问题 理解与生成各用不同 tokenizer;方法 联合训 VQ-VAE 重建($L_R+\lambda_{VQ}L_{VQ}$)与 CLIP 风格图文对比损失;效果 瓶颈在离散 token 的表示容量而非「重建 vs 语义」冲突,ImageNet rFID 0.38、零样本准确率 78.6%。

TokLIP(2505.05422)
TokLIP: 语义 token + 重建 -> 统一表示 [InfoNCE 对齐文本 + MSE 蒸馏 CLIP]
问题 CLIP 类表示缺重建能力、VAE 缺语义;方法 目标 $L=L_{contra}+L_{distill}$:InfoNCE 把 TokLIP 图像特征与文本对齐,MSE 向预训练 CLIP 教师蒸馏,同时保留重建;效果 语义 + 重建兼顾的统一表示。

BLIP3-o(2505.09568)
BLIP3-o: rep + vae -> ar / flow [1T]
问题 缺一个完全开源的统一多模态模型;方法 开源统一理解+生成的完整训练与数据;效果 开源社区的统一多模态基座。

3.5 无编码器 / 像素派(encoder-free)

最新方向:连表示编码器也去掉,直接用像素 patch。核心论据是「大规模的端到端联合训练,比预训练编码器的归纳偏置更强」。

Unveiling Encoder-Free Vision-Language Models(2406.11832)
encoder-free: pixel -> ar [1T,理解]
问题 视觉编码器是否必需;方法 用原始像素 patch 直接做 VLM,系统对比 encoder-free vs 有编码器;效果 揭示 encoder-free 理解的可行性与局限。

From Pixels to Words: Native Vision-Language Primitives at Scale(2510.14979)
pixel → ar [1T,无编码器]
问题 encoder-free 能否上规模;方法 大规模原生像素→语言的训练;效果 证明无编码器路线可扩展。

4. 共识与分歧(速记版)

共识:

  1. 「理解 + 生成放一个 Transformer」是方向,native 统一优于长期拼装。
  2. 像素空间表示在细粒度视觉理解(V*、CountBench)上优于潜空间。
  3. 理解与生成联合训练能互相促进(Tuna 观察),不是必然打架。
  4. 去 VAE 是收益确定的一步(Tuna-R/Tuna-2/RAE 都证实)。

分歧 / 难点:

  1. 离散 vs 连续:VQ 离散 token(Emu3/Chameleon)架构最干净但量化有损;连续 flow(Transfusion/Tuna)质量高但更复杂。
  2. 单端 vs 双端:native 统一(Tuna)vs 双端分离(Janus)——统一表示是否真的能同时满足理解与生成仍有争议。
  3. 是否要编码器:encoder-free(Tuna-2/Fuyu)早期收敛慢,但规模上去更强;预训练编码器的归纳偏置到底值不值,尚未定论。
  4. 评估:理解 benchmark 与生成 benchmark 难以在同一尺度下比较,缺一个统一评测。

说明:Tuna 家族(Tuna / Tuna-R / Tuna-2)已逐篇读原文(摘要、方法、实验表、参考文献)。其余模型以 Tuna-2 的参考文献列表 + 原文标题为准归纳,个别未标注精确 arXiv 的(如 TokLIP)以标题可检索为准。本文件从 pixel-diffusion 速览里「统一多模态」一节拆出、单独成篇。