Zubnet AI学习Wiki › Batch Size & Epoch
训练

Batch Size & Epoch

别名:小批量、训练轮次
批量大小是模型在更新参数之前处理的训练样本数。一个轮次(epoch)是对整个训练数据集的一次完整遍历。一个在100万个样本上以批量大小1000训练3个轮次的模型,每次更新处理1000个样本,每轮次1000次更新,总共3000次更新。

为什么重要

批量大小和训练轮次是训练中最基本的控制参数。批量大小影响训练速度、内存使用,甚至模型学到什么(小批量增加的噪声有助于泛化;大批量收敛更快但可能泛化更差)。轮次数决定模型看到每个样本的次数——太少会欠拟合,太多会过拟合。

深度解析

在实践中,随机梯度下降以随机小批量处理训练数据。每个批量给出真实梯度的估计——更大的批量给出更好的估计(更少的噪声),但每步消耗更多内存和算力。典型的批量大小从32(小模型,单GPU)到数百万token(跨数千GPU的LLM预训练)不等。

大批量训练的挑战

LLM预训练使用巨大的有效批量大小(每次更新数百万token),分布在多个GPU上。在这种规模下,学习率必须仔细调整——线性缩放规则(批量大小翻倍,学习率翻倍)在某个点之前有效,之后就失效了。梯度累积允许你在较小的硬件上通过在多次前向传播中累积梯度然后再更新来模拟大批量。

LLM时代的训练轮次

现代LLM预训练通常在完整数据集上运行不到一个轮次——数据量如此之大,模型永远不会全部看完。这与经典ML中通常10至100个轮次的做法截然不同。研究表明,重复数据(多个轮次)实际上可能因记忆效应而损害LLM性能,但这取决于数据质量。相比之下,微调通常在小得多的数据集上运行1至5个轮次。

相关概念

← 所有术语
← AssemblyAI BERT →