规模定律(Scaling raw) 中的错误与修正

completeskeptic 发布于 2026-07-06 阅读 144

这篇文章揭示了OpenAI原始缩放定律(Kaplan et al.)中的错误:由于固定训练数据量、使用余弦学习率衰减到零以及声称学习率调度影响不大,导致规模定律被误导。实际上,Chinchilla论文提出的规模定律更准确,建议模型应更小、数据更多。文章详细分析了错误的三步,并指出这一错误导致GPT-3等模型被过度训练且规模过大。

图像

TL;DR: 最初的规模定律因一个 bug 而出错。

背景

规模定律是 OpenAI 最重要的成果之一,无论在技术层面还是哲学层面(以至于“缩放成瘾”成了一种现象)。它们让我们能够预测更大语言模型运行的结果,也让我们在使用指数级更多资源时能够调试模型。所有这些都引领了我们今天所处的 LLM 时代,但最令人意想不到的是:Kaplan 等人最初提出的规模定律是错误的。

最近,Lilian Weng 发布了另一篇精彩且强烈推荐的关于规模定律的博客文章。我对其中“调和 Kaplan 与 Chinchilla”这一部分特别兴奋,前者是 OpenAI 最初的规模定律,后者是 DeepMind 的后续研究,两者得出了完全不同的规模定律。

图像

图 1 来自 Chinchilla 论文。黑色虚线显示最初的规模定律,青色星标显示应该使用明显更小的模型。

Lilian 的文章介绍了后续研究中对两者差异的主流解释(即关于他们如何计算参数总数)。遗憾的是,那项后续研究并不准确,尽管并非作者们的过错。

原始规模定律与 Chinchilla 定律之间存在差异的真相是:前者有一个 bug!

Bug:三个要素

非研究者摘要

两种规模定律(原始的与 Chinchilla 的)给出了不同的“缩放配方”(关于如何高效训练大语言模型)。

前者之所以错误,是因为他们:

  • 没有在足够多的数据上进行训练(第一步)
  • 逐渐降低数据的影响力,使其看起来似乎不需要更多数据(第二步)
  • 声称这种逐渐降低并不重要(第三步)

因此,有几年时间,人们训练的模型过大,而数据却太少。

线索:数据随模型规模扩展

通过逆向思维更容易识别这一点:两种规模定律都预测数据量应与模型规模一同扩展。粗略的解释是,更大的模型有更多容量来吸收数据。因此数据量是一个非常关键的参数。

第一步:使用固定量的数据

Chinchilla 论文指出了根本问题,称原始的 Kaplan 等人“对所有模型使用固定的训练 Token 数和学习率调度”。当每个模型都在相同的固定数据量上训练时,相对于其规模,在约 130B Token 上训练的小模型所获得的训练量远远超过同样在约 130B Token 上训练的大模型。

图像

来自 Chinchilla 相关工作中的相关引用。

图像

图 2 来自 Kaplan 等人,显示所有不同大小的模型都训练到相同的约 130B Token。

图像

图 2 来自 Chinchilla,添加了粉色箭头以大致显示如果只训练到 130B Token,训练曲线将在何处被截断。显然可以看出,训练在达到规模定律的帕累托前沿之前就结束了。

保持数据量固定本身就足以得到错误的规模定律,但如果这是唯一的错误,结果会明显看起来不正确。除非你还同时……

第二步:使用余弦衰减的学习率调度到零

这种学习率调度导致训练在接近目标 Token 数时,学习速度变慢。性能自然趋于平稳,看起来像是训练已经饱和。我们现在知道,如果有更多数据和不同的学习率调度,大模型本会持续改进,但学习率调度人为地限制了结果,使其看起来像是更多数据也无济于事。

图像

带有 warmup 的余弦学习率衰减可视化图——你可以看到平滑衰减到学习率为 0,此时学习完全停止。

固定数据量和学习率调度导致了既错误又难以调试的规模定律。如果你还……

第三步:声称结果“在很大程度上独立于学习率调度”

给定最大 Token 数,他们的结论完全准确,但这并不适用于规模定律旨在建模的无限数据极限。

顺便说一下:我当时在 OpenAI 也研究了 LLM 优化,也未能发现这个 bug。😅 学习率调度看起来明显是一个重要的超参数,以至于它像是被故意设置的。

图像

Kaplan 等人的第 2.2 节描述了如何训练。绿色框显示了根据模型大小计算的固定 Token 数,红色框显示学习率调度。

结果:模型训练不足且过大

你可以看出学习率的差异是如何体现的:Chinchilla 最终得到的模型大小不到 GPT-3 的一半,训练时使用的 Token 数却超过了 GPT-3 的 4 倍。如果学习率在仅仅 300B Token 时就衰减到 0,他们不可能取得这个结果。🙃

图像

表 1 来自 Chinchilla:显示 GPT-3 既训练不足又过大。

结论

最终,这个 bug 被发现了,但并未公开明确承认(据我所知)。如今,每个大型 AI 实验室早就知道这一点。

对于未来的非大型实验室研究者:不要在这个问题上浪费时间。Chinchilla 的规模定律才是正确的。

对于任何能够修正原始规模定律论文的人,最好能添加一条注释说明其中存在一个 bug。

非常感谢 Ke Deng、Sasha Sheng、Erik Gafni、David Dohan 和 Sander Dieleman 帮助我撰写/审阅本文。

  • 原文链接: x.com/CompleteSkeptic/st...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~

相关文章

0 条评论