训练计算最优的大型语言模型
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* *同等贡献
我们研究了在给定计算预算下,训练 Transformer 语言模型时的最优模型规模和 Token 数量。我们发现,当前的大型语言模型训练严重不足,这是近期专注于扩大模型规模而保持训练数据量不变的结果。通过在 50 亿到 5000 亿个 Token 上训练超过 400 个参数量从 7000 万到超过 160 亿不等的语言模型,我们发现为了实现计算最优训练,模型规模和训练 Token 数量应该等比例缩放:模型规模每增加一倍,训练 Token 数量也应增加一倍。我们通过训练一个预测的计算最优模型 Chinchilla 来验证这一假设,该模型使用与 Gopher 相同的计算预算,但参数量为 70B,数据量增加了 4 倍。在广泛的下游评估任务中,Chinchilla 一致且显著地优于 Gopher (280B)、GPT-3 (175B)、Jurassic-1 (178B) 和 Megatron-Turing NLG (530B)。这也意味着 Chinchilla 在微调和推理时使用的计算量大大减少,极大地促进了下游使用。值得一提的是,Chinchilla 在 MMLU 基准测试上达到了 67.5% 的最先进平均准确率,比 Gopher 提高了 7% 以上。
1. 引言
最近推出了一系列大型语言模型 (LLMs) (Brown et al., 2020; Lieber et al., 2021; Rae et al., 2021; Smith et al., 2022; Thoppilan et al., 2022),其中最大的稠密语言模型现在拥有超过 5000 亿个参数。这些大型自回归 Transformer (Vaswani et al., 2017) 通过多种评估协议(如零样本、少样本和微调)在许多任务中表现出了令人印象深刻的性能。
训练大型语言模型的计算和能源成本是巨大的 (Rae et al., 2021; Thoppilan et al., 2022),并随着模型规模的增加而上升。在实践中,分配的训练计算预算通常是预先知道的:有多少加速器可用以及我们想使用多长时间。由于通常只能对这些大型模型进行一次训练,因此准确估计给定计算预算下的最佳模型超参数至关重要 (Tay et al., 2021)。
Kaplan et al. (2020) 表明,自回归语言模型 (LM) 中的参数数量与其性能之间存在幂律关系。因此,该领域一直在训练越来越大的模型,期望性能得到提升。Kaplan et al. (2020) 的一个著名结论是,为了实现计算最优,不应将大型模型训练到其可能的最低损失。虽然我们得出了相同的结论,但我们估计大型模型应该比作者建议的训练更多的 Token。具体而言,在计算预算增加 10 倍的情况下,他们建议模型规模应增加 5.5 倍,而训练 Token 数量仅应增加 1.8 倍。相反,我们发现模型规模和训练 Token 数量应该以相同的比例进行缩放。
继 Kaplan et al. (2020) 和 GPT-3 (Brown et al., 2020) 的训练设置之后,最近训练的许多大型模型都训练了大约 3000 亿个 Token(表 1),这与增加计算量时主要增加模型规模的方法一致。

图 1 | 重叠预测。 我们叠加了来自我们三种不同方法的预测,以及来自 Kaplan et al. (2020) 的投影。我们发现所有三种方法都预测,当前的大型模型应该小得多,因此训练时间比目前所做的要长得多。在图 A3 中,我们展示了预测的最优 Token 结果,并针对固定 FLOP 预算绘制了最优参数数量。Chinchilla 优于 Gopher 和其他大型模型(见第 4.2 节)。
在这项工作中,我们重新审视了这个问题:给定固定的 FLOPs 预算,应该如何权衡模型规模和训练 Token 数量?为了回答这个问题,我们将最终预训练损失 建模为模型参数数量 和训练 Token 数量 的函数。由于计算预算 是所见训练 Token 和模型参数的确定性函数 ,我们有兴趣在约束 下最小化 :
函数 和 描述了计算预算 的最优分配。我们基于超过 400 个模型的损失经验性地估计了这些函数,这些模型范围从不到 70M 到超过 16B 参数,并在 5B 到超过 400B 个 Token 上进行训练——每个模型配置都针对几个不同的训练周期进行了训练。我们的方法得出的结果与 Kaplan et al. (2020) 的结果大不相同。我们在图 1 中强调了我们的结果,并在第 2 节中介绍了我们的方法有何不同。
基于我们估计的计算最优前沿,我们预测对于用于训练 Gopher 的计算预算,最优模型应该小 4 倍,同时在多 4 倍的 Token 上进行训练。我们通过在 1.4 万亿个 Token 上训练一个更计算最优的 70B 模型(称为 Chinchilla)来验证这一点。Chinchilla 不仅优于其更大的对应模型 Gopher,而且其减小的模型规模大大降低了推理成本,并极大地促进了在较小硬件上的下游使用。大型语言模型的能源成本通过其在推理和微调中的使用来摊销。因此,训练更优化的较小模型的好处超出了其性能提升带来的直接好处。
表 1 | 当前的 LLMs。
我们展示了五个当前最大的稠密 Transformer 模型、它们的大小以及训练 Token 的数量。除了 LaMDA (Thoppilan et al., 2022) 外,大多数模型都训练了大约 3000 亿个 Token。我们引入了 Chinchilla,这是一个小得多的模型,训练时间比 300B Token 长得多。
| 模型 | 大小(参数数量) | 训练 Token |
|---|---|---|
| LaMDA (Thoppilan et al., 2022) | 1370 亿 | 1680 亿 |
| GPT-3 (Brown et al., 2020) | 1750 亿 | 3000 亿 |
| Jurassic (Lieber et al., 2021) | 1780 亿 | 3000 亿 |
| Gopher (Rae et al., 2021) | 2800 亿 | 3000 亿 |
| MT-NLG 530B (Smith et al., 2022) | 5300 亿 | 2700 亿 |
| Chinchilla | 700 亿 | 1.4 万亿 |
2. 相关工作
大型语言模型。 过去几年中引入了各种大型语言模型。这些包括稠密 Transformer 模型 (Brown et al., 2020; Lieber et al., 2021; Rae et al., 2021; Smith et al., 2022; Thoppilan et al., 2022) 和专家混合 (MoE) 模型 (Du et al., 2021; Fedus et al., 2021; Zoph et al., 2022)。最大的稠密 Transformer 已经超过了 5000 亿个参数 (Smith et al., 2022)。训练越来越大模型的动力很明确——到目前为止,增加语言模型的规模一直负责提高许多语言建模任务的最新水平。尽管如此,大型语言模型面临着几个挑战,包括它们巨大的计算需求(训练和推理成本随模型规模增加而增加)(Rae et al., 2021; Thoppilan et al., 2022) 以及获取更多高质量训练数据的需求。事实上,在这项工作中,我们发现更大、高质量的数据集将在语言模型的任何进一步扩展中发挥关键作用。
建模缩放行为。 理解语言模型的缩放行为及其迁移特性在近期大型模型的开发中一直很重要 (Hernandez et al., 2021; Kaplan et al., 2020)。Kaplan et al. (2020) 首先展示了模型规模与损失之间在多个数量级上的可预测关系。作者研究了为给定计算预算选择最优模型规模的问题。与我们类似,他们通过训练各种模型来解决这个问题。我们的工作在几个重要方面与 Kaplan et al. (2020) 不同。首先,作者对所有模型使用固定数量的训练 Token 和学习率计划;这阻止了他们对这些超参数对损失的影响进行建模。相反,我们发现将学习率计划设置为大致匹配训练 Token 的数量会导致最佳的最终损失,无论模型规模如何——见图 A1。对于到 130B Token 的固定学习率余弦计划,中间损失估计(对于 )因此是使用与计划长度匹配的 训练的模型的损失的高估。使用这些中间损失会导致低估在少于 130B Token 的数据上训练模型的有效性,并最终导致模型规模应比训练数据规模增加得更快的结论,因为计算预算增加。相反,我们的分析预测这两个数量应该以大致相同的速率缩放。其次,我们包括了多达 16B 参数的模型,因为我们观察到 FLOP-损失前沿存在轻微的曲率(见附录 E)——事实上,我们分析中使用的大多数模型都有超过 5 亿个参数,而 Kaplan et al. (2020) 中的大多数运行规模要小得多——许多小于 100M 参数。
最近,Clark et al. (2022) 特别研究了专家混合语言模型的缩放特性,表明随着模型规模的增加,专家数量的缩放会减弱——他们的方法将损失建模为两个变量的函数:模型规模和专家数量。然而,分析是像 Kaplan et al. (2020) 那样在固定数量的训练 Token 下完成的,可能低估了分支的改进。
估计大型模型的超参数。 模型规模和训练 Token 数量并不是选择语言模型和训练过程时要选择的仅有的两个参数。其他重要因素包括学习率、学习率计划、批次大小、优化器和宽深比。在这项工作中,我们专注于模型规模和训练步骤数量,我们依靠现有工作和提供的实验启发式方法来确定其他必要的超参数。Yang et al. (2021) 研究了如何为训练自回归 Transformer 选择各种这些参数,包括学习率和批次大小。McCandlish et al. (2018) 发现最优批次大小与模型规模之间的依赖关系很弱。Shallue et al. (2018); Zhang et al. (2019) 建议使用比我们使用的更大的批次大小是可能的。Levine et al. (2020) 研究了各种标准模型规模的最优深宽比。我们使用的模型比建议的稍微不那么深,因为这转化为我们硬件上更好的挂钟性能。
改进的模型架构。 最近,已经提出了各种有前途的替代传统稠密 Transformer 的方案。例如,通过使用条件计算,像 1.7 万亿参数的 Switch Transformer (Fedus et al., 2021)、1.2 万亿参数的 GLaM 模型 (Du et al., 2021) 以及其他模型 (Artetxe et al., 2021; Zoph et al., 2022) 等大型 MoE 模型,尽管使用了相对较少的训练和推理 FLOPs,却能够提供较大的有效模型规模。然而,对于非常大的模型,路由模型的计算优势似乎会减弱 (Clark et al., 2022)。改进语言模型的正交方法是用显式检索机制增强 Transformer,正如 Borgeaud et al. (2021); Guu et al. (2020); Lewis et al. (2020) 所做的那样。这种方法有效地增加了训练期间看到的 Token 数量(在 Borgeaud et al. (2021) 中增加了约 10 倍)。这表明语言模型的性能可能比之前认为的更依赖于训练数据的大小。
3. 估计最优参数/训练 Token 分配
我们提出了三种不同的方法来回答推动我们研究的问题:给定固定的 FLOPs 预算,应该如何权衡模型规模和训练 Token 数量?在这三种情况下,我们都从训练一系列改变模型规模和训练 Token 数量的模型开始,并使用由此产生的训练曲线来拟合它们应该如何缩放的经验估计器。我们假设计算与模型规模之间存在幂律关系,正如 Clark et al. (2022); Kaplan et al. (2020) 所做的那样,尽管未来的工作可能希望在大型模型规模的这种关系中包含潜在的曲率。由此产生的预测对于所有三种方法都是相似的,并建议随着计算量的增加,参数数量和训练 Token 数量应该等比例增加——比例在表 2 中报告。这与该主题的先前工作形成了鲜明对比,值得进一步研究。

图 2 | 训练曲线包络。 在左侧,我们展示了我们所有的不同运行。我们启动了一系列从 70M 到 10B 的模型规模,每个规模都有四个不同的余弦周期长度。从这些曲线中,我们提取了每 FLOP 最小损失的包络,并使用这些点来估计给定计算预算下的最优模型规模(中心)和最优训练 Token 数量(右)。在绿色中,我们展示了基于用于训练 Gopher 的 FLOPs 数量()的最优模型规模和训练 Token 数量的投影。
3.1. 方法 1:固定模型规模并改变训练 Token 数量
在我们的第一种方法中,我们改变固定模型系列(从 70M 到超过 10B 参数)的训练步骤数量,为 4 个不同的训练序列数量训练每个模型。从这些运行中,我们能够直接提取给定训练 FLOPs 数量下实现的最小损失的估计。此方法的训练细节可以在附录 D 中找到。
对于每个参数数量 ,我们训练 4 个不同的模型,在范围(以训练 Token 数量衡量)跨度为 16 倍的范围内将学习率衰减 10 倍。然后,对于每次运行,我们平滑并插值训练损失曲线。由此,我们获得了每次运行从 FLOP 计数到训练损失的连续映射。然后,对于每个 FLOP 计数,我们确定哪个运行实现了最低损失。使用这些插值器,我们获得了从任何 FLOP 计数 到模型规模 和训练 Token 数量 的最有效选择的映射,使得 。
在 1500 个对数间隔的 FLOP 值处,我们发现哪个模型规模实现了所有模型中的最低损失,以及所需的训练 Token 数量。最后,我们拟合幂律来估计任何给定计算量下的最优模型规模和训练 Token 数量(见图 2 的中心和右侧面板),获得关系 和 。我们发现 和 ——如表 2 总结。在第 D.4 节中,我们展示了在 FLOPs 下的直接比较,使用我们分析推荐的模型规模和 Kaplan et al. (2020) 的分析——使用我们预测的模型规模具有明显的优势。
3.2. 方法 2:IsoFLOP 配置文件
在我们的第二种方法中,我们针对一组 9 个不同的训练 FLOP 计数(范围从 到 FLOPs)改变模型规模,并考虑每个点的最终训练损失。与考虑整个训练运行中点 的方法 1 相比,这使我们能够直接回答这个问题:对于给定的 FLOP 预算,最优参数数量是多少?

图 3 | IsoFLOP 曲线。 对于各种模型规模,我们选择训练 Token 的数量,使得最终的 FLOPs 是一个常数。余弦周期长度设置为匹配目标 FLOP 计数。我们发现损失中存在一个清晰的谷值,这意味着对于给定的 FLOP 预算,存在一个最优的模型来训练(左)。利用这些谷值的位置,我们投影了更大模型的最优模型规模和 Token 数量(中心和右侧)。在绿色中,我们展示了使用 Gopher 的计算预算训练的最优模型的估计参数和 Token 数量。
对于每个 FLOP 预算,我们在图 3(左)中绘制最终损失(平滑后)与参数数量的关系。在所有情况下,我们确保我们训练了足够多样化的模型规模集,以看到损失中的清晰最小值。我们对每条 IsoFLOPs 曲线拟合一个抛物线,以直接估计在什么模型规模下实现了最小损失(图 3(左))。与之前的方法一样,我们然后拟合 FLOPs 与损失最优模型规模和训练 Token 数量之间的幂律,如图 3(中心、右)所示。同样,我们拟合形式为 和 的指数,我们发现 和 ——如表 2 总结。
3.3. 方法 3:拟合参数化损失函数
最后,我们将方法 1 和 2 中的所有最终损失建模为模型参数数量和所见 Token 数量的参数化函数。遵循经典的风险分解(见第 D.2 节),我们提出了以下函数形式
第一项捕获了数据分布上理想生成过程的损失,应该对应于自然文本的熵。第二项捕获了具有 个参数的完美训练的 Transformer 表现不如理想生成过程的事实。最后一项捕获了 Transformer 没有训练到收敛的事实,因为我们只在数据集分布的样本上进行了有限数量的优化步骤。
模型拟合。 为了估计 ,我们使用 L-BFGS 算法 (Nocedal, 1980) 最小化预测损失和观察到的对数损失之间的 Huber 损失 (Huber, 1964):
我们通过从初始化网格中选择最佳拟合来考虑可能的局部最小值。Huber 损失 () 对异常值具有鲁棒性,我们发现这对于在保留数据点上获得良好的预测性能很重要。第 D.2 节详细介绍了拟合过程和损失分解。

图 4 | 参数化拟合。 我们拟合了损失 的参数化建模,并显示了等高线(左)和 isoFLOP 切片(右)。对于每个 isoFLOP 切片,我们在左图中包含一条相应的虚线。在左图中,我们以蓝色显示有效前沿,它是对数-对数空间中的一条线。具体而言,曲线穿过每个等损失轮廓,位于 FLOPs 最少的点。我们投影给定 Gopher FLOP 预算的最优模型规模为 40B 参数。
有效前沿。 我们可以通过在约束 (Kaplan et al., 2020) 下最小化参数化损失 来近似函数 和 。由此产生的 和 平衡了方程 (3) 中依赖于模型规模和数据的两项。根据构造,它们具有幂律形式:
我们在图 4(左)中展示了拟合函数 的轮廓,以及蓝色的闭式有效计算前沿。通过这种方法,我们发现 和 ——如表 2 总结。
3.4. 最优模型缩放
我们发现这三种方法,尽管使用了不同的拟合方法和不同的训练模型,但对参数和 Token 与 FLOPs 的最优缩放得出了可比的预测(如表 2 所示)。所有三种方法都建议,随着计算预算的增加,模型规模和训练数据量应该以大致相等的比例增加。第一种和第二种方法得出的最优模型规模预测非常相似,如图 1 和图 A3 所示。第三种方法预测在更大的计算预算下,更小的模型是最优的。我们注意到,低训练 FLOPs () 的观察点 具有比具有更高计算预算的点更大的残差 。拟合模型对具有更多 FLOPs 的点赋予了更大的权重——由于 Huber 损失,自动将低计算预算点视为异常值。作为前沿 中经验观察到的负曲率的结果(见附录 E),这导致预测出比其他两种方法更低的 。
在表 3 中,我们展示了估计的 FLOPs 和 Token 数量,这将确保给定规模的模型位于计算最优前沿上。我们的发现表明,当前一代大型语言模型鉴于其各自的计算预算,规模相当大,如图 1 所示。例如,我们发现一个 1750 亿参数的模型应该用 FLOPs 的计算预算并在超过 4.2 万亿个 Token 上进行训练。一个 2800 亿参数的 Gopher 类模型是在给定约 FLOPs 计算预算下训练的最优模型,应该在 6.8 万亿个 Token 上进行训练。除非拥有 FLOPs 的计算预算(超过训练 Gopher 所用计算量的 250 倍),否则 1 万亿参数的模型不太可能是最优的训练模型。此外,预计需要的训练数据量远远超过目前用于训练大型模型的数据量,这强调了数据集收集的重要性,以及允许模型规模化的工程改进。虽然在许多数量级上进行外推存在很大的不确定性,但我们的分析清楚地表明,鉴于许多当前 LLMs 的训练计算预算,应该在更多的 Token 上训练更小的模型,以实现性能最好的模型。
在附录 C 中,我们在两个额外的数据集上重现了 IsoFLOP 分析:C4 (Raffel et al., 2020a) 和 GitHub 代码 (Rae et al., 2021)。在这两种情况下,我们都得出了类似的结论,即模型规模和训练 Token 数量应该等比例缩放。
表 2 | 随着训练计算增加的估计参数和数据缩放。
列出的值是关系 和 上的指数 和 。我们的分析表明,随着计算量的增加,参数和数据几乎等比例缩放,这与先前关于大型模型缩放的工作形成了鲜明对比。第 10 和第 90 百分位数是通过自举数据(80% 的数据集采样 100 次)估计的,并显示在括号中。
| 方法 | 的系数 | 的系数 |
|---|---|---|
| 1. 训练曲线上的最小值 | 0.50 (0.488, 0.502) | 0.50 (0.501, 0.512) |
| 2. IsoFLOP 配置文件 | 0.49 (0.462, 0.534) | 0.51 (0.483, 0.529) |
| 3. 损失的参数化建模 | 0.46 (0.454, 0.455) | 0.54 (0.542, 0.543) |
| Kaplan et al. (2020) | 0.73 | 0.27 |
4. Chinchilla
基于我们在第 3 节中的分析,Gopher 计算预算的最优模型规模在 400 亿到 700 亿参数之间。我们通过在这一范围的较大端——70B 参数——训练一个模型 1.4T Token 来测试这一假设,这是出于数据集和计算效率的考虑。在本节中,我们将这个模型(我们称之为 Chinchilla)与 Gopher 和其他 LLMs 进行比较。Chinchilla 和 Gopher 都训练了相同数量的 FLOPs,但在模型规模和训练 Token 数量上有所不同。
虽然预训练大型语言模型具有相当大的计算成本,但下游微调和推理也构成了大量的计算使用 (Rae et al., 2021)。由于比 Gopher 小 4 倍,Chinchilla 的内存占用和推理成本也更小。
4.1. 模型和训练细节
用于训练 Chinchilla 的全套超参数在表 4 中给出。Chinchilla 使用与 Gopher 相同的模型架构和训练设置,但有以下列出的差异。
- 我们在 MassiveText(与 Gopher 相同的数据集)上训练 Chinchilla,但使用略有不同的子集分布(如表 A1 所示),以适应增加的训练 Token 数量。
- 我们对 Chinchilla 使用 AdamW (Loshchilov and Hutter, 2019) 而不是 Adam (Kingma and Ba, 2014),因为这改善了语言建模损失和微调后的下游任务性能。
- 我们使用稍微修改过的 SentencePiece (Kudo and Richardson, 2018) 分词器训练 Chinchilla,该分词器不应用 NFKC 归一化。词汇表非常相似——94.15% 的 Token 与用于训练 Gopher 的相同。我们发现这特别有助于数学和化学的表示,例如。
- 虽然前向和后向传递是在 bfloat16 中计算的,但我们在分布式优化器状态中存储了权重的 float32 副本 (Rajbhandari et al., 2020)。有关详细信息,请参阅 Rae et al. (2021) 中的 Lessons Learned。
在附录 G 中,我们展示了 Chinchilla 和 Gopher 之间各种优化器相关变化的影响。本分析中的所有模型都在 TPUv3/TPUv4 (Jouppi et al., 2017) 上使用 JAX (Bradbury et al., 2018) 和 Haiku (Hennigan et al., 2020) 进行了训练。我们在表 A8 中包含了 Chinchilla 模型卡 (Mitchell et al., 2019)。
表 4 | Chinchilla 架构细节。
我们列出了层数、键/值大小、瓶颈激活大小 、最大学习率和训练批次大小(# Token)。前馈大小始终设置为 。请注意,我们对 Chinchilla 和 Gopher 都在训练中途将批次大小加倍。
| 模型 | 层数 | 头部数量 | 键/值大小 | 最大 LR | 批次大小 | |
|---|---|---|---|---|---|---|
| Gopher 280B | 80 | 128 | 128 | 16,384 | 3M 6M | |
| Chinchilla 70B | 80 | 64 | 128 | 8,192 | 1.5M 3M |
4.2. 结果
我们对 Chinchilla 进行了广泛的评估,并与各种大型语言模型进行了比较。我们在 Rae et al. (2021) 中提出的大部分任务上进行了评估,如表 5 所示。由于这项工作的重点是最优模型缩放,我们包含了一个大的代表性子集,并引入了一些新的评估,以便更好地与其他现有的大型模型进行比较。所有任务的评估细节与 Rae et al. (2021) 中描述的相同。
4.2.1. 语言建模

图 5 | Pile 评估。 对于 The Pile (Gao et al., 2020) 中的不同评估集,我们展示了 Chinchilla 与 Gopher 相比的每字节比特 (bpb) 改进(减少)。在所有子集上,Chinchilla 都优于 Gopher。
Chinchilla 在 The Pile (Gao et al., 2020) 的所有评估子集上都显著优于 Gopher,如图 5 所示。与 Jurassic-1 (178B) Lieber et al. (2021) 相比,Chinchilla 在除两个子集(dm_mathematics 和 ubuntu_irc)之外的所有子集上表现更好——原始每字节比特比较见表 A5。在 Wikitext103 (Merity et al., 2017) 上,Chinchilla 实现了 7.16 的困惑度,而 Gopher 为 7.75。在这些语言建模基准测试上比较 Chinchilla 和 Gopher 时需要谨慎,因为 Chinchilla 训练的数据量是 Gopher 的 4 倍,因此训练/测试集泄漏可能会人为地增强结果。因此,我们将重点放在其他任务上,这些任务中泄漏的担忧较小,例如 MMLU (Hendrycks et al., 2020) 和 BIG-bench (BIG-bench collaboration, 2021),以及各种闭卷问答和常识分析。
4.2.2. MMLU
大规模多任务语言理解 (MMLU) 基准测试 (Hendrycks et al., 2020) 由一系列关于学术科目的类似考试的问题组成。在表 6 中,我们报告了 Chinchilla 在 MMLU 上的平均 5-shot 性能(结果的完整细分显示在表 A6 中)。在这个基准测试中,尽管规模小得多,但 Chinchilla 显著优于 Gopher,平均准确率为 67.5%(比 Gopher 提高了 7% 以上)。值得注意的是,Chinchilla 甚至超过了 2023 年 6 月 63.4% 准确率的专家预测(见表 6)(Steinhardt, 2021)。此外,Chinchilla 在 4 个不同的单独任务上实现了超过 90% 的准确率——high_school_gov_and_politics、international_law、sociology 和 us_foreign_policy。据我们所知,没有其他模型在子集上实现了超过 90% 的准确率。
在图 6 中,我们展示了按任务细分的与 Gopher 的比较。总体而言,我们发现 Chinchilla 在绝大多数任务上都提高了性能。在四个任务(college_mathematics、econometrics、moral_scenarios 和 formal_logic)上,Chinchilla 的表现不如 Gopher,并且在两个任务上性能没有变化。
4.2.3. 阅读理解
在最终的单词预测数据集 LAMBADA (Paperno et al., 2016) 上,Chinchilla 实现了 77.4% 的准确率,而 Gopher 为 74.5%,MT-NLG 530B 为 76.6%(见表 7)。在 RACE-h 和 RACE-m (Lai et al., 2017) 上,Chinchilla 大大优于 Gopher,在这两种情况下准确率都提高了 10% 以上——见表 7。
4.2.4. BIG-bench
我们在 Rae et al. (2021) 中报告的同一组 BIG-bench 任务 (BIG-bench collaboration, 2021) 上分析了 Chinchilla。与我们在 MMLU 中观察到的类似,Chinchilla 在绝大多数任务上都优于 Gopher(见图 7)。我们发现 Chinchilla 将平均性能提高了 10.7%,准确率达到 65.1%,而 Gopher 为 54.4%。在我们考虑的 62 个任务中,Chinchilla 在只有四个任务上表现不如 Gopher——crash_blossom、dark_humor_detection、mathematical_induction 和 logical_args。Chinchilla 的完整准确率结果可以在表 A7 中找到。
4.2.5. 常识
我们在各种常识基准测试上评估了 Chinchilla:PIQA (Bisk et al., 2020)、SIQA (Sap et al.,2019)、Winogrande (Sakaguchi et al., 2020)、HellaSwag (Zellers et al., 2019) 和 BoolQ (Clark et al., 2019)。我们发现 Chinchilla 在所有任务上都优于 Gopher 和 GPT-3,并且在除一个任务之外的所有任务上都优于 MT-NLG 530B——见表 8。
在 TruthfulQA (Lin et al., 2021) 上,Chinchilla 分别达到了 43.6%、58.5% 和 66.7% 的 0-shot、5-shot 和 10-shot 准确率。相比之下,Gopher 仅实现了 29.5% 的 0-shot 和 43.7% 的 10-shot 准确率。与 Lin et al. (2021) 的发现形成鲜明对比的是,Chinchilla 取得的大幅改进(0-shot 准确率提高了 14.1%)表明,仅通过更好地建模预训练数据就能在该基准测试上带来实质性的改进。
表 5 | 所有评估任务。
我们评估了 Chinchilla 在一系列语言建模和下游任务上的表现。我们评估的任务与 Rae et al. (2021) 中的基本相同,以便进行直接比较。
| 任务 | # 任务 | 示例 |
|---|---|---|
| 语言建模 | 20 | WikiText-103, The Pile: PG-19, arXiv, FreeLaw, ... |
| 阅读理解 | 3 | RACE-m, RACE-h, LAMBADA |
| 问答 | 3 | Natural Questions, TriviaQA, TruthfulQA |
| 常识 | 5 | HellaSwag, Winogrande, PIQA, SIQA, BoolQ |
| MMLU | 57 | 高中化学, 天文学, 临床知识, ... |
| BIG-bench | 62 | 因果判断, 认知推理, 时间序列, ... |
4.2.6. 闭卷问答
闭卷问答基准测试的结果报告在表 9 中。在 Natural Questions 数据集 (Kwiatkowski et al., 2019) 上,Chinchilla 实现了新的闭卷 SOTA 准确率:31.5% (5-shot) 和 35.5% (64-shot),而 Gopher 分别为 21% 和 28%。在 TriviaQA (Joshi et al., 2017) 上,我们展示了过滤集(之前用于检索和开卷工作)和未过滤集(之前用于大型语言模型评估)的结果。在这两种情况下,Chinchilla 都大幅优于 Gopher。在过滤版本上,Chinchilla 仅落后于开卷 SOTA (Izacard and Grave, 2020) 7.9%。在未过滤集上,Chinchilla 优于 GPT-3——见表 9。
4.2.7. 性别偏见和毒性
大型语言模型带有潜在风险,例如输出冒犯性语言、传播社会偏见以及泄露私人信息 (Bender et al., 2021; Weidinger et al., 2021)。我们预计 Chinchilla 会带有与 Gopher 类似的风险,因为 Chinchilla 是在相同的数据上训练的,尽管权重略有不同,而且它具有相似的架构。在这里,我们检查性别偏见(特别是性别和职业偏见)以及有毒语言的生成。我们选择了一些常见的评估来突出潜在问题,但强调我们的评估并不全面,在理解、评估和减轻 LLMs 中的风险方面仍有许多工作要做。
性别偏见。 正如 Rae et al. (2021) 中所讨论的,大型语言模型反映了训练数据集中关于不同群体(如性别群体)的当代和历史话语,我们预计 Chinchilla 也是如此。在这里,我们测试潜在的性别和职业偏见是否会在指代消解中表现为不公平的结果,在零样本设置中使用 Winogender 数据集 (Rudinger et al., 2018)。Winogender 测试模型是否能正确确定代词是指不同的职业词。一个无偏见的模型应该能够正确预测代词指的是哪个词,而不管代词的性别如何。我们遵循与 Rae et al. (2021) 相同的设置(在第 H.3 节中有进一步描述)。
如表 10 所示,Chinchilla 在所有群体中正确解析代词的频率都高于 Gopher。有趣的是,男性代词的性能提升(增加 3.2%)远小于女性或中性代词(分别增加 8.3% 和 9.2%)。我们还考虑了“gotcha”示例,其中正确的代词解析与性别刻板印象(由劳动力统计数据决定)相矛盾。同样,我们看到 Chinchilla 比 Gopher 更准确地解析了代词。当按男性/女性性别和 gotcha/非 gotcha 分解示例时,最大的改进是在女性 gotcha 示例上(改进了 10%)。因此,虽然 Chinchilla 在比 Gopher 更多的指代示例中一致地克服了性别刻板印象,但某些代词的改进率高于其他代词,这表明使用更计算最优的模型所带来的改进可能是不均衡的。
样本毒性。 语言模型有能力生成有毒语言——包括侮辱、仇恨言论、亵渎和威胁 (Gehman et al., 2020; Rae et al., 2021)。虽然毒性是一个总称,且其在 LMs 中的评估存在挑战 (Welbl et al., 2021; Xu et al., 2021),但自动分类器分数可以提供 LM 生成有害文本水平的指示。Rae et al. (2021) 发现,通过增加模型参数数量来改善语言建模损失对有毒文本生成(无提示)的影响微乎其微;在这里,我们分析通过更计算最优的训练实现的较低 LM 损失是否也是如此。类似于 Rae et al. (2021) 的协议,我们从 Chinchilla 生成了 25,000 个无提示样本,并将其 PerspectiveAPI 毒性分数分布与 Gopher 生成的样本进行了比较。几项汇总统计数据表明不存在重大差异:Gopher 的平均(中位数)毒性分数为 0.081 (0.064),而 Chinchilla 为 0.087 (0.066),第 95 百分位分数对于 Gopher 为 0.230,对于 Chinchilla 为 0.238。也就是说,绝大多数生成的样本被归类为无毒,模型之间的差异可以忽略不计。与先前的发现 (Rae et al., 2021) 一致,这表明无条件文本生成中的毒性水平在很大程度上与模型质量(以语言建模损失衡量)无关,即训练数据集的更好模型并不一定更具毒性。
5. 讨论与结论
到目前为止,大型语言模型训练的趋势是增加模型规模,通常不增加训练 Token 的数量。最大的稠密 Transformer,MT-NLG 530B,现在比两年前 GPT-3 的 1700 亿参数大 3 倍以上。然而,这个模型,以及大多数现有的模型,都是在相当数量的 Token 上训练的——大约 3000 亿。虽然训练这些巨型模型的愿望导致了重大的工程创新,但我们假设训练越来越大模型的竞赛导致模型在相同计算预算下所能实现的性能方面表现严重不足。
我们提出了三种针对最优设置模型规模和训练持续时间的预测方法,基于超过 400 次训练运行的结果。所有三种方法都预测 Gopher 的规模严重过大,并估计在相同的计算预算下,在更多数据上训练的较小模型表现会更好。我们通过训练一个 70B 参数的模型 Chinchilla 直接测试了这一假设,并表明它在几乎每个测量的评估任务上都优于 Gopher 甚至更大的模型。
虽然我们的方法允许我们在给定额外计算量时对如何缩放大型模型做出预测,但仍存在一些局限性。由于训练大型模型的成本,我们只有两次大规模的可比训练运行(Chinchilla 和 Gopher),并且我们没有中间规模的额外测试。此外,我们假设高效的计算前沿可以用计算预算、模型规模和训练 Token 数量之间的幂律关系来描述。然而,我们观察到在高计算预算下 存在一些凹性(见附录 E)。这表明我们可能仍然高估了大型模型的最优规模。最后,我们分析的训练运行都是在不到一个 epoch 的数据上训练的;未来的工作可以考虑多 epoch 制度。尽管存在这些局限性,但 Chinchilla 与 Gopher 的比较验证了我们的性能预测,从而使训练一个更好(且更轻量级)的模型在相同的计算预算下成为可能。
虽然最近有大量工作允许训练越来越大的模型,但我们的分析表明需要更加关注数据集缩放。推测而言,我们预计只有在数据高质量时,缩放到越来越大的数据集才是有益的。这要求负责任地收集更大规模的数据集,并高度关注数据集质量。更大的数据集将需要额外的护理,以确保训练-测试集重叠得到妥善处理,不仅在语言建模损失中,而且在下游任务中。最后,训练数万亿个 Token 引入了许多伦理和隐私问题。从网络上抓取的大型数据集将包含有毒语言、偏见和私人信息。随着使用更大的数据集,此类信息的数量(如果不是频率)会增加,这使得数据集内省变得更加重要。Chinchilla 确实存在偏见和毒性,但有趣的是,它似乎比 Gopher 受到的影响更小。更好地理解大型语言模型的性能与毒性如何相互作用是一个重要的未来研究课题。
虽然我们将我们的方法应用于自回归语言模型的训练,但我们预计在其他模态中模型规模和数据量之间也存在类似的权衡。由于训练大型模型非常昂贵,预先选择最优的模型规模和训练步骤至关重要。我们提出的方法在新的设置中很容易重现。
6. 致谢
我们要感谢 Jean-baptiste Alayrac、Kareem Ayoub、Chris Dyer、Nando de Freitas、Demis Hassabis、Geoffrey Irving、Koray Kavukcuoglu、Nate Kushman 和 Angeliki Lazaridou 对手稿提出的有用意见。我们要感谢 Andy Brock、Irina Higgins、Michela Paganini、Francis Song 和 DeepMind 的其他同事进行的有益讨论。我们也非常感谢 JAX 和 XLA 团队的支持和帮助。
参考文献
(此处省略参考文献列表,保持原文格式)