- 原文地址:Mixture of Experts (MoE)
- 原文作者:Sebastian Raschka
混合专家(Mixture of Experts, MoE)是近年来开源大模型能够拥有极高的总参数量,又不会使每次推理的代价同等昂贵的主要原因之一。
其基本思想是,用多个专家型前馈块(FeedForward blocks)替换单一的稠密前馈块,然后通过路由让每个 token 只激活其中的一小部分。
引自 大语言模型架构对比:主要结构的变化非常直接。一个单一的稠密前馈块被一个带有多个专家的路由 MoE 模块所取代。
- 改变了什么:一个稠密前馈路径变成了多个专家前馈路径,外加一个路由
- 实际好处:模型可以拥有更高的总容量,同时每个 token 只激活较小的路径
- 示例架构:DeepSeek V3、Qwen3 235B-A22B、GPT-OSS 120B、Mistral Large 3、GLM-5 744B 和 MiniMax M2 230B
为什么重要
前馈块已占据了 transformer 层中很大一部分参数。因此,当我们用多个专家块替换一个前馈块时,模型的总参数量可以显著增加。
关键点是,路由不会为每个 token 激活所有专家。它只选择一个小的子集。这就是为什么 MoE 模型可以在总容量上非常大,同时在每次推理步骤中只使用较少的活跃参数。
引自《从零构建大模型》中 MoE 材料:随着专家数量的增加,总参数的增长速度远快于每个 token 的活跃参数。
这里的“稀疏”是什么意思
MoE 层通常被描述为稀疏的,因为并非每个 token 都使用所有专家。模型很大,但每个 token 的计算是有选择性的。
这也是为什么 MoE 模型经常同时列出总参数和活跃参数的原因。DeepSeek V3 就是一个典型的例子:总参数量非常大,但每个步骤只激活了一个更小的子集。
共享专家及其变体
随着 MoE 的基本思想被广泛采用,各团队开始对细节进行不同的调整。例如,“共享专家”就是除了路由选择的专家外,始终保持激活的专家;还有“潜在 MoE”(latent MoE),如 Nemotron 3 Super,将专家计算迁移到更小的潜在空间中。
所以,虽然许多模型被称为 MoE 模型,但它们在专家数量、每个 token 的路由专家数、是否使用共享专家以及专家子网络的大小方面仍然可能有很大差异。
示例架构
- DeepSeek V3:画廊中最清晰的 MoE 参考点
- Qwen3 235B-A22B:一个当前的大规模开放 MoE 模型,具有 GQA
- GPT-OSS 120B:一个稀疏的 MoE 堆栈,具有交替的局部和全局注意力
- Mistral Large 3:另一个 DeepSeek 风格的 MoE 架构

