Flattening Every Memory Peak in Long-Context Mixture-of-Experts Training
Shrey Pandit, Xuan-Phi Nguyen, Yiran Zhao, Shafiq Joty
cs.DC
2026-09-13
Four exact schedules bound MoE dispatch, vocab, checkpoints, and optimizer peaks at launch. 120B–667B models train at 1M context, 8–32× a tuned FSDP2 baseline, with exact loss.
MoE training at long context or large batch dies when any component's peak exceeds HBM. Average footprint is the wrong target. Common parallelism shards persistent weights and still leaves four live sets that grow with the workload, each on a different axis: expert dispatch with the routing matrix, the vocabulary projection with tokens times vocabulary, checkpoint boundaries with depth times sequence length, and AdamW state with parameter count. Shrink the current largest and the next one appears. Salesforce AI Research bounds all four at once, with each operator separately switchable.
All four change only order and granularity. The model, precision, optimizer, and loss stay put, so the step remains exact full-parameter BF16.
The four live sets are disjoint. Placed in a Mixture-of-Parallelisms rank layout (ZeRO-3 on dense weights, sequence parallel on attention, expert parallel on experts), they yield a per-rank budget that can be checked before launch.
Component tests use eight H200s and identical inputs.
| Operator | Metric | Result | Against |
| PipelinedLLEP | dispatch peak | 56.9–59.3% lower | LLEP at 65K tokens/rank, top-8 |
| PipelinedLLEP | speed | 1.01–1.10× | same LLEP |
| Ring-DTP | vocab-projection peak | 86.6% lower | under 5% extra time |
| SCO | largest batch | +17.7% | throughput moves under 2% |
| OffloadStreamAdamW | optimizer step | 1.93 s (2.05×) | CPU Adam 3.95 s |
Strided chunks run 1.03–1.35× faster than contiguous ones and save up to 1.37 GiB. Composed on 120B, 241B, and 667B MoEs at 16/32/64 H200s, against the best FSDP2 mix at the same GPU count: all three scales train at 1M context, 8–32× the reach. FSDP2 OOMs past 128K (120B), 32K (241B), and 64K (667B). At the longest length FSDP2 still fits, throughput is 7.6× at 120B/128K and 10.4× at 667B/64K. Largest global batches are 1.5M, 1.8M, and 3M distinct tokens, 12×, 7×, and 3× the baseline. Per-GPU FLOPs rise from 91–110 TFLOP/s at 128K to 213–233 at 1M because attention work per token grows; FSDP2 stays below 40. An appendix reports unchanged training quality.
This is a scheduling paper for stacks that already use FSDP, expert parallel, checkpointing, and optimizer offload, not a new MoE architecture. The relative height of the four peaks moves with model, context, and device count, so a usable system needs a bound on every term, known at launch, rather than a large saving on one. Exactness keeps the numbers comparable to standard full-parameter BF16. If GPU count cannot grow, the composition turns memory into streamed time at 1M context on 100B–600B-class MoEs.
All-to-all and ring traffic assume a fast fabric; the measurements are intra-node NVLink, and extra chunks may cost more on a slower network. A tighter token cap raises the chunk count, and forward time is flat in that count only over part of the range, so c is chosen from a measured curve. Checkpoint and optimizer streaming spend host RAM and host-link bandwidth; the nodes here have 2 TB of host memory. Automatic selection of (D, Ep, P, c, β) is open. The end-to-end baseline is the best point in an FSDP2 sweep, not every production MoE stack. "Unchanged training quality" is an appendix claim; the main text has no loss curves.