Scaling laws
OpenAI 在其早期的关于 scaling laws 的论文 [1] 中提出了基础理论,但该文缺乏一些具体的求解过程,且未能在更大规模的模型上进行验证。与此同时,后续研究,例如 DeepMind 的 ChinChilla [2] 还提出了不同的结论。
论文题目:
Unraveling the Mystery of Scaling Laws: Part I
论文地址:
https://arxiv.org/abs/2403.06563
论文作者:
Hui Su, Zhi Tian, Xiaoyu Shen, Xunliang Cai
论文探究了原始 scaling laws 研究所遗漏的细节,复现一套可靠和精确的 scaling laws 公式,揭示了 ChinChilla 研究结果与 OpenAI 理论不一致的根本原因(数据分布和长下文长度不同)。
超参
例如批处理大小(batch size)、学习率(learning rate)和学习率调度器(learning rate scheduler),在模型的收敛速度上起着显著作用。然而,只要这些参数设置在一个合理的范围之内,并结合充足的训练步数与大量数据进行训练,它们对于最终的收敛损失(loss)值的影响可以忽略不计。
batch size
基于 loss 值确定一个关键的批处理大小(critical batch size),以实现时间和计算成本的相对最优。相较于使用无限大的 batch size,需要双倍的训练步数来达到同样的 loss 值。
上下文长度、tokenization、数据分布和模型架构
上下文长度、tokenization、数据分布和模型架构本身,对于 scaling laws 公式中的系数有着显著的影响。然而,这些因素并不改变 scaling laws 的基本形式。这也解释了为何 ChinChilla 研究得出了不同的结论,因为它们在上下文长度和数据集方面有所不同。
power-law
只要 lr 设置得当,训练步数、batch size 以及模型规模与 loss 之间存在着一种精确且可预测的幂律(power-law)关系。