NeMo MBridge MoE 专家并行重叠
为 Megatron-Bridge 配置、验证并排查 MoE 专家并行通信重叠。
技能仅提供配置、诊断和基准命令,没有凭据读取、数据外传或破坏性默认操作;明确要求先以正确性为优先并检查日志。扣分在于执行 Slurm/训练命令可能产生高资源和外部运行影响,但未说明用户确认、权限边界、回滚方案或依赖来源验证;许可证和 NVIDIA 归属在技能材料中可追溯。
文档给出兼容性约束、最小配置、运行命令、日志检查、成功标准和故障诊断,正常路径较清楚。静态审查未执行命令或测试,引用的测试文件内容未提供;“PyTorch <2.6 导致 hang”与约束/断言描述也不完全一致,因此按静态上限保守扣分。
目标用户、MoE/EP 场景、alltoall 与 flex 路径、避免条件和触发关键词都明确,并覆盖 DeepEP/HybridEP 的硬件边界。扣分在于没有充分说明非目标模型、资源规模和环境差异,也没有中文使用指导;不过核心功能不依赖海外服务,未见中国大陆网络不可达风险。
文档包含快速决策、配置示例、命令、验证、故障诊断、限制和结构化 card 元数据,且给出许可证、所有者、版本与验证日期。扣分在于缺少推荐的 Instructions/Examples 章节,缺少明确 changelog 和持续维护/update 路径;card 中的最小示例启用 delayed wgrad,与正文的 correctness-first 顺序存在轻微不一致。
技能能直接产出可用配置和基准命令,并提供一次 Qwen3/H100 alltoall 对比:41.25s 对 31.31s,显示 1.317x 相对结果;同时说明 delayed wgrad 的独立收益不明显。静态审查未运行关键路径,端到端收益仅覆盖一个短基准且并非所有模型,因此不超过静态上限7分。
存在代码锚点、测试路径、结构化证据列表和带环境/日期的基准报告,且区分了 code-verified 与 end-to-end not-yet-tested。扣分在于本次仅有源文件审查,未提供实际测试套件内容、CI覆盖或独立复现材料;基准结果仍主要是仓库自述。
- 不要把一次 Qwen3/H100 短基准的 1.317x 结果外推到其他模型、GPU、EP规模或网络拓扑。
- 启用 delayed_wgrad、flex dispatcher 或 CUDA graphs 前,逐项核对 TE、PyTorch、重计算、PP/VPP、注意力偏置和 shared-expert overlap 约束。
- 运行 Slurm 性能命令前应由用户确认资源、成本和配置变更,并保留基线与可恢复配置。
- 发布前应补充真实 smoke/端到端测试、changelog、维护更新路径,并统一 card 与正文的最小示例。
这个 Skill 能做什么,适合哪些场景?
该技能面向使用 NeMo MBridge 训练 MoE 模型的工程师,指导通过专家并行计算隐藏 token dispatch/combine 的 all-to-all 通信延迟。它覆盖 alltoall 与 flex dispatcher,以及 DeepEP、HybridEP 和延迟权重梯度计算。内容提供正确性优先的配置、Slurm 性能测试、单元测试、日志检查和故障诊断。它适合已完成基础正确性验证并希望优化吞吐的训练任务,但并不保证所有模型或硬件都获得收益。
读取并解释通信重叠、MoE dispatcher、并行规模、精度、重计算和 CUDA Graph 配置;提供 alltoall、DeepEP 和 HybridEP 的 Python 配置片段;给出可运行的 uv/Slurm 性能测试命令和 pytest 验证命令;指导检查配置最终化、dispatcher 类型、后端和训练日志;根据断言、挂起、无吞吐收益或不受支持的 GPU 诊断原因并提出修复。
- 使用 MoE 模型且 EP 大于 1 的训练工程师,想先以 alltoall dispatcher 启用通信重叠。
- 在跨节点 all-to-all 通信成为 step time 瓶颈时,性能工程师需要比较无重叠、EP 重叠和延迟 wgrad。
- 运行 Ampere、Hopper 或 Blackwell GPU 的团队,希望评估 DeepEP 或 HybridEP flex dispatcher。
- 修改 overlap 配置后出现断言、训练挂起或吞吐回退的工程师,需要按约束和日志定位问题。
这个 Skill 有哪些优点和局限?
- 提供可复制的 alltoall、DeepEP 和 HybridEP 配置示例。
- 明确列出 PyTorch、重计算、pipeline parallel、Transformer Engine 和 GPU 架构约束。
- 包含性能基准、单元测试、日志检查和按症状分类的故障诊断。
- 强调将 plain EP overlap 与 delayed wgrad 分离,适合正确性优先的调优流程。
- 性能证据主要来自 Qwen3 MoE 30B-A3B、16 张 H100 的单一基准,不能代表所有模型和平台。
- 基准禁用了 fused MoE permutation,因此未验证该运行路径。
- MoE overlap 与 shared-expert overlap 互斥;full activation recompute 也不适用。
- flex dispatcher 必须调用 `apply_flex_dispatcher_backend(...)`,仅设置后端字段不会激活它。
如何安装这个 Skill?
使用 NVIDIA skills CLI 安装指定技能:
npx skills add nvidia/skills --skill nemo-mbridge-perf-expert-parallel-overlap --yes
CLI 会提示选择技能和安装目标;也可以使用 --agent codex、--agent claude-code 或 --agent cursor 指定客户端。
如何使用这个 Skill?
安装后,在相关训练或排障任务中明确提出:"请帮我在 Megatron-Bridge 中启用并验证 MoE expert-parallel communication overlap,先使用 alltoall,并检查 delay_wgrad_compute 的兼容性。"
建议先使用 overlap_moe_expert_parallel_comm=true、delay_wgrad_compute=false、moe_shared_expert_overlap=false 的 alltoall 配置,再运行提供的 uv run python scripts/performance/run_script.py 性能命令和 pytest 测试。只有在基础路径正确后,再启用 delayed wgrad 或 flex dispatcher。
这个 Skill 与同类方案有什么区别?
alltoall dispatcher 兼容性更广,适合作为首次部署路径;flex dispatcher 使用 DeepEP 或 HybridEP,在受支持 GPU 上可能提供更高重叠,但约束更多。技能还区分 plain EP overlap 与同时启用 delayed wgrad 的 harness 快捷配置。