MoE路由策略全解析:从Top-K到动态路由

系统梳理7种MoE路由策略的设计逻辑与取舍,从top-2 softmax到哈希路由。
本文基于 MarkTechPost 的指南,拆解了 7 种混合专家模型(MoE)路由策略。文章指出路由策略直接影响负载均衡、训练稳定性和推理效率,是 MoE 的核心设计决策。top-K softmax(如 Mixtral 的 top-2)是最主流方案,实现简单但依赖辅助损失和容量因子防止专家塌缩与 token 丢弃;Expert-Choice 反转分配方向,让专家挑选 token,使负载均衡成为机制内生属性;sigmoid 门控不做归一化竞争,提供更灵活的稀疏控制;动态路由让激活专家数随输入变化;DeepSeek-V4 的哈希路由则以确定性函数替代可学习门控,换取简单、稳定与低开销。文章最后给出按负载均衡需求、token 丢弃容忍度、开销预算和可预测性选型的判断框架。
混合专家模型(MoE)已成为大模型扩容的主流路径,而路由策略决定了每个token被分配给哪些专家处理。MarkTechPost 发布的一份指南系统梳理了 7 种 MoE 路由方法,从 Mixtral 使用的 top-2 softmax 门控,到 DeepSeek-V4 采用的哈希路由,并标注了各自的代表性模型。本文基于该指南,拆解这些策略的设计逻辑与取舍。

为什么路由策略是MoE的核心
MoE 的基本思路是把一个稠密前馈网络拆成多个专家,每个 token 只激活其中一小部分,从而在总参数量增长的同时控制单次推理的计算量。路由策略负责回答一个看似简单的问题:这个 token 该交给谁?
这个决策直接影响三件事。其一是负载均衡——如果路由总是偏向少数专家,其余专家形同虚设,扩容收益大打折扣。其二是训练稳定性——路由是离散选择,梯度难以直接回传,需要借助技巧让门控网络可训练。其三是推理效率——路由结果决定了专家并行时的通信模式和显存访问模式。正因如此,不同模型在路由上的分歧,往往反映了它们对上述目标的优先级排序。
门控网络(gating network)是路由策略的执行主体,通常是一个轻量级的线性层或小型 MLP。它接收 token 的隐藏表示,输出每个专家的得分或概率分布,再据此决定分配。门控网络与专家网络一同端到端训练,但其参数量远小于专家总和,因此路由本身的计算开销通常可以忽略。门控的输出形式(softmax、sigmoid 或直接取 top-K 的指示函数)决定了稀疏性的产生方式,也决定了梯度能否顺畅回传。理解门控网络的结构,是理解后续各种路由变体的基础。
专家并行(expert parallelism)是 MoE 推理与训练时的一种分布式策略。由于专家数量可能达到数十甚至上百个,单个设备无法容纳全部专家参数,需要将不同专家放置在不同 GPU 上。当一个 token 被路由到远程设备上的专家时,需要跨设备传输其隐藏状态,形成 all-to-all 通信。路由结果越不均衡,通信负载越集中,部分设备可能成为瓶颈。因此路由策略不仅影响计算分配,也直接塑造了分布式系统的通信模式,这是评估路由方案时不可忽视的工程维度。
Top-K路由:最主流也最直接的方案
Top-2 Softmax:Mixtral的经典选择
最广为人知的路由方式是 top-K 门控。门控网络对每个 token 输出各专家的打分,取分数最高的 K 个专家,经 softmax 归一化后加权求和。Mixtral 采用的就是 top-2 softmax:每个 token 激活两个专家。
这种方案实现简单、训练稳定,K=2 在计算开销与模型容量之间取得了不错的平衡。它的弱点在于均衡性依赖辅助损失函数——如果不额外施加负载均衡约束,门控网络容易塌缩到少数几个专家上,形成"赢家通吃"。
辅助损失与容量因子
围绕 top-K 的工程细节主要集中在两点:负载均衡辅助损失和专家容量因子。前者在训练目标中加入惩罚项,鼓励 token 均匀分散到各专家;后者为每个专家设定可处理的 token 上限,超出部分被丢弃或走残差通路。容量因子设得小可以控制计算量,但会带来token丢弃问题,设得大则浪费算力。这些超参数的选择,实际上是路由策略落地时绕不开的权衡。
赢家通吃(winner-takes-all)是 top-K 门控在缺乏约束时的典型失效模式。由于门控网络倾向于给已经表现较好的专家更高分数,训练早期偶然获得更多 token 的专家会进一步强化其优势,最终少数专家垄断几乎所有 token,其余专家得不到有效梯度而退化。辅助损失通过惩罚专家负载的方差或鼓励路由概率均匀化来打破这一正反馈,但惩罚系数需要仔细调节:过强会干扰主任务学习,过弱则无法阻止塌缩。这也是为什么 top-K 方案看似简单,实际调参却相当敏感。
token 丢弃(token dropping)指当某个专家接收的 token 数超过容量因子设定的上限时,超出部分不再经过该专家计算,而是直接通过残差连接绕过。丢弃虽然控制了单专家的计算量,但被丢弃的 token 在这一层实际上没有得到任何专家处理,相当于损失了模型容量。训练时丢弃过多会导致梯度信号减弱,推理时则可能造成输出质量波动。容量因子因此成为计算效率与模型质量之间的调节旋钮,通常根据批次大小和专家数量经验性地设定。
Expert-Choice路由:反转分配方向
Expert-Choice 路由把分配问题的方向倒了过来。传统 top-K 是每个 token 挑选专家,而 Expert-Choice 让每个专家挑选自己最想要的 token,每个专家固定接收容量内的 token。
这一反转的价值在于负载均衡成为路由机制的内生属性,而不是靠辅助损失事后纠正。由于每个专家的负载被硬性约束,训练时不会出现专家闲置或过载。代价是某些 token 可能不被任何专家选中,需要额外处理;同时路由矩阵的转置也改变了实现细节。对于追求训练稳定性和专家利用率的场景,这是一个有吸引力的替代方案。
路由矩阵转置是理解 Expert-Choice 实现差异的关键。传统 top-K 路由得到一个 token 到专家的分配矩阵,形状为 token 数乘以专家数,每行保留 K 个非零项;Expert-Choice 则先计算每个专家对所有 token 的亲和度,再对每列取 top-C(C 为专家容量),等价于对原矩阵做转置后按行选择。这一转置改变了并行计算的维度:原本按 token 分组的计算需要改为按专家分组,对批处理实现和通信原语都提出了不同要求。此外,未被任何专家选中的 token 需要标记并单独处理,通常直接走残差或用一个共享专家兜底,这又引入了额外的掩码逻辑。
Sigmoid门控与动态路由
指南还覆盖了 sigmoid 门控与动态路由两类思路。与 softmax 相比,sigmoid 门控对每个专家独立打分,不做归一化竞争,因而允许一个 token 同时匹配多个专家,也允许全部专家都低分——这为路由提供了更灵活的稀疏性控制空间。
动态路由则让每个 token 激活的专家数量随输入变化,而非固定为 K。简单输入可能只需要一个专家,复杂输入可以调用更多。这种按需分配在理论上更贴近 MoE 的初衷,但实现上增加了批次内计算图不一致的问题,对推理系统的调度能力提出更高要求。
哈希路由:DeepSeek-V4的确定性路线
指南提到的另一种代表性方案是 DeepSeek广告-V4 采用的哈希路由。哈希路由用确定性函数而非可学习门控来决定 token 归属,省去了门控网络的训练与推理开销,也天然避免了负载塌缩。
这种设计的取舍很明确:用确定性换来了简单与稳定,但牺牲了按内容智能分配专家的能力。它更适合那些对路由开销敏感、或希望路由行为完全可预测的场景。将它与其他方法并列,也说明 MoE 路由并非只有"更聪明的门控"一条演进路径。
如何选择路由策略
把 7 种方法放在一起看,选择逻辑可以归结为几个维度:是否需要强负载均衡、能否接受 token 丢弃、训练与推理的开销预算、以及是否要求路由行为可预测。
Top-K softmax 是经过大规模验证的默认选项,适合大多数从零构建 MoE 的团队;Expert-Choice 在负载均衡要求高的场景更有优势;sigmoid 门控提供了更灵活的稀疏控制;动态路由适合愿意在系统工程上投入的团队;哈希路由则是确定性与低开销优先时的务实选择。指南的价值不在于给出唯一答案,而在于把这些取舍摊开,让每个团队根据自己的约束条件做判断。
相关推荐
科技前沿Textly:Mac上任意位置抓取文字和表格的效率神器
Textly是一款Mac菜单栏效率工具,支持从截图、PDF、视频和应用中框选捕获文字与表格,保持行列完整并导出CSV、Markdown、TSV,还内置即时翻译和剪贴板历史。
科技前沿Frameboy:World Labs Atlas 世界模型浏览器实时体验
World Labs 在 Product Hunt 发布 Frameboy,基于 Atlas 世界模型的浏览器实时演示,移动相机即可在云端 GPU 生成新视角,最高 15 fps 串流,探索 AI 生成的可漫游世界。
科技前沿Keypause:一键锁定Mac键盘,清洁时不再误触
Keypause是一款Mac菜单栏应用,一键锁定键盘所有按键,方便清洁时避免误触。本文介绍其功能、使用体验、潜在风险及适用场景,帮你判断是否值得尝试。