Transformer 解剖:从 Attention 到推理系统
第 11 章 Scaling Laws:Chinchilla 法则与算力配比
第 11 章 Scaling Laws:Chinchilla 法则与算力配比
第二部分到第四部分我们把 Transformer 的「单台机器版」彻底拆开了。这一章升级视角——怎么把它训到 100B、1T 参数?
「大」不是简单放大。把 7B 模型的代码和配置直接乘 100 倍训成 700B,结果几乎一定是:训不动(loss 不降)、训不收敛(spike 频发)、或者训完性能反而比 7B 差。从 7B 到 700B 之间隔着的不是工程量,而是对「N、D、C 三者怎么配比」的科学理解。
这门科学叫 Scaling Laws——研究模型规模 N、训练数据量 D、训练算力 C 与模型 loss 之间的定量关系。它从 2020 年 Kaplan 等人提出,到 2022 年 DeepMind 的 Chinchilla 反转,再到今天 Llama 时代的 over-training 取舍,是过去四年里影响最深的工业知识。
读完这章你能:
- 写出 loss 与 N、D、C 的幂律关系,并解释每个参数的含义;
- 给定算力预算 ,算出 Chinchilla-optimal 的 N 和 D;
- 理解为什么 GPT-3 是「数据不足」、Llama 是「数据过量」;
- 估算一个新模型训练所需的 GPU 小时与成本;
- 理解 emergent abilities(涌现能力)背后的工程本质。
11.1 三个变量:N、D、C
先把核心变量定下来,本章会反复用到:
- N:模型参数量(Number of parameters)
- 不计 embedding 的「主体参数」,单位通常是 B(10^9)
- GPT-3 是 175B,Llama-3 70B 是 70B,DeepSeek-V3 是 671B
- D:训练 token 数(Dataset size)
- 单位通常是 T(10^12)
- GPT-3 用了 0.3T token,Chinchilla 70B 用了 1.4T,Llama-3 用了 15T
- C:训练算力(Compute)
- 单位是 FLOPs(浮点运算次数),常用 PF-days 或 EF-days(exa-FLOPs-days)
- 一个粗略关系:(每个参数每 token 训练一次约 6 FLOPs,含前向 2 FLOPs + 反向 4 FLOPs)
这个 是后面所有推导的基础。它来自简单的 FLOP 计数:每个 token 经过模型时大约要做 次 FLOPs(前向);反向传播大约是前向的 2 倍(计算梯度),所以 FLOPs;合起来 FLOPs/token。所有 D 个 token 都要扫一遍,总算力 。
flowchart LR N[模型参数 N] --> C D[训练数据 D] --> C C[算力 C ≈ 6ND] C --> LOSS[最终 loss L] N --> LOSS D --> LOSS
研究 Scaling Laws 的核心问题就是:给定预算(任意两个变量固定),第三个变量该怎么选才能让 loss L 最小?
11.2 第一版:Kaplan 2020 的原始 Scaling Law
2020 年 1 月,OpenAI 的 Kaplan、McCandlish 等人在 Scaling Laws for Neural Language Models 论文里给出了第一组系统的实验结果:在 768 维到 1.5B 参数、几百 M 到几十 B token 的范围内,模型 loss 与 N、D、C 之间存在幂律关系:
其中 、、 和 是常数。
直观意思:loss 随 N 或 D 增大按幂律下降。把一个变量翻 10 倍,loss 下降一个固定的因子;翻 100 倍,再下降同样因子。这个性质在 log-log 图上是一条直线。
log(L)
^
| *
| *
| *
| * 斜率 ≈ -α
| *
| *
+-------------> log(N)
更进一步,给定算力 ,loss 的下界也是幂律:
这套结果意味着两件事:
1. Loss 还有很多「下降空间」。当时 GPT-3 还没出(GPT-2 是 1.5B),按幂律外推,把规模再放大 10 倍 / 100 倍仍然能持续降 loss——这给后续 GPT-3、GPT-4 的研发提供了直接信仰支撑。
2. 给定算力 C,最优如何分配 N 和 D? Kaplan 的实验结论:模型规模 N 比数据 D 重要得多。具体地,他们建议算力翻倍时 N 应该多增加(占大头),D 增加少一些。
这条「N 重于 D」的结论催生了 GPT-3:用 175B 参数 + 0.3T token 训练。从 Kaplan Scaling Law 角度看,这是「算力最优」的配置——175B 参数已经接近当时的训练算力上限,再多 token 不如再大模型。
但这个结论是错的——只是 2 年后才被发现。
11.3 反转:Chinchilla 2022
2022 年 3 月,DeepMind 发布了 Training Compute-Optimal Large Language Models,提出了著名的 Chinchilla 法则。
DeepMind 的实验范围更宽——他们训了 400 多个不同 N、D 组合的模型,从 70M 到 16B 参数、1B 到 500B token。结果颠覆了 Kaplan 的结论:
结论:在固定算力 C 下,最优的 N 和 D 应该大致同步增加——具体地,
下面这张图把 Kaplan 幂律和 Chinchilla 1:20 法则画在一起,并把主流模型在 (N, D) 平面上的位置标出来:

右图特别值得停下来看——GPT-3 175B 远低于 Chinchilla 对角线(D/N=1.7,理论应该 D/N=20,欠训 12 倍);Llama-2/3 系列远高于对角线(Llama-3 8B 的 D/N=1875,over-train 94 倍)。这两端的偏离都不是失误,而是反映两个不同时代对「训练 vs 推理算力」权重的不同判断。
而 Kaplan 的结论是 ——N 增长率远高于 D。
Chinchilla 给出的具体配比:算力最优时 N : D ≈ 1 : 20,即每参数对应大约 20 token 训练数据。
| N(参数量) | Chinchilla-optimal D | 备注 |
|---|---|---|
| 1B | 20B token | |
| 7B | 140B token | |
| 13B | 260B token | |
| 70B | 1.4T token | DeepMind 实测 |
| 175B | 3.5T token | GPT-3 实际只训 0.3T,严重欠训 |
| 500B | 10T token | |
| 1T | 20T token |
按这个公式,GPT-3 是严重欠训的——175B 参数对应 0.3T token 训练,只有 Chinchilla-optimal 的 1/12。这意味着 GPT-3 的算力没有被充分用来「挖掘」175B 参数的潜力——同样的算力换成 70B + 1.4T 才是最优配置。
Chinchilla 70B 在论文里的实验证实:用相同算力下的 Chinchilla 配置(70B + 1.4T)训出来的模型在多项基准上击败 GPT-3 175B——参数量只有 40%,但更优的训练分配让它强得多。
flowchart TB
subgraph "Kaplan 2020 (错误)"
K1["N >> D"]
K2["GPT-3: 175B + 0.3T"]
K1 --> K2
end
subgraph "Chinchilla 2022 (正确)"
C1["N ~ D"]
C2["最优比例 N:D = 1:20"]
C1 --> C2
C2 --> C3["Chinchilla 70B + 1.4T<br/>击败 GPT-3 175B"]
end
K2 -.推翻.-> C1
11.4 为什么 Kaplan 错了
回头看 Kaplan 的实验,错误来自一个工程细节:他们的学习率 schedule 没有跟随训练 step 数自适应调整。
Kaplan 用了固定的 cosine schedule——无论训多少步,schedule 都从 lr_max 衰减到 lr_min。但他们做的实验是「同一个模型大小,喂不同量的数据」——结果就是当数据量大时,cosine schedule 在中间就把 lr 衰减到很低,最后几亿 token 几乎是用极小 lr 在「微调」,loss 降得慢。
Chinchilla 的实验修正了这点:每个实验配置都用专属的 schedule——schedule 长度匹配该实验的 token 总数,让 lr 在最后才降到底。结果显示数据量的边际效益比 Kaplan 算的大得多。
这个修正听起来很小,但它重新定义了大模型工业的训练取向——所有 2022 年之后的大模型都按 Chinchilla 法则配置 N 和 D,Kaplan 的「N 重于 D」原则被废止。
11.5 第三版:Llama 的 over-training
如果 Chinchilla 法则就是终点,那 Llama 不应该出现——Llama-2 7B 用 2T token 训练,严重超过 Chinchilla-optimal 的 140B;Llama-3 8B 用 15T token,超 Chinchilla-optimal 100 倍。
为什么?因为 Chinchilla 法则只优化「训练算力」,没有考虑「推理成本」。
flowchart LR TC[训练算力] --> CHIN[Chinchilla optimal] IC[推理成本] --> LLAMA[Llama over-training] CHIN -.训练优化.-> M1["70B + 1.4T (例)<br/>训练效率最高<br/>但部署贵"] LLAMA -.部署优化.-> M2["7B + 15T (例)<br/>训练投入更多<br/>但模型小,部署便宜"]
Meta 的工程师 reason 是:模型一旦训完,要部署给亿级用户用很多年。训练算力是一次性投入,推理算力是持续投入。
举个数字:
- 用 Chinchilla 配置训 70B + 1.4T,训练成本 X,部署时每个用户 query 调用 70B 模型
- 用 over-training 训 7B + 15T,训练成本 1.5X(训练用更多 token),但部署时每个 query 用 7B 模型——推理成本只有前者的 1/10
如果模型要给 1 亿用户用 1 年(10^11 次调用),推理成本主导一切——前者训完开支远超后者。
更关键的是:继续 over-train 的边际收益虽然递减,但不为零。Llama-3 8B 在 15T token 上仍然能持续降 loss,比 1T token 的同样 8B 模型显著强。这是 Chinchilla 法则没覆盖的「饱和点之外」的区域——模型已经饱和(参数都被填满),但额外数据仍然能带来质量提升(数据广度补充模型记忆容量)。
主流模型的 N : D 比例:
| 模型 | N | D | D/N 比 | 备注 |
|---|---|---|---|---|
| GPT-3 | 175B | 0.3T | 1.7 | 严重欠训(Kaplan 时代) |
| Chinchilla | 70B | 1.4T | 20 | Compute-optimal |
| Llama-2 7B | 7B | 2T | 286 | over-train 14× |
| Llama-2 70B | 70B | 2T | 28 | 接近 Chinchilla |
| Llama-3 8B | 8B | 15T | 1875 | over-train 94× |
| Llama-3 70B | 70B | 15T | 214 | over-train 11× |
| DeepSeek-V3 | 671B(37B activated) | 14.8T | 22 | activated parameters 维度接近 Chinchilla |
可以看到 2024 之后的趋势是:普通规模模型(7B、70B 这一档)严重 over-train,因为它们要承担推理负担;超大模型(500B+)接近 Chinchilla,因为它们主要是训练投入。
11.6 估算训练成本
有了 这个公式,我们可以估算实际训练所需的算力。
例 1:Llama-3 70B
H100 GPU 的 BF16 算力是 989 TFLOPs/s(理论峰值),但实际利用率(MFU, Model FLOPs Utilization)只有 30-50%。取 40% 利用率:
总 GPU·秒:
按市场价 H100 租约 11M(千万美元量级)。Meta 实际报告 Llama-3 70B 训练用了 6.4M GPU·hours——和我们估算的同一量级。
例 2:你的小公司想训一个 7B 模型
按 Chinchilla 法则,7B 对应 140B token:
40% MFU 下需要 H100 GPU·hours:
也就是 8 张 H100 跑 21 天,或 64 张 H100 跑 2.5 天。按市场价约 15K——这是 Chinchilla-optimal 的最低门槛。
如果你想 over-train(比如 Llama 风格 7B + 2T token),算力翻 14 倍,约 $150K——已经能让一个百万美元的实验室出一个相当不错的中等模型。
估算的实际意义
这套估算让你看到:
- 训练 100B 模型的硬门槛是几千万美元——只有大厂能玩。
- 训练 7B 模型的门槛是十万美元量级——一个研究小组的预算。
- 训练 100M 模型在云上几百美元——任何爱好者都能复刻 mini-GPT 实验。
这就是为什么开源大模型生态在 7B-70B 这一档百花齐放,1T 量级几乎被 OpenAI/Anthropic/Google/Meta/DeepSeek 等几家大公司垄断——成本曲线决定了谁能玩。
11.7 涌现能力:Scaling 的「幻觉」与「真实」
Scaling Laws 告诉我们 loss 会随 N、D 平滑下降。但有些具体能力——in-context learning、reasoning、tool use、复杂指令理解——并不平滑出现,而是在某个规模阈值之后突然涌现。
Wei et al.(Google,2022)的论文 Emergent Abilities of Large Language Models 系统刻画了这一现象。比如:
- 三位数加法:在 6B 以下模型上几乎为零正确率,到 100B+ 突然跳到 70%+。
- 多步推理:CoT(Chain-of-Thought)prompt 在 60B 以下完全无效,60B 以上才有效。
- 上下文学习(few-shot):GPT-3 175B 才大规模涌现,1.3B 模型上效果很弱。
flowchart LR X[模型规模] --> Y[能力] Y -.平滑.-> S1["loss / 标准 benchmark<br/>渐进改善"] Y -.阈值跳变.-> S2["三位数加法<br/>多步推理<br/>ICL<br/>tool use"]
这给「Scaling 信仰」加了一条:不只 loss 会降,还会涌现新能力——这是 OpenAI / Anthropic 投入数十亿美元继续放大模型的核心论点。
但这件事也有争议。Schaeffer et al.(Stanford,2023)在论文 Are Emergent Abilities of Large Language Models a Mirage? 提出反驳:所谓「涌现」很大程度上是评测指标的不连续性导致的视觉错觉。比如「三位数加法是否完全正确」这个二值指标会突然跳变,但如果你看「数字误差的对数」这种连续指标,曲线其实是平滑的。
两种观点并存。我个人倾向认为:有些能力是真的涌现,有些是评测错觉,但模型规模带来的能力提升是真实的——这一点工业界的产品化数据支撑得很充分(GPT-4 / Claude 3.5 / Gemini 1.5 比早一代模型在所有维度都质变)。
11.8 Scaling 的瓶颈
到了 2024-2025,Scaling 曲线开始遇到几堵墙。
墙一:高质量数据耗尽
Llama-3 用 15T token,DeepSeek-V3 用 14.8T——这已经接近互联网公开高质量文本的上限。Common Crawl 等大数据集去重、去噪、过滤后,剩下的高质量内容大约在 10T-30T 量级。
继续扩 10 倍数据到 100T+?除非:
- 加入大量代码(GitHub 级别的代码语料库 ~5T token)
- 加入科学论文(PubMed Central + arXiv ~1T token)
- 加入合成数据(synthetic data,用大模型生成)—— Llama-3 / DeepSeek 都开始用这条路
合成数据是当前最热的方向但也最有争议——用 AI 生成的内容训 AI,可能引入 model collapse(Shumailov et al., 2023):模型逐渐学到自己的偏见,分布越来越窄。这个问题至今没完全解决。
墙二:算力 / 资金
训练 GPT-4(估计 1T+ 参数,30T token)的成本约 200M。下一代 GPT-5 / Claude 4 / Gemini 2 估计 1B。这个成本曲线让玩家越来越少——只有顶级头部能继续玩。
而且即使有钱,单机房供电也有上限——一个 1 GW 的数据中心已经接近现代电网的极限(相当于一个中等城市的居民用电)。GPT-5 / Claude 4 据说要建专用核电支持,门槛达到了「国家工程」级别。
墙三:训练稳定性
模型越大越不稳定。loss spike(突然上升不降)、gradient explosion(梯度爆炸)、attention collapse(attention 退化为单峰)等问题在 100B+ 规模上频发。解决这些问题需要:
- 更精细的初始化(如 µP, μP-Llama)
- 更稳定的归一化(pre-LN + RMSNorm + 残差 z-loss)
- 更细致的优化器调参(AdamW + 量身定做的 lr schedule + 梯度裁剪)
- 频繁的 checkpoint + rollback(loss spike 时回滚到上一个稳定点)
这些工程经验大厂内部积累深厚,是开源模型很难快速追赶的「软实力」。
墙四:边际收益递减
幂律的本质就是「边际递减」——每翻一倍 N 或 D,loss 只下降固定百分比,能力提升越来越微弱。从 GPT-3.5 到 GPT-4 是 10 倍参数 + 5 倍数据,能力提升明显;从 GPT-4 到 GPT-5 估计也是 10 倍参数 + 数倍数据,但能力提升比 3.5→4 已经小很多——边际效益逐渐摸到天花板。
flowchart LR G2["GPT-2 (2019)<br/>1.5B / 40B"] --> G3["GPT-3 (2020)<br/>175B / 0.3T<br/>能力跳变"] G3 --> G4["GPT-4 (2023)<br/>~1T / 30T<br/>能力提升明显"] G4 --> G5["GPT-5? (2025)<br/>~10T / 100T<br/>边际递减<br/>成本爆炸"]
11.9 新方向:Test-Time Compute Scaling
到了 2024 下半年,Scaling 的方向开始变化。OpenAI 的 o1 模型、DeepSeek 的 R1 提出了新的思路:不再无限放大模型,而是让模型在推理时『多花时间思考』来提升能力。
这叫 test-time compute scaling(推理时算力 scaling):
- 训练时:模型可以是中等规模(比如 30B),不再追求无限放大
- 推理时:让模型生成超长的「思考链」(CoT),中间生成几千、几万 token 的 reasoning trace,最终给出更可靠的答案
flowchart LR Q[复杂问题] --> M[中等大小模型] M --> THINK[生成 长 reasoning trace<br/>5000+ tokens] THINK --> ANS[最终答案] CMP1[传统模型<br/>直接答<br/>100 token<br/>容易错] -.对比.-> CMP2[O1 / R1 风格<br/>先思考<br/>多次自检<br/>5000 token<br/>更准]
这里的 trade-off 变了:训练成本不变(30B 模型训练成本远低于 1T),但推理成本上升——同一个 query 要生成 50 倍的 token。但人类对「精度高」的需求往往愿意为此付费——如果回答从 70% 准确率提升到 95%,多花 50 倍 token 是值得的。
这条路把 Scaling 的视角从「训练时算力」推到了「推理时算力」——一个全新的维度,还有大量空间可以挖。
11.10 这一章的实战意义
理论讲到这里,转一些工程视角的 takeaway:
1. 给一个新模型时,先估算 Chinchilla-optimal。这是「最低限度训练量」——少于这个就是欠训,浪费参数。
2. 如果模型要部署给大量用户,over-train 是合理的。Llama 路线(7B + 15T)在「推理成本主导」时显著优于 Chinchilla 配置。
3. 不要试图自己训 100B+ 模型——除非你有几亿美元预算和几个月的工程团队。开源 Llama / Qwen / DeepSeek 是更便宜的起点。
4. 关注 emergent abilities 阈值。如果你的应用需要 reasoning 能力,必须用 30B+ 模型;只需要分类、简单问答的话 7B 够用。
5. 推理时 scaling 是新机会。在中等规模模型上做 RL / 思维链训练,能在不放大参数的情况下显著提升能力。这是 2025-2026 的工业热点。
本章小结
- 三个变量 N、D、C:参数量、数据量、算力。简单关系 。
- Kaplan 2020 原始 Scaling Law:loss 随 N、D 幂律下降,但「N 重于 D」结论是错的(来自实验设计的瑕疵)。
- Chinchilla 2022 反转:N : D ≈ 1 : 20(每参数对应 20 token 训练数据)才是 compute-optimal。Chinchilla 70B 击败 GPT-3 175B 证明了这点。
- Llama 时代的 over-training:Chinchilla 优化的是训练成本,但忽略了推理成本。Llama 把 D / N 推到 200-1000,用更多训练投入换更小推理成本。
- 训练成本估算:用 + GPU FLOPs + MFU,可以从 N、D 估出钱和时间。
- Emergent abilities 让 Scaling 信仰多了一层——某些能力在阈值后突然出现(in-context learning、reasoning、tool use)。
- Scaling 遇到四堵墙:高质量数据耗尽、算力 / 资金、训练稳定性、边际收益递减。
- 新方向:Test-time compute scaling——o1 / R1 路线把算力从训练时挪到推理时,让中等模型靠「多想」打出新能力。
下一章我们具体看一种突破规模化天花板的关键技术——Mixture of Experts (MoE)。MoE 让你能训 671B 总参数但每次只激活 37B 的模型(DeepSeek-V3),用「激活参数 ≠ 总参数」绕开了密集模型的算力瓶颈。
延伸阅读
- Kaplan et al., Scaling Laws for Neural Language Models, 2020. arXiv:2001.08361——原始 Scaling Law 论文。
- Hoffmann et al., Training Compute-Optimal Large Language Models, 2022. arXiv:2203.15556——Chinchilla 论文。
- Touvron et al., LLaMA: Open and Efficient Foundation Language Models, 2023——Llama 1 论文,over-training 路线的代表。
- Wei et al., Emergent Abilities of Large Language Models, TMLR 2022. arXiv:2206.07682
- Schaeffer et al., Are Emergent Abilities of Large Language Models a Mirage?, NeurIPS 2023——涌现能力的反驳视角。
- Snell et al., Scaling LLM Test-Time Compute Optimally can be More Effective than Scaling Model Parameters, 2024——test-time scaling 的代表作。
- DeepSeek-V3 Technical Report, 2024——over-training + MoE + MLA 的工业代表。
- Shumailov et al., The Curse of Recursion: Training on Generated Data Makes Models Forget, 2023——synthetic data 的风险。