Epoch 指将整个训练数据集完整地通过模型一次。一个 epoch 包含了所有训练样本(data)的完整迭代。
Batch 是训练过程中使用的数据子集。一个 epoch 可以分成多个 batch, 每个 batch 用于一次参数更新 。使用 batch 的原因是一次处理整个数据集可能会占用过多内存,尤其是在大型数据集的情况下。
“每个 batch 用于一次参数更新”这一点非常重要,这意味着一个 batch 中所有的样本都面对的是相同的参数。训练中一个 batch 积累的梯度会统一更新参数。这点也变成了导致 PP 存在 Bubble 的一个重要因素。