Zubnet AILearnWiki › Batch Size & Epoch
Training

Batch Size & Epoch

Mini-Batch, Training Epoch
Batch size is how many training examples the model processes before updating its parameters. An epoch is one complete pass through the entire training dataset. A model trained for 3 epochs on 1 million examples with batch size 1,000 processes 1,000 examples per update, takes 1,000 updates per epoch, and 3,000 updates total.

Why it matters

Batch size and epochs are the most fundamental controls in training. Batch size affects training speed, memory usage, and even what the model learns (small batches add noise that can help generalization; large batches converge faster but may generalize worse). Number of epochs determines how many times the model sees each example — too few and it underfits, too many and it overfits.

Deep Dive

In practice, stochastic gradient descent processes the training data in random mini-batches. Each batch gives an estimate of the true gradient — larger batches give better estimates (less noise) but cost more memory and compute per step. Typical batch sizes range from 32 (small models, single GPU) to millions of tokens (LLM pre-training across thousands of GPUs).

The Large-Batch Training Challenge

LLM pre-training uses enormous effective batch sizes (millions of tokens per update) distributed across many GPUs. At this scale, the learning rate must be carefully tuned — the linear scaling rule (double the batch size, double the learning rate) works up to a point, then breaks down. Gradient accumulation lets you simulate large batches on smaller hardware by accumulating gradients across multiple forward passes before updating.

Epochs in the LLM Era

Modern LLM pre-training typically runs for less than one epoch on the full dataset — the data is so large that the model never sees all of it. This is a shift from classical ML where 10–100 epochs was normal. Research suggests that repeating data (multiple epochs) can actually hurt LLM performance due to memorization effects, though this depends on data quality. Fine-tuning, by contrast, typically runs for 1–5 epochs on a much smaller dataset.

Related Concepts

← All Terms
← Backpropagation Beam Search →