想象你是班主任,班里有个学生正在备战大考。这个学生的“天赋上限”(大脑容量)、“刷题量”(练习册厚度)和“总学习时长”三个指标,共同决定了他离满分的差距。有意思的是,2020 年 OpenAI 的一群“教育研究员”对 AI 做了同样的事——只是他们的学生是神经网络。他们训练了成百上千个大小不一的模型,发现“离满分的差距”(损失)会随着三个投入的增大而稳定缩小,但缩小的速度越来越慢,形成一条数学上叫“幂律”的曲线。更反直觉的是:在总预算固定的情况下,把预算花在“扩容大脑”(参数量)上,比“加厚练习册”(数据量)更能拉开分数差距。这个规律就是 Kaplan 缩放定律。它后来直接点燃了 GPT 系列的大规模扩展,又在 2022 年被 Chinchilla 修正了“配比”结论。本文将用一场“备考冲刺”的故事,把这条定律掰开揉碎讲清楚。
对 AI 从业者的价值:掌握缩放定律,等于拿到“算力—数据—参数”的性价比地图,训练决策不再拍脑袋,而是用公式做预算。
目录
可视化演示
展示系统处理流水线、实时性能指标曲线及多方案对比分析,包含数据流转、吞吐延迟监控与方案评估。
本节配有交互动效(进入视口后自动加载,约 3KB)。
系统可视化 处理流程:输入→处理→模型→输出 性能监控:实时指标 P=L×T
定律起源——一份全校成绩单
想象你是一位班主任,手里捏着全校几百名学生的模拟考成绩。有人聪明但做题少,有人刷题多但脑子慢。你很想找到一个统一公式:只要知道“天赋、刷题量、学习时间”三个数,就能预测出分数。2020 年的 OpenAI 团队,心里打的就是这个算盘——只是他们口中的“学生”是一排排神经网络。
他们把从几百万参数到上百亿参数的模型,放到同一批文本语料上训练,然后统一测量“失分”(学术上叫损失,loss,就是模型预测错得多惨)。结果发现:不管网络结构怎么换,只要规模越大,失分就越少,而且这个“少”的节奏极其规律——幂律衰减。所谓幂律,就是说“投入每翻一倍,失分按同一个比例再降一截”,有点像打游戏升级:前面几级容易,后面每一级都要更多经验。
用单看参数量 N 的版本:
所以 Kaplan 定律的第一课是:想要成绩好,别只盯着“刷题技巧、网络结构”,先把脑容量做大。这条规律迅速成了 AI 圈流传的“投资指南”。
- 参数量 \(N\)模型内部“可调旋钮”的总个数,好比学生的脑容量上限。
- 损失 \(L\)模型离完美预测还差多少,好比与满分的差距,越小越好。
- 参考常数 \(N_c\)一个为了让公式两端“对齐”的常量,相当于成绩单上的基准线。
- 缩放指数 \(\alpha_N\)决定“每翻一倍投入,失分缩水多少”的关键指数,\(\alpha_N \approx 0.076\)。
三大变量——决定成绩的三个旋钮
回到班主任的“学生画像”,决定最终成绩的无非是三个变量:这孩子聪不聪明(参数量 \(N\))、刷了多少题(数据集大小 \(D\))、以及总共投入多少学习时间(计算量 \(C\))。AI 训练也一样。
参数量指模型里的权重个数,决定记忆容量;数据量指训练文本的 token 数(可以把一个 token 理解为半个词),决定见多识广;计算量指训练时做的总运算次数(FLOPs,每秒浮点运算次数),可以理解为“烧了多少电费”。
这三者不是互相独立的。训练一个参数量为 \(N\) 的模型,跑完 \(D\) 个数据,总计算量大约要花 \(6ND\) 次运算。于是有了著名的近似关系:
三个旋钮环环相扣,预算有限时不能三个同时拉满——这为后面的“配比问题”埋下了伏笔。
- 总计算量 \(C\)训练全程消耗的运算次数,相当于“总学费 + 总饭钱”。
- 系数 6每个 token 在神经网络前向 + 反向传播中,大约要给每个参数做 6 次乘加运算,是个经验常数。
- 乘积 \(N \times D\)参数越多、数据越多,总运算量按乘积增长,就像请的老师和刷的题同时翻倍,花费翻两倍。
幂律关系——收益递减的“经验条”
刷过题的人都有体会:从 30 分冲到 60 分容易,从 90 分冲到 99 分极难。AI 模型也一样:把参数量翻一倍、数据翻一倍,失分确实会降,但下降的“幅度”一档比一档小。这条曲线在普通坐标里看起来像滑梯,但在“双对数坐标”里会变成一条直线。
所谓双对数坐标,就是把横、纵轴都用“翻了几倍”来标度。于是幂律关系 \(L(N)=(\frac{N_c}{N})^{\alpha_N}\) 两边取对数,就变成:
这条直线的意义在于“可外推”——哪怕不训练一个万亿参数的巨型模型,只要在几个中小模型上量出斜率,就能预测大模型的失分。这让缩放定律变成了行业“尺子”。
- 取对数 \(\log\)把“乘法级的比较”变成“加法级的距离”,好比对比“翻倍了几次”而不是“翻了多少”。
- 斜率 \(-\alpha_N\)直线的下降坡度,坡度越陡说明加参数越划算。
- 截距 \(\log N_c\)直线的起点位置,由模型和数据的基本盘决定。
规模主导——为什么“扩容”最划算
预算有限时,班主任面临抉择:花钱请金牌家教(扩大参数量),还是加印练习册(扩大数据量)?直觉上,当然是双管齐下。但 Kaplan 团队的实验给出了一个出人意料的排序:扩大参数量,几乎是性价比最高的投入。
把“总计算量 C 固定”作为约束条件,他们画出失分最小时的参数轨迹,发现最优参数 \(N\) 与预算之间满足:
也就是说,如果你把总预算定义为 100%,Kaplan 团队建议把其中约 73% 的“增量”预算花在把模型做大上,只留 27% 用于收集更多数据。这就是“规模主导”的数学来源。AI 圈的“大力出奇迹”从此有了精确表达:力要往“模型容量”上使,而不是往“刷题量”上使。
- 最优参数量 \(N_{\text{opt}}\)在给定预算下,能拿到最低失分的模型大小。
- 0.73 次方预算每翻一倍,最优参数量扩大到约 1.66 倍,这个指数来自大量实验拟合。
- 正比符号 \(\propto\)表示“成比例”,具体倍数会随数据质量、优化器等平移,但指数关系稳定。
最优配比——把预算切成 73:27
继续切蛋糕。既然参数占大头,那数据占多少?Kaplan 团队给出的数据侧配比是:
把两个公式放在一起看:预算翻倍时,参数扩到 1.66 倍、数据扩到 1.21 倍,参数增长是数据的约 1.37 倍。这不是拍脑袋,而是在多组实验里扫出来的最优点。这个配比带来惊人的产业推论:当你有钱做更大的训练时,不要平均用力,而要“偏心”到参数上。后来的 GPT-3,几乎是照着这个方子抓药的。73:27 像一份营养食谱,告诉 AI 训练者:正餐(模型)多吃,配菜(数据)够用就行。
- 最优数据量 \(D_{\text{opt}}\)与 \(N_{\text{opt}}\) 配套的 token 数量。
- 0.27 次方预算翻倍时,数据量只扩大到约 1.21 倍,增长明显慢于参数。
- 联合锁定\(N_{\text{opt}} \times D_{\text{opt}}\) 经由 \(C \approx 6ND\) 自动锁定,两个指数之和约等于 1。
GPT实践——状元班的示范
GPT-3 就像一个严格执行“训练食谱”的状元班:参数量做到 1750 亿,训练数据约 3000 亿 token,总计算量大约 \(3\times10^{23}\) FLOPs,这个数字超过人类历史上大部分科学计算的累计量。
按照 Kaplan 定律的近似,训练这个模型的计算量是:
GPT-3 的效果惊艳,让“缩放定律”从论文变成了产业引擎。人们意识到:与其精心雕琢网络结构,不如把参数堆到足够大,再配合理的数据,能力自己会涌现。状元班的成功吸引了所有人效仿——但也埋下了一个“配比是否真的最优”的隐患,这个隐患很快被另一位复读生挑了出来。
- 参数 \(N\)GPT-3 约 \(1.75\times10^{11}\) 个参数。
- 数据 \(D\)约 \(3\times10^{11}\) 个训练 token。
- 总额 \(6ND\)乘上每个 token 的 6 次运算常数,得到约 \(3.15\times10^{23}\) 次运算。
Chinchilla修正——复读生的平反
2022 年,DeepMind 团队像一位不服气的复读生,把 Kaplan 的结论重新考了一遍。结果发现:Kaplan 的配比把“脑容量”捧得太高,数据量被严重低估了。若按“计算预算固定”重新求最优解,参数量与数据量的增幅应当一样大,也就是均衡增长。
他们训练了 70B 参数的 Chinchilla 模型,却用了 1.4 万亿 token,在同等预算下击败了 280B 参数的 Gopher。修正后的规律是:
这意味着,许多按 Kaplan 配比训练的大模型,其实都处于“数据喂少了”的状态。如果把同样的算力拿去买更多数据、减小一点模型,往往能拿到更低的损失。复读生 Chinchilla 用一张新成绩单告诉大家:规律会迭代,别把任何“配方”当永恒真理。
- 两个 0.5参数和数据随预算等比例增长,预算翻倍,两者都扩约 1.41 倍。
- 数据占比提高Chinchilla 规则下,训练 tokens 约等于“20 倍参数量”,彻底扭转了 Kaplan 配方。
- 经验教训经验定律不是物理定律,超参数扫描范围变了,结论也会变。
实践指导——把预算变成模型
最后,班主任要落地了。假设公司批给你一笔算力预算 \(C\),你该怎么定模型参数和训练数据?Chinchilla 时代的经验法则给出一个非常便于落地的答案:
假设预算 \(C=10^{24}\) FLOPs,那么 \(N_{\text{opt}} \approx 9.1\times10^{10}\),约 91B 参数;数据 \(D_{\text{opt}} \approx 1.8\times10^{12}\),约 1.8 万亿 token。这个量级可以直接写进采购清单。当然,实际训练还要考虑数据质量、并行效率、推理成本等,但缩放定律给了你一个“先算、再训、再修订”的起点。从一个班主任的直觉,到一张可以查表的公式,缩放定律把“训练大模型”从玄学变成了工程学。
- \(C/120\)\(120 \approx 6 \times 20\),其中 6 是每个 token 的运算常数,20 是“tokens/参数”的经验比。
- 开平方把预算的平方根映射到最优参数量,直观反映“算力翻 4 倍,模型才能翻 2 倍”。
- \(D_{\text{opt}} \approx 20N_{\text{opt}}\)数据量约等于参数量的 20 倍,训练时照着这个比例准备语料。
AI 应用场景
大模型训练预算规划
阶段:模型训练与资源规划
解决的问题:训练大模型前最难回答的问题是“选多大参数、喂多少 token”。传统做法靠经验试错,容易欠训或超支。AI 从业者用缩放定律,在预算 C 下直接算出最优 N 和 D,把不确定性变成一张公式表。
具体案例:某团队拿到 \(10^{23}\) FLOPs 算力,按 Chinchilla 规则估算约 40B 参数、800B tokens,于是直接下单 GPU 集群和数据集,省去多轮盲目试训的成本。
数据采购性价比评估
阶段:数据工程
解决的问题:数据供应商报价很贵,要不要买?传统拍脑袋决定。用缩放定律预测“再多买 X 倍数据,损失能降多少”,对比“把模型扩大 X 倍”的收益,给出量化决策依据。
具体案例:一个垂类模型团队发现损失在数据翻倍后仅下降 0.02,而参数翻倍可下降 0.05,于是把预算转向模型升级而不是继续买数据。
技术路线选型
阶段:模型评估与选型
解决的问题:“自研大模型还是微调开源模型”是高层的灵魂拷问。缩放定律可以外推达到目标水平所需的算力和数据,帮助管理层判断自研可行性。
具体案例:一家公司用缩放定律绘制“性能—成本”曲线,发现自研达到目标需要 10 倍预算,果断选择微调开源模型,省下 80% 成本。
Python 演示
import math ALPHA_N = 0.076 # Kaplan定律中参数量指数ALPHA_D = 0.095 # 数据量指数N_C = 8.8e13 # 拟合常数D_C = 5.4e13 # 拟合常数 def kaplan_loss(N, D): """用Kaplan联合公式预测损失:L(N,D) = ( (N_c/N)^(aN/aD) + D_c/D )^aD""" term = (N_C / N) ** (ALPHA_N / ALPHA_D) + D_C / D return term ** ALPHA_D def optimal_chinchilla(C): """Chinchilla规则:N ≈ sqrt(C/120),D ≈ 20*N""" n = math.sqrt(C / 120.0) d = 20.0 * n return n, d def optimal_kaplan(C): """Kaplan规则近似:N ∝ C^0.73,按 GPT-3 量级标定""" n = 1.75e11 * (C / 3.14e23) ** 0.73 d = C / (6.0 * n) return n, d def main(): budget = 1e23 # 假设预算:1e23 FLOPs print("=== 预算对比:1e23 FLOPs(约为GPT-3的三分之一) ===") for name, fn in [("Kaplan", optimal_kaplan), ("Chinchilla", optimal_chinchilla)]: n, d = fn(budget) loss = kaplan_loss(n, d) print(f"{name:12s} N={n:15.3e} D={d:15.3e} loss={loss:.4f}") print("\n=== 固定预算下不同配比对损失的影响 ===") c = 1e23 for n in [2e10, 5e10, 1e11, 2e11, 4e11]: d = c / (6.0 * n) loss = kaplan_loss(n, d) print(f"N={n:15.3e} D={d:15.3e} loss={loss:.4f}") if __name__ == "__main__": main()
def kaplan_loss(N, D):实现 Kaplan 联合缩放公式,返回预测损失,是全部计算的核心。term = (N_C / N) ** (ALPHA_N / ALPHA_D) + D_C / D公式内部先算两项“差距”的加权和,再整体取指数。def optimal_chinchilla(C):按 Chinchilla 规则,从算力预算反推最优参数量。n = math.sqrt(C / 120.0)使用 \(N_{\text{opt}} \approx \sqrt{C/120}\) 的经验公式。d = 20.0 * n数据量约为参数量的 20 倍,这是 Chinchilla 的核心经验比。def optimal_kaplan(C):按 Kaplan 原始配比 \(N \propto C^{0.73}\) 计算参数。n = 1.75e11 * (C / 3.14e23) ** 0.73以 GPT-3 为锚点标定出的幂律外推公式。d = C / (6.0 * n)由 \(C \approx 6ND\) 反解数据量,保证预算约束闭合。for name, fn in [("Kaplan", optimal_kaplan), ...]同一份预算下对比新旧两条配比路线。for n in [2e10, 5e10, 1e11, 2e11, 4e11]:固定 C,扫描不同模型大小,观察损失变化,验证“配比决定优劣”。
常见误区
误区既然缩放定律说参数量是主导因素,那我就一直加大参数量准没错,数据随便配一点就行。
正解“主导”是给固定预算下的最优配置说的,不是让你忽略数据。如果参数远超数据,模型会进入“数据饥饿”状态,白白浪费算力。Chinchilla 更是直接证明:参数和数据均衡增长才更优。好比一个学生大脑再聪明,从不刷题也考不了高分。
为何常见:“参数越多越强”是最容易传播的一句话,配比细节被媒体简化掉了。
误区损失随规模幂律下降,那投入翻倍损失就减半,所以钱花得越多赚得越多。
正解幂律的本质是收益递减。翻倍投入时,损失只缩小 \(2^{-\alpha}\) 倍——往往只有几个百分点,越到后期越难提升。90 分到 95 分的开销,可能比 60 分到 80 分还大。
为何常见:日常生活中的“线性思维”太顽固,两倍投入两倍回报是最直觉的误判。
误区Kaplan 定律跟万有引力一样,是 AI 界的终极真理,永远有效。
正解它是经验拟合,适用范围有限。训练扫描范围、数据质量、模型架构的变化都可能改变指数。Chinchilla 修正就是活生生的例子——同一套方法,换更大的扫描空间后,结论变了。
为何常见:“定律”这个命名给了人过高的权威感,忽略了它来自有限实验的事实。
误区有了缩放定律,知道参数量 N 就能算出损失,不需要知道其他信息。
正解Kaplan 联合公式同时包含 N 和 D 两个自变量,并受 C 约束。只看 N 等于“只谈天赋不谈刷题”,误差会很大;还要考虑数据质量、优化器选择等。
为何常见:单变量公式 \(L(N)\) 看起来最简单,容易被当成全部。
面试题
Q1. Kaplan 缩放定律的核心发现是?
- A.模型越大,损失先降后升
- B.模型损失随规模按幂律下降← 正确答案
- C.模型损失与规模线性相关
- D.模型损失与规模没有关系
答案:B。答案为 B。Kaplan 团队发现损失随参数量、数据量、计算量的增大而按幂律下降,并非线性、先降后升或无关。A 的“先降后升”不在定律描述范围内,C 和 D 否定了幂律这一核心形态。
Q2. 下列哪一项是 Kaplan 缩放定律中最核心的规模因素?
- A.推理延迟
- B.参数量← 正确答案
- C.显存带宽
- D.网络层数
答案:B。答案为 B。参数量 N 是定律中“规模主导”的主要对象。推理延迟、显存带宽是工程指标,网络层数属于架构细节,而 Kaplan 定律的结论恰恰是架构细节不如规模重要。
Q3. 幂律收益递减的含义是?
- A.投入翻倍,损失下降幅度逐级不变
- B.投入翻倍,损失下降幅度逐渐变小← 正确答案
- C.投入翻倍,损失下降幅度逐渐变大
- D.投入翻倍,损失反而上升
答案:B。答案为 B。幂律递减指每翻一倍投入,损失缩小一个固定比例 \(\times 2^{-\alpha}\),绝对下降量越来越小。A 是线性思维,C 是加速递减的反向错误,D 与定律相悖。
Q4. 以下哪些变量出现在 Kaplan 缩放定律中?
- A.参数量 N← 正确答案
- B.数据集大小 D← 正确答案
- C.计算量 C← 正确答案
- D.推理时延 T
答案:ABC。答案为 A、B、C。三变量决定了训练总开销 \(C \approx 6ND\),是定律的核心自变量。推理时延是部署阶段的性能指标,不属于训练缩放定律的考量范围。
Q5. Kaplan 原始配比中,固定预算下最优参数量与预算的关系是?
- A.N ∝ C^0.27
- B.N ∝ C^0.50
- C.N ∝ C^0.73← 正确答案
- D.N ∝ C^1.00
答案:C。答案为 C。Kaplan 的实验中,最优参数量随预算按 0.73 次方增长,数据量按 0.27 次方增长。0.50 是 Chinchilla 修正后的均衡指数,1.00 是线性增长,均不符合原始结论。
Q6. 关于 Chinchilla 修正,下列说法正确的是?
- A.2022 年由 DeepMind 提出← 正确答案
- B.主张参数增长快于数据
- C.认为 Kaplan 配比中数据被低估← 正确答案
- D.使用 70B 参数和 1.4T token 验证← 正确答案
答案:ACD。答案为 A、C、D。B 错误——Chinchilla 主张参数和数据均衡增长,而不是参数快于数据。它用 70B/1.4T 的组合验证了“数据不该被低估”的结论。
Q7. 在公式 \(L(N)=(N_c/N)^{\alpha_N}\) 中,\(\alpha_N\) 的含义是?
- A.最优参数量
- B.缩放指数← 正确答案
- C.常数损失
- D.训练步数
答案:B。答案为 B。\(\alpha_N\) 是参数量对损失影响的缩放指数,Kaplan 测量值约 0.076。最优参数量是 \(N_{opt}\),常数损失没有对应符号,训练步数不出现在该公式中。
Q8. 按 Chinchilla 经验法则,一个 70B 参数模型至少应配备多少训练数据?
- A.70B tokens
- B.140B tokens
- C.700B tokens
- D.1.4T tokens← 正确答案
答案:D。答案为 D。Chinchilla 规则要求训练数据约为参数的 20 倍,即 \(D \approx 20N\),70B 参数对应约 1.4T tokens。A、B、C 都低于这一经验比值,会导致“数据饥饿”。
Q9. 缩放定律在工程实践中的用途包括?
- A.预测模型性能上限← 正确答案
- B.决定训练预算分配← 正确答案
- C.自动设计神经网络结构
- D.估算达到目标所需数据量← 正确答案
答案:ABD。答案为 A、B、D。缩放定律可以外推性能、分配预算、估算所需数据量。但它不负责自动设计网络结构,定律的结论正是“结构细节不如规模重要”,所以 C 不在其应用范围。
Q10. GPT-3(175B 参数、300B tokens)按 Chinchilla 规则衡量处于什么状态?
- A.数据量明显不足← 正确答案
- B.参数量严重偏大
- C.恰好达到最优
- D.数据量明显偏多
答案:A。答案为 A。按 \(D \approx 20N\),175B 参数需要约 3.5T tokens,而 GPT-3 只用了 300B,数据缺口超过 10 倍。这正是 Chinchilla 修正要解决的问题:很多大模型在“数据饥饿”下训练,并未充分发挥参数价值。