S4·模型训练
Batch Size
Batch Size 是一次训练迭代中同时处理的样本数量。它影响训练速度、显存占用和模型收敛质量——是调参三件套之一。
① 一句话定义
Batch Size(批次大小)是每次梯度更新时同时使用的训练样本数量。Batch Size=1 时模型每看一个样本就更新一次参数(噪声大但快速反馈);Batch Size=1024 时模型看完 1024 个样本后才更新一次(梯度更稳定但单步更慢)。
② 为什么重要
Batch Size 直接影响训练的三个维度:速度(更大的 Batch 能更好地利用 GPU 并行能力)、显存(Batch 越大占的显存越多,可能 OOM)、收敛质量(小 Batch 噪声大但有助于跳出局部最优,大 Batch 梯度稳定但可能收敛到更差的解)。显存不够可以减小 Batch Size + 梯度累积(每 N 个 mini-batch 更新一次参数),在不增加显存的前提下模拟大 Batch 效果。
更多
经验法则:先按显存容量定一个最大 Batch Size,然后做实验。对 LLM 微调,Batch Size=4~64 是常见范围。如果效果不理想,尝试调整 Batch Size——太小可能需要更长的训练时间,太大可能需要调整学习率。
「Batch Size 控制每次更新用多少数据——太小了训练不稳,太大了显存不够。可以用梯度累积在不改显存的前提下模拟更大的 Batch Size。
」