Learn AI · 模型硬功底(由内而外)
第 12 课 / 经典论文 P11  ·  阶段三:统一框架与规模(Hoffmann et al., 2022)

Chinchilla:
当年的大模型几乎全「虚胖」
——同样算力,小一半但喂饱数据,反而更强还更便宜

上一课 Scaling Laws 立了「loss 可预测、可外推」的范式(这点至今成立),但它对预算分配的建议——「钱主要砸模型大小」——埋了个雷。 这一课 Chinchilla 把雷引爆:DeepMind 用更细的实验证明,Kaplan 算错了,当年那批巨无霸(GPT-3 175B、Gopher 280B、MT-NLG 530B)几乎全都「虚胖」:参数堆太大、数据喂太少,欠训练。 它回答你做产品最该有的一个判断:「参数量大 = 更强」这个直觉,靠谱吗?我该追更大的模型,还是追喂得更饱的模型?
Chinchilla 的一句话:固定算力预算下,模型大小 N 和训练数据量 D 应该「等比例」一起放大——粗略记成「每 1 个参数,配约 20 个 token」。
当年的大模型严重偏离这条线:模型巨大、数据却少得可怜(GPT-3 175B 只喂了约 300B token,远不到 20×)。所以它们没吃饱、没训透。 Chinchilla 用反例钉死结论:70B 参数(比 Gopher 小 4 倍)+ 1.4T token(多喂 4 倍),同样算力,全面反超 Gopher 和 GPT-3。而且小模型推理还更便宜——一笔双赢。

一、立靶:当年的「越大越好」,是不是其实是「虚胖」?

上一课你记住了两件事:loss 随规模呈幂律(对),以及 Kaplan 的预算建议「把算力主要砸到模型大小上,数据没必要喂太多、不必训到收敛」。整个 2020–2021 年,行业就照这个跑——比谁参数多:GPT-3 175B、Gopher 280B、MT-NLG 530B。

立靶:同样这笔算力,换种花法会不会更好?

Chinchilla 团队重做了实验(而且用三种独立方法交叉验证),问一个要命的问题: 给定固定算力,模型该多大、数据该多少,才能把 loss 压到最低? 答案和 Kaplan 截然不同——当年的模型普遍「太大、喂太少」。把同样的算力从「堆参数」挪一部分去「喂数据」,loss 还能再降一截。换句话说:那批巨无霸不是不够大,是没吃饱

二、抽框架:compute-optimal 的正解——N 与 D 等比例放大

同一笔算力(C ≈ 6 × N × D),可以有无数种「模型多大 / 数据多少」的分法。Chinchilla 的结论是有一个最优配比,且 N、D 应当同速增长

分法模型 N / 数据 D结果
偏 Kaplan:堆参数N 巨大,D 少(tok/参数 ≪ 20)欠训练(虚胖),loss 偏高
Chinchilla 最优N、D 等比例,约 20 token/参数loss 最低 ✓
过头:堆数据N 太小,D 极多模型「装不下」,loss 又升
记忆把手:约 20 token / 参数

这是 Chinchilla 留下最实用的一根标尺。验算一下当年的模型:
GPT-3:175B 参数,仅约 300B token → ≈1.7 token/参数,严重欠训练。
Chinchilla:70B 参数,1.4T token → ≈20 token/参数,正好踩线。
Kaplan 让 N 跑得飞快、D 慢吞吞;Chinchilla 让它俩手拉手一起涨

三、核心洞察:巨无霸都「欠训练」,而 Kaplan 为什么会算错

两个洞察,一个关于模型、一个关于方法——后者尤其值得你记住,因为它是「权威实验也会因一个细节系统性翻车」的经典案例。

洞察说明
① 当年的大模型普遍欠训练它们把算力几乎全砸在「做大」上,数据喂得太少、没训透。所以「参数量」根本不是「能力」的好代理——一个喂饱的小模型能打趴一个饿着的大模型
② Kaplan 错在一个方法细节Kaplan 的实验用了一个不随数据量正确衰减的学习率调度,这让大模型「看起来」比实际更省样本,于是得出「多砸模型」的偏结论。Chinchilla 把这个细节修对、用三种方法交叉验证,才翻了案。

第 ② 点对你是一记提醒:scaling law 这种「画直线外推」的方法极强,但它的结论强烈依赖实验设置;一个看似无关的旋钮(学习率调度)配错,整条外推线就偏了。权威结果也要看它怎么做出来的——做过受控实验、搭过评测脚本的人,对这一点会格外有共鸣。

四、动手玩:固定算力,配比怎么分 loss 最低?

算力预算锁死。点不同的「模型 / 数据」配比,看 loss 怎么走——你会看到一个谷底:太偏堆参数(虚胖)或太偏堆数据(装不下)都更差,约 20 token/参数处最低

固定算力,选配比: 

谷底就是 compute-optimal。左边是 Kaplan 时代的「虚胖」打法,右边是矫枉过正的「饿死大脑」打法,最优在中间那条「约 20 token/参数」的线上。

五、对照表(一):Chinchilla 怎么用反例钉死结论

GopherChinchilla(本篇)
参数 N280B70B(小 4 倍)
训练 token D300B1.4T(多约 4 倍)
算力 C两者基本相同
谁更强Chinchilla 全面反超(且也胜 GPT-3、MT-NLG)
推理成本高(模型大)低(小 4 倍,部署更省)

这就是 Chinchilla 的杀招:不是嘴上说「该多喂数据」,而是真造一个小 4 倍、喂 4 倍数据、同算力的模型,把更大的 Gopher 打趴。更狠的是——它还顺带省了推理成本。

六、对照表(二):Kaplan vs Chinchilla,以及 LLaMA 把它推得更远

维度Kaplan 2020(P10)Chinchilla 2022(本篇 P11)
固定算力,钱砸哪主要砸模型大小N 与 D 等比例(约 20 token/参数)
对数据的态度没必要喂太多数据被严重低估,要喂饱
当年模型的诊断普遍欠训练 / 虚胖
仍然成立的「loss 可预测、可外推、幂律」的范式不变,被修正的是配比

🔮 故事还有下一跳:Chinchilla 是「训练算力最优」。但产品上线后,推理成本才是大头——模型要被调用千百万次。于是 LLaMA 等更进一步:故意把小模型训过 Chinchilla 最优点(喂远超 20× 的数据),训练时多花点,换来一个又小又强、推理便宜的模型。这条「为推理便宜而过度训练」的路线,正是今天小模型遍地开花的根。

七、映射到你的项目

你工作里的东西其实就是这篇论文的什么
看到「XX 模型 700B 参数」就觉得它一定更强小心:参数量不是能力的好代理——欠训练的大模型会输给喂饱的小模型。要看「训了多少数据」,不只是「多大」
你纠结「上更大的模型」还是「用小模型 + 更多数据/RAG」就是 compute-optimal 的产品版:Chinchilla 告诉你「别迷信大,喂饱更值」,而且小模型推理更便宜
你做选型时算「这个模型每次调用多少钱」对上 LLaMA 路线:训练成本一次性,推理成本随调用量累加——产品该优先选「小而强、调用便宜」的
你看到一个「权威 scaling 外推结论」,想判断信不信记住 Kaplan 翻车的教训:结论强依赖实验设置,一个学习率调度配错就偏——要追问它怎么做出来的
「为什么现在小模型(7B/8B)也能很能打」因为它们被喂了远超 Chinchilla 最优的数据,把小身板的潜力榨干了

八、检索练习(关掉上文,凭记忆答)

1. Chinchilla 给出的 compute-optimal 正解是?
2. Chinchilla 怎么证明「当年大模型虚胖」?
3. Chinchilla 推翻了 Kaplan 的什么?没推翻什么?

九、常见问题 FAQ

把这一课接到你真实工作上的几个关键问。点开看答。

既然 Chinchilla 最优是「约 20 token/参数」,为什么今天的 LLaMA / 小模型要喂远超这个数?

因为 Chinchilla 优化的是训练算力——「同样训练预算下,loss 最低」。但产品视角,推理成本才是主战场:模型一旦上线,要被调用千万次,每次调用的成本只跟模型大小有关,跟你训了多少数据无关

所以 LLaMA 的算盘是:训练时多花点(把小模型喂到远超 20×),换一个又小又强、推理永久便宜的模型。一次性多付训练费,省下无限次推理费——对要长期服务用户的产品,这笔账划算。Chinchilla 给的是「训练最优」,LLaMA 走的是「部署最优」,两者不矛盾,是优化目标不同

那 Chinchilla 之后,是不是「模型越小越好」?参数量彻底没意义了?

不是。模型容量(参数量)有个上限作用——太小的模型「装不下」,喂再多数据也到顶(动手玩里右端那档就是这个)。Chinchilla 反对的是「在数据没喂够的前提下盲目做大」,不是说大没用。

正确的心智:参数量决定「天花板有多高」,数据量决定「你爬到了天花板的几成」。当年的巨无霸天花板很高,但只爬了一两成(欠训练)。所以判断一个模型强不强,要两个数一起看:多大 + 喂了多少,而不是只看参数。

「约 20 token/参数」这个数,我能直接拿去判断模型吗?

当作粗略标尺可以,当精确公式不行。20× 是 Chinchilla 在它的数据、它的设置下拟合出来的,会随数据质量、模型架构、目标(训练最优 vs 推理最优)而变。它的真正价值是方向:提醒你「光看参数会被骗,要问数据喂够没」。

实操上你不会自己训模型,但这把尺能让你看懂新闻稿——看到「我们的 7B 模型用了 15T token 训练」,你立刻知道:这是 ~2000 token/参数,远超 Chinchilla 最优,明显是为推理便宜而过度训练的 LLaMA 路线,大概率小而强。

本课主源

读原典:Hoffmann et al. — Training Compute-Optimal Large Language Models(Chinchilla, 2022)

建议连着上一课读:Scaling Laws(P10) 立范式、本篇修配比,两篇是一组「立靶 + 纠偏」。

阶段三收尾在即:T5 统一形状 → Scaling Laws 量化 → Chinchilla 修正配比。下一篇 P12 LoRA:换个赛道——不再谈「怎么把大模型训出来」,而是「怎么用极小成本把它微调到你的场景」。

我是你的老师,随时提问。 比如:「为什么算力 C ≈ 6ND,那个 6 哪来的?」「Chinchilla 之后,前沿模型还在遵守 20× 吗?」 「训练最优和推理最优,我做产品该认哪个?」——别带着模糊往下走。

参考:
Hoffmann et al., Training Compute-Optimal Large Language Models, 2022.