返回报告库

AI / Technology

Chinchilla在固定算力下,模型不一定越大越好

固定训练算力下的两种分配方式

图 1|教学示意,不是论文原图。两边总训练预算相同;右边表达的是更合适的参数—数据配比,不是“小模型永远更好”。

  1. 算力预算需要分配。 参数量 (N) 与训练 token 数 (D) 都会消耗训练算力;固定预算下,多给一边,就必须少给另一边。
  2. 论文估计二者应近似等比例扩展。 三种拟合方法得到的算力指数分别约为 (N: 0.50/0.49/0.46),(D: 0.50/0.51/0.54),而早先 Kaplan 等人的估计是 (0.73) 与 (0.27)。[来源:论文第 7 页,表 2]
  3. 同一训练算力下,70B 的 Chinchilla 胜过 280B 的 Gopher。 前者训练了 1.4T tokens,后者约 300B tokens;这证明“更大”不是固定预算下唯一、甚至未必是更好的选择。[来源:论文第 2、8–12 页]

从训练实验到缩放规律的估计流程

图 2|教学示意。三种路线使用不同的取点与拟合方式,却都指向参数量和数据量近似同步扩展。来源:论文第 4–7 页。

  • 训练曲线包络: 对不同模型规模和训练时长的损失曲线做平滑、插值,在每个算力点选最低损失,再拟合幂律。
  • 等算力切片(IsoFLOP): 固定九档训练 FLOPs,在每一档横向比较不同模型规模,直接寻找损失最低点。
  • 损失函数拟合: 把损失拆成不可约的数据熵、有限模型容量造成的损失、有限训练步数造成的损失,再求固定算力约束下的最优解。

Gopher 与 Chinchilla 的同算力对照

图 3|教学对照图。数字来自论文表 1;“表现更好”指论文覆盖的语言建模和下游评测,不应外推为所有任务。

最有说服力的检验是同算力正面对照。Gopher 有 280B 参数、训练约 300B tokens;Chinchilla 有 70B 参数、训练 1.4T tokens。两者训练 FLOPs 相同,Chinchilla 的参数量是四分之一,数据量约为四倍。[来源:论文第 2、8 页,表 1]

研究附录

论文:Jordan Hoffmann 等,Training Compute-Optimal Large Language Models,2022。
原文:arXiv 摘要页 · PDF

一、结论先行

这篇论文重新问了一个常被“参数越多越好”掩盖的问题:训练算力已经固定时,应该把多少算力花在扩大模型,多少花在让模型读更多数据? 作者的答案是,两者要近似同步扩展。模型太大、训练 token 太少,会让昂贵的参数没有得到充分训练。[来源:论文第 1–2 页、表 1]

记住三点:

  1. 算力预算需要分配。 参数量 (N) 与训练 token 数 (D) 都会消耗训练算力;固定预算下,多给一边,就必须少给另一边。
  2. 论文估计二者应近似等比例扩展。 三种拟合方法得到的算力指数分别约为 (N: 0.50/0.49/0.46),(D: 0.50/0.51/0.54),而早先 Kaplan 等人的估计是 (0.73) 与 (0.27)。[来源:论文第 7 页,表 2]
  3. 同一训练算力下,70B 的 Chinchilla 胜过 280B 的 Gopher。 前者训练了 1.4T tokens,后者约 300B tokens;这证明“更大”不是固定预算下唯一、甚至未必是更好的选择。[来源:论文第 2、8–12 页]

二、问题:为什么只堆参数会浪费算力

训练一个自回归语言模型时,最终损失同时取决于两个关键量:模型参数量 (N) 和训练 token 数 (D)。论文用近似式 FLOPs6ND\mathrm{FLOPs}\approx 6ND 描述训练成本。因此,在固定预算 (C) 下,目标不是单独把 (N) 做到最大,而是在满足 6ND=C6ND=C 的组合中找到损失最低的一点。[来源:论文第 2、6 页,式 1、式 4]

当时许多大模型主要扩大参数量,训练数据却停留在约 300B tokens:GPT-3 是 175B 参数/300B tokens,Gopher 是 280B/300B,MT-NLG 是 530B/270B。论文认为它们相对于各自算力预算“过大而训练不足”。这里的“训练不足”不是说训练没有完成,而是说:如果把同样算力挪一些给更多 token,最终损失可能更低。[来源:论文第 1–3 页,表 1]

三、方法:怎样找到算力最优点

作者训练了 400 多个 Transformer 语言模型,参数量从约 70M 到超过 16B,训练数据从 5B 到数百 B tokens。然后用三条独立路线估计固定 FLOPs 下的最佳 (N,D) 组合:[来源:论文摘要、第 2、4–7 页]

  • 训练曲线包络: 对不同模型规模和训练时长的损失曲线做平滑、插值,在每个算力点选最低损失,再拟合幂律。
  • 等算力切片(IsoFLOP): 固定九档训练 FLOPs,在每一档横向比较不同模型规模,直接寻找损失最低点。
  • 损失函数拟合: 把损失拆成不可约的数据熵、有限模型容量造成的损失、有限训练步数造成的损失,再求固定算力约束下的最优解。

直觉上,扩大参数能增加模型容量,增加 token 能让这些容量被更充分地优化。只推高其中一项,另一项会成为瓶颈。三种估计并非完全一致:在 Gopher 的算力预算下,它们预测的最优模型约为 40B–70B;作者最后选择区间上端的 70B,部分原因是数据与计算效率。[来源:论文第 7–8 页]

四、证据与边界:Chinchilla 证明了什么

最有说服力的检验是同算力正面对照。Gopher 有 280B 参数、训练约 300B tokens;Chinchilla 有 70B 参数、训练 1.4T tokens。两者训练 FLOPs 相同,Chinchilla 的参数量是四分之一,数据量约为四倍。[来源:论文第 2、8 页,表 1]

结果方面,Chinchilla 在 MMLU 的 57 个任务上取得 67.6% 的五样本平均准确率,Gopher 为 60.0%;它在 51/57 个单项上更好、2 项相同、4 项更差。BIG-bench 的 62 项平均准确率是 65.1% 对 54.4%。在 The Pile 的所有评测子集上,Chinchilla 的语言建模表现也优于 Gopher。[来源:论文第 10–12 页,表 6、图 5–7]

但这不是一场只有模型大小和数据量两个变量的完美受控实验。Chinchilla 还换用了 AdamW、略有不同的数据混合和 tokenizer;作者在附录分析了这些改动,但它们仍会削弱“全部提升只来自配比”的因果确定性。[来源:论文第 8–9 页、第 31–32 页]

更重要的边界有四个:

  • 大规模可直接比较的训练只有 Chinchilla 和 Gopher 两次,没有中间规模的同等检验;从小模型外推到超大模型仍有不确定性。
  • 方法假设算力、模型规模和 token 之间服从幂律,但高算力区域出现弯曲迹象;论文承认它可能仍高估了大模型的最优尺寸。
  • 分析中的训练都少于一个数据 epoch,多轮重复数据时规律是否保持,论文没有回答。
  • 更多网络数据也会带来污染、隐私、偏见和有害内容。25,000 个无提示样本的自动毒性分数显示两模型差异很小,并不说明风险已经解决;作者也明确说安全评估并不完整。[来源:论文第 14–15 页]

五、实际意义:先问预算如何分,而不是模型能做多大

对训练团队,这篇论文把容量规划从“能塞下多少参数”改成“在预训练预算内,哪组参数量与 token 数能得到最低损失”。实际决策应先做多档小规模 IsoFLOP 实验,匹配每次训练的学习率日程,再据此估计本架构、本数据分布下的最优点,而不是机械套用 70B 或某个固定 token/参数比。

对产品团队,一个更小但训练更充分的模型还有部署收益:显存占用和单次推理计算通常随参数量下降,微调也更便宜。论文称 Chinchilla 相比 Gopher 的内存占用与推理成本更低;这是其 4 倍更小参数规模带来的直接工程意义。[来源:论文第 2、8 页]

不过,“Chinchilla 规律”应理解为这篇论文在特定密集 Transformer、数据和训练制度下得到的经验规律,而不是永恒常数。架构、数据质量、重复 epoch、上下文长度和训练目标变化后,都应重新测量。论文最持久的启发不是“永远训练更小的模型”,而是:固定算力下,参数与数据是同一预算表里的两项支出。


研究附录:证据账本与核验问题

主张论文证据可信边界
参数与 token 应近似同步扩展三种方法的指数:(N=0.50/0.49/0.46),(D=0.50/0.51/0.54);第 7 页表 2经验拟合;高算力区有曲率,跨数量级外推不确定
Chinchilla 与 Gopher 训练算力相同第 8 页明确说明;Gopher 预算为 (5.76\times10^{23}) FLOPs其他优化器、tokenizer、数据混合细节并非完全相同
70B + 1.4T 优于 280B + 300B第 2 页表 1;第 9–13 页下游评测只覆盖论文所测任务;部分语言建模结果可能受训练/测试泄漏影响
MMLU 提升67.6% 对 60.0%,第 10 页表 6五样本设置;摘要写 67.5%,正文表格与结果段为 67.6%,本文采用更具体的正文值
推理更省Chinchilla 参数量为 Gopher 的 1/4;第 8 页讨论内存与推理成本论文未在主文给出端到端延迟、吞吐或真实服务成本

术语速查:token 是模型读取文本的基本片段;训练 FLOPs 是训练所需浮点运算量的估计;loss(损失) 衡量模型对训练分布预测得有多差,通常越低越好;compute-optimal(算力最优) 指在固定训练算力约束下,使损失最低的配置。

复现或采用前,建议追问:同样规律能否在新的模型架构与数据配方上复现?多 epoch 或数据不足时最优点如何变化?数据去重是否充分?推理节省是否能在目标硬件、上下文长度和批量下兑现?安全评测是否覆盖真实使用场景,而不只是无提示生成?

图片生成说明

三张视觉图均通过内置 ImageGen 分别生成,并保存为 PNG;它们是原创教学示意,不是论文图表的复制。数值证据仍以正文表格与论文页码为准。

关于这篇论文的三个关键问题

Chinchilla:在固定算力下,模型不一定越大越好 解决了什么问题?

当时许多大模型主要扩大参数量,训练数据却停留在约 300B tokens:GPT-3 是 175B 参数/300B tokens,Gopher 是 280B/300B,MT-NLG 是 530B/270B。论文认为它们相对于各自算力预算“过大而训练不足”。这里的“训练不足”不是说训练没有完成,而是说:如果把同样算力挪一些给更多 token,最终损失可能更低。[来源:论文第 1–3 页,表 1]

Chinchilla:在固定算力下,模型不一定越大越好 的核心结论有哪些证据?

结果方面,Chinchilla 在 MMLU 的 57 个任务上取得 67.6% 的五样本平均准确率,Gopher 为 60.0%;它在 51/57 个单项上更好、2 项相同、4 项更差。BIG-bench 的 62 项平均准确率是 65.1% 对 54.4%。在 The Pile 的所有评测子集上,Chinchilla 的语言建模表现也优于 Gopher。[来源:论文第 10–12 页,表 6、图 5–7]

阅读 Chinchilla:在固定算力下,模型不一定越大越好 时最需要注意什么局限?

最有说服力的检验是同算力正面对照。Gopher 有 280B 参数、训练约 300B tokens;Chinchilla 有 70B 参数、训练 1.4T tokens。两者训练 FLOPs 相同,Chinchilla 的参数量是四分之一,数据量约为四倍。[来源:论文第 2、8 页,表 1]

今天还可免费读 2 篇新报告订阅 Pro 后无限阅读,并获得每月 10 篇新论文生成额度。升级 Pro