MOE架构详解
概述
MOE 架构的基本思想是在传统 Transformer 模型中,将每个前馈网络(FFN)层替换为一个 MOE 层。一个 MOE 层通常由两个关键部分组成:
- 专家网络(Experts)
- 每个专家是一个独立的子网络(通常是 FFN),在实际计算中只有部分专家会被激活参与处理。通过让多个专家分担不同数据子集的计算,模型在预训练时可以以较低的计算开销获得大参数量带来的表示能力。
- 门控网络(Gating/Router)
- 该模块负责根据输入 token 的特征动态选择激活哪些专家。门控网络一般采用一个带 softmax 的简单前馈网络来计算每个专家的权重。经过训练后,门控网络会逐步学会将相似的输入路由到表现更好的专家。

专家是如何学习的
MOE模型中的专家方向是事先规划好的还是自发生成的。答案是:专家都是”自学成才“的。
在 MOE 模型中,每个专家网络只在接收到相应路由时参与计算。初期,由于门控网络参数随机,各专家接收到的数据分布比较均匀;但随着训练进行,局部梯度更新使得某些专家逐渐专注于处理特定类型的输入数据。这种“自发专化”现象使得模型整体具备了多样化的表示能力。
门控网络与动态路由策略
基本门控函数
最常见的门控函数即为一个简单的前馈网络,其将输入与权重矩阵相乘后经过 softmax 得到各专家的概率分布。这种设计允许每个 token 可以被分配给多个专家(通常选择 top‑k 个)
噪声注入
为了防止门控网络总是偏向于选取少数专家,常用的策略是在计算专家得分时加入噪声。
- 噪声注入:在原始得分上添加随机噪声,使得初期路由决策具有更多随机性,帮助专家获得均衡的训练机会。
- 保留 Top‑K:只选取得分最高的 k 个专家,其余专家的权重设为 0,确保计算资源只分配给表现最优的专家。