Switch Transformers: Scaling to Trillion Parameter Models with Simple and Efficient Sparsity

用更简单的单专家路由,把 Mixture of Experts 从难以训练的研究方向,推进成可规模化的大模型架构选择。

年份与会议

2021 · arXiv

作者

William Fedus、Barret Zoph、Noam Shazeer

主题

MoE

阅读时长

约 2 分钟

收录时间

2021/01/11

标签

原文链接

https://arxiv.org/abs/2101.03961

为什么 MoE 会成为“大模型继续变大”的另一条路

Transformer 规模继续扩张之后,研究者很快遇到一个现实问题:如果所有 token 都要经过所有参数,那么模型越大,训练和推理成本就越难承受。

Mixture of Experts 的核心吸引力正在这里。它尝试用一种稀疏激活思路回答问题:

能不能把参数总量做得很大,但让每个 token 只激活其中一小部分?

如果可以,那么模型就有机会同时拥有:

  • 更大的参数容量
  • 相对可控的单 token 计算成本
  • 更强的条件化表达能力

《Switch Transformers》之所以关键,是因为它把这个想法从“理论上很诱人、工程上很难训”推进到了一个更实用的阶段。

背景:MoE 在这篇论文之前为什么没完全跑起来

Mixture of Experts 并不是全新概念。在更早的工作里,大家已经知道稀疏专家网络可能非常高效,但它长期面临几个顽疾:

  1. 路由机制复杂,训练不稳定。
  2. 专家负载容易极不均衡,部分专家过载,部分专家闲置。
  3. 跨设备通信开销大,尤其在大规模分布式训练中很痛。
  4. 实际 wall-clock speedup 往往没有论文里的理论增益那么理想。

因此,MoE 虽然一直很有吸引力,却长期没能成为主流底座。Switch Transformer 的真正价值,就在于把很多复杂设计做了“降复杂度”的重构。

核心想法:把路由简化成“每个 token 只去一个专家”

传统 MoE 经常会让一个 token 同时分配给多个专家,这虽然增强了表达能力,但也显著增加了实现复杂度与通信成本。

Switch Transformer 采取了一个非常大胆、也非常工程化的简化:

  • 每个 token 只路由到一个专家。

这就是所谓 top-1 routing。相比同时选多个专家,它的好处很直接:

  • 路由逻辑更简单
  • 通信成本更低
  • 训练实现更容易稳定
  • 真正的速度收益更容易兑现

这也是为什么论文标题里强调的是 simple and efficient sparsity。它不是在追求最华丽的 MoE 设计,而是在追求足够简单、足够可训练的版本。

核心结构:稀疏专家通常替代哪里

在 Switch Transformer 中,MoE 并不是替换整个 Transformer,而是主要替换其中计算量很高的 FFN 部分。

可以把它理解成:

  • 注意力层仍然负责 token 间的信息交互。
  • FFN 位置不再是一个共享的大前馈网络,而是多个专家网络的集合。
  • 路由器根据 token 表示,决定它该进入哪个专家。

这种设计很自然,因为 FFN 本来就是参数最重、但对每个 token 又相对独立的位置。把它做成专家混合,比直接改造注意力层更符合工程直觉。

为什么“容量大但计算不线性增加”这么重要

Switch Transformer 最诱人的地方,是把“总参数量”和“单 token 实际计算量”部分解耦了。

在稠密模型中:

  • 参数翻倍,单 token 通常也要更多计算和更多显存。

在稀疏 MoE 中:

  • 总参数可以继续增长。
  • 但每个 token 只走一小部分专家,所以实际计算增长没有那么夸张。

这让模型扩容出现了新的维度:不只是堆更深、更宽的稠密层,还可以通过专家数量提升容量。后面很多 MoE 模型,包括 Mixtral、DeepSeekMoE 等,都在沿着这条路线继续演化。

训练难点:为什么负载均衡是生死问题

MoE 不是只要有路由器就万事大吉。最大的工程问题之一,是专家负载均衡。

如果路由器总把大部分 token 发给少数几个专家,就会出现:

  • 热门专家过载
  • 冷门专家学不到东西
  • 通信和显存分布不均
  • 整体训练吞吐下降

Switch Transformer 因此非常强调辅助损失、容量限制和路由策略设计,目的是让不同专家都能被合理使用。对 MoE 来说,路由器不是一个小配角,而是整个系统能否稳定训练的关键。

为什么这篇论文特别强调低精度训练

论文还强调了一个很有工程意味的点:大规模稀疏模型也可以在较低精度下稳定训练,例如 bfloat16。

这意味着 MoE 不只是“理论上参数很多”,而是真正能进到现代大规模训练基础设施里。对产业界来说,这是非常关键的信号,因为一个架构如果只能在高精度、特殊环境下勉强训练,就很难真正扩张。

实验结果说明了什么

Switch Transformer 最打动人的结论,不只是“参数上到了 trillion 量级”,而是:

  1. 稀疏模型确实能在固定计算预算下取得更好效果。
  2. 更简单的 top-1 路由已经足够有用,不必一开始就上很复杂的 MoE 设计。
  3. MoE 的价值不是纸面参数炫技,而是更高的 pre-training efficiency。

这使得 MoE 从“看起来很酷的方向”变成了“值得被认真纳入大模型扩容工具箱”的方向。

它和稠密 Transformer 的关系

Switch Transformer 并不是要彻底取代普通 Transformer,而是告诉我们:当稠密扩容越来越贵时,稀疏化是一条现实备选路线。

可以这样粗略对比:

  • 稠密模型:实现简单、训练成熟、推理路径稳定。
  • MoE 模型:容量扩展更激进,但路由、通信和服务系统更复杂。

因此,MoE 的选择不只是算法问题,也是系统问题。很多团队最终会问的不是“MoE 分数更高吗”,而是“它在我们的训练和推理栈里值不值”。

后续影响:为什么它能影响到今天的开源模型

Switch Transformer 的影响主要体现在两层:

1. 它让 MoE 再次回到主流视野

之后大家不再把稀疏专家看成冷门方向,而是认真研究如何把 MoE 做得更稳、更省、更易部署。

2. 它成为后续开源 MoE 模型的重要思想来源

虽然今天很多热门 MoE 系统在路由细节、训练配方和服务策略上都发生了变化,但“稀疏激活 + 负载均衡 + 专家替代 FFN”的主线,很大程度上就是被这篇论文推到台前的。

从这个意义上讲,Switch Transformer 是现代 MoE 复兴的重要里程碑。

局限:MoE 并不是“免费午餐”

虽然 MoE 很诱人,但它并没有消灭大模型成本,只是把成本结构改变了:

  • 训练时对分布式通信更敏感。
  • 路由与负载均衡本身就是新的复杂度来源。
  • 推理时的服务系统更难做,尤其是多专家跨设备调度。
  • 参数总量大并不总等于上线更友好。

因此,MoE 的价值通常在大规模训练阶段更容易体现,而上线阶段则需要更强的系统支持。这也是为什么 MoE 论文必须和推理系统论文一起看,才能真正理解它的工业价值。

读这篇论文时最该抓住什么

如果你只带走三件事,请记住:

  1. MoE 解决的是“模型容量继续扩张,但单 token 计算不要同步爆炸”。
  2. Switch 的贡献核心是把复杂路由大幅简化。
  3. 稀疏架构的难点不只在模型本身,更在路由均衡和系统实现。

理解这三点,你再去看 Mixtral、DeepSeekMoE 或各种专家路由改进时,就能更快把它们放进同一条演化线。

延伸阅读