本节摘要:2020 年 Kaplan 论文说「模型越大损失越低」,2022 年 Hoffmann 论文说「你训练得不够」。算力进两个桶——参数和token——而两者的配比并不显然。当你有
CFLOPs 训练算力、想要最好的模型,你面对两个旋钮:参数量N(更大=更高容量)和训练 token 数D(更多数据=更好利用容量),FLOPs 约等于6·N·D,你可以N大D小或反之,哪个更好?2022 年前答案是「猛推N」——GPT-3(2020)是 1750 亿参数训约 3000 亿 token,每参数约 1.7 个 token,Kaplan 定律背书这个方向。Hoffmann 等(2022)训了 Chinchilla,发现最优比接近**每参数 20 个 token**,GPT-3 训练不足 10 倍,Chinchilla(70B 参数、1.4T token)在每个基准上击败 GPT-3(175B、300B token)且推理成本低 2.5 倍。但 2026 年是 Chinchilla 的世界加一个重要反转——Llama 3 8B 训了 15 万亿 token,每参数 1875 个 token,是 Chinchilla 最优的 94 倍:因为推理成本比训练成本重要,「过训练(超 Chinchilla)换更小可部署 footprint」成了 2026 的默认。本节带你实现 Chinchilla 损失方程L(N,D)=A/N^α+B/D^β+E,求出算力最优配比,并算清「过训练」用多少训练 FLOPs 换回多少推理 FLOPs。
阅读完本节,你应当能够:
L(N,D) = A/N^α + B/D^β + E,并说清各项含义(α≈0.34, β≈0.28, E≈1.69 不可约损失)。C=6ND 下求算力最优配比:N_opt ≈ 0.6·(C/6)^0.5、D_opt ≈ 0.6·(C/6)^0.5、D/N ≈ 20。算力进两个桶——参数和 token——配比不显然。2022 年前猛推 N(GPT-3 每参数 1.7 token),Hoffmann 2022 训 Chinchilla 发现最优是每参数 20 token,GPT-3 训练不足 10 倍。Chinchilla(70B、1.4T)在每个基准上击败 GPT-3(175B、300B)且推理成本低 2.5 倍。
2026 是 Chinchilla 的世界加一个反转:Llama 3 8B 训 15T token,每参数 1875 token,超 Chinchilla 最优 94 倍——因为推理成本主导,过训练换更小部署 footprint 是默认。
Chinchilla 论文的损失:
L(N, D) = A / N^α + B / D^β + E
N = 参数(非嵌入)。D = 训练 token。α ≈ 0.34、β ≈ 0.28(大致对称)。E ≈ 1.69,不可约损失地板(数据本身的熵)。A ≈ 406、B ≈ 411。两项在 scale 时互相权衡。对 N 求导(固定算力 C=6ND)解出:
N_opt ≈ 0.6 × (C/6)^0.5 D_opt ≈ 0.6 × (C/6)^0.5 D_opt / N_opt ≈ 20
算力最优:每参数 20 token。
Chinchilla 最优最小化每训练 FLOP 的训练损失,但训练成本付一次,推理成本付到永远。对一个月服务一万亿 token 的聊天机器人,推理主导总成本。Llama 的策略:训小一点、训久一点。8B 训 15T token 是深度推理优化:能塞进消费级 GPU,延迟是 70B Chinchilla 最优的一小部分,质量对多数任务够用。DeepMind 2024 论文《Over-training is the new optimal》形式化了这一点:对推理主导负载,正确配比视服务量在每参数 100~500 token。
有人声称某些能力(算术、多步推理、思维链遵循)在某些规模「突然涌现」。Schaeffer 等(2023)论证这是评测假象:涌现指标用间断打分(精确匹配、阈值准确率),掩盖了底层 logits 的平滑改进;连续指标(交叉熵)显示平滑曲线。2026 共识:用连续损失做的预测可靠,基准的跳跃往往是打分器假象,预算要按连续指标规划。
缩放定律仍有效,但:
| 因素 | 怎么变了 |
|---|---|
| 数据质量 | 策划「好」token(Phi 风格)把曲线平移 >2 倍有效算力 |
| MoE | 总参数与激活 FLOPs 解耦,缩放定律按每激活 FLOP |
| 后训练 | 某些能力(指令遵循、代码)随 SFT+RLHF 变化大于预训练 |
| 多模态 | 图像 + 文本 token 一起 scale,每模态各一条曲线 |
| 合成数据 | 模型生成训练数据,有效算力可复利 |
Muon 优化器(Kimi Moonlight,2024)在等数据下相对 AdamW 有约 2 倍有效算力增益,部分 2026 训练默认用 Muon——它改变缩放定律的绝对常数,不改形状。
💡 不可约损失
E≈1.69:这是数据本身的熵——再好的模型也压不下去。它告诉你「损失能降到多低」有硬下限,不是靠堆算力就能突破的。理解这一点能避免对缩放的盲目乐观。
完整代码见原课程 phases/07-transformers-deep-dive/13-scaling-laws/code/main.py。实现 Chinchilla 损失方程,在多个算力预算下求算力最优 (N, D)。
def chinchilla_loss(N, D, A=406.4, B=410.7, alpha=0.34, beta=0.28, E=1.69): return A / N ** alpha + B / D ** beta + E
在固定 C=6ND 下画 L 对 (N, D) 的等值线,找最小值。
对算力预算从 1e17 到 1e25 FLOPs,在 6ND=C 约束下找最小化损失的 (N, D),验证 D/N ≈ 20。
算「训一个 10 倍小的模型」(1/10 最优 N、10 倍最优 D)付的额外损失,并报告换回的推理 FLOP 节省(正比于 N)。
代入 GPT-3、Chinchilla、Llama 3 8B、DeepSeek-V3(激活参数)的 (N, D),对比预测损失与报告损失。
设计要点:Chinchilla 损失的两项
A/N^α(容量不足)和B/D^β(数据不足)互相竞争——固定算力下,N太大则每参数 token 不够(数据项主导),N太小则容量不够(参数项主导),最优在两者平衡点。这就是为什么D/N≈20是「每 FLOP 最优」,而非任意值。
你不太可能自己训前沿模型,但缩放定律告诉你:
2026 年的研究轨迹:
原课程产出 outputs/skill-training-budget-estimator.md:一个预算估算 Skill,给定算力预算、部署约束、目标损失,为新训练选 (N, D, 小时数, GPU)。
code/main.py,打印算力预算 1e20、1e22、1e24 的 Chinchilla 最优 (N, D),对比真实模型表。log10(C)。找出定律预测「损失再降 0.1 需 >10²⁸ FLOPs」的位置。α 和 E,你的指数与公布值吻合度如何?N(容量)和 token D(利用容量),C≈6ND,配比不显然。L=A/N^α + B/D^β + E,α≈0.34、β≈0.28、E≈1.69 不可约损失(数据熵地板)。D/N≈20:GPT-3(1.7 token/参数)训练不足 10 倍;Chinchilla(70B、1.4T)以 2.5 倍低推理成本击败 GPT-3。E≈1.69 是硬下限:再堆算力也压不过数据本身的熵。下一节,我们把前 13 节的积木全部用上,做一个毕业项目——从零实现一个能跑通前向、能生成文本的完整 Transformer。