模型层 开放阅读

Switch Transformer

Switch Transformer

概念 ID
switch-transformer
更新时间
2026-05-29
来源数量
待补

Switch Transformer

Switch Transformer 深度学习页

3 秒看懂

Switch Transformer = 每个 token 只路由到 1 个专家(top-1 gating)的稀疏 MoE 架构,用更少的计算量撬动万亿级参数量,实现训练速度数量级跃升。

一句话定位:它不是”更大的 Transformer”,而是”用稀疏激活让参数量与计算量脱钩”的范式开创者。

3 分钟产业解释

它解决什么问题?

传统 Dense Transformer 的参数量和计算量(FLOPs)是线性绑定的——模型大一倍,推理/训练计算也大一倍。这使得超大模型的训练成本呈平方级攀升。

Switch Transformer 的核心洞察:如果我们允许每个 token 只激活模型中一小部分参数(稀疏激活),就可以将参数量推到万亿级别,而每个 token 的实际计算量仍然可控。

类比

想象一所拥有 128 个科室的大型医院(128 个专家)。传统”稠密”模型要求每位患者同时看所有 128 个科室——荒谬且昂贵。Switch Transformer 的做法是:每位患者进入大厅后,前台(路由器)根据症状直接分配到唯一一个最匹配的科室。单个患者花的钱少了,但医院总体接待能力大幅增加。

产业意义

  • Google Brain 团队 2021 年发布,论文发表于 JMLR 2022
  • 首次系统验证了 top-1 路由在 MoE 中的可行性与效率优势
  • 直接影响了后续一系列稀疏/混合架构:GShard → Switch → ST-MoE → Mixtral → DeepSeek-MoE
  • 论文标题本身即宣言:“Switch Transformers: Scaling to Trillion Parameter Models with Simple and Efficient Sparsity”

15 分钟专家深入

核心架构改动

Switch Transformer 的改动极其克制——仅将 Transformer 的 FFN(前馈网络)层替换为 MoE 层,其余结构(注意力、归一化、残差连接)完全不变。

标准 Transformer Block:
  Input → LayerNorm → Self-Attention → Residual → LayerNorm → FFN → Residual → Output

Switch Transformer Block:
  Input → LayerNorm → Self-Attention → Residual → LayerNorm → MoE-FFN → Residual → Output
                                                      ↑
                                              路由器 + N 个专家FFN

Top-1 路由机制

这是 Switch Transformer 最核心的贡献。设输入 token 的隐藏状态为 \mathbf{x},路由器是一个简单的线性层加 softmax:

G(\mathbf{x}) = \text{Softmax}(\mathbf{W}_r \cdot \mathbf{x})

其中 \mathbf{W}_r \in \mathbb{R}^{N \times d},$N$ 为专家数,$d$ 为隐藏维度。

关键决策:取 \text{argmax},选择概率最高的唯一一个专家:

i^* = \arg\max_i G(\mathbf{x})_i

\text{MoE-FFN}(\mathbf{x}) = G(\mathbf{x})_{i^*} \cdot \text{FFN}_{i^*}(\mathbf{x})

注意:输出仍乘以门控权重 G(\mathbf{x})_{i^*},这是一个连续值,保留了专家输出的”置信度”缩放。

与 Top-2 路由的关键区别

维度Top-2(GShard 等)Top-1(Switch)
每 token 激活专家数21
FFN 前向计算量/token2× 单专家 FFN1× 单专家 FFN
All-to-All 通信量较高(需分发到 2 个专家)较低
实现复杂度需要 combine 步骤更简单
质量略优接近(损失很小)

论文实验证实:top-1 在相同计算预算下性能接近 top-2,但吞吐量显著更高——这是工程上的关键胜利。

容量因子(Capacity Factor)

这是防止负载不均衡导致 token 被丢弃的关键超参数。

  • 每个专家被分配一个 buffer 容量 $C$,定义为: C = \text{CF} \times \frac{T}{N} 其中 $T$ 是序列中的 token 总数,$N$ 是专家数,\text{CF} 是容量因子。

  • CF = 1.0:每个专家恰好分到平均数量的 token(理想均匀时刚好够)

  • CF > 1.0(如 1.2、1.5):给每个专家额外余量,容纳不均匀分配

  • CF < 1.0:强制丢弃部分 token(token dropping),节省计算但损失信息

工程权衡:CF 越大越稳定但计算浪费越多;CF 越小越高效但丢 token 的风险越高。论文中推荐 CF 在 1.0–1.5 范围内调节。

辅助负载均衡损失

为避免”赢者通吃”(少数专家被过度使用,其余闲置),Switch Transformer 引入辅助损失 \mathcal&#123;L&#125;_&#123;\text&#123;aux&#125;&#125;

\mathcal&#123;L&#125;_&#123;\text&#123;aux&#125;&#125; = \alpha \cdot N \sum_&#123;i=1&#125;^&#123;N&#125; f_i \cdot P_i

其中:

  • f_i = 被路由到专家 $i$ 的 token 比例
  • P_i = 路由器分配给专家 $i$ 的平均概率
  • \alpha = 辅助损失系数(论文中常设为 10^&#123;-2&#125; 量级)
  • $N$ = 专家数量

该项在 f_i = P_i = 1/N(完美均匀)时取最小值,激励均匀分配。

选择性精度训练(Selective Precision)

一个关键的工程细节:路由器中的 softmax 操作必须在 fp32 精度下进行,即使模型其余部分使用 bf16/fp16 混合精度。路由器的线性变换 \mathbf&#123;W&#125;_r \cdot \mathbf&#123;x&#125; 通常可以保留在 bf16 计算,仅 softmax 提升至 fp32 以保证数值稳定性。

原因:softmax 输出是细粒度概率分布,低精度下容易出现数值不稳定(如 softmax 饱和、梯度消失),导致路由坍缩到少数专家。

┌─────────────────────────────────────┐
│         Switch Transformer Block     │
│                                      │
│  Token x (bf16)                      │
│       │                              │
│       ├──→ Expert FFNs (bf16)        │
│       │                              │
│       └──→ Router W_r (bf16)         │
│              │                       │
│              ↓                       │
│         Softmax (fp32)               │
│              │                       │
│              ↓                       │
│         argmax → 选择专家 i*         │
│              │                       │
│              ↓                       │
│         输出 = gate × FFN_i*(x)      │
└─────────────────────────────────────┘

技术原理(最深一层)

完整前向传播流程

输入序列: x ∈ R^&#123;seq_len × d_model&#125;
         │
         ▼
    ┌─ Self-Attention ─┐
    │  (标准 MHA/MQA)   │
    └────────┬─────────┘
             │ residual
             ▼
         LayerNorm
             │
             ▼
    ┌─ Switch MoE Layer ─────────────────────────┐
    │                                              │
    │  1. 路由计算:                                │
    │     S = Softmax(x · W_r^T)  ∈ R^&#123;seq_len×N&#125;│
    │     (W_r ∈ R^&#123;N × d&#125;, fp32)                 │
    │                                              │
    │  2. Top-1 分派:                              │
    │     expert_id = argmax(S, dim=-1)            │
    │     gate = max(S, dim=-1)                    │
    │                                              │
    │  3. Token 重排 (Permutation):                │
    │     按 expert_id 对 token 分组/排序           │
    │     形成 N 个 token bucket                    │
    │                                              │
    │  4. 容量截断:                                │
    │     每个 bucket 只保留前 C 个 token           │
    │     超出部分被丢弃 (dropped tokens)           │
    │                                              │
    │  5. 并行专家计算:                            │
    │     每个专家 FFN_i 独立处理其 bucket          │
    │     FFN_i: x → W_up · GELU(x) · W_down      │
    │     (bf16, 与标准 Transformer FFN 结构相同)  │
    │                                              │
    │  6. 门控缩放 + 反排列:                       │
    │     output_j = gate_j × FFN_&#123;id_j}(x_j)     │
    │     恢复原始 token 顺序                       │
    │                                              │
    └──────────────────────────────────────────────┘
             │ residual
             ▼
          输出

通信模式

在分布式训练中,MoE 层引入 All-to-All 通信:

Step 1 - Dispatch (All-to-All):
  Device 0 持有的 token → 需要发送给 Device 1, 2, 3 上的专家
  Device 1 持有的 token → 需要发送给 Device 0, 2, 3 上的专家
  ...以此类推

Step 2 - Expert Computation:
  每个设备上的专家处理收到的 token

Step 3 - Combine (All-to-All):
  处理结果发送回原始设备

通信量与专家并行度和 token 数量成正比。Switch Transformer 的 top-1 路由相比 top-2 路由,每个 token 只需访问一个设备的专家,因此 combine 通信量减半。

关键参数量级估算

以论文中描述的 Switch-Base 配置为参考(注意:以下为基于论文描述的定性估算,具体数值请参阅原论文 Table):

  • 隐藏维度 $d$:768(与 T5-Base 对齐)
  • 注意力头数:12
  • 层数:12(encoder)+ 12(decoder)
  • 专家数 $N$:典型为 128(Switch-Base-128 变体)
  • 单个专家 FFN 参数量 ≈ 标准 T5-Base FFN 参数量 / 128 × 128… 等等,这里需要澄清

澄清:专家数量增加时,每个专家的 FFN 大小不变(与原始 Dense FFN 相同),因此 MoE 层的 FFN 总参数量 = N × 单个 FFN 参数量。模型总参数量因专家数线性增长,但每个 token 的 FLOPs 只取决于 1 个 FFN(top-1)。

论文中最大的变体参数量达到万亿级别(~1.6T),专家数为 2048,但每个 token 的计算量仅相当于一个较小的 Dense 模型。


技术演进史

时间里程碑关键进展
2017Shazeer et al. Outrageously Large Neural Networks首次将 MoE 引入 LSTM/GRU,top-k 路由 + 噪声探索
2020GShard(Lepikhin et al.)MoE 引入 Transformer,encoder 中使用 top-2 路由,扩展到 600B 参数
2021Switch Transformer(Fedus, Zoph, Shazeer)Top-1 路由、简化 MoE、系统性 scaling 研究
2021MoE 分布式训练优化(Various)Megablocks(Stanford/Databricks)优化稀疏计算 kernel
2022ST-MoE(Zoph et al., Google)稳定训练的 MoE(encoder-decoder),训练稳定性与迁移能力研究
2023Mixtral 8×7B(Mistral AI)MoE 落地开源大语言模型,decoder-only,实际部署
2024DeepSeek-MoE / DeepSeek-V2共享专家 + 细粒度路由专家,进一步优化专家利用率
2024Mixtral 8×22B、DBRX(Databricks)MoE 架构成为开源大模型的主流路线之一

技术路线对比

维度Dense Transformer (T5/GPT)Switch TransformerDeepSeek-V2 MoEMixtral 8×7B
路由策略N/A(全参数激活)Top-1, 所有 tokenTop-K + 共享专家Top-2
每 token FLOPs全部 FFN 参数1/N × FFN 参数可配置2/N × FFN 参数
总参数量级受计算预算约束可大幅超越计算预算同左同左
通信模式AllReduce(张量并行)All-to-All(专家并行)All-to-AllAll-to-All
训练稳定性成熟需要选择性精度 + 辅助损失进一步改进相对稳定
推理友好度高(参数全部驻留显存)低(需 All-to-All)中等中等
适用架构Encoder / Decoder / Enc-DecEnc-Dec(原论文)Decoder-onlyDecoder-only

上下游

上游依赖

数据与基础设施层
├── 训练数据:C4(Colossal Clean Crawled Corpus)等大规模语料
├── 训算硬件:Google TPU(论文基于 TPU Pod 训练)
├── 框架:Mesh TensorFlow / JAX(Google 内部生态)
└── 基础架构:T5 Encoder-Decoder 骨架

关键技术输入层
├── MoE 路由理论:Shazeer 2017, GShard 2020
├── Transformer 架构:Vaswani et al. 2017
├── 稀疏计算思想:条件计算 (Conditional Computation)
└── 负载均衡理论:最优传输 / 均匀分配

下游影响

直接后继架构
├── ST-MoE (Google, 2022) —— 稳定化训练
├── Mixtral 8×7B / 8×22B (Mistral, 2023-2024) —— 开源 MoE LLM
├── DeepSeek-MoE / V2 / V3 (DeepSeek, 2024-2025) —— 细粒度路由
├── DBRX (Databricks, 2024) —— 企业级 MoE
└── Qwen-MoE / Grok-1 等

工程生态影响
├── Megablocks (Databricks) —— 稀疏计算 CUDA kernel
├── Tutel (Microsoft) —— MoE 通信优化
├── vLLM / TensorRT-LLM —— MoE 推理优化
└── HuggingFace Transformers —— Switch Transformer 集成

关键指标

指标含义Switch Transformer 典型值/范围
专家数 $N$MoE 层中并行 FFN 的数量8–2048(论文覆盖范围)
容量因子 CF每个专家 buffer 相对平均分配的倍数1.0–1.5
辅助损失系数 \alpha负载均衡损失的权重~0.01 量级
Token dropping rate因容量不足被丢弃的 token 比例取决于 CF 和均匀度
FLOPs 相对加速相同质量下相比 Dense 的训练速度论文报告约 7×(Switch-Base vs T5-Base)
参数效率比总参数量 / 每 token 激活参数量N 倍(N=专家数)

供需与市场数据

⚠️ 注意:Switch Transformer 本身是 Google Research 的学术成果,无独立商业化产品。以下为 MoE 架构在产业中的市场映射。

MoE 模型的训练计算需求(估算)

模型架构总参数量训练硬件(公开信息)
Switch-C(最大变体)Enc-Dec MoE~1.6T [论文]Google TPU Pod(具体规格未充分披露)
Mixtral 8×7BDec-only MoE~46.7B(激活 ~12.9B)[Mistral]未充分披露,估算数百至千卡集群
DeepSeek-V3Dec-only MoE~671B(激活 ~37B)[DeepSeek]2048 H800 [DeepSeek 技术报告]
Grok-1Dec-only MoE~314B(公开)[xAI]未充分披露

市场趋势判断

MoE 架构已从学术概念快速过渡为产业主流

  • 训练侧:MoE 降低同等质量下的训练 FLOPs,但引入通信开销,对网络带宽要求更高
  • 推理侧:MoE 模型的总参数量大但激活参数少,显存占用仍需容纳全部专家参数,但每 token 计算量低——形成”显存墙 + 计算效率”的独特约束
  • 硬件适配:MoE 推动了对高带宽互联(NVLink/NVSwitch, TPU ICI)和大显存(HBM3/3e)的需求

代表公司与资本映射

公司/机构与 Switch Transformer / MoE 的关系资本映射
Google (Alphabet)Switch Transformer 原研团队所在;PaLM-2 使用 MoE 变体GOOGL
Mistral AIMixtral 系列——最成功的开源 MoE LLM未上市(估值~$6B, 2024)
DeepSeek (幻方量化)DeepSeek-V2/V3——创新的 MoE 路由设计非上市(母公司幻方)
NVIDIAMoE 模型训练和推理高度依赖 GPU + NVLink 互联NVDA
DatabricksDBRX MoE 模型 + Megablocks 开源框架未上市(估值~$43B, 2023)
xAIGrok-1 采用 MoE 架构未上市
HuggingFaceTransformers 库集成 Switch/Mixtral 等 MoE 模型未上市

投资逻辑

核心论点

  1. MoE 已成为大模型 Scaling 的确定性路线之一

    • Switch Transformer 证明了稀疏激活的可行性,Mixtral/DeepSeek-V3 验证了产业落地性
    • 在同等训练预算下,MoE 能达到更高质量——这意味着算力效率提升 = 成本下降 = 谁先掌握谁受益
  2. MoE 对基础设施的需求是”不同”而非”更少”

    • 训练 MoE 需要更高带宽的互联(All-to-All 通信模式)→ 利好 NVLink/NVSwitch 生态
    • 推理 MoE 需要更大显存容纳全部专家参数 → 利好 HBM 供应商
    • MoE 不是”省算力”,而是”重塑算力结构”
  3. 开源 MoE 模型降低准入门槛

    • Mixtral 8×7B 在普通 A100 集群上可部署 → 加速下游应用爆发
    • DeepSeek 开源权重 → 中国 AI 生态的 MoE 研究加速

风险点

  • MoE 推理的通信开销使其在边缘/端侧部署困难(当前主流仍是 Dense 小模型)
  • 负载不均衡问题在实际生产中仍是未完全解决的工程挑战
  • 如果硬件架构(如存算一体)根本性改变计算范式,MoE 的优势可能被重新评估

常见误读纠偏

❌ 误读 1:“Switch Transformer 的每个专家参数更少,所以模型更小”

纠正:这是最常见的误解。Switch Transformer 的总参数量 = N × 单个专家FFN参数量 + 共享参数(注意力层等),远大于同尺寸 Dense 模型。每个 token 只激活一个专家,所以单 token 计算量小,但模型总参数量可以非常大(论文中到 1.6T)。区分清楚:激活参数 ≠ 总参数

❌ 误读 2:“Switch Transformer 的 top-1 路由是 GShard top-2 的简化版,效果更差”

纠正:论文实验表明,在相同计算预算(FLOPs)下,top-1 路由的训练效率接近甚至有时优于 top-2。top-2 确实在某些指标上有微弱优势,但 top-1 的吞吐量显著更高(只需一半的 FFN 计算和更少的通信),综合收益更大。这不是”简化降级”,而是”减法设计的工程胜利”。

❌ 误读 3:“MoE 模型推理更快因为激活参数少”

纠正部分正确但容易误导。MoE 模型的每 token FLOPs 确实更少(只激活 1/N 个专家的 FFN),但:

  • 推理时仍需将全部专家参数加载到显存中
  • All-to-All 通信引入延迟(尤其在多 GPU 推理时)
  • 批处理效率可能因 token 路由到不同专家而降低
  • 实际吞吐量提升取决于具体实现、批大小、硬件拓扑

❌ 误读 4:“Switch Transformer 是 encoder-decoder,跟现在的 LLM 没关系”

纠正:Switch Transformer 的核心机制(top-1 路由、容量因子、辅助损失、选择性精度)是架构无关的。后续 Mixtral、DeepSeek-V2/V3、Grok-1 等 decoder-only LLM 全面采用了 Switch 提出的稀疏 MoE 范式。encoder-decoder 只是原论文选择的实验平台。


学习路径

入门(1–2 小时)

  1. 阅读论文 Abstract + Introduction + Section 3(Switch Routing)—— arXiv:2101.03961
  2. HuggingFace 博客:“Mixture of Experts Explained”(可视化讲解 MoE 基本概念)

进阶(半天)

  1. 论文完整阅读,重点关注 Section 4(训练稳定性)和 Section 5(Scaling Results)
  2. 对照阅读 GShard 论文(Lepikhin et al., 2020),理解 top-2 vs top-1 的设计取舍
  3. 阅读 ST-MoE 论文(Zoph et al., 2022),了解后续改进

工程实践

  1. HuggingFace Transformers 中运行 Switch Transformer 示例代码(switch-base-8 等小变体)
  2. 阅读 Megablocks 代码库(Databricks),理解稀疏计算的 CUDA kernel 实现
  3. 阅读 Mixtral 8×7B 技术博客,理解 MoE 在 decoder-only LLM 中的实际部署

前沿追踪

  1. DeepSeek-V2 技术报告——理解共享专家 + 细粒度路由的创新
  2. DeepSeek-V3 技术报告——了解大规模 MoE 的工程实践(负载均衡策略、通信优化等)
  3. 关注 MoE 推理优化:vLLM 的 Expert Parallelism 支持、TensorRT-LLM 的 MoE 优化

一句话总结

Switch Transformer 用”每个 token 只走一条路”的极简路由,证明了稀疏 MoE 可以高效扩展到万亿参数,奠定了此后所有 MoE 大模型的工程范式基础。


延伸阅读与来源

一手论文

  • Fedus, Zoph, Shazeer. Switch Transformers: Scaling to Trillion Parameter Models with Simple and Efficient Sparsity. JMLR, 2022. arXiv:2101.03961
  • Shazeer et al. Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer. ICLR 2017. arXiv:1701.06538
  • Lepikhin et al. GShard: Scaling Giant Models with Conditional Computation and Automatic Sharding. ICLR 2021. arXiv:2006.16668

后续重要工作

  • Zoph et al. ST-MoE: Designing Stable and Transferable Sparse Expert Models. 2022. arXiv:2202.08906
  • Jiang et al. Mixtral of Experts. 2024. arXiv:2401.04088
  • DeepSeek-AI. DeepSeek-V2: A Strong, Economical, and Efficient Mixture-of-Experts Language Model. 2024. arXiv:2405.04434

工程资源

source: 公开披露与公开资料整理 本页仅用于产业链学习、信息检索和研究辅助;不构成投资建议,不预测涨跌,不提供买卖、仓位或目标价建议。
完整概念页 复盘 13 节结构 公司投研页 沿产业链找到受益公司 投资课 把概念转成可跟踪模型