跳转至

混合专家模型(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只激活部分专家。

稀疏门控函数

\[ G(x) = \text{TopK}(\text{softmax}(W_g x)) \]

MoE层的输出

\[ y = \sum_{i=1}^{N} G(x)_i \cdot E_i(x) \]

其中:

  • \(N\):专家总数
  • \(E_i\):第 \(i\) 个专家网络(通常是FFN)
  • \(G(x)_i\):门控网络为第 \(i\) 个专家分配的权重
  • TopK:只保留前K个最大值,其余设为0

1.2 关键公式

带噪声的Top-K门控(Shazeer et al., 2017):

\[ H(x) = W_g x + \text{StandardNormal}() \cdot \text{softplus}(W_{\text{noise}} x) \]
\[ G(x) = \text{softmax}(\text{TopK}(H(x), k)) \]

添加噪声有助于探索和负载均衡。

1.3 计算效率

模型类型 总参数 每token激活参数 计算量
Dense 7B 7B 7B
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只选一个专家。

简化路由

\[ G(x) = \text{Top1}(\text{softmax}(W_g x)) \]

设计原则

  • Top-1比Top-2更简单、更高效
  • 大量专家(128个、256个)
  • 每个专家容量有限(expert capacity factor)

2.2 容量因子

\[ \text{Expert Capacity} = \left(\frac{n}{N}\right) \times \text{capacity\_factor} \]

其中 \(n\) 是token数,\(N\) 是专家数。超过容量的token被丢弃(overflow)。

2.3 负载均衡损失

\[ \mathcal{L}_{\text{balance}} = N \sum_{i=1}^{N} f_i \cdot P_i \]

其中:

  • \(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):

\[ y = \sum_{i=1}^{N_s} E_i^{\text{shared}}(x) + \sum_{j \in \text{TopK}} G(x)_j \cdot E_j^{\text{routed}}(x) \]

共享专家始终被激活,捕获通用知识;路由专家处理特化知识。

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

核心趋势

  1. 从粗粒度到细粒度专家
  2. 共享专家 + 路由专家的混合设计
  3. MoE与SSM的融合(Jamba)
  4. 更智能的负载均衡策略
  5. 原生多模态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

评论 #