What problem does it solve?
MoE training can spend a significant fraction of step time on expert token dispatch/combine communication, leaving expert compute underutilized.
Core Features & Use Cases
- Enables expert-parallel communication overlap: sets
comm_overlap.overlap_moe_expert_parallel_comm to overlap MoE all-to-all dispatch/combine with expert FFN compute.
- Optionally delays expert weight-gradient compute: sets
comm_overlap.delay_wgrad_compute to defer wgrad so it overlaps with the next layer’s forward, reducing idle time when supported.
- Selects dispatcher backends for deeper overlap: supports
model.moe_token_dispatcher_type = "alltoall" and flex (via apply_flex_dispatcher_backend) to target DeepEP/HybridEP-style overlap.
- Validation-first guardrails: enforces critical constraints (EP degree, precision, recompute settings, VPP with PP, PyTorch/TE versions, and mutual exclusivity with
moe_shared_expert_overlap).
What problem does it solve?
- Real-world use case: When profiling a MoE run and communication shows up as a bottleneck, turn on EP overlap to reduce step time without changing convergence behavior.
Quick Start
Enable the skill by setting cfg.comm_overlap.overlap_moe_expert_parallel_comm = True, keeping cfg.comm_overlap.delay_wgrad_compute = False initially, and setting cfg.model.moe_token_dispatcher_type = "alltoall" with cfg.model.moe_shared_expert_overlap = False for a correctness-first start.