14 / THE ARC

Side by side

Everything the session established, in one table. Memory is per GPU at 30 billion parameters on eight cards; communication is per GPU per step.

The four arrangements
Bytes/weightPer GPUTrafficFits a 74.5 GiB card
data parallel16.00447.0 GiB2Pnever, at any GPU count
ZeRO-15.50153.7 GiB2Pnever — 4-byte floor
ZeRO-23.75104.8 GiB2Pfrom 32 GPUs
ZeRO-32.0055.9 GiB3Pfrom 8 GPUs
The other levers, and what each one costs
LeverBuysCosts
more GPUsdivides the sharded bandsnothing in memory; the replicated floor does not move
offload to system memorythe optimizer state leaves the cardPCIe at 60 GB/s, a third of NVLink
overlap with the backward passhides most of the trafficnothing, except the last bucket
recomputationmost of the activation memoryabout a third more compute
8-bit matmul12% of stored state, half the trafficBlackwell hardware, and care around softmax

The order to reach for them

The session suggests a sequence rather than a menu, because the cheap moves are also the early ones.

ZeRO-1 or 2free overlapfree ZeRO-32P → 3P recompute+33% compute offloadPCIe bound cheapest first — each step to the right gives up more to get the same memory stop as soon as the run fits
Left to right in increasing cost. There is no reason to reach past the first arrangement that fits.

What this session did not settle

Four questions remain open, and each one needs a measurement rather than an argument.

Open questions
QuestionWhat would settle it
ZeRO-2 on 32 GPUs, or ZeRO-3 on 8? A measured step time for both on our real architecture, with activation memory included.
How many GPUs per node, and how many nodes? The cost page shows a nine-fold difference between the two interconnects, so the answer follows from how much traffic can be kept inside a node.
Is 8-bit arithmetic committed from the start? A short run in bf16 and in MXFP8 on the same architecture, comparing loss and step time. This commits us to Blackwell hardware.
Does any state go to system memory? Whether the run is memory-bound or communication-bound once the stage is chosen.

Why these four and not others

Each is a question the arithmetic cannot close. The memory figures are exact and the communication figures are floors, but step time depends on the real architecture, the real batch, and how well the overlap actually works — and the first question turns entirely on activation memory, which this session deliberately set aside. The last three are decisions about hardware and are therefore expensive to reverse, which is a reason to measure early rather than to argue longer.

What to take away

Three things, if nothing else survives.

The optimizer state is three quarters of the memory. Twelve of the sixteen bytes exist only for the update, are touched once per step, and were replicated on every card for no reason. Everything ZeRO does follows from noticing that.

Sharded state divides; replicated state does not. Whatever a scheme leaves replicated sets a floor that no amount of hardware will lower, which is why data parallel and ZeRO-1 can never fit this model however large the cluster gets.

Nothing here changes what the model learns. Every arrangement in the session computes the same gradient and applies the same update. They differ in where bytes live and how many cross a wire, which makes all of it an engineering decision and none of it a modelling one.

Where this goes next: ZeRO runs out when a single layer no longer fits on one card. At that point the model itself has to be cut across cards rather than merely its state, which is tensor and pipeline parallelism — the subject of the next session.
BACKPrecision and Blackwell