同样算力,小 4 倍的模型训多 4 倍数据反而更强:Chinchilla 推翻堆参数路线

Training Compute-Optimal Large Language Models

Jordan Hoffmann, Sebastian Borgeaud, Arthur Mensch, Elena Buchatskaya, Trevor Cai, Eliza Rutherford, Diego de Las Casas, Lisa Anne Hendricks, Johannes Welbl, Aidan Clark, Tom Hennigan, Eric Noland, Katie Millican, George van den Driessche, Bogdan Damoc, Aurelia Guy, Simon Osindero, Karen Simonyan, Erich Elsen, Jack W. Rae, Oriol Vinyals, Laurent Sifre

cs.CL, cs.LG

2022-03-29

DeepMind 训了 400 多个模型后得出:算力增长时,参数和训练数据要等比放大。按此训出的 70B Chinchilla 用与 280B Gopher 同样的算力,MMLU 达 67.6%,高出 7.6 个百分点。

这篇在解决什么

2020 年 Kaplan 等人给出 GPT-3 的 scaling law:模型越大、效果越好,且呈幂律。这条结论有一个被广泛执行的推论:算力预算每涨 10 倍,模型参数该涨 5.5 倍,训练数据只涨 1.8 倍。整个行业照此办理,GPT-3、Gopher、Jurassic、MT-NLG 530B 这几代最大的稠密模型,参数从 175B 一路堆到 530B,训练 token 数却几乎都停在 3000 亿左右。模型越做越大,数据原地踏步。

本文要回答的问题很实在:给定一笔固定的算力预算(多少块卡、用多久通常是已知的),到底该把钱花在更大的模型上,还是更多的训练数据上?这种大模型通常只训得起一次,开工前估准最优配比,直接决定这笔钱花得值不值。

方法

作者训了 400 多个模型,参数从 7000 万到 160 亿,训练 token 从 50 亿到 5000 亿,然后用三种相互独立的方法去估「算力最优」配比函数:

三种方法殊途同归:算力增长时,参数和 token 数该以接近 1:1 的比例一起涨。拟合出的指数 a、b 都落在 0.46 到 0.54 之间(理想等比是各 0.5)。

为什么 Kaplan 当年会得出相反结论?作者指出两个关键差异。Kaplan 对所有模型用同一套固定的 token 数和学习率衰减曲线,这会系统性低估「少数据训练」的效果。而且 Kaplan 的实验绝大多数在 1 亿参数以下,本文多数模型在 5 亿以上,并纳入了 160 亿的点;算力前沿在高算力区有轻微下凹,小模型拟合看不到这层。

结果

按这套配方,作者训了 Chinchilla:70B 参数,1.4 万亿 token,总算力和 Gopher(280B、3000 亿 token)完全相同。

基准Chinchilla(70B)Gopher(280B)备注
MMLU(5-shot)67.6%60.0%高 7.6 个点,超过人类对 2023 年 6 月的预测 63.4%
BIG-bench(均值)65.1%54.4%高 10.7 个点,62 个任务仅 4 个落后
TruthfulQA(0-shot)43.6%29.5%高 14.1 个点
RACE-m / RACE-h86.8% / 82.3%75.1% / 71.6%阅读理解,均高出 10 个点以上
LAMBADA77.4%74.5%也高于 530B 的 MT-NLG

在 The Pile 全部子集上,bits-per-byte 都低于 Gopher;Natural Questions、TriviaQA 等 closed-book 问答也全面领先。用同样的钱,小 4 倍的模型在几乎所有任务上反超。

更关键的是推论。按算力最优配方,GPT-3 这个量级(175B)其实该训 3.7 万亿 token(实际 3000 亿),Gopher(280B)该训 5.9 万亿。想把模型做到 1 万亿参数并保持最优,需要约 21 万亿 token、相当于 Gopher 250 倍以上的算力。结论是当时几乎所有大模型都「参数超配、训练严重不足」。

为什么重要

这篇终结了「无脑堆参数」的路线。它之后,Meta 的 Llama、Falcon、Mistral 一代模型集体转向「更小参数 + 更多数据」的配方,Chinchilla 的 70B 配 1.4 万亿 token 几乎成了事实上的参考点。对从业者来说,同等预算下能用更小的模型拿到更好的效果,而更小的模型意味着更低的推理和微调成本,部署门槛和单次调用成本一起下降。

它也把行业的注意力从「把模型做更大」掰向了「把高质量数据做更多」。数据,而不是参数,成了新的稀缺资源。

局限与存疑

作者自己列了几条。大规模可比的训练只有 Chinchilla 和 Gopher 两个点,中间规模没有额外验证。整套框架假设算力前沿是干净的幂律,但高算力区 Nopt 有轻微下凹,意味着他们可能仍然高估了大模型的最优尺寸。所有训练 run 都没把数据用完一轮(不足 1 epoch),多 epoch、数据重复的区间完全没有探索。

读下来还有一个工程现实。Chinchilla 用了 4 倍于 Gopher 的数据,即便训练集相同,train/test 泄漏也会让语言建模指标失真地好看;作者承认这一点,因此把判断重心放在泄漏风险更低的 MMLU 和 BIG-bench 上。另外,这些指数是基于单一数据配方(MassiveText)和单一评测套件拟合的,换数据、换评测后是否还稳,论文没有交叉验证。

术语

原文与代码

社区讨论

相关论文

全部论文解读