混合专家模型(Mixture of Experts)
概述
混合专家模型(MoE)通过稀疏激活实现模型容量的大幅扩展而不等比例增加计算量。从Switch Transformer到Mixtral、DeepSeek-MoE和Llama 4,MoE已成为大模型扩展的主流架构。
graph TD
A[MoE架构] --> B[门控网络]
A --> C[专家网络]
A --> D[负载均衡]
B --> B1[Top-K门控]
B --> B2[Noisy Top-K]
B --> B3[Expert Choice]
C --> C1[Dense FFN]
C --> C2[共享专家+路由专家]
D --> D1[辅助损失]
D --> D2[Expert并行]
subgraph 代表模型
E1[Switch Transformer]
E2[Mixtral 8x7B]
E3[DeepSeek-MoE]
E4[Llama 4 MoE]
E5[Jamba]
end
1. MoE基础
1.1 核心思想
标准Transformer的每个token经过所有FFN参数。MoE将FFN替换为多个"专家",每个token只激活部分专家。
稀疏门控函数:
MoE层的输出:
其中:
- \(N\):专家总数
- \(E_i\):第 \(i\) 个专家网络(通常是FFN)
- \(G(x)_i\):门控网络为第 \(i\) 个专家分配的权重
- TopK:只保留前K个最大值,其余设为0
1.2 关键公式
带噪声的Top-K门控(Shazeer et al., 2017):
添加噪声有助于探索和负载均衡。
1.3 计算效率
| 模型类型 | 总参数 | 每token激活参数 | 计算量 |
|---|---|---|---|
| Dense 7B | 7B | 7B | 1× |
| MoE 8×7B (Top-2) | 47B | ~13B | ~2× Dense 7B |
| MoE 16×7B (Top-2) | 100B+ | ~13B | ~2× Dense 7B |
核心优势:参数量大幅增加,但每个token的计算量只与激活的专家数相关。
2. Switch Transformer
2.1 设计
Switch Transformer(Fedus et al., 2022):Top-1路由,每个token只选一个专家。
简化路由:
设计原则:
- Top-1比Top-2更简单、更高效
- 大量专家(128个、256个)
- 每个专家容量有限(expert capacity factor)
2.2 容量因子
其中 \(n\) 是token数,\(N\) 是专家数。超过容量的token被丢弃(overflow)。
2.3 负载均衡损失
其中:
- \(f_i\):被路由到专家 \(i\) 的token比例
- \(P_i\):门控网络分配给专家 \(i\) 的平均概率
这个损失鼓励 \(f_i\) 和 \(P_i\) 都趋向均匀 \(1/N\)。
3. Mixtral
3.1 Mixtral 8x7B
Mixtral(Jiang et al., 2024):开源MoE的里程碑。
架构:
- 8个专家,每个约7B参数(实际每个专家是FFN部分)
- Top-2路由
- 总参数约47B,激活约13B
- 性能匹配LLaMA 2 70B
路由分析:
- 不同层的路由模式不同
- 某些专家在某些领域/语言上更活跃
- 但专家没有明确的"专业化"主题
3.2 Mixtral 8x22B
- 更大的专家(22B级别)
- 总参数约176B
- 性能进一步提升
4. DeepSeek-MoE
4.1 细粒度专家
DeepSeek-MoE:将专家进一步细分。
架构:
- 64个路由专家 + 2个共享专家
- Top-6路由
- 每个专家更小(细粒度)
共享专家(Shared Experts):
共享专家始终被激活,捕获通用知识;路由专家处理特化知识。
4.2 DeepSeek-V2/V3
DeepSeek-V2:
- MLA(Multi-Head Latent Attention)减少KV缓存
- DeepSeekMoE架构:160个路由专家 + 2个共享专家
- 每token激活21B/236B总参数
DeepSeek-V3:
- 671B总参数,每token激活37B
- 256个路由专家 + 1个共享专家
- 辅助损失无关的负载均衡策略
5. Llama 4 MoE
5.1 Llama 4 Scout & Maverick
Llama 4(Meta, 2025)采用MoE架构:
- Scout:16个专家,每token激活1个
- Maverick:128个专家,每token激活1个
特点:
- 交错注意力层(不是每层都有MoE)
- iRoPE:交替使用有/无位置编码的注意力层
- 原生多模态:支持图像和文本
6. Jamba:MoE + SSM
6.1 混合架构
Jamba(AI21, 2024):结合Transformer注意力、Mamba SSM和MoE。
架构:
Layer 1-2: Mamba + MoE
Layer 3: Attention + MoE
Layer 4-5: Mamba + MoE
Layer 6: Attention + MoE
...
优势:
- Mamba处理长序列高效
- Attention保持全局建模能力
- MoE扩大模型容量
- 52B总参数,12B激活,支持256K上下文
7. 训练挑战
7.1 负载不均衡
问题:某些专家被选中太多(热门专家),某些几乎不被选中。
解决方案:
| 方案 | 描述 |
|---|---|
| 辅助损失 | 添加均衡损失鼓励均匀分配 |
| Expert Choice | 由专家选择token而非token选择专家 |
| 容量限制 | 限制每个专家处理的token数 |
| 随机路由 | 加入随机性 |
7.2 专家崩塌(Expert Collapse)
问题:部分专家逐渐退化,不再被选中,形成"死专家"。
缓解方法:
- 初始化时确保专家多样性
- 定期重新初始化冷门专家
- 使用更强的正则化
- DeepSeek-V3的无辅助损失负载均衡
7.3 通信开销
Expert并行:不同专家分布在不同GPU上。
- 每个MoE层需要AllToAll通信(token分发到对应专家的GPU)
- 通信量与激活的专家数和token数成正比
- 需要高速互联(NVLink, InfiniBand)
graph LR
subgraph GPU0
T1[Tokens] --> E1[Expert 0]
T1 --> E2[Expert 1]
end
subgraph GPU1
T2[Tokens] --> E3[Expert 2]
T2 --> E4[Expert 3]
end
T1 -.->|AllToAll| E3
T1 -.->|AllToAll| E4
T2 -.->|AllToAll| E1
T2 -.->|AllToAll| E2
8. MoE vs Dense模型
| 维度 | Dense | MoE |
|---|---|---|
| 参数效率 | 低(全部激活) | 高(稀疏激活) |
| 训练FLOPs | 高 | 较低(相同性能下) |
| 推理速度 | 稳定 | 受路由和通信影响 |
| 内存需求 | \(\Phi\) | \(N \times \Phi_e\)(需存所有专家) |
| 微调 | 简单 | 复杂(路由稳定性) |
| 训练稳定性 | 好 | 需要额外技巧 |
| 扩展性 | 线性 | 亚线性计算增长 |
9. 总结
| 模型 | 年份 | 专家数 | TopK | 总参数 | 激活参数 |
|---|---|---|---|---|---|
| Switch Transformer | 2022 | 128 | 1 | - | - |
| Mixtral 8x7B | 2024 | 8 | 2 | 47B | 13B |
| DeepSeek-V2 | 2024 | 160+2 | 6 | 236B | 21B |
| DeepSeek-V3 | 2024 | 256+1 | 8 | 671B | 37B |
| Llama 4 Scout | 2025 | 16 | 1 | - | 17B |
| Jamba | 2024 | 16 | 2 | 52B | 12B |
核心趋势:
- 从粗粒度到细粒度专家
- 共享专家 + 路由专家的混合设计
- MoE与SSM的融合(Jamba)
- 更智能的负载均衡策略
- 原生多模态MoE
参考文献
- Shazeer et al., "Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer," ICLR 2017
- Fedus et al., "Switch Transformers: Scaling to Trillion Parameter Models with Simple and Efficient Sparsity," JMLR 2022
- Jiang et al., "Mixtral of Experts," 2024
- Dai et al., "DeepSeekMoE: Towards Ultimate Expert Specialization in Mixture-of-Experts Language Models," ACL 2024
- Lieber et al., "Jamba: A Hybrid Transformer-Mamba Language Model," 2024