Emu3:图片、视频、文本、控制信号统一模型
1. 整体框架:纯 next-token prediction + 离散统一 token 空间
Emu3 的核心贡献是完全抛弃了传统的 compositional(CLIP encoder + LLM)或 diffusion 架构,而是将所有模态(文本、图像、视频)转化为统一的离散 token 序列,然后用一个decoder-only Transformer 在这个序列上做标准的 next-token prediction(自回归预测下一个 token)。
统一的关键在于:
- 所有模态都映射到同一个离散 token 空间(共享 codebook/vocabulary)。
- 所有任务(理解 + 生成)都用同一个目标函数:cross-entropy next-token prediction。
- 没有模态特定的头、fusion 模块或外部 encoder(如 CLIP、T5)。
这使得模型天然支持:
- 文本 → 图像/视频 生成(T2I/T2V)
- 图像/视频 → 文本 理解(I2T/V2T)
- 交错多模态生成(interleaved image-text)
- 甚至视语动作建模(vision-language-action for robotics)
2. 统一 Tokenizer
Emu3 使用两个 tokenizer,但共享同一个离散空间:
(1) 文本 Tokenizer
- 基于 Qwen 的 byte-level BPE tokenizer。
- 词汇表大小:151,643 个常规文本 token + 211 个 special/control token(用于分隔模态、meta 信息等)。
- 总共享词汇表最终为 184,622(文本 + 视觉 token ID 空间)。
(2) 视觉 Tokenizer(Unified Vision Tokenizer)
- 基于 SBER-MoVQGAN 架构(改进版 MoVQGAN)。
- Codebook 大小:32,768(即所有视觉 token 的可能取值范围是 0~32,767)。
- 输出固定长度:4,096 个离散 token(无论输入图像/视频分辨率或时长)。
- 压缩比率:
- 空间:8×8(即每 8×8 像素块 → 1 token)
- 时间(视频):4×(每 4 帧 → 1 帧的 token 表示)
- 支持任意分辨率和时长:encoder 先将任意大小的图像/视频下采样到固定网格(例如 512×512 或对应视频),再量化成 4,096 token。
- 关键改进(相比纯图像 tokenizer):
- 在 encoder 和 decoder 中各加入两个 temporal residual 层,使用 3D 卷积核,实现时间维度的下采样和更好的视频重建。
- 训练目标:L2 + LPIPS perceptual loss + GAN loss + commitment loss。
- 训练数据:LAION 高清图像 + InternVid 视频。
统一性体现:视觉 token 的 ID 直接占用文本词汇表的高位部分(最后 32,768 个 ID),这样整个模型的 embedding layer 是共享的——文本 token 和视觉 token 都从同一个 embedding 矩阵查找向量。
3. 模型架构(Decoder-only Transformer)
- 完全 decoder-only,类似于 Llama-2。
- 参数量:8.49B(32 层,hidden 4096,intermediate 14336,32 heads,GQA 8 kv-heads)。
- 唯一修改:embedding layer 扩展到 184,622 个 token(包含视觉 token)。
- 其他标准设计:
- RMSNorm
- SwiGLU activation
- RoPE positional embedding
- Dropout 0.1(对训练稳定性至关重要,消融显示无 dropout 会 collapse)
- 无 qkv/linear bias
为什么 decoder-only 就够了?
- 论文对比实验显示:从零训练的 decoder-only(只吃离散视觉 token)在图像理解任务上能追平晚融合的 encoder+LLM 架构(LLaVA-style),说明不需要预训练的 CLIP encoder 作为强先验。
4. 多模态数据序列化格式(如何把不同模态拼成一个序列)
这是统一训练的关键——所有样本都被格式化为一个长的 token 序列:
标准格式(以图像为例):
[BOS] {caption text} [SOV] {meta text} [SOT] {vision tokens (4096个)} [EOV] [EOS]
- [BOS]/[EOS]:序列起止。
- caption text:自然语言描述(有时放在视觉后,支持 I2T)。
- [SOV]:Start of Vision。
- meta text:纯文本描述分辨率、视频则额外包括帧率和时长(例如 "resolution: 512x512, fps: 24, duration: 5s")。
- [SOT]:Start of Token(视觉 token 开始)。
- vision tokens:4,096 个离散 ID。
- [EOV]:End of Vision。
- 额外特殊 token:
- [EOL]:图像中的行分隔(row break)。
- [EOF]:视频中的帧分隔(frame break)。
视频:同样是 4,096 个 token,但时间维度已压缩。
双向数据:约一半数据把 caption 放在视觉 token 之后,强制模型同时学习 language→vision 和 vision→language 映射。
动作模态扩展(Robotics):
- 使用 FAST tokenizer 将连续动作序列离散化为 token(codebook 1024)。
- 动作 token 占用文本 tokenizer 的最后 1024 个 ID。
- 序列示例:vision → action → vision → action(交错)。
5. 预训练细节(Pretraining)
- 从零开始(不使用预训练 LLM 或 CLIP 初始化,主要实验)。
- 数据混合:文本 + 图像-文本对(T2I 和 I2T) + 视频-文本对(T2V 和 V2T)。
- 损失:
- 标准 cross-entropy next-token prediction。
- 视觉 token 损失权重 0.5,文本 1.0(防止视觉 token 数量多主导优化)。
- 三阶段 curriculum:
- Stage 1:短上下文(5120),无 dropout,快速收敛。
- Stage 2:加 dropout 0.1,稳定优化。
- Stage 3:长上下文(65,536),引入视频数据,context parallelism 4。
- 总训练 token:约 12T+。
- 并行策略:tensor pp=2, pipeline pp=1, context pp=1→4。
6. 后训练(Post-training)
- 生成任务(T2I/T2V):
- Quality Fine-Tuning (QFT):只监督视觉 token,提升分辨率到 720p。
- Direct Preference Optimization (DPO):联合 CE + DPO loss,对齐人类偏好。
- 理解任务:
- 两阶段:(1) I2T(图像-文本对 + 纯文本,忽略视觉 token loss);(2) 视觉指令微调。
- 其他扩展(interleaved、robotics):直接在预训练权重上微调,序列中交错多种模态 token。
7. 推理优势
- 继承 LLM 推理框架(vLLM + FlagScale)。
- 支持 Classifier-Free Guidance(CFG):同时喂 conditional 和 unconditional prompt。
- 边设备只做 tokenization,传离散 ID 到服务器(token-centric infrastructure)。
总结:为什么能统一?
- 离散统一表示:所有模态 → 同一离散空间(32k 视觉 + 152k 文本)。
- 单一自回归目标:next-token prediction 天然支持因果生成和条件理解。
- 无模态特定组件:不需要 diffusion denoise、CLIP projector、Q-Former 等。
- 消融实验证明:这种极简设计在规模化后能匹配/超越传统 diffusion + compositional 架构。

浙公网安备 33010602011771号