MoE 训练终极手册

AINLP · 人工智能

原创 NLPer 2026-11-08 09:51 江苏

连踩过的坑也写进去了

Hugging Face 发布了一份免费的《MoE 训练终极手册》,从准备集群、跑通第一个模型,一直写到推理部署和 RL 后训练。配套代码、55 幅交互图,以及训练中踩过的坑,都放出来了。

The Ultimate MoE Training Handbook

The Ultimate MoE Training Handbook

作者是 Nouamane Tazi、Leandro von Werra 和 Thomas Wolf。Wolf 在 X 上介绍,团队花了 80 万 GPU 小时自己跑实验,再把这些经验写下来。

他给出的理由很直接:最强的开放权重模型已经大批采用 MoE,怎么把 MoE 训练好,却仍主要掌握在少数团队手里。

Thomas Wolf 介绍这份训练手册

Thomas Wolf 介绍这份训练手册

手册开头统计,当时 Artificial Analysis 开放模型榜前 20 名里,18 个是 MoE。DeepSeek、GLM、MiMo 等模型的技术报告大家都能读到,但报告通常告诉你团队最后选了什么,很少展开为什么放弃另一个方案。

这份手册把不少这样的选择摊开了。专家要几个、每个多大、怎样均衡负载,旁边能找到相关实验、配置和源码。

先跑出一个能比较的基线

前面先检查集群,再准备数据,用 Megatron-LM 跑一个约 1.22B 的稠密模型。接着沿用同一份数据和启动脚本,把它改成总参数约 6.86B、激活参数约 1.22B 的 MoE。

这里用了 64 个专家,每个 token 选 8 个。8 个专家合起来,使用的前馈参数量与原来的稠密层相同;存下来的专家池则大了 8 倍。

相同激活参数下的稠密 FFN 与 64 个专家

相同激活参数下的稠密 FFN 与 64 个专家

训练日志、网络检查、分词脚本和启动命令,也都跟着给出。

还有一个很实用的小实验:先把稠密检查点转成只有一个专家的 MoE,再与原稠密模型继续训练。两个模型本该计算同一个函数;如果曲线先跑岔了,就该查实现,而不是急着解释新架构的优劣。

日志没报错也能慢25倍

Wolf 的发布帖里列了一个问题:为什么运行慢了 25 倍,日志却没有报错?

手册里就有他们自己的排查过程。

MoE 跨节点交换 token 时,要用到集群网络。他们已经设置了 FI_PROVIDER=efa,也指定了 OFI 插件,NCCL 却仍然在用普通 TCP socket。

程序能跑,GPU 也在工作。只是日志里那句 Using network Socket 暴露了问题。

按路径指定插件、改成按名称指定,都没解决。直到把宿主机的 RDMA 库放到库搜索路径最前面,NCCL 才真正走上 EFA。

手册中的 EP16 网络排查结果

手册中的 EP16 网络排查结果

在那组 EP16 测试中,每卡吞吐从约 1.7 TFLOP/s 到了 42.0 TFLOP/s,相差接近 25 倍。

参数旁边放着实验

占篇幅最多的第三章,才是逐项拆 MoE 层。

路由分数用 softmax、sigmoid 还是 sqrt(softplus),为什么有的路由器要用 fp32;专家如何分组,辅助损失和无辅助损失偏置怎样取舍;专家数量、粒度、共享专家、初始化和激活值,又分别影响什么。

它把这些问题接到具体运行上。例如,同一份 MoE 配置换上不同的负载均衡方案,吞吐曲线和训练损失就摆在一起看。

不同负载均衡方案的运行曲线

不同负载均衡方案的运行曲线

有的配置跑得快,损失却不占优;有的把整体负载拉平了,每条序列仍可能挤向少数专家。手册会继续拆这些差别,也把对应实现定位到源码。

后面还跟到了训练结束之后:推理时能不能少选几个专家,怎样归一化剩下的权重;做 RL 时,训练端和 rollout 端的路由不一致,又该怎样处理。

原文里的交互图可以调参数、看变化,55 幅图还单独整理成了一个画廊。静态图看不清的路由过程,可以回原文操作。

卡住时直接翻附录

附录把吞吐低、loss 异常、单卡 OOM、训练突然退出等症状做成索引,指向最先该看的信号和对应章节。

按症状定位训练问题的索引

按症状定位训练问题的索引

例如,负载均衡辅助损失接近 1,不代表专家真的分得均匀。路由概率很平时,这个数也可能一直接近 1;一张 GPU 已经被大量 token 堵住,只看这条曲线未必发现得了。

想跟着跑,先读第二章。已经在训练 MoE,可以按眼前的问题跳到第三章和附录。准备部署或做 RL,再看第四章。

由于公众号篇幅限制,完整中文译文已经放在 52nlp.cn上,可点击阅读原文直接阅读,或者需要英中对照版PDF的朋友可以关注AINLP公众号,回复 moe 获取。

参考链接

阅读原文

跳转微信打开

查看原文