科研与技术前沿社区与认知

Scaling Law 塌房了吗?三次修正的真实故事,和越来越小的模型

这两天,一篇标题带着「OpenAI 塌房」「万亿算力全白烧」的文章在中文社交网络刷屏。它讲了一个完整的故事:OpenAI 在 2020 年发表的 scaling law 论文里有个 bug,全行业按错误公式狂奔两年,GPT-3 是「虚胖」的产物,甚至连英语本身都是低效的语言。故事的最后一块证据是:有研究者发现,同样的算力下,法语模型达到某种语法能力的效率比英语高 50 到 100 倍。

顺着文章给的链接去查这个断言的出处,会发现它既不在任何论文里,也不在文章引用的博客正文里。它是那篇博客评论区的一条读者留言,发布时间就在中文文章发出的当天。留言者是一位独立研究者,这项主张没有同行评议版本;而唯一一篇正面比较过英法两种语言训练效率的同行评议研究(PAGnol,LREC 2022)结论方向相反:法语因为形态更复杂,比英语更费算力。一条当天出现的评论区留言,就这样变成了「测量英语有多浪费算力」的重磅研究。这个细节足够读者给那篇文章的可信度定位了。

不过它提到的历史事件本身是真的:scaling law 确实在五年里修正了三次。这段历史比「骗局」有意思得多,因为三次修正改的其实不是同一个东西:第一次修的是实验方法,后一次换的是题目本身。看懂这一点,也就能回答一个所有用 AI 的人都关心的问题:以后会不会有智能差不多、但小得多的模型?

第一幕:2020 年的最优解是把模型做大

Scaling law 这个名字听起来像物理定律,它实际回答的问题要朴素得多:给你一笔固定的算力预算,是把模型做大一点,还是把数据喂多一点,性价比最高?训练的开销大致等于参数量乘以数据量,钱只有一份,两头必须做取舍。

2020 年,OpenAI 的 Kaplan 等人用几百次小规模实验拟合出一条曲线,结论是模型优先:算力增加时,大头应该花在参数上,数据只需要跟着涨一点。这条曲线直接塑造了 GPT-3:1750 亿参数,只训练了 3000 亿 token,平均每个参数分不到 2 个 token。此后两年,各家旗舰模型都照着这个配方往参数上堆。

第二幕:Chinchilla 把配方改成小模型多喂数据

2022 年,DeepMind 的 Chinchilla 论文用更大规模的实验重新拟合,得到几乎相反的配比:参数和数据应该同步放大,每个参数配大约 20 个 token 才划算。他们照此训练了 700 亿参数的 Chinchilla,用同样的算力全面超过自家 2800 亿参数的 Gopher。模型小四倍,数据多四倍,效果反而更好。按这个标准回头看,GPT-3 那一代确实训练不足。

三代模型的数据配比对比:GPT-3 每个参数不到 2 个 token,Chinchilla 提高到 20 个,Llama 3 8B 达到约 1875 个,跨度接近三个数量级

两家顶级实验室,同一个问题,结论差出十倍,中间发生了什么?这正是后来「bug 论」的来源。

所谓 bug,其实是一场持续四年的集体校准

2024 年,两组研究者分别做了逐因素的对照复现,答案已经相当清楚。Porian 等人找出三个主要因素:Kaplan 计算算力时漏掉了输出层、给小模型配了过长的学习率预热、没有为每个尺度单独调优化器参数。Pearce 和 Song 补充了另一个:Kaplan 数参数时漏掉了词嵌入层,而这部分在小模型里占比不小。把这几项修正之后,用 Kaplan 的实验框架能几乎精确地复现出 Chinchilla 的结论。换句话说,任何一个团队在 2020 年的条件下做那组实验,都会得到同样有偏差的曲线。至于那个流传最广的解释,「余弦学习率调度是罪魁祸首」,恰好是被实验否定的一个:Porian 等人发现,即便用最朴素的常数学习率,Chinchilla 定律照样成立。

更有意思的是,纠错者自己也被纠了错。2024 年 Besiroglu 等人复查 Chinchilla 的数据,发现三种拟合方法中的一种有数值问题,Chinchilla 作者公开承认了失误。但修正之后,新结果反而和另外两种方法对齐了,20:1 这个结论比原来更稳固。

这一连串修正里没有反派。把「bug」一词带进公众视野的 Diogo Almeida 当年就在 OpenAI 做大模型优化,他在博客里承认自己当时同样没有看出问题,他的诉求也只是给原论文加一条勘误注记。翻遍这几篇复现论文,找不到 mislead 或 fraud 这样的词,它们标题里用的词是 reconciling 和 resolving:调和,解决。Kaplan 2020 在这些论文里仍然被称为开创性工作。

第三幕:全行业开始故意偏离 Chinchilla

按理说故事到这里该结束了:正确配比找到了,大家照着 20:1 训练就是。但 2023 年之后发生的事恰好相反:全行业都在偏离 Chinchilla,而且越偏越远。Meta 给 80 亿参数的 Llama 3 喂了 15 万亿 token,每个参数摊到近 1900 个,是 Chinchilla 配比的九十多倍。

原因不在数学,在题目变了。Chinchilla 优化的是训练这一次的算力;可模型训练完是要上线服务的,每天回答几亿次请求,推理的开销日积月累,远超训练那一笔。Sardana 等人把推理成本加进公式后,最优解整个移动了:小模型推理便宜,多花一份训练费换一个更小的模型,只要调用量足够大就划算。Kaplan、Chinchilla、Llama,三代配方没有谁对谁错,它们在解三道不同的题:第一道把题目条件测错了,第二道把条件修对了,第三道换了题目本身。

三幕的时间线:2020 年 Kaplan 优化训练算力但实验有偏差,2022 年 Chinchilla 修正测量得到 20:1,2023 年起 Llama 路线把优化目标换成训练加推理的总成本

更小更强的模型已经跑了三年

看懂第三幕,开头那个问题就有了答案:智能差不多、参数小得多的模型不用等,这件事已经持续发生三年了,而且有人量化了它的速度。清华团队在 Nature Machine Intelligence 发表的 Densing Law 统计了近年的开源模型,发现达到同等能力所需的参数量大约每 3.5 个月减半一次。今天一个 80 亿参数的开源模型,能力大致相当于两年前的几百亿参数旗舰。背后是三股合力:Llama 式的超量训练,训练数据质量的持续提升,以及用大模型蒸馏小模型。

小型化有地板。Physics of LLMs 系列研究测出,语言模型每个参数大约只能存住 2 bit 的知识。推理风格可以靠蒸馏压缩,世界知识的容量却和参数量硬绑定,模型太小就是记不住那么多事实。所以更可能的图景是分层:日常任务交给越来越小的模型,前沿能力仍然属于最大的那批模型,而且前沿本身也在往前跑。

曲线不是定律

回头看这五年,scaling law 最容易被误解的地方是它的名字。它不是从第一性原理推出来的定律,而是一条实验拟合的曲线,实验条件变一点,指数就跟着变。ICLR 2025 有一篇覆盖 51 篇 scaling law 论文的系统综述,结论是这类拟合对方法选择极其敏感,大多数论文连复现所需的细节都没报全。把这样的经验曲线当成物理定律,才会把每一次系数修正都读成「塌房」。

同一段历史有两种讲法。讲成「科学共同体用四年逐层校准了一条经验曲线」,没有人转发;讲成「OpenAI 三步骗了全世界」,十万加。那篇塌房文里也引用了 Lilian Weng 六月底的综述,只是没提它的标题:Scaling Laws, Carefully。小心地。这个词比任何反驳都准确。

鸭哥每日手记

日更的深度AI新闻和分析