Optimization / Training
verifiedBatch Size
Batch size is how many examples the model looks at before each update. Larger batches give a cleaner estimate of the right direction and use hardware better, but past a point the extra examples stop buying accuracy and simply cost more. The useful range is set by that ceiling, not by memory.
Doubling the batch roughly halves the number of steps but only reduces gradient noise by √2, so throughput gains outrun quality gains and then stop. There is a critical batch size beyond which additional examples are close to wasted. The generalisation gap once reported for very large batches — sharper minima, worse held-out loss — largely closed once the learning rate was scaled and warmed up, so that ceiling is a tuning failure rather than a property of the batch; the diminishing return on noise is the real one. Learning rate must scale with batch, or a larger batch simply trains slower per epoch.
Gradient variance falls as 1/|B|, so noise falls as 1/√|B| while cost rises linearly. Linear scaling η ∝ |B| holds until the critical batch size, past which the step count stops falling proportionally.
batch holds 50% of the budget; rest holds the remaining 50%.
Share of the step's cost spent on the batch against everything else in the update. Drag the batch size to watch throughput and diminishing returns move together.
Reviewed by opendroid · 2026-08-04
- arXiv:1706.02677 — Accurate, Large Minibatch SGD: Training ImageNet in 1 Hour
- arXiv:1812.06162 — An Empirical Model of Large-Batch Training
- arXiv:1609.04836 — On Large-Batch Training for Deep Learning: Generalization Gap and Sharp Minima