One complete pass through the entire training dataset — the basic unit of training progress, used to track how many times the model has seen each example.
An epoch is one full pass through the training dataset. If the dataset contains 100,000 examples and the batch size is 32, one epoch consists of roughly 3,125 gradient update steps. After each epoch, every training example has been seen exactly once. Training typically runs for multiple epochs — the model sees the same data many times, learning to generalise from it rather than memorise it.
Too few epochs and the model hasn't learned enough — it underfits. Too many and it memorises the training data rather than generalising — it overfits. The right number depends on the dataset size, the model size, and the learning rate. For fine-tuning pre-trained transformers, 3–10 epochs is typical. LinkjeBERT was trained for 10 epochs with early stopping so that training terminated when validation performance stopped improving rather than after a fixed count.
A step (or iteration) is a single weight update, processing one batch. An epoch contains many steps. Both are used to schedule events during training: saving a checkpoint every 500 steps, or evaluating on the validation set at the end of every epoch. The DEJAN grounding classifier saved and validated every 500 steps regardless of epoch boundaries.