Huang et al. (2018) — ARXIV-1811.06965
Key takeaways
- Micro-batch splitting is the mechanism. Split the mini-batch into
Mmicro-batches and pipeline them acrossKpartitions, then accumulate and take one synchronous step — so the optimization is unchanged and only the schedule differs - Bubble overhead — idle time from partitioning — is
O((K−1)/(M + K−1)), amortized over the micro-steps - Negligible once
M ≥ 4×K, the paper’s empirical threshold. Helped by backward re-computation being schedulable early, without waiting on gradients from earlier layers - Peak activation memory with re-materialization and partitioning is
O(N + (L/K) × (N/M))—N/Mthe micro-batch size,L/Kthe layers per partition — againstO(N × L)with neither - Only activation tensors cross partition boundaries, so efficient scaling holds even without high-speed interconnects
- Scope: any model expressible as a sequence of layers. Demonstrated on a 557M AmoebaNet (84.4% top-1, ImageNet-2012) and a 6B multilingual NMT model
- The bubble analysis assumes evenly balanced partitions, stated explicitly
Standing in the anthology
The source of SOTA-017, SOTA-018 and SOTA-019.
Read in full for #114; the reading is NOTE-006. All three practices
are confirmed, and all three gain a number where they had an adjective —
M ≥ 4K, the bubble expression, and the memory trade in closed form.