想象你是一家火锅连锁店的老板,手里握着一笔固定的开店预算。你要决定两件事:雇多少位厨师(模型参数),买多少份食材(训练数据)。厨师越多,招牌菜的花样越多,但工资开销也越大;食材越丰富,出品越稳定,但采购和冷库成本同步上涨。2020 年,一位叫 Kaplan 的老主厨凭经验断言:“把七成预算花在雇人上,食材随便买点就行。”大批餐厅照做,开业后才发现:几十个厨师围着一小堆菜,大半时间在闲逛——模型参数巨大,训练数据却少得可怜。2022 年,DeepMind 的 Chinchilla 团队用 400 多次“试菜”实验给出了新菜谱:厨师和食材必须按同一速度增加,每位厨师配约 20 份食材(Token)。这套“数据效率最优配比”迅速改写了整个行业的开店方式。今天这篇文章,就用“厨房预算”的视角,带你一层层拆解 Chinchilla 定律:旧的偏方错在哪、20:1 是怎么试出来的、预算翻倍时该怎么花,以及它如何改变了今天每一个大模型的诞生过程。

岗位关联

Chinchilla 定律是缩放定律的“修正案”。掌握它,你就能像精算师一样用计算预算倒推参数量与数据量,在立项阶段避免“模型过大、数据不足”的资源浪费——这是大模型训练工程师和 AI 管理者的核心规划能力。

目录
  1. 可视化演示
  2. 研究背景动机:老主厨的偏方
  3. 研究方法设计:四百次试菜实验
  4. 最优配比发现:一厨二十菜的黄金比例
  5. 计算最优策略:两个 0.5 的分配秘密
  6. 与Kaplan对比:偏方错在哪
  7. 对后续影响:新菜谱引领行业
  8. AI 应用场景
  9. Python 演示
  10. 常见误区
  11. 面试题

可视化演示

动态演示Chinchilla数据效率的核心机制,通过采集/分析/决策/反馈四种模式展示关键概念与交互流程。

本节配有交互动效(进入视口后自动加载,约 3KB)。

Chinchilla数据效率:Chin Chinchilla定律的核心 最优Token-参数比:20: 核心机制可视化 Chinchilla数据效率整体架构与关键组件

研究背景动机:老主厨的偏方

要理解 Chinchilla 的贡献,得先认识那位“老主厨”Kaplan。2020 年,OpenAI 的 Kaplan 团队像一位经验丰富但有点固执的餐厅顾问,发布了一份《缩放定律》菜谱:模型的效果会随着厨师数量(参数)、食材数量(数据)、总预算(计算量)的提高而稳定变好——这本身没错。但他随后给出了一个大胆的分配建议:预算要“偏科”,大头花在雇人上,食材够用就行。这个建议听起来很符合直觉:好菜靠好厨师嘛。

这个偏方的技术表述是:当总计算预算 C 翻 10 倍时,模型参数扩大到 \(10^{0.73} \approx 5.4\) 倍,而训练数据只扩大到 \(10^{0.27} \approx 1.9\) 倍。换句话说,预算越充裕,参数与数据的差距越大。当时最著名的 GPT-3 就是照这个方子开的店:1750 亿参数,配 3000 亿 token 数据,平均每个参数只有 1.7 个 token 可学——厨师们大多在厨房里闲逛。

可是,老主厨的偏方真的可靠吗?问题的关键在于:他自己的“试菜”只在小厨房里做过——当时实验的模型都偏小,训练步数也有限。把小厨房的经验直接放大到大餐厅,正是 Chinchilla 团队后来质疑的起点。

N∝C0.73,D∝C0.27\displaystyle N \propto C^{0.73}, \quad D \propto C^{0.27}
这条公式是 Kaplan 定律的“资金分配表”:计算预算 C 每增加一倍,参数 N 按 0.73 次方增长,数据 D 仅按 0.27 次方增长——预算越充裕,钱越往“雇厨师”倾斜。
  1. 符号 N 与 DN 是模型参数量(厨师人数),D 是训练数据 token 量(食材份数),两者共同决定模型最终水平。
    N∝C0.73\displaystyle N \propto C^{0.73}
  2. 指数 0.73参数随预算的 0.73 次方增长。这是一个大于 0.5 的指数,意味着“厨师”拿走了预算增长的大部分红利。
    100.73≈5.4\displaystyle 10^{0.73} \approx 5.4
  3. 指数 0.27数据仅按 0.27 次方增长。这是一个远小于 0.5 的指数,数据被明显“边缘化”。
    D∝C0.27\displaystyle D \propto C^{0.27}
  4. 配比失衡两个指数之和约等于 1,说明预算确实被“分完了”,但 0.73 对 0.27 的分配极度不均,数据成了被牺牲的一方。
    0.73+0.27=1.0,0.73≫0.27\displaystyle 0.73 + 0.27 = 1.0, \quad 0.73 \gg 0.27

研究方法设计:四百次试菜实验

为了验证老主厨的偏方,DeepMind 的 Chinchilla 团队决定干一件笨功夫:把整个行业后厨变成实验室,系统性地“试菜”。他们训练了超过 400 个语言模型,参数量从 7000 万一路跨度到 160 亿,每个模型都在给定预算下反复调整“厨师人数”和“食材份数”,记录最终的“出品质量”(训练损失)。

实验设计得像一次严谨的对照试验,用了三种互不依赖的方法交叉验证:第一种,固定厨师人数只加食材,看数据增量还有没有用;第二种,固定食材份数只加厨师,看参数增量还有没有用;第三种,沿着“总预算不变”的等高线移动配比,找出同一个预算下损失最低的那个点。三种方法来自完全不同的角度,却指向了同一个结论——这正是这篇论文最有说服力的地方。

要安排这么多试菜,先得会“记账”:一次训练到底花了多少计算预算?Chinchilla 团队沿用了业界通用的估算公式:总计算量约等于 6 乘以参数量乘以数据量。

有了这本账,Chinchilla 团队就能精确控制每一场“试菜”的预算,公平地比较不同配比。而实验结果也让所有人吃了一惊:最优配比并不是老主厨说的“多雇人”,而是一个简洁得近乎优雅的数字。

C≈6×N×D\displaystyle C \approx 6 \times N \times D
这是全篇的“厨房记账公式”:一次训练的总开销(FLOPs),近似等于 6(每个 token 经过每个参数时前向加反向的平均浮点运算次数)× 参数量 × 训练 token 数。有了它,预算、厨师、食材三者的换算就有据可依。
  1. 总预算 CC 是训练全程的总浮点运算次数(FLOPs),好比餐厅的总开业预算,是资源约束的最终来源。
    C\displaystyle C
  2. 系数 6每个训练 token 每经过一个参数,前向传播和反向传播大约需要 6 次浮点运算,这是 Transformer 训练的标准经验值。
    6\displaystyle 6
  3. 参数量 NN 越大,每个 token 要“拜访”的参数越多,单次训练消耗的算力线性上升。
    N\displaystyle N
  4. 数据量 DD 越大,要“过”的 token 越多,总计算量同样线性上升——所以参数和数据是乘法关系,任何一边加大都会吃掉预算。
    C∝N×D\displaystyle C \propto N \times D

最优配比发现:一厨二十菜的黄金比例

试菜结果出来了,最令人惊讶的发现是:无论用哪种实验方法、无论预算规模多大,最优配比都死死指向同一个数字——每个参数大约需要 20 个训练 token。用厨房的话说:每一位厨师,配约 20 份食材,人力和物料刚好都能满负荷运转。多一点,厨师闲着;少一点,食材不够分。

这个 20:1 的黄金比例意味着什么?一个 70 亿参数的模型,需要配 1400 亿 token 的数据;一个 700 亿参数的模型,需要 1.4 万亿 token。作为对比,GPT-3 有 1750 亿参数却只用了 3000 亿 token,配比仅约 1.7:1——难怪它家的“厨师”们大半时间在厨房里闲逛。Chinchilla 团队还发现,损失可以拆解成“参数不足”与“数据不足”两块贡献,只有两边同步补齐,损失才会以最优速率下降。

知道了黄金比例,接下来最实际的问题是:如果我的预算翻倍了,该怎么额外花钱?是继续多雇厨师,还是多买食材,还是两者兼顾?这正是“计算最优策略”要回答的问题。

DoptNopt≈20\displaystyle \frac{D_{\text{opt}}}{N_{\text{opt}}} \approx 20
20:1 是 Chinchilla 全文最核心的数字:训练数据量(token 数)约为模型参数量的 20 倍时,给定算力下的模型表现最优。这也是后续一切配比决策的基准参照。
  1. 最优数据量 \(D_{\text{opt}}\)给定计算预算下,能让损失最小的训练 token 数,好比让厨房出品最优的“食材采购量”。
    Dopt\displaystyle D_{\text{opt}}
  2. 最优参数量 \(N_{\text{opt}}\)同一预算下,能让损失最小的模型参数规模,对应“最优厨师团队规模”。
    Nopt\displaystyle N_{\text{opt}}
  3. 比值 20两者相除约等于 20,即每个参数平均要“吃”到 20 个 token,厨师与食材达到最佳匹配。
    DoptNopt≈20\displaystyle \frac{D_{\text{opt}}}{N_{\text{opt}}} \approx 20
  4. 实际换算对 70B 参数的模型,\(20 \times 70 \times 10^9 = 1.4 \times 10^{12}\),即需要约 1.4 万亿 token。
    D=20×70×109=1.4×1012\displaystyle D = 20 \times 70 \times 10^9 = 1.4 \times 10^{12}

计算最优策略:两个 0.5 的分配秘密

假设你的开店预算从 100 万涨到 200 万,你会怎么做?老主厨 Kaplan 的答案是:多雇厨师,食材看着办。而 Chinchilla 的答案是:厨师和食材同步增加 41%——是不是有点反直觉?让我们把账算清楚。

把厨房记账公式 \(C = 6ND\) 和黄金比例 \(D = 20N\) 联立起来:\(C = 6 \times N \times 20N = 120N^2\),于是 \(N = (C/120)^{0.5}\),\(D = 20(C/120)^{0.5}\)。看这两个式子的指数——都是 0.5!这就是“等比例缩放”的数学含义:预算翻 10 倍,参数和数据各乘以 \(10^{0.5} \approx 3.16\) 倍;预算翻 2 倍,各乘以约 1.41 倍,也就是各增加 41%。总预算的乘法增长,被均匀地“劈成两半”,一半给厨师,一半给食材。

有了这两把“尺子”,任何团队拿到预算都能立刻算出该雇多少厨师、买多少食材。但这也引出一个尴尬的问题:老主厨 Kaplan 的 0.73 和 0.27,跟新菜谱的 0.5 和 0.5,到底谁对?预算越大,两套方案的分歧会怎样变化?

Nopt≈(C120)0.5,Dopt≈20(C120)0.5\displaystyle N_{\text{opt}} \approx \left(\frac{C}{120}\right)^{0.5}, \quad D_{\text{opt}} \approx 20\left(\frac{C}{120}\right)^{0.5}
这两个公式是 Chinchilla 定律的“实操版”:给定总计算预算 C(FLOPs),直接算出最优参数量 N 和最优数据量 D。两个式子的指数都是 0.5,意味着参数和数据必须等速增长。
  1. 联立消元把 \(D = 20N\) 代入 \(C = 6ND\),得到 \(C = 120N^2\),消去了一个变量,预算被翻译成了纯参数的函数。
    C=120N2\displaystyle C = 120N^{2}
  2. 系数 120来自 \(6 \times 20\),即每个参数对应的“计算税”是 6 次浮点运算乘 20 个 token,合计 120 次。
    120=6×20\displaystyle 120 = 6 \times 20
  3. 指数 0.5对 \(C = 120N^2\) 两边开平方,N 就正比于 C 的 0.5 次方——预算的平方根决定参数规模。
    Nopt∝C0.5\displaystyle N_{\text{opt}} \propto C^{0.5}
  4. 数据量跟随D 始终是 N 的 20 倍,所以 D 也正比于 C 的 0.5 次方,参数与数据像双胞胎一样等速长大。
    Dopt∝C0.5\displaystyle D_{\text{opt}} \propto C^{0.5}

与Kaplan对比:偏方错在哪

把新旧两份菜谱摆在同一张桌子上,差异一目了然。Chinchilla 与 Kaplan 的实质分歧,在于预算增长时的“分配斜率”:Kaplan 让参数以 0.73 的斜率猛跑,数据以 0.27 的斜率慢走;Chinchilla 让两者都以 0.5 的斜率齐步走。两套方案在中小预算时尚且接近,但预算越大,分歧越夸张。

用公式说话:在相同预算 C 下,Kaplan 推荐的参数量与 Chinchilla 推荐的参数量之比,恰好是 \(C^{0.23}\)。当预算扩大到 1000 倍时,\(1000^{0.23} \approx 4.9\)——Kaplan 会建议你雇 5 倍于 Chinchilla 方案的厨师!而这些多出来的厨师几乎无事可做,因为数据量远远跟不上。Chinchilla 团队复盘了偏方出错的原因:Kaplan 的实验主要在小模型上、以较少的训练步数进行,相当于只在“小厨房”里试菜,把“训练不足”误判成了“数据不重要”。

这场新旧菜谱之争,最终以 Chinchilla 的全面胜利告终:用同样的总预算,70B 参数的 Chinchilla 模型吊打了 280B 参数的 Gopher 和 175B 的 GPT-3。从此,整个行业的“开店哲学”被彻底改写。

NKaplanNChinchilla=C0.73C0.5=C0.23\displaystyle \frac{N_{\text{Kaplan}}}{N_{\text{Chinchilla}}} = \frac{C^{0.73}}{C^{0.5}} = C^{0.23}
这个比值刻画了两套方案的分歧速度:指数差 0.23 虽然看起来不大,但预算 C 是指数级增长的,两者的分歧会像滚雪球一样越滚越大。
  1. 分子 \(N_{\text{Kaplan}}\)Kaplan 方案在预算 C 下推荐的参数量,按 0.73 次方指数增长,厨师数量“虚胖”。
    NKaplan∝C0.73\displaystyle N_{\text{Kaplan}} \propto C^{0.73}
  2. 分母 \(N_{\text{Chinchilla}}\)Chinchilla 方案推荐的参数量,按 0.5 次方增长,厨师数量更“克制”。
    NChinchilla∝C0.5\displaystyle N_{\text{Chinchilla}} \propto C^{0.5}
  3. 指数作差同底数幂相除,指数相减,\(0.73 - 0.50 = 0.23\),这就是分歧的“加速度”。
    0.73−0.50=0.23\displaystyle 0.73 - 0.50 = 0.23
  4. 预算放大当 C 扩大 1000 倍时,比值约为 4.9,Kaplan 会推荐近 5 倍的参数——但在 Chinchilla 看来这些参数大多在“怠工”。
    10000.23≈4.9\displaystyle 1000^{0.23} \approx 4.9

对后续影响:新菜谱引领行业

Chinchilla 的胜利不是纸上谈兵,而是一场真实的“行业换菜单”。它自己的 70B 模型用 1.4 万亿 token 训练,总计算量与 280B 参数的 Gopher 相当,却在几乎所有评测上全面胜出——同样的预算,更小的厨师团队、更充足的食材,做出了更好的菜。这个结果让所有大厂开始重新审视:我是不是一直在“过度雇人、食材不足”?

新菜谱的传导效应迅速显现。Meta 的 LLaMA 系列采用了“超配”策略:65B 参数的模型训练了 1.4 万亿 token,配比约 21:1,甚至故意超过 Chinchilla 的 20:1,因为高质量数据相对便宜、多喂一点稳赚不赔。Falcon、MPT 等开源模型也纷纷按 Chinchilla 原则规划。同时,Chinchilla 团队还给出了一个重要变体:如果模型要反复部署推理,那么每次调用都要为“厨师人数”买单,此时最优配比会向参数倾斜,D/N 降到约 5~6:1。训练工程师拿到预算后,“先定数据、再定参数”成为标准流程,而损失分解公式则成了行业通用的规划计算器。

从 Kaplan 到 Chinchilla,行业完成了一次重要的认知升级:模型不是越大越好,数据也不是可有可无的配角。参数与数据就像厨房里的厨师与食材,只有按比例同步投入,每一分预算才能花出最大的价值。如今,任何一位大模型训练工程师在立项时,都会先拿出 Chinchilla 的公式算一算:我的预算能养多大的模型?我需要囤多少数据?

L(N,D)=406.4N0.34+410.7D0.28+1.69\displaystyle L(N,D) = \frac{406.4}{N^{0.34}} + \frac{410.7}{D^{0.28}} + 1.69
这是 Chinchilla 留下的“损失预测方程”:给定任意的参数量 N 和数据量 D,就能预估最终损失。第一项是参数不足的代价,第二项是数据不足的代价,常数项是无可避免的“底线损失”。翻遍全行业的训练规划文档,几乎都能看到它的影子。
  1. 总损失 LL 是模型训练达到的交叉熵损失,数值越低代表“菜品”质量越高,是整个规划的目标函数。
    L(N,D)\displaystyle L(N,D)
  2. 参数不足项\(\frac{406.4}{N^{0.34}}\) 表示参数太少带来的损失,N 越大这一项越小,但衰减速度由指数 0.34 决定。
    406.4N0.34\displaystyle \frac{406.4}{N^{0.34}}
  3. 数据不足项\(\frac{410.7}{D^{0.28}}\) 表示数据太少带来的损失,D 越大这一项越小,指数 0.28 说明数据的边际收益递减较慢。
    410.7D0.28\displaystyle \frac{410.7}{D^{0.28}}
  4. 底线常数 1.69E 代表即使参数和数据都无限大也无法消除的损失,好比无论怎么优化,火锅锅底总有基础味道的“天花板”。
    E=1.69\displaystyle E = 1.69
  5. 配比决策依据让两项对损失的贡献大致均衡,就能反推出最优 N 和 D——这正是 20:1 黄金比例的来源。
    406.4N0.34≈410.7D0.28\displaystyle \frac{406.4}{N^{0.34}} \approx \frac{410.7}{D^{0.28}}

AI 应用场景

训练预算规划(立项定规模)

阶段:模型训练前的资源配置

解决的问题:过去团队习惯“先定参数规模,再凑数据”,导致很多模型训练到一半发现数据不够,被迫降低训练目标或重复使用数据。用 Chinchilla 公式 \(N=(C/120)^{0.5}\) 和 \(D=20N\),可以在立项第一天就锁定参数与数据的匹配关系,避免资源浪费。

具体案例:某团队拿到约 \(6 \times 10^{23}\) FLOPs 的算力预算,原本计划训练 175B 参数模型配 300B token 数据。用 Chinchilla 公式反推后,发现该预算下的最优参数约 70B、最优数据约 1.4T token。团队据此调整方案,最终模型效果反超原计划,训练成本不变。

数据管线规模决策(采买多少数据)

阶段:数据采集与合成规划

解决的问题:数据采集和清洗成本高昂,团队常常不知道“囤多少数据才够”。Chinchilla 的 20:1 配比提供了一个清晰的下限:先确定目标参数量,数据量至少是它的 20 倍,数据管线建设因此有了明确的验收标准。

具体案例:某公司计划训练 13B 参数的行业模型,按 20:1 计算至少需要 260B token。数据团队据此倒排工期,安排网络爬取、清洗和合成数据三条产线并行,在模型训练启动前备齐全部语料。

训练成本快速评估(向老板要预算)

阶段:项目立项与预算审批

解决的问题:管理者被问“需要多少 GPU”时难以快速作答。借助 \(C \approx 6ND\),只需知道参数和数据量,就能算出总 FLOPs,再除以单卡算力即可得到卡时估算,让预算谈判有据可依。

具体案例:某技术管理者评估 7B 参数配 140B token 的训练成本:\(C = 6 \times 7 \times 10^9 \times 1.4 \times 10^{11} \approx 5.9 \times 10^{21}\) FLOPs,约合 60 卡年(以 A100 计),据此快速向上级汇报了 GPU 采购数量和训练周期。

Python 演示

python44 行
# -*- coding: utf-8 -*-"""Chinchilla 最优配比: 给定计算预算, 推算最优参数与数据量"""import math  def chinchilla_alloc(c_flops):    """按 D/N=20 与 C=6ND 求解最优参数量 N 与数据量 D"""    n = math.sqrt(c_flops / 120.0)    d = 20.0 * n    return n, d  def kaplan_alloc(c_flops, c_ref=1.0e21, n_ref=5.0e10, d_ref=2.0e12):    """Kaplan 式分配: N 按 0.73 次方增长, D 按 0.27 次方增长"""    n = n_ref * (c_flops / c_ref) ** 0.73    d = d_ref * (c_flops / c_ref) ** 0.27    return n, d  def report(c_flops):    nc, dc = chinchilla_alloc(c_flops)    nk, dk = kaplan_alloc(c_flops)    print(f"C={c_flops:.0e}")    print(f"  Chinchilla: N={nc:.3e}, D={dc:.3e}, D/N={dc/nc:.1f}")    print(f"  Kaplan    : N={nk:.3e}, D={dk:.3e}, D/N={dk/nk:.1f}")  def main():    print("=== 同一计算预算下, 两种配比的差异 ===")    for c in [1.0e21, 1.0e22, 1.0e23, 1.0e24]:        report(c)     print()    print("=== 固定 70B 参数, 需要多少训练数据? ===")    n70 = 70.0e9    c70 = 120.0 * n70 * n70    _, d70 = chinchilla_alloc(c70)    _, dk70 = kaplan_alloc(c70)    print(f"Chinchilla: D={d70:.3e} tokens = {d70/1.0e12:.1f}T")    print(f"Kaplan    : D={dk70:.3e} tokens = {dk70/1.0e12:.1f}T")  if __name__ == "__main__":    main()
目的:用 Chinchilla 的 20:1 配比公式,对比新旧两种分配方案在不同计算预算下的参数与数据量,并直接算出 70B 模型的推荐数据规模。
  1. def chinchilla_alloc(c_flops):定义 Chinchilla 求解函数,输入总计算预算,输出最优参数与数据量
  2. n = math.sqrt(c_flops / 120.0)由 \(C = 120N^2\) 解出最优参数,体现“参数正比于预算的 0.5 次方”
  3. d = 20.0 * n数据量恒为参数的 20 倍,锁死 20:1 黄金配比
  4. def kaplan_alloc(c_flops, c_ref=1.0e21, n_ref=5.0e10, d_ref=2.0e12):定义旧配比函数,以 \(C=10^{21}\) 为参考点外推
  5. n = n_ref * (c_flops / c_ref) ** 0.73参数按 0.73 次方猛增,体现 Kaplan 的“重参数”倾向
  6. d = d_ref * (c_flops / c_ref) ** 0.27数据仅按 0.27 次方缓增,数据被边缘化
  7. c70 = 120.0 * n70 * n70用记账公式反推 70B 参数配 1.4T token 所需的总计算量
  8. _, d70 = chinchilla_alloc(c70)忽略返回的参数(本就为 70B),取出推荐数据量

常见误区

误区很多人听到 Chinchilla 是“更优的缩放定律”,就以为它鼓励把模型做得越大越好,于是拼命堆参数,认为参数量是模型能力的唯一决定因素。

正解恰恰相反,Chinchilla 的核心教训是“不要过度参数化”。它给出的最优配比是参数与数据等比例增长,而不是只加参数。同样的预算下,70B 参数的 Chinchilla 打败了 175B 的 GPT-3 和 280B 的 Gopher,就是因为后者参数虽多,数据却严重不足——厨师再多,没菜可做也白搭。模型能力由参数和数据共同决定,缺一不可。

为何常见:因为“越大越强”是直觉且容易传播的说法,加上早期 GPT-3 的成功让大众把参数量当成了实力的代名词,忽略了它其实严重“数据饥饿”。

误区初学者拿到 20:1 后,把它当成万能公式,认为任何模型训练都必须严格按 20 个 token 配 1 个参数执行,多一点少一点都不行。

正解20:1 是“训练计算最优”条件下的结论,实际工程中常有例外:如果模型要反复部署推理,每次调用都要为参数买单,最优配比会偏向参数,D/N 降到约 5~6:1;如果数据便宜且丰富,超配数据反而划算,LLaMA 65B 就训练了 1.4T token(约 21:1),小模型配超大数据更是常见做法。配比是规划基准,不是教条。

为何常见:论文结论被简化传播后,生动的数字最容易被人记住,而“在什么条件下成立”这一关键前提容易被忽略。

误区有人把 Chinchilla 和 Kaplan 对立起来,认为 Kaplan 定律被彻底证伪,所有基于 Kaplan 的结论都应该丢弃。

正解Chinchilla 并没有推翻缩放定律本身,而是修正了它的“外推偏差”。缩放定律中“损失随规模幂律下降”的核心框架完全成立,Kaplan 在小模型、有限训练步数下得到的 0.73/0.27 分配,只是在中等规模下的一种近似;Chinchilla 用更大规模的交叉实验发现,更准确的分配是 0.5/0.5。两篇工作是“迭代修正”而非“你死我活”的关系。

为何常见:科研传播中,新结论往往以“推翻旧结论”的戏剧化方式被讲述,媒体也喜欢这种叙事,导致“完全错误”的认知被放大。

误区部分团队以为只要把 token 数量凑够 20 倍参数,模型效果就一定会好,于是盲目抓取低质量文本凑数,把重复、噪声大的语料也塞进训练集。

正解Chinchilla 的 20:1 是在高质量、多样化数据的假设下得出的“数量”指导。真实世界里,重复数据、噪声数据和低质量内容会让有效信息量远低于名义 token 数,甚至损害模型表现。实践中常常需要“有效数据”概念:先做质量过滤和去重,再谈配比;数据质量不足时,应加大采集量或升级清洗管线。

为何常见:量化指标容易执行,而“质量”难以度量,团队在 KPI 压力下自然倾向于用最容易统计的 token 数量作为完成标准。

面试题

Q1. Chinchilla 研究得出的最优“训练 token 数:参数量”约为多少?

单选题 · easy

  • A.约 5 比 1
  • B.约 20 比 1← 正确答案
  • C.约 50 比 1
  • D.约 100 比 1

答案:B。Chinchilla 论文的核心发现是每个参数约需 20 个训练 token,即 D/N ≈ 20:1。5:1 是考虑推理成本时的变体配比,50:1 和 100:1 属于超配数据场景,都不是计算最优的标准答案。

Q2. 在 Chinchilla 的计算最优结论中,模型参数量与计算预算的缩放关系是?

单选题 · mid

  • A.参数正比于预算的 0.5 次方← 正确答案
  • B.参数正比于预算的 0.73 次方
  • C.参数正比于预算的 1 次方
  • D.参数正比于预算的 0.25 次方

答案:A。Chinchilla 通过联立 C=6ND 与 D=20N 得到 N=(C/120)^0.5,指数为 0.5。0.73 是 Kaplan 定律的旧结论,1 次方意味着线性增长(实际不可能,计算量会爆炸),0.25 次方没有理论依据。

Q3. 按 Chinchilla 最优配比,训练 70B 参数的模型大约需要多少训练数据?

单选题 · easy

  • A.约 3500 亿个 token
  • B.约 7000 亿个 token
  • C.约 1.4 万亿个 token← 正确答案
  • D.约 14 万亿个 token

答案:C。70B × 20 = 1400B,即 1.4 万亿 token。这与 Chinchilla 70B 模型实际使用的 1.4T token 完全吻合。3500 亿和 7000 亿对应 5:1 和 10:1 配比,14 万亿则对应 200:1,均不符合。

Q4. 估算训练计算量 C≈6ND 时,系数 6 主要指什么?

单选题 · mid

  • A.每个 token 每参数约 6 次浮点运算← 正确答案
  • B.模型包含大约 6 层的网络结构
  • C.训练需 6 倍于推理的显存空间
  • D.训练数据需要重复使用 6 遍

答案:A。系数 6 来自 Transformer 前向传播(约 2 次/参数/token)加反向传播(约 4 次/参数/token),合计约 6 次浮点运算。它和网络层数、显存倍数、数据重复次数都没有关系,作用是估算总 FLOPs。

Q5. 以下哪些是 Chinchilla 论文的核心结论?

多选题 · mid

  • A.最优配比约 20 个 token 配 1 个参数← 正确答案
  • B.参数与数据按 0.5 指数等速缩放← 正确答案
  • C.数据量不影响模型最终效果
  • D.同算力下小模型配大数据更优← 正确答案

答案:ABD。A、B、D 都是 Chinchilla 的核心结论:20:1 配比、双 0.5 缩放指数、以及“同样算力下更均衡的配比胜过盲目堆参数”。C 与论文结论完全相反,Chinchilla 恰恰强调数据量极重要。

Q6. Kaplan 定律建议计算预算更多分配给哪一项?

单选题 · easy

  • A.模型参数← 正确答案
  • B.训练数据
  • C.推理优化
  • D.数据清洗

答案:A。Kaplan 定律的分配指数是参数 0.73、数据 0.27,明显偏向模型参数。这正是 Chinchilla 后来纠正的偏差——旧经验过度强调参数、低估数据,导致 GPT-3 等模型“数据饥饿”。

Q7. 关于 Chinchilla 与 Kaplan 的差异,正确的说法有哪些?

多选题 · hard

  • A.Kaplan 在较小模型上外推导致偏差← 正确答案
  • B.Kaplan 低估了数据的重要性← 正确答案
  • C.Chinchilla 完全否定缩放定律
  • D.Chinchilla 修正了参数数据配比← 正确答案

答案:ABD。A、B、D 准确描述了差异:Kaplan 的实验范围小、训练步数有限,把“训练不足”误判成“数据不重要”,Chinchilla 用更大规模的实验修正了配比。C 错误——Chinchilla 并没有否定缩放定律本身,而是修正其外推结论。

Q8. 已知 C≈6ND 且最优配比 D/N=20,则最优参数量 N 与计算预算 C 的关系为?

单选题 · hard

  • A.参数正比于预算的 0.5 次方← 正确答案
  • B.参数正比于预算的 0.73 次方
  • C.参数正比于预算的 1 次方
  • D.参数正比于预算的 0.25 次方

答案:A。将 D=20N 代入 C=6ND 得 C=120N²,两边开方得 N=(C/120)^0.5,即 N 与 C 的 0.5 次方成正比。0.73 是 Kaplan 的旧指数,1 次方意味着参数随预算线性增长,计算量会以三次方膨胀,均不正确。

Q9. 考虑到模型需要反复部署推理时,Chinchilla 发现最优配比会如何变化?

单选题 · mid

  • A.训练数据的占比变得更高
  • B.模型参数的占比变得更高← 正确答案
  • C.与训练最优配比完全相同
  • D.不再遵循幂律缩放关系

答案:B。推理成本与参数量直接相关,但当推理次数很多时,训练成本被摊薄,团队愿意训练更大的模型来换取更低的推理损失,因此最优配比从 20:1 降到约 5~6:1,即相对更偏参数。A 说反了,C 忽略了推理因素,D 无依据。

Q10. Chinchilla 结论对后续大模型训练实践的影响体现在哪些方面?

多选题 · hard

  • A.数据量被提到与参数同等重要← 正确答案
  • B.训练数据规划需前置到立项← 正确答案
  • C.所有模型都强制使用 20:1
  • D.出现推理最优的训练变体← 正确答案

答案:ABD。A、B、D 都是实际影响:行业开始重视数据规模、立项先定数据再定模型,并衍生出考虑推理成本的变体配比。C 错误——20:1 是基准而非强制,实际训练常根据数据丰裕度和推理需求灵活调整(如 LLaMA 超配数据)。