工作台课程

CS336 · 从零构建语言模型

Lecture 9 · 缩放定律 I:基础

Lecture 9 · 缩放定律 I:基础

CS336: Language Modeling from Scratch · Stanford · Spring 2025
📅 Apr 29 · 💻 不可执行讲义(PDF) · 讲者 Tatsunori Hashimoto


承上启下

上一讲(Lecture 8 · 并行 II:分布式训练实战:已经解决了「怎么训得动」的问题——collective ops、数据并行、张量并行、流水线并行让我们能把一个大模型摊到成千上万张 GPU 上高效训练。系统能力已经就位。

本讲(缩放定律基础):现在要回答一个更贵的问题:给定固定的计算预算,到底该训练多大的模型?用多少数据?配什么超参数? 一次大规模训练动辄数百万美元起步,不能像小模型那样靠网格搜索乱试,也不能靠 cargo cult 照抄已有模型的配置——别人的配置是针对别人的数据、目标和预算调出来的。缩放定律(scaling law)的核心承诺是:用一系列便宜的小实验,预测昂贵的大实验的结果。本讲建立基础框架(幂律、$C \approx 6ND$、Chinchilla),Lecture 11 · 缩放定律 II:细节 会看真实模型如何把这套方法落地(muP、WSD、各家 recipe)。

摘要

缩放定律把「大模型炼丹」变成相对可计算的工程决策:loss 与数据量 $D$、参数量 $N$、计算量 $C$ 常呈幂律关系,在 log-log 图上近似直线,因此小规模实验可以外推大规模趋势;Chinchilla 把问题形式化为「给定计算预算 $C \approx 6ND$,如何分配 $N$ 与 $D$」,答案大约是二者同步增长、每参数约 20 个 token。


1. 为什么需要缩放定律?

想象你拿到:

  • 10,000 张 H100;
  • 1 个月训练时间;
  • 目标:做一个强开源 LM。

你会立刻遇到一连串必须提前决定、事后无法便宜修改的问题:

  • 模型该宽一点还是深一点?多少层、多少头、head dim 多大?
  • FFN 用什么激活函数、hidden ratio 选多少?(参见 Lecture 3 · 架构与超参数
  • batch size 多大、learning rate 怎么定、schedule 怎么排?
  • 预算固定时,应该把钱花在更多数据上还是更大模型上?

大模型不能像小模型一样乱试:一次错误的训练配置就是数百万美元打水漂,而且训练周期以月计,试错的时间成本同样致命。缩放定律提供的工作流是:

小模型实验 → 拟合规律 → 外推到大模型 → 决定训练配置

这个思路并不新。Banko & Brill(2001)就在 NLP 消歧任务上发现「更多数据胜过更聪明的算法」;Hestness et al.(2017)系统展示了深度学习的泛化误差随数据量幂律下降(”Deep Learning Scaling is Predictable, Empirically”);Kaplan et al.(2020)把它带入语言模型时代;Hoffmann et al.(2022, Chinchilla)修正了资源分配结论。

提示

缩放定律本质上是一笔交换:用「跑一批小实验的确定成本」换掉「大实验配置选错的巨大风险」。它成立的前提是小模型和大模型处在同一条平滑规律上——幸运的是,语言模型的 pretraining loss 恰好经验上表现出这种跨尺度的规律性,这是整个方法论的经验基石。

注意

缩放定律不是魔法。它只能在「同一训练配方、同一数据分布、同一评估指标」附近外推;换数据、换架构、换训练目标、甚至换 tokenizer(见 Lecture 1 · 概览与分词),拟合出来的常数乃至指数都可能失效。它给的是同族配置内的插值与温和外推,不是跨范式的预言。


2. 数据缩放:loss 为什么像幂律?

2.1 经验现象

语言模型里最常见的经验规律:测试 loss 随训练数据量 $D$ 幂律下降,

$$L(D) \approx \frac{A}{D^{\alpha}} + E$$

其中 $D$ 是训练 token 数,$\alpha > 0$ 是缩放指数(Kaplan 报告 $\alpha_D \approx 0.095$),$A$ 是尺度常数,$E$ 是不可约损失(irreducible loss)——即使数据无限多也降不下去的部分,对应语言本身的熵(下一个 token 本质上的不确定性)加上模型族的表达上限。这与 CS221 Lecture 17 · 语言模型(未找到对应页面) 里「语言模型 = 估计序列分布」的视角一致:估计误差可以随数据消失,分布自身的熵不会。

把 $E$ 移项后取对数:

$$\log\bigl(L(D) - E\bigr) \approx \log A - \alpha \log D$$

也就是说,减去不可约项后,log-log 图上是一条斜率为 $-\alpha$ 的直线。这解释了为什么论文里的缩放图总用双对数坐标:直线意味着幂律,斜率直接读出指数。

graph LR
    D["数据量 D 增大"] --> L["loss 下降"]
    L --> P["log-log 近似直线"]
    P --> LAW["幂律 scaling law"]

注意

幂律衰减非常慢:$\alpha \approx 0.1$ 意味着 loss(的可约部分)每降低一半,数据要增加约 $2^{10} \approx 1000$ 倍。「再加 10 倍数据」在 log-log 图上只是往右挪一格。这就是为什么大模型竞赛烧钱如此凶猛——收益递减但从不归零。

2.2 从样本复杂度看直觉

为什么误差随数据幂律下降?统计学里最简单的例子已经是幂律。估计高斯分布的均值:

$$x_i \sim \mathcal{N}(\mu, \sigma^2), \qquad \hat{\mu} = \frac{1}{n}\sum_{i=1}^{n} x_i, \qquad \mathbb{E}\bigl[(\hat{\mu} - \mu)^2\bigr] = \frac{\sigma^2}{n}$$

误差以 $n^{-1}$ 下降,log-log 图上斜率恰为 $-1$。这是「参数化估计」的速率:待学的东西是有限维的。

更接近深度学习的是非参数估计:要学的是一整个函数。此时经典速率是

$$\text{error} \propto n^{-c/d}$$

其中 $d$ 是问题的(内在)维度,$c$ 与目标函数的光滑度有关。维度 $d$ 越高,指数越小,数据的边际收益越慢——直觉上,想在 $d$ 维空间里把每个半径 $\varepsilon$ 的邻域都覆盖到,需要约 $(1/\varepsilon)^d$ 个样本,维度把学习速率「稀释」了。

说明

神经网络缩放指数的来源至今没有公认解释。「内在维度」是一个有吸引力的方向——Sharma & Kaplan(2020)提出 $\alpha \approx 4/d$,其中 $d$ 是数据流形的内在维度——但这只是候选理论之一,不是铁板钉钉的定论。实践中大家把幂律当作经验规律使用:先拟合、再外推、随时验证。

提示

幂律处在两种极端之间:既不是指数收敛(学几个样本就够,像背有限的规则表),也不是完全不收敛(数据无用)。它说的是「每个数量级的数据买到固定幅度的进步」——语言里有高频规律也有长尾知识,先学会的是便宜的高频部分,越往后要买的越是昂贵的长尾,边际收益因此按比例递减。

2.3 数据组成与重复也有缩放规律

数据缩放不只是「多少 token」这一个数字:

  • 混合比例:不同数据源(代码/网页/书籍)的配比会改变 loss 曲线的常数项甚至指数,因此数据配方本身也可以做缩放实验(详见 Lecture 13 · 数据 I)。
  • 分布偏移:在源域上拟合的缩放曲线,换到目标域评估时,常数与指数都可能不同;「在 A 上训练、在 B 上测」的缩放需要单独刻画。
  • 重复数据不等价于新数据:Muennighoff et al.(2023)的数据受限缩放研究发现,重复训练约 4 个 epoch 以内,重复 token 的价值仍接近新 token;再往后价值迅速衰减,重复十几个 epoch 后新增价值趋近于零。

因此在数据受限场景下,有效数据量小于名义训练量:

$$D_{\text{effective}} < D_{\text{trained}}$$

这直接影响后面 Chinchilla 式的数据-模型权衡:如果高质量数据就这么多,「按 20:1 配数据」可能根本配不出来,只能重复数据或降低质量,而两者都会让实际曲线偏离拟合的定律。


3. 模型缩放:参数量、数据量、计算量的三角关系

3.1 三个变量与一条预算约束

符号 含义
$N$ 模型参数量
$D$ 训练 token 数
$C$ 训练计算量(FLOPs)

三者由一条近似恒等式绑在一起(推导见 Lecture 2 · PyTorch 与资源核算):

$$C \approx 6ND$$

来源:每个 token 的前向传播约需 $2N$ FLOPs(每个参数一次乘、一次加),反向传播约为前向的两倍(对激活和对权重各算一次梯度),共 $4N$,合计 $6N$;训练 $D$ 个 token 就是 $6ND$。

例子

训练一个 1B 参数模型、20B token:$C = 6 \times 10^9 \times 2\times10^{10} = 1.2\times10^{20}$ FLOPs。一张 H100 按 40% MFU 算约 $4\times10^{14}$ FLOPs/s,需要约 $3\times10^5$ 秒 ≈ 3.5 GPU·天。反过来,Chinchilla 级别的 $C \approx 5.8\times10^{23}$ FLOPs 就是同条件下约 1.7 万 GPU·天。

所以给定计算预算 $C$,$N$ 和 $D$ 不能同时任意增大——$C \approx 6ND$ 是一条双曲线形状的预算约束线,你必须在「大模型 + 少数据」「小模型 + 多数据」之间选一个点。缩放定律回答的正是:约束线上哪一点 loss 最低?

提示

把 $L(N, D)$ 想成一张地形图,$C = 6ND$ 是一条等预算线。compute-optimal 训练就是「在这条线上找 loss 等高线的切点」。Kaplan 和 Chinchilla 的分歧不在框架,而在于对地形(各方向的坡度 $\alpha, \beta$)的测量结果不同,导致切点位置差别很大。

3.2 Kaplan 式观点:越大越好

Kaplan et al.(2020)的主要发现:

  • loss 对 $N$、$D$、$C$ 分别都近似幂律,拟合指数约为 $\alpha_N \approx 0.076$、$\alpha_D \approx 0.095$(对 compute 的最优包络约 $\alpha_C \approx 0.05$);
  • 在同等计算量下,大模型比小模型更 sample-efficient:大模型用更少的数据就能达到同样 loss;
  • 由此得出的最优分配严重偏向模型:$N^* \propto C^{0.73}$,$D^* \propto C^{0.27}$——预算扩大 10 倍时,参数扩 5 倍多,数据只扩不到 2 倍。

这套结论直接塑造了 GPT-3 时代的路线:GPT-3 用 175B 参数只训了 300B token,约 1.7 tokens/param,是典型的「Kaplan 式」配置。

3.3 Chinchilla 修正:同步缩放,20 tokens/param

Hoffmann et al.(2022)重做了这套分析,发现早期大模型普遍数据严重不足(data-undertrained)。他们的结论:

  • 给定计算预算,$N$ 和 $D$ 应当大致同比例增长:$N^* \propto C^{0.5}$,$D^* \propto C^{0.5}$;
  • 换算成经验法则约为:

$$D^* \approx 20\,N^* \quad\text{(每个参数约 20 个训练 token)}$$

模型 Chinchilla 风格建议 token
1B ~20B
10B ~200B
70B ~1.4T

例子

最有说服力的验证:用与 Gopher(280B 参数、300B token)完全相同的计算预算(约 $5.8\times10^{23}$ FLOPs),训练 Chinchilla(70B 参数、1.4T token)。结果 Chinchilla 在 loss 和几乎所有下游任务上全面超过 4 倍大的 Gopher——花同样的钱,小模型多吃数据赢了。

为什么 Kaplan 和 Chinchilla 结论差这么远? 两个常被引用的技术原因,都值得记住,因为它们是做缩放实验的经典陷阱:

  1. 参数计法不同:Kaplan 拟合时用非 embedding 参数。在小模型上 embedding 占比很大,这个选择会系统性扭曲小规模端的曲线,而拟合恰恰主要靠小模型的点。
  2. 学习率 schedule 没有对齐训练长度:Kaplan 对不同 token 预算复用同一 cosine schedule 长度。schedule 长度与实际训练长度不匹配时,短预算实验的 loss 被高估,让「少数据」看起来比实际更糟,从而把最优点推向大模型。Chinchilla 为每个预算匹配了 schedule。

注意

20 tokens/param 不是宇宙常数。它是特定数据、特定 tokenizer、特定架构、特定目标(只最小化训练时 loss)下的拟合结果。后续模型(LLaMA 3、MiniCPM 等,见 Lecture 11 · 缩放定律 II:细节)大量使用远高于 20:1 的数据比——不是 Chinchilla 错了,而是它们的目标函数里加入了推理成本(见第 7 节)。


4. 如何拟合「最优」缩放?(Chinchilla 三方法)

4.1 Method 1:训练曲线下包络(lower envelope)

做很多组「不同模型大小 × 不同训练 token 数」的实验,把所有训练曲线画在「loss vs 计算量」图上。任意给定计算量 $C$,在所有曲线里取当时 loss 最低的那条,连成下包络线——它就是「该预算下能达到的最好 loss」,包络上每一点对应的 $N$ 给出 $N^*(C)$。

  • 优点:直观;一条训练曲线上的每个 checkpoint 都是数据点,信息利用率高。
  • 缺点:需要大量训练曲线;结论对训练动态敏感——learning rate schedule 与训练长度不匹配时(正是 Kaplan 的问题),曲线中段的点系统性偏差,包络会被带歪。

4.2 Method 2:IsoFLOP 剖面

固定若干个 FLOP 预算 $C_1, C_2, C_3, \dots$,对每个预算:

  • 训练多个不同大小 $N$ 的模型;
  • 因为 $C \approx 6ND$,每个 $N$ 自动对应一个 $D = C/(6N)$,即每个模型都「恰好花完预算」;
  • 画出该预算下 loss 关于 $N$ 的曲线——经验上是一条 U 形(抛物线状)曲线,底部即该预算的最优 $N^*(C)$。

再把各预算的 $(C, N^*)$ 点放到 log-log 图上拟合直线,得到 $N^* \propto C^{a}$。Chinchilla 用此法得 $a \approx 0.49$。

graph TD
    C["固定 FLOPs"] --> N1["小 N 多 D"]
    C --> N2["中 N 中 D"]
    C --> N3["大 N 少 D"]
    N1 --> L["比较最终 loss"]
    N2 --> L
    N3 --> L

提示

IsoFLOP 是「控制变量」思想的直接体现:把钱固定死,只问怎么花。U 形曲线两端的含义很清楚——太小的模型容量不够(欠参数化),太大的模型每个参数没吃到足够数据(欠训练),最优点在中间。每条 U 形线只回答一个预算下的问题,跨预算的规律靠再拟合一层幂律得到。

4.3 Method 3:参数化联合拟合

假设一个显式函数形式,把所有实验点一起拟合:

$$L(N, D) = E + \frac{A}{N^{\alpha}} + \frac{B}{D^{\beta}}$$

三项分别是:不可约损失 $E$(数据的熵)、有限模型容量带来的误差项 $A/N^{\alpha}$、有限数据带来的误差项 $B/D^{\beta}$。Chinchilla 拟合出 $E \approx 1.69$、$A \approx 406.4$、$B \approx 410.7$、$\alpha \approx 0.34$、$\beta \approx 0.28$(用 Huber loss 做稳健拟合)。

有了显式形式,就能在约束 $C = 6ND$ 下解析求最优分配。把 $D = C/(6N)$ 代入、对 $N$ 求导置零,得:

$$N^*(C) \propto C^{\frac{\beta}{\alpha+\beta}}, \qquad D^*(C) \propto C^{\frac{\alpha}{\alpha+\beta}}$$

由于拟合出的 $\alpha \approx \beta$,两个指数都接近 $0.5$——这就是「$N$ 与 $D$ 同步缩放、比例近似恒定」的数学来源,20 tokens/param 是这个恒定比例的具体数值。

  • 优点:一个函数描述整个 $(N, D)$ 曲面,可以直接外推、直接回答任意预算下的分配问题。
  • 缺点:结论对函数形式假设敏感;数据点不足或分布不均时容易被误导。事实上 Epoch AI 的复现(Besiroglu et al., 2024)指出 Chinchilla 原文 Method 3 的拟合存在问题(置信区间过窄、与 Method 1/2 结论不一致),修正后三种方法才互相吻合。

说明

三种方法是用不同强度的假设换取不同的数据效率:Method 1 假设最弱(只要包络),Method 2 加了「每个预算下 U 形有唯一底部」的结构,Method 3 假设最强(整个曲面服从一个四参数公式)。健壮的做法是三种一起做、互相校验——Chinchilla 原文正是靠 Method 1/2/3 大体一致来支撑结论的。


5. 超参数也能缩放吗?

缩放定律不仅用于 $N/D/C$ 的分配,也用于回答「超参数怎么随规模变」。

5.1 架构超参数

问题包括:Transformer 还是 LSTM?深一点还是宽一点?FFN ratio、head 数、head dim 怎么选?(这些超参数本身的经验值见 Lecture 3 · 架构与超参数。)

Kaplan 论文里的两个经典观察:

  • 架构差异体现在整条缩放曲线上:LSTM 与 Transformer 在小规模差距不大,但 LSTM 的曲线更早弯平(长上下文利用能力受限),Transformer 的幂律持续更远——所以比较架构要看缩放曲线的斜率与延伸性,不能只看单点。
  • 形状超参数出奇地不敏感:固定 $N$ 时,宽深比(aspect ratio)在很宽的范围内 loss 几乎不变。这是个好消息:真正要紧的是 $N$ 和 $D$,形状只要不太离谱即可。

需要警惕的是:这些结论以 pretraining loss 为准;下游任务的表现可能不如 loss 稳定(见第 6 节),小规模的架构赢家在大规模可能被反超(crossover)。

5.2 Batch Size:临界批量(critical batch size)

batch size 增大有两个阶段:

  1. 小 batch 区:梯度噪声主导,增大 batch 几乎线性地减少所需训练步数——多花并行度、少花时间,近乎免费。
  2. 超过临界批量后:梯度估计已经足够准,再增大 batch 只是把每步算得更贵,所需步数不再等比减少,收益急剧递减。

McCandlish et al.(2018)用梯度噪声尺度(gradient noise scale)刻画这个转折点:噪声相对信号越大,值得用越大的 batch 来平均噪声。Kaplan 进一步给出经验规律——临界批量主要由当前 loss 决定而非模型大小:

$$B_{\text{crit}}(L) \approx \frac{B_*}{L^{1/\alpha_B}}$$

其中 $B_* \approx 2\times10^8$ tokens、$\alpha_B \approx 0.21$ 为拟合常数。含义:目标 loss 越低(训练越往后、模型越强),临界批量越大。这解释了为什么大模型训练常用「batch size 随训练进程逐渐增大」的 warmup 策略,也解释了为什么 batch 不是越大越好。

5.3 Learning Rate 与 muP

朴素参数化(standard parametrization)下,最优 learning rate 随模型宽度漂移:小模型上扫出来的最优 LR 拿到大模型上会偏大(常常直接发散)。这让「小实验外推大模型」在超参数维度上失灵——你为大模型选的 LR 依然是在赌。

muP(maximal update parametrization)的目标就是修掉这个漂移:通过按宽度缩放各层的初始化尺度与学习率,让不同宽度的模型在训练动态上「对齐」,从而小模型调好的 LR 可以直接迁移到大模型(zero-shot hyperparameter transfer)。

本讲只引入动机,muP 的具体构造、什么组件会破坏它,见 Lecture 11 · 缩放定律 II:细节

提示

超参数缩放的共同主题是寻找「规模不变量」:直接可调的量(LR、batch)会随规模漂移,但某个换算后的量(muP 坐标下的 LR、以梯度噪声尺度衡量的 batch)近似不变。找到不变量,就能在小规模测量、在大规模复用。


6. 下游任务不总按 pretraining loss 缩放

pretraining loss 通常平滑、可预测;下游任务指标则经常不是,原因包括:

  • 指标离散:准确率按「对/错」记分,模型能力的连续提升要跨过阈值才体现在分数上;
  • 评测集小:几百道题的 benchmark,噪声就有好几个百分点;
  • prompt 敏感:格式、few-shot 示例的选择都能显著改变分数;
  • 有饱和区:接近 100% 或卡在随机猜测水平时,曲线自然弯平;
  • 数据污染:评测题混进训练集会让曲线虚高且不可外推(评估效度问题详见 Lecture 12 · 评估);
  • 看似「涌现」的跳变:Wei et al.(2022)报告许多能力在某个规模突然出现(emergent abilities);Schaeffer et al.(2023)则论证其中相当一部分是指标选择的假象——换成连续指标(如 token 级 log-likelihood)后曲线其实平滑。真相可能介于两者之间:底层能力多半连续增长,但「离散指标 + 阈值效应」会把连续进步渲染成跳变。

所以:

$$\text{pretraining loss scaling} \neq \text{downstream capability scaling}$$

但 pretraining loss 仍是拟合缩放定律的主指标,因为它稳定、可重复、对训练过程的微小改动敏感,而这正是「用小实验做精确测量」所需要的性质。实践中的折中(如 LLaMA 3)是两步走:先用缩放定律预测下游任务上的 NLL(连续、较平滑),再用小模型数据拟合「NLL → 准确率」的映射。

提示

把 loss 看作水位、下游能力看作露出水面的岛屿:水位(loss)匀速下降,但每座岛(任务阈值)露出水面的时刻看起来都像突然事件。缩放定律测的是水位,产品要的是岛屿——两者相关,但换算并不平凡。


7. Train-Optimal 不等于 Product-Optimal

Chinchilla 优化的目标是:

$$\min_{N,\,D}\ L(N, D) \quad \text{s.t.} \quad 6ND = C_{\text{train}}$$

固定训练计算量,最小化最终 loss。但真实产品的成本大头往往不在训练,而在之后无限期的推理服务:推理成本、延迟、吞吐、显存占用都随 $N$ 增长(推理特性见 Lecture 10 · 推理)。

考虑推理后,最优点系统性地移向「更小的模型 + 远超 Chinchilla 的数据」——多花一次性的训练费,换每次推理的持续省钱:

  • LLaMA-1 7B 训了 1T token(约 140 tokens/param),LLaMA 3 8B 训到 15T token(约 1900 tokens/param):按 Chinchilla 标准是严重「过训练(overtraining)」,但按「训练一次、服务十亿次」的账本算非常划算。
  • 反过来,一个 train-optimal 的大模型如果推理调用量巨大,可能远不如一个「过训练的小模型」经济。

提示

缩放定律回答的是「在明确目标函数下如何分配资源」。Chinchilla 的目标函数里只有训练成本;一旦把推理成本加进目标函数,同一套拟合曲面会给出完全不同的最优点。定律没变,变的是你在优化什么。


总结

mindmap
  root((缩放定律 I))
    Data Scaling
      power law
      log-log line
      effective data
      repetition
    Model Scaling
      parameters N
      data D
      compute C
      C approx 6ND
    Chinchilla
      smaller model
      more data
      20 tokens per param
    Fitting
      lower envelope
      IsoFLOP
      joint fit
    Hyperparameters
      batch size
      learning rate
      muP
    Caveats
      downstream unstable
      train optimal vs product optimal

关键要点

  1. Scaling laws 是预测工具
    - 它把小模型实验变成大模型决策依据,用小实验的确定成本对冲大训练的配置风险。

  2. 幂律是核心经验现象
    - loss 与数据、参数、计算量常在 log-log 图上近似线性;理论解释(如内在维度)仍是开放问题。

  3. 给定 compute,$N$ 与 $D$ 必须权衡
    - $C \approx 6ND$(前向 $2N$ + 反向 $4N$ 每 token)是最重要的一阶约束。

  4. Chinchilla 修正了早期「模型越大越好」的偏见
    - 很多模型 data-undertrained;最优分配约为 $N^* \propto C^{0.5}$、$D^* \propto C^{0.5}$,即约 20 tokens/param。Kaplan 的偏差主要来自参数计法与 LR schedule 未对齐。

  5. 下游能力更难预测
    - pretraining loss 平滑,下游指标离散、易饱和、易污染;「涌现」部分是指标假象。

  6. 最优取决于目标函数
    - 训练最优不等于部署最优;考虑推理成本后,「过训练的小模型」常是产品正解。

下一讲预告(Lecture 10 · 推理

缩放定律解决训练预算怎么花,推理课则看模型训练完之后怎么服务用户:prefill vs generation、KV cache、GQA/MLA、量化、剪枝、投机解码、continuous batching 与 PagedAttention。之后 Lecture 11 · 缩放定律 II:细节 会回到缩放主题,看 muP、WSD 与各家真实模型的 scaling recipe。


复习自测

题目

由 $C = 6ND$ 且 $D = 20N$,得 $C = 120N^2$,即 $N = \sqrt{C/120} = \sqrt{8.3\times10^{20}} \approx 2.9\times10^{10}$(约 29B 参数),$D = 20N \approx 5.8\times10^{11}$(约 580B token)。验证:Chinchilla 本尊 70B/1.4T 对应 $C = 6 \times 7\times10^{10} \times 1.4\times10^{12} \approx 5.9\times10^{23}$,与其论文预算一致。

题目

若 $L - E = A D^{-\alpha}$,两边取对数得 $\log(L-E) = \log A - \alpha \log D$,是 $\log D$ 的线性函数,斜率 $-\alpha$。若不减 $E$ 直接画 $\log L$,曲线在大 $D$ 端会弯平趋向 $\log E$——所以看到「幂律失效弯平」时,先检查是不是只是逼近了不可约项。

题目

其一,Kaplan 用非 embedding 参数计 $N$,而小模型中 embedding 占比大,小规模端的曲线被系统性扭曲,拟合恰恰重度依赖小模型点。其二,Kaplan 未把 cosine schedule 长度与每个 token 预算对齐,短预算实验的 loss 被高估,「少数据」显得比实际更差,最优点被推向大模型。教训:缩放实验中每个配置都要各自调到位,否则拟合出的是「没调好的规律」。

题目

在 $C = 6ND$ 约束下最优解为 $N^* \propto C^{\beta/(\alpha+\beta)}$、$D^* \propto C^{\alpha/(\alpha+\beta)}$。当 $\alpha \approx \beta$ 时两指数都约为 $1/2$,于是 $D^*/N^* \propto C^{(\alpha-\beta)/(\alpha+\beta)} \approx C^0$ 为常数——预算无论多大,数据/参数比都停在同一个值附近,Chinchilla 拟合出的这个常数约为 20。

题目

Chinchilla 回答的是「固定训练 compute 最小化 loss」,而 LLaMA 3 优化的目标包含推理成本:小模型每次推理便宜,训练时多花的 compute 由海量服务调用摊销。目标函数不同,最优点自然不同;这是「换了优化问题」,不是「违反了定律」。同一拟合曲面 $L(N,D)$ 在两种目标下都成立。


参考资料