Zer0e's Blog

去TM的AI其四:什么是MoE架构

字数统计: 1.5k阅读时长: 5 min
2026/07/17 Share

正文

在大语言模型(LLM)的快速发展中,Mixture of Experts(专家混合架构,简称MoE) 成为了提升模型规模与效率的关键技术。DeepSeek-V2、GPT-4、Mixtral等前沿模型都采用了MoE架构,在保持推理效率的同时,将模型参数量推向万亿级别。

什么是MoE?

Mixture of Experts(专家混合) 是一种神经网络架构设计范式,其核心思想是:

不依赖单一庞大的网络处理所有任务,而是将模型拆分为多个”专家”(Expert),每个专家专注于特定类型的知识或模式,再通过一个”门控网络”(Gating Network)动态选择最合适的专家组合来处理当前输入。

这种设计带来了两大优势:

  1. 参数效率:模型总参数量可以非常大,但每次推理只激活部分专家,计算成本可控
  2. 专业化分工:不同专家可以学习不同领域的知识,提升模型的表达能力

MoE的核心组件

1. 专家网络(Expert Networks)

专家网络是MoE中的”专业处理单元”。每个专家本质上是一个前馈神经网络(FFN),通常包含:

$$
E_i(x) = FFN_i(x) = Activation(xW_{1,i} + b_{1,i})W_{2,i} + b_{2,i}
$$

其中 $i$ 表示第 $i$ 个专家,$x$ 是输入向量。

2. 门控网络(Gating Network)

门控网络是MoE的”决策中枢”,负责为每个输入动态分配专家权重。其输出是一个概率分布,表示每个专家的重要性。
ps.这里公式渲染失败,因为就不贴公式了。

3. 稀疏激活(Sparse Activation)

MoE的关键创新在于稀疏性:对于每个输入,只激活 Top-K 个权重最高的专家,而非所有专家。最终的输出是这些专家输出的加权和:

$$
y = \sum_{i \in TopK(G(x))} G(x)_i \cdot E_i(x)
$$

这种设计使得模型可以拥有海量参数,但每次推理的计算量保持不变。

MoE架构工作流程

flowchart TD
    A[输入 x] --> B[门控网络 G
xW_g] B --> C[Softmax计算] C --> D[选择Top-K专家] D --> E1[专家1] D --> E2[专家2] D --> E3[专家3] D --> EN[专家N] E1 --> F1[FFN_1] E2 --> F2[FFN_2] E3 --> F3[FFN_3] EN --> FN[FFN_N] F1 --> G1[权重 G_1] F2 --> G2[权重 G_2] F3 --> G3[权重 G_3] FN --> GN[权重 G_N] G1 --> H[加权求和] G2 --> H G3 --> H GN --> H H --> I[输出 y] style A fill:#e1f5ff style I fill:#e1f5ff style D fill:#ffe1e1 style H fill:#e1ffe1

MoE在Transformer中的应用

在现代大语言模型中,MoE通常用于替换Transformer中的前馈网络(FFN)层。传统的Transformer结构是:

1
Attention → Add & Norm → FFN → Add & Norm

而MoE Transformer将其改为:

1
Attention → Add & Norm → MoE Layer → Add & Norm

具体架构对比

flowchart LR
    subgraph Traditional["传统Transformer"]
        A1[输入] --> B1[Multi-Head Attention]
        B1 --> C1[Add & Norm]
        C1 --> D1[FFN]
        D1 --> E1[Add & Norm]
        E1 --> F1[输出]
    end
    
    subgraph MoE_Transformer["MoE Transformer"]
        A2[输入] --> B2[Multi-Head Attention]
        B2 --> C2[Add & Norm]
        C2 --> D2[MoE Layer]
        D2 --> E2[Add & Norm]
        E2 --> F2[输出]
        
        subgraph MoE_Detail["MoE内部结构"]
            G2[门控网络] --> H2[Top-K选择]
            H2 --> I2[Expert 1]
            H2 --> J2[Expert 2]
            H2 --> K2[...]
            H2 --> L2[Expert N]
            I2 --> M2[加权求和]
            J2 --> M2
            K2 --> M2
            L2 --> M2
        end
        
        D2 -.包含.-> MoE_Detail
    end
    
    style MoE_Transformer fill:#f0f8ff
    style MoE_Detail fill:#fff4e1

MoE的优势与挑战

优势

特性 传统密集模型 MoE稀疏模型
参数规模 受限于计算成本 可扩展至万亿级
推理效率 全部参数参与计算 仅激活部分专家
知识表示 统一表示 专家专业化分工
训练效率 梯度更新全模型 仅更新活跃专家

挑战

  1. 负载均衡:某些专家可能被过度使用,而其他专家闲置
  2. 路由稳定性:门控网络需要稳定地将相似输入路由到相同专家
  3. 通信开销:分布式训练中,专家的跨设备通信可能成为瓶颈
  4. 辅助损失:需要设计专门的损失函数来促进专家多样化

负载均衡损失

为了解决负载不均衡问题,MoE通常引入辅助损失函数:

$$
L_{aux} = \alpha \cdot N \cdot \sum_{i=1}^{N} f_i \cdot P_i
$$

其中:

  • $f_i$ 是批次中被路由到专家 $i$ 的样本比例
  • $P_i$ 是门控网络分配给专家 $i$ 的平均概率
  • $\alpha$ 是损失权重系数
  • $N$ 是专家数量

这个损失函数鼓励所有专家被均匀使用。

MoE的演进路线

timeline
    title MoE架构发展历程
    1991 : Jacobs等人首次提出 Mixture of Experts概念
    2017 : Shazeer等人将MoE 应用于大规模NLP模型
    2020 : GShard提出分布式 MoE训练框架
    2022 : Switch Transformer 实现万亿参数模型
    2023 : Mixtral 8x7B 开源MoE模型发布
    2024 : DeepSeek-V2 引入MLA+MoE架构

实际案例:DeepSeek-V2的MoE设计

DeepSeek-V2采用了创新的MoE设计:

  1. 跨层共享专家:不同层之间共享部分专家,减少冗余
  2. 动态路由策略:根据输入内容自适应选择专家
  3. 与MLA结合:Multi-Head Latent Attention与MoE协同工作,进一步提升效率

$$
Total Parameters = N_{experts} \times P_{expert} + P_{shared}
$$

DeepSeek-V2拥有236B总参数,但每次推理仅激活21B参数,激活率仅为约9%。

总结

MoE架构通过”专业化分工”的思想,打破了传统密集模型的参数瓶颈。它的核心价值在于:

  • 解耦了模型规模与计算成本:模型可以很大,但推理可以很快
  • 提升了知识表达能力:不同专家学习不同领域的知识
  • 具有良好的可扩展性:可以轻松增加专家数量

随着技术的不断演进,MoE必将在未来大模型中扮演更加重要的角色。

参考文献

  1. Jacobs, R. A., et al. (1991). “Adaptive mixtures of local experts”
  2. Shazeer, N., et al. (2017). “Outrageously large neural networks”
  3. Fedus, W., et al. (2022). “Switch Transformers: Scaling to Trillion Parameter Models”
  4. DeepSeek-AI. (2024). “DeepSeek-V2 Technical Report”
CATALOG
  1. 1. 正文
    1. 1.1. 什么是MoE?
    2. 1.2. MoE的核心组件
      1. 1.2.1. 1. 专家网络(Expert Networks)
      2. 1.2.2. 2. 门控网络(Gating Network)
      3. 1.2.3. 3. 稀疏激活(Sparse Activation)
    3. 1.3. MoE架构工作流程
    4. 1.4. MoE在Transformer中的应用
      1. 1.4.1. 具体架构对比
    5. 1.5. MoE的优势与挑战
      1. 1.5.1. 优势
      2. 1.5.2. 挑战
      3. 1.5.3. 负载均衡损失
    6. 1.6. MoE的演进路线
    7. 1.7. 实际案例:DeepSeek-V2的MoE设计
    8. 1.8. 总结
    9. 1.9. 参考文献