1、大模型预训练中的dynamic batching策略是什么?

在大模型预训练中,通常将batch size设置为较大的数值,例如1M到4M个token,从而提高训练的稳定性和吞吐量。为了更好地训练大语言模型,现在很多工作都采用了dynamic batching策略,即在训练过程中逐渐增加batch size大小,最终达到百万级别。例如,GPT-3 的batch size从32K增加到3.2M;PaLM-540B的batch size从1M增加到4M。

2、为什么大模型预训练大都采用了dynamic batching策略?

dynamic batching策略可以有效地稳定大语言模型的训练过程[1]

  • 较小的batch size对应反向传播的频率更高,在训练初期能更有效地利用样本,可以使用少量的数据让模型的损失尽快下降;
  • 较大的批次可以在训练后期则因能提供更准确的梯度估计[2],让模型的损失下降地更加稳定,使模型更好地收敛;

 

[1]Chowdhery A, Narang S, Devlin J, et al. Palm: Scaling language modeling with pathways[J]. Journal of Machine Learning Research, 2023, 24(240): 1-113.

[2] McCandlish S, Kaplan J, Amodei D, et al. An empirical model of large-batch training[J]. arXiv preprint arXiv:1812.06162, 2018.