- 简介传统观点认为,较小的批量大小会使语言模型的预训练和微调变得不稳定,因此人们通常使用梯度累积(gradient accumulation)的方法,以优化器更新步数为代价来成比例地增加有效批量大小。虽然在使用较小批量大小时通常会降低学习率,但其他超参数往往保持不变。本文中,我们重新审视了小到批量大小为一的训练方式,并提出了一个将 Adam 优化器超参数适配到小批量大小的规则。我们发现,小批量大小(1)训练过程稳定,(2)对超参数选择具有一致性的更强鲁棒性,(3)在每 FLOP 计算量下的性能等于甚至优于更大的批量大小,(4)令人惊讶的是,即使不使用动量且不保存优化器状态,也能通过原始 SGD 实现稳定语言模型训练。基于这些发现,我们提供了关于如何选择批量大小以及设置优化器超参数的实用建议。此外,我们建议除非是在多个设备上进行多模型副本训练、且受限于设备间带宽的情况下,否则不应使用梯度累积方法。
-
- 图表
- 解决问题论文试图验证小批量(甚至批量大小为1)在语言模型预训练和微调中的稳定性,并挑战传统观点认为大批量是稳定训练的必要条件。这是一个相对较新的问题,因为以往研究通常使用梯度累积来增加有效批量大小。
- 关键思路提出了一种针对Adam优化器超参数随批量大小缩放的规则,使得即使在极小批量情况下也能实现稳定的训练。相比现有研究,该论文重新审视了小批量的作用,并提出了优化器层面的适配策略,而非单纯依赖学习率调整。
- 其它亮点{实验证明小批量训练不仅稳定,而且对超参数选择更加鲁棒,在同等计算资源下(即每FLOP),小批量表现等于或优于大批量,首次展示使用无动量的普通SGD也能实现稳定语言模型训练,无需维护优化器状态,实验涵盖了从批量大小1到较大值的广泛对比,作者建议避免使用梯度累积,除非多设备训练受带宽限制}
- {"Zhang et al., \"Batch Size-Independent Training via Adaptive Gradient Updates\" (2022)","Li et al., \"On the Convergence of Stochastic Gradient Descent with Small Batches in Deep Learning\" (2021)","You et al., \"Reducing Batch Size for Better Generalization in Deep Learning\" (2023)","Goyal et al., \"Accurate, Large Minibatch SGD: Training ImageNet in 1 Hour\" (2017)","Keskar et al., \"On Large-Batch Training for Deep Learning: Generalization Gap and Sharp Minima\" (2016)"}
NEW
提问交流
提交问题,平台邀请作者,轻松获得权威解答~
向作者提问

提问交流