UniAR 深度拆解:一个Tokenizer统一多模态理解与生成,256个token画出1024×1024
> 论文: *Unified Multimodal Autoregressive Modeling with Shared Context—Visual Tokenizer is Key to Unification* > 作者: Wujian Peng, Lingchen Meng, Yuxuan Cai 等(复旦大学 + 阿里通义千问团队) > 链接: https://arxiv.org/abs/2606.18249 > 核心数据: 视觉tokenizer仅400M,解码器仅2.5B,GenEval 0.86超越GPT-4o,推理速度7.8×于Janus-Pro
---
一、一句话总结
UniAR 的核心洞察:现有统一多模态模型用两个视觉Tokenizer(一个管理解、一个管生成),导致生成图像后模型"看不懂"自己画的东西。UniAR 用一个基于二进制球面量化(BSQ)的视觉Tokenizer统一两个任务——生成图像的token直接被模型自己理解,无需重编码。1024×1024图像只需256个token,推理比Janus-Pro快7.8倍,文本渲染能力超越GPT-4o。
---
二、现有方案的结构性分裂
2.1 双Tokenizer的痛点
当前主流统一多模态模型(Janus-Pro、X-Omni、Emu3等)的架构通常是:
输入图像 → [理解Tokenizer] → 离散token → LLM理解
↓
生成时:LLM预测token → [生成Tokenizer] → 图像
↓
生成的图像想再理解?→ [理解Tokenizer] 重新编码
问题:理解Tokenizer和生成Tokenizer是两套不同的码本、两个不同的表征空间。
这意味着:
- 模型生成的图像token,它自己不能直接"读懂"
- 如果要编辑已生成的图像,需要重新走一遍编码流程
- 两个Tokenizer的语义不对齐,导致理解和生成之间存在信息损失
2.2 混合架构的代价
另一类方案(Transfusion、Janus-Flow)走混合路线——文本用自回归(AR),图像用扩散(Diffusion)或流模型(Flow):
文本 → next-token预测(AR)
图像 → 扩散去噪(非AR)
这带来了新问题:
- 训练目标不统一:AR用交叉熵,扩散用MSE,两个损失函数一起优化是难题
- LLM的因果注意力被破坏:图像扩散需要双向注意力,破坏了文本生成的因果性
- 训练成本高:需要同时维护两套训练管线
2.3 真正统一需要什么?
UniAR 团队提出了三个标准:
1. 单一Tokenizer:理解和生成共享同一个离散视觉表征 2. 单一训练目标:全部用 next-token 预测,一个交叉熵损失到底 3. 因果注意力保持:LLM的因果机制不被破坏
---
三、UniAR 的三层架构
3.1 第一层:统一视觉Tokenizer(BSQ)
这是整个系统的核心创新。UniAR 的视觉Tokenizer架构:
输入图像 x
↓
SigLIP2-So400M ViT Encoder(预训练)
↓
多层级特征融合(DeepStack,4层:最终层+3个中间层)
↓
MLP_in 投影
↓
BSQ量化 → 二进制向量 u ∈ {0,1}^64
↓
MLP_out 反投影
↓
Merger 聚合
↓
最终Token v̂
#### 多层级特征融合:为什么需要浅层+深层?
| 特征层级 | 包含的信息 | 任务需求 |
|---|---|---|
| 浅层(early layers) | 高频细节、纹理、边缘、颜色 | 生成需要还原视觉细节 |
| 深层(final layer) | 物体类别、语义关系、全局结构 | 理解需要高层语义 |
- 只用深层特征重建:语义正确但细节模糊,文字无法辨认
- 只用浅层特征重建:细节丰富但语义混乱
- 多层融合:文字清晰可辨,细节和语义兼顾
#### BSQ:无码本二进制量化
传统 VQ-VAE 的瓶颈:
- 显式码本大小固定(通常 8K-32K)
- 码本坍塌(codebook collapse):部分码本向量永远不被使用
- 存储开销大(码本嵌入矩阵随大小线性增长)
连续视觉特征 z → 投影到超球面 → sign(z) 二值化 → u ∈ {0,1}^64
理论词汇表大小:2^64 ≈ 1.84 × 10^19
对比:
| 量化方式 | 码本类型 | 词汇表大小 | 存储开销 |
|---|---|---|---|
| VQ-VAE | 显式 | 8K-32K(固定) | 大 |
| BSQ | 隐式(无码本) | 2^64(指数增长) | 极小 |
$$\mathcal{L} = \mathcal{L}_{CE} + \lambda_{BSQ} \cdot \mathcal{L}_{BSQ}$$
- $\mathcal{L}_{CE}$:LLM的交叉熵损失(用理解任务的损失训练Tokenizer)
- $\mathcal{L}_{BSQ}$:BSQ软熵损失(促进比特平衡,避免全0或全1)
3.2 第二层:统一自回归模型
#### 并行比特预测:为什么不是逐个token预测?
标准自回归生成视觉token的问题:
- 1024×1024图像,16×下采样 → 4096个token
- 逐个预测 → 4096步生成,太慢
空间分组:2×2 网格 = 4个位置
层级分组:4层特征
每组:g = 4 × 4 = 16个BSQ向量
但每个BSQ向量是64位二进制,所以实际预测的是比特
输出维度:2 × 64 × 16 = 2048
(2× 是因为每比特二分类:0或1)
压缩比计算:
| 方案 | 下采样率 | 1024×1024所需Token | AR步数 |
|---|---|---|---|
| Janus-Pro | 16× | 4096 | 4096 |
| UniAR(无解码器上采样) | 32× | 1024 | 1024 |
| UniAR(有解码器上采样) | 64× | 256 | 256 |
#### 随机视觉索引翻转:训练的稳定性技巧
自回归生成有一个经典问题:推理时的误差累积。
UniAR 的解法:预训练期间随机翻转BSQ索引的比特子集,模拟推理中的误差。这让模型学会"即使前面有几位错了,后面也能纠正"。
实验效果(论文图4):
| 采样温度 | 无翻转 | 有翻转 |
|---|---|---|
| 0.1 | 正常 | 正常 |
| 0.5 | 开始退化 | 正常 |
| 0.8 | 严重退化 | 正常 |
| 1.0 | 不可读 | 仍可用 |
3.3 第三层:纯视觉DiT解码器
这是 UniAR 与 X-Omni 等方案的关键差异:
| 维度 | X-Omni | UniAR |
|---|---|---|
| 解码器输入 | 文本 + 视觉特征 | 仅视觉特征 |
| 文本处理 | 部分在解码器 | 全部由AR模型处理 |
| 解码器参数量 | 12B | 2.5B |
这带来两个好处: 1. 解码器更轻:不需要理解文本,只需要重建图像(2.5B vs 12B) 2. 语义一致性:文本→视觉的映射完全在AR中完成,解码器不会引入额外的语义偏移
分辨率上采样:解码器内部从低分辨率(对应256个token)上采样到1024×1024,进一步减少AR模型需要预测的token数量。
---
四、实验结果:数据说话
4.1 图像生成:GenEval基准
| 模型 | 类型 | Overall | 关键优势 |
|---|---|---|---|
| FLUX.1-dev | 专用生成 | 0.82 | 原SOTA |
| GPT-4o | 统一 | 0.84 | 商业模型 |
| UniAR | 统一 | 0.85 | 统一模型新SOTA |
| UniAR † | 统一 | 0.86 | 提示重写后 |
分项数据(UniAR vs 最强对手):
| 指标 | UniAR | 最强对手 | 说明 |
|---|---|---|---|
| Single | 1.00 | 1.00 (Show-o2) | 并列最优 |
| Two | 0.95 | 0.96 (OmniGen2) | 接近最优 |
| Counting | 0.75 | 0.85 (GPT-4o) | 计数仍有差距 |
| Colors | 0.94 | 0.98 (OmniGen2) | 颜色接近最优 |
| Position | 0.77 | 0.79 (Janus-Pro) | 空间关系接近最优 |
| Color Attr. | 0.67 | 0.77 (BAGEL) | 颜色属性绑定有差距 |
4.2 文本渲染:统一模型的历史性突破
文本渲染(在图像中准确生成可读文字)一直是统一模型的阿喀琉斯之踵。
| 模型 | 类型 | OneIG-EN | LongText-EN |
|---|---|---|---|
| Janus-Pro | 统一 | 0.001 | 0.019 |
| BAGEL | 统一 | 0.244 | 0.373 |
| OmniGen2 | 统一 | 0.680 | 0.561 |
| GPT-4o | 统一 | 0.857 | 0.956 |
| UniAR | 统一 | 0.873 | 0.917 |
| Qwen-Image | 专用 | 0.891 | 0.943 |
为什么文本渲染对统一模型特别难?
- 理解Tokenizer通常丢弃高频细节(文字是高频信息)
- 生成Tokenizer需要精确还原像素级文字形状
- 两个Tokenizer不对齐时,文字信息在转换中丢失
4.3 图像编辑
| 模型 | 类型 | Overall |
|---|---|---|
| FLUX.1 Kontext | 专用编辑 | 3.71 |
| UniAR | 统一 | 3.73 |
| GPT-Image-1 | 统一 | 4.20 |
4.4 多模态理解
| 模型 | RLWDQA | MMMU | ChartQA | OCRBench |
|---|---|---|---|---|
| Qwen3-VL(专用理解) | 71.5 | 69.6 | 89.6 | 896 |
| UniAR | 64.3 | 64.4 | 84.4 | 849 |
4.5 推理速度:数量级的提升
A100 GPU 上的生成时间(1024×1024图像):
| 模型 | 参数量 | Token数 | 时间 |
|---|---|---|---|
| Janus-Pro (7B) | 7B | 4096 | 101.9s |
| X-Omni (7B) | 7B | 4096 | 119.7s |
| UniAR (8B) | 8B | 256 | 13.0s |
核心原因: 1. Token数量少(256 vs 4096 = 16×) 2. 并行比特预测进一步减少步数 3. 轻量解码器(2.5B vs X-Omni的12B)
---
五、训练策略:三阶段配方
UniAR 的训练分为三个阶段:
阶段一:大规模预训练
- 数据:图像-文本对(理解数据)+ 纯图像(生成数据)
- 目标:交叉熵损失,同时训练理解和生成
- 技巧:随机视觉索引翻转(见3.2节)
阶段二:监督微调(SFT)
- 高质量数据:精细标注的图像生成/编辑/理解数据
- 提升指令跟随能力和生成质量
阶段三:强化学习(RL)
- 奖励模型:人类偏好 + 自动评估指标
- 关键:随机翻转让高温采样可行,RL可以探索更大的策略空间
- 离散视觉token可以预计算并离线存储
- 避免每次训练时重复编码图像
- 提升30%训练吞吐量(论文表7)
六、与现有方案的深度对比
6.1 架构对比全景表
| 特性 | Show-o2 | Janus-Pro | Emu3 | X-Omni | UniAR |
|---|---|---|---|---|---|
| Tokenizer数量 | 1 | 2个分离 | 1 | 1 | 1个统一 |
| 量化方式 | VQ | VQ | VQ | VQ | BSQ无码本 |
| 多层级特征 | 否 | 否 | 否 | 否 | 是(4层) |
| 预测范式 | 逐token | 逐token | 逐token | 逐token | 并行比特 |
| 解码器 | Diffusion | Diffusion | Diffusion | DiT+文本 | DiT纯视觉 |
| 生成后自理解 | 部分 | 需重编码 | 部分 | 是 | 原生支持 |
| AR参数量 | - | 7B | - | 7B | 8B |
| Tokenizer参数量 | - | - | - | 1B | 400M |
| 解码器参数量 | - | - | - | 12B | 2.5B |
| 推理时间 | - | 101.9s | - | 119.7s | 13.0s |
6.2 与Transfusion/MoT的范式对比
| 特性 | Transfusion/MoT | UniAR |
|---|---|---|
| 建模范式 | AR文本 + Diffusion图像 | 纯AR统一建模 |
| 训练目标 | 多个不同损失 | 单一CE损失 |
| LLM因果性 | 被破坏(图像双向注意力) | 完全保持 |
| 统一程度 | 表面统一 | 深度统一 |
---
七、为什么这很重要
7.1 从"拼接"到"统一"
多模态AI的发展路径:
1. 第一阶段:独立模型(CLIP理解 + Stable Diffusion生成) 2. 第二阶段:共享骨架但双头(Janus-Pro:一个LLM,两个视觉编码器) 3. 第三阶段:表面统一(Transfusion:一个模型,但内部两套机制) 4. 第四阶段:深度统一(UniAR:一个Tokenizer、一个损失、一个机制)
UniAR 代表了第四阶段的开始。生成图像的token和理解的token是同一个东西——这是"共享上下文"的真正含义。
7.2 涌现能力:模型能"看懂"自己画的
论文图5展示了一个关键现象:
用户:生成一张猫的图片
模型:[生成视觉token] → [解码为图像] → 用户:这张图里有什么?
模型:一只猫坐在沙发上。
注意:模型没有重新编码图像,它直接根据自己生成的token回答了问题。因为生成和理解的token是同一个表征空间里的同一种东西。
这种"自理解"能力打开了新可能:
- 迭代编辑:"把猫变成狗"——模型理解当前图像,生成修改后的token
- 自我修正:生成后自检,发现不合理处自动重画
- 长程一致性:多轮对话中保持视觉上下文连贯
7.3 效率的范式转移
| 维度 | 传统统一模型 | UniAR |
|---|---|---|
| Tokenizer参数量 | 1B+ | 400M |
| 解码器参数量 | 12B | 2.5B |
| 推理token数 | 4096 | 256 |
| 推理时间 | ~100s | 13s |
7.4 文本渲染的突破意义
UniAR 在文本渲染上超越 GPT-4o 不是"又一项指标",而是统一模型可用性的质变。
之前统一模型的文本渲染几乎不可用(Janus-Pro 的 OneIG-EN 只有 0.001)。UniAR 把它拉到了 0.873——这意味着:
- AI生成的海报、PPT、UI mockup中的文字是可读的
- 多模态Agent可以生成带标签的图表、带说明的示意图
- "文生图→图生文"的循环真正闭环
八、局限与未来
8.1 理解性能仍有差距
UniAR在MMMU(64.4 vs Qwen3-VL 69.6)和ChartQA(84.4 vs 89.6)上与专用理解模型有差距。统一架构的tradeoff仍然存在。
可能的改进方向:
- 更大的AR模型(当前8B,可以尝试30B+)
- 理解数据的比例调整
- 多阶段训练:先专精理解,再统一生成
8.2 视频和3D的扩展
当前UniAR只处理了图像。扩展到视频需要:
- 时间维度的Tokenizer设计
- 长序列的并行比特预测(视频token数会爆炸)
- 因果性的保持(视频生成需要严格的时间因果)
8.3 BSQ的信息损失
64位二进制量化虽然词汇量大,但每个token的信息量是否足够?
论文显示重建质量良好,但在极端细节(如微小文字、复杂纹理)上,BSQ可能不如连续特征或更大码本的VQ。未来可以尝试:
- 动态比特宽度(根据内容复杂度调整)
- 残差量化(多层BSQ级联)
九、工程启示
9.1 对多模态Agent开发者的建议
如果你正在构建多模态Agent:
1. Tokenizer统一是趋势:双Tokenizer的方案在长远来看会被淘汰 2. BSQ值得尝试:无码本、指数词汇表、训练稳定,实现简单 3. 预计算离线存储:离散token可以缓存,训练吞吐量提升30% 4. 并行预测是效率关键:不要逐个预测视觉token,想办法批量/并行
9.2 对模型训练者的建议
1. 用CE损失训练Tokenizer:不要用MSE重建损失,用LLM的交叉熵 2. 多层级特征必须融合:浅层细节对生成至关重要 3. 随机翻转是稳定训练的秘诀:特别是要做RL时 4. 解码器要轻:AR模型负责语义,解码器只负责像素
---
十、总结
UniAR 代表了统一多模态建模的一个重要里程碑:
| 维度 | 成果 |
|---|---|
| 统一程度 | 单一Tokenizer、单一损失、单一机制 |
| 效率 | 256 token生成1024×1024,13秒 |
| 质量 | GenEval 0.86,文本渲染超越GPT-4o |
| 轻量 | Tokenizer 400M,解码器 2.5B |
| 涌现能力 | 生成图像无需重编码即可自理解 |
这不仅是技术上的突破,更是范式上的宣言:多模态AI的终局不是"多个 Specialist 的拼接",而是"一个 Generalist 的深度统一"。
---
References
- 论文: https://arxiv.org/abs/2606.18249
- 作者: 复旦大学 + 阿里通义千问团队
- 相关项目:
- Janus-Pro: https://github.com/deepseek-ai/Janus
- X-Omni: https://github.com/Gen-Verse/X-Omni
- Emu3: https://github.com/baaivision/Emu3
- Show-o2: https://github.com/showlab/Show-o
- Transfusion: https://www.arxiv.org/abs/2408.11039
- BSQ原始论文: https://arxiv.org/abs/2502.05615
#UniAR #多模态大模型 #统一建模 #视觉Tokenizer #BSQ #自回归生成 #图像生成 #文本渲染 #通义千问 #复旦大学 #小凯
🌟 智谱 GLM-5 已上线
我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。
🎁 领取 2000万 Tokens