用途:为 Megatron Bridge 上的 MoE 长上下文训练提供调优指南,稳定文档见 @docs/training/moe-optimization.md,卡片见 @skills/nemo-mbridge-perf-moe-long-context/card.yaml。
长上下文下的变化:序列长度远超 4K 量级后,注意力内存与激活驻留成为主要约束,通常需要组合使用上下文并行(CP)、选择性重计算、低精度、优化器状态 CPU offload,以及不会浪费剩余 DP 预算的调度器与 PP 布局。
实践模式:DSV3 在 H100 上,超过最短上下文后选择性重计算优于全量重计算,CP 适当增大时吞吐可保持较窄区间,瓶颈会从内存容量转为 GPU 数量可行性。Qwen3-Next 在 GB200 上更像内存敏感的中等规模模型,8K/32K 用中等 CP 可行,64K 吞吐下降明显、内存更紧,流水线布局与分组 GEMM 改进几乎与 CP 同等重要。Qwen3 235B 在 GB200 上表明,TP、CP 与 HybridEP 协调时 128K 级仍可高效。
CP 规模经验规则:从 4K 分片目标出发,先取 CP ≈ seq_len / 4096,再取实用 2 的幂布局;尽量保留 DP;优先选择性重计算(如 up_proj、norm、moe、moe_act、mlp);极长上下文避免 SDPA 密集重计算;NVL72 系统可用 TP 作为另一杠杆;CP 升高、DP 下降时可能需缩小 GBS 或接受更高 GA。
代表性配置族:DSV3 128K/H100: TP=1 CP=32 EP=32 PP=8 VPP=4,FP8 级精度,DeepEP,重计算 up_proj、norm、moe、mlp,优化器 CPU offload;DSV3 256K/H100: TP=1 CP=64 EP=32 PP=8 EDP=2 VPP=4;Qwen3 235B 128K/GB200: TP=4 CP=4 EP=32 PP=4 VPP=12,BF16 或 MXFP8,HybridEP,重计算 moe_act、norm,CUDA Graph 用于 attn + moe_router + moe_preprocess。
重计算与 CUDA Graph:先选择性重计算,形状与路由路径稳定后再加 CUDA graphs,使用 CUDA graphs 时保持序列长度与 MBS 固定,依赖高度动态批次时用 eager 执行。参考 @docs/training/activation-recomputation.md、@skills/nemo-mbridge-perf-cuda-graphs/SKILL.md。
限制与陷阱:CP 不替代 EP 或 PP;好的 4K 基线未必适合长上下文,路由模式、重计算与 offload 策略常需调整;真实约束是 GPU 数量可行性;CUDA graphs 需静态形状,变长批次与随意 padding 可能静默破坏路径;128K+ 更依赖较新内核与修复,容器与内核支持更关键。具体收费与平台支持暂未提供。