The 1.5x Tax
Standard multi-GPU data parallelism synchronizes gradients with a ring all-reduce, decomposed into a reduce-scatter phase (moves ~Ψ elements per GPU) followed by an all-gather phase (moves another ~Ψ elements per GPU), for a baseline of ~2Ψ total traffic per parameter per step. ZeRO-3 / FSDP additionally shards the parameters themselves across ranks (not just optimizer states and gradients). What is ZeRO-3's per-parameter communication volume per training step, and why does it land at exactly 1.5x the baseline DP volume rather than 1x or 2x?
Sign in to answer questions and track your progress
Sign In