Mixture-of-Transformers — 多模态模型不一定要所有模态共用一套层
这篇论文提出 MoT:Mixture-of-Transformers。它的直觉很朴素:文本、图像、语音虽然都能被变成 token,但它们的统计规律和训练难点不一样。与其让一个 dense Transformer 的全部参数同时服务所有模态,不如按模态拆开非 embedding 参数,让文本 token 走文本参数、图像 token 走图像参数、语音 token 走语音参数;同时保留全局 self-attention,让不同模态仍然能互相看见。结果是,在多个多模态预训练设置里,MoT 用明显更少 FLOPs 达到 dense baseline 的质量。
背景铺垫
- 多模态基础模型把不同数据都变成 token。 文本本来是 token,图像可以用 tokenizer 变成离散 image token,语音也可以变成离散 speech token。
- 早融合模型把这些 token 放进同一条序列。 Chameleon 这类模型会让文本和图像 token 交错进入同一个 Transformer,靠 self-attention 建模跨模态关系。
- dense Transformer 默认所有模态共享参数。 同一套 attention、FFN 和 LayerNorm 同时处理文本、图像、语音,这很统一,但也可能互相干扰。
- MoE 提供了“稀疏激活”的思路。 MoE 每个 token 只走部分专家来省算力,但 learned router 会带来负载均衡、训练不稳和推理因果性问题。
问题是什么
- 多模态预训练比纯文本更贵。 论文提到 Chameleon 需要 9.2T 混合 token,而 LLaMA2 文本训练是 2T token 量级,训练预算压力很大。
- 不同模态的优化目标会冲突。 图像、文本、语音在 dense 模型里共用参数,训练动态不同,可能让某个模态拖累另一个模态。
- 特征空间天然按模态分开。 作者做 PCA 发现,即便输入都被当成 token,模型中间表示仍会形成文本、图像、语音的不同簇。
- 普通 MoE 不一定适合多模态生成。 learned router 需要学会分配专家,但多模态早期训练本来就难,router 和专家一起没训好时容易不稳。
核心想法
- 按模态拆 Transformer 参数。 MoT 为文本、图像、语音准备不同的 attention 投影、FFN 和 LayerNorm;每个 token 根据自己的模态走对应参数。
- 保留全局 self-attention。 参数按模态拆开,但注意力仍然在完整混合序列上做,文本 token 仍能 attend 到图像 token。
- 路由规则是确定的。 MoT 不让 learned router 猜专家,而是直接按 token 的模态分派参数,因此没有 MoE 常见的负载均衡训练问题。
- 激活 FLOPs 和 dense 对齐。 论文控制实验中,MoT 和 dense baseline 的训练/推理 FLOPs 可比;收益来自更合适的参数分工,而不是偷少算了。
混合输入序列
text + image + speech tokens
形式
不同模态 token 交错出现
目标
仍然需要跨模态理解
→按模态分组
模态专属参数
attention / FFN / LayerNorm
文本
走文本 Transformer 参数
图像/语音
走各自参数分支
→全局注意力
统一输出
cross-modal context kept
关键点
参数分开,信息不隔离
收益
更快达到 dense 质量
方法怎么做
- 每层先按模态取出 token。 如果一个位置是图像 token,就进入图像分支;如果是文本 token,就进入文本分支。
- Q、K、V 投影按模态分别计算。 文本、图像、语音使用各自的 projection matrix,把 token 映射成 query、key、value。
- 注意力矩阵在全序列上计算。 各模态的 Q/K/V 会按原始顺序拼回去,然后做一次全局 self-attention,跨模态依赖没有被切断。
- 输出投影、LayerNorm 和 FFN 也按模态分开。 这相当于每个模态有自己的“处理器”,但它们共享同一个序列上下文。
- 它能适配不同训练目标。 在 Chameleon 设置里图像是离散 token 自回归生成;在 Transfusion 设置里,文本用自回归,图像用 diffusion objective。
Dense Transformer
所有模态共用一套层
结构最简单,但文本、图像、语音都争同一组非 embedding 参数。
MoE
learned router 选专家
稀疏激活很强,但 router 可能不均衡,训练和推理都更复杂。
MoT
modality routing
路由由模态决定,简单稳定;全局注意力保留跨模态交互。
新意在哪里
- 它把稀疏性从 FFN 扩展到整层 Transformer。 之前很多方法只在 MoE/FFN 层做专家,MoT 连 attention projection 和 LayerNorm 也按模态拆。
- 它不是把多模态切成多个孤立塔。 多塔模型容易丢跨模态早融合优势;MoT 的全局 attention 让所有 token 仍处在同一个上下文里。
- 它把“模态差异”作为路由信号。 作者的 PCA 分析说明模态本来就在表示空间中分开,所以用模态做确定性路由是有经验依据的。
- 它和 MoE 可以互补。 论文还做了早期探索:在 MoT 的文本分支里放 MoE-4x,可以进一步提升文本,同时保留图像分支收益。
旧做法:统一参数
one transformer for all modalities
优点是干净统一;问题是每个模态的统计规律不同,共用参数可能造成竞争。
MoT:统一序列,分开参数
shared context, modality-specific weights
保留跨模态 attention,同时给不同模态自己的 FFN、attention projection 和 LayerNorm。
结果速览
- Chameleon 7B 用 55.8% FLOPs 匹配 dense。 在文本+图像自回归设置里,MoT 达到 dense baseline 的验证质量,同时节省约 44.2% 训练 FLOPs。
- 图像模态收益尤其大。 7B Chameleon 中,MoT 只需 34.8% dense 训练步数就能匹配图像训练损失。
- 加入语音后收益更明显。 在 text+image+speech 设置里,MoT 达到 speech dense baseline 表现只需要 37.2% FLOPs。
- Transfusion 里小 MoT 能打过大 dense。 760M MoT 用 1.4B dense 一半 FLOPs,在 CLIP、FID、CIDEr 和图像训练损失上都更好。
- 墙钟时间也真的变少。 在 AWS p4de.24xlarge A100 上,7B MoT 达到 dense 图像质量只需 47.2% 时间,文本质量需 75.6% 时间。
局限与开放问题
- 它需要知道 token 属于哪个模态。 对文本、图像、语音这种边界清楚的场景很自然;对更细粒度或混合表示,模态标签可能没那么简单。
- 参数总量会增加。 激活 FLOPs 可控,但每个模态都有一套非 embedding 参数,存储、通信和部署调度仍要认真处理。
- 文本收益没有图像那么稳定。 在 Transfusion 设置里,MoT 对文本训练/验证损失提升较小,作者也认为文本本身可能已经比较高效。
- 结果主要来自预训练对比。 论文有 fine-tuning 展示,但真实产品还会关心对齐、工具使用、长上下文和端到端推理能力。
- 系统收益依赖集群实现。 MoT 的实际 wall-clock 加速和 GPU 数、通信模式、batch 内模态比例有关,不能只看理论 FLOPs。
影响
- 它给多模态 scaling 一个很清晰的方向。 不一定要让所有模态共享同一套大层;按模态分配参数可能是更便宜的扩展方式。
- 它把 MoE 讨论从“专家怎么学路由”拉回到“任务结构是什么”。 对多模态模型来说,模态本身就是强结构信号,未必需要 router 从零学习。