正在刊行长文 · Essay
2026-06-26所有内容
随机比特 · Random Bits

训模型的钱,一半该给数据

2026-06-26AI Engineering / Systemsrbits.uk

假设你手里有一笔预算,够训一个模型。你会做什么?

大部分人第一反应:堆参数。模型越大越聪明,常识如此。GPT-3 搞了 1750 亿参数,人们觉得 GPT-4 肯定两万亿起步。

但 Chinchilla 这篇论文用 400 多次实验告诉你一件反常识的事:别把钱全砸参数上,一半给数据。

Chinchilla 70B(700 亿参数)用 1.4 万亿 token 训练,在几乎所有指标上碾压了 Gopher 280B(2800 亿参数,只喂了 3000 亿 token)。四分之一大小,四倍数据,全面胜出。

<!-- diagram:chinchilla-vs-gopher -->

在固定算力预算 C 下,最优参数量 N 和最优数据量 D 的关系是数学上干净的——

N_opt ∝ C^0.5,D_opt ∝ C^0.5。各一半。算力翻倍,参数翻倍的同时数据也得翻倍。

单看这个结论,你可能会想:好,记住了,以后训模型参数和数据 1:1。

但真正该追问的是:为什么这样一个结论,整个行业晚了两年才接受?

2020 年 Kaplan 团队提出 scaling laws 时,给的建议是 N ∝ C^0.73——让参数增长速度远快于数据。10× 算力下,参数增 5.5×,数据只增 1.8×。这条建议直接影响了后续几年大量模型的训练策略。

为什么偏这么多?

核心原因藏在实验设计里。Kaplan 的实验覆盖的参数量级是 768M 到 1.5B——在今天看来都是小模型。在这个区间内,embedding 层参数占比不小,数不数 embedding 会直接影响拟合出的指数。2024 年 Pearce & Song 做了个推导证明:如果用 Kaplan 当年的实验范围重新拟合,那个 0.73 的指数在那个区间局部是对的

换句话说,Kaplan 并没有算错——他只是在一个会给出错误外推结论的实验范围里做了拟合。从 1B 模型推到 100B 模型,0.73 和 0.50 这两个指数的差距被外推距离放大了几十倍。

这件事的教训远比"谁对谁错"重要:scaling law 是外推工具。你把小实验上拟合的公式拿去指导大预算的花法,中间只隔了几个小数点。而那几个小数点,会随着外推距离放大成完全相反的行动指令。

2024 年 Besiroglu 等人尝试复现 Chinchilla 论文的方法三(参数化拟合),发现了一个具体到不能再具体的 bug:原作者在计算 Huber loss 时做了平均而不是求和。这个差异让优化器提前停止——它以为自己收敛了,其实还差得远。同时,论文里把拟合出的 α 和 β 只保留了两位小数,这让推导出的 A 和 B 看起来比实际更离谱。

修完这两个问题后,方法三的结论和其他两种方法完美吻合。一个求平均还是求和的区别,差点让一篇里程碑论文的核心结果被自己打脸。

所以下次听到"我们按 scaling law 规划的训练预算",你该追问的不是公式本身,是:拟合数据量多大?外推距离多远?参数怎么数的?

还有一个更隐蔽的前提——以上所有讨论都假设你有无限的不重复高质量数据。现实中你大概率没有。

当数据不够用时,scaling law 要改写。重复喂同样的 token 给模型,它的价值不是线性递减,是指数衰减——每次重复都在折损上一次剩余价值的一个固定比例。而且,大模型对重复数据更敏感:参数越大,重复的伤害越深。这倒逼出一个反直觉结论:当数据有限时,宁可多跑几轮 epoch 也不要盲目堆参数。

回到开头那个问题。你的训练预算分配,本质上是一个参数拟合问题。你信哪个 scaling law,就会把钱往哪个方向堆。但真正该记住的不是 Chinchilla 的 0.5 指数——那个数字随时可能被下一轮实验修正。该记住的是:你选的拟合方法、你数的参数口径、你外推的距离,每一项都在替你做预算决策,只是你没意识到。

下次有人说"模型越大越好"时,问三个问题:你的数据量跟上参数增长了吗?你数参数的时候包没包括 embedding?你的结论是从多大实验外推来的?

这三个问题问完,大多数"越大越好"的断言就站不住了。

随机比特公众号二维码
公众号 · 随机比特
从 AI 工具热闹里拆工程真相

写边界、控制面、上下文、成本与安全。