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 and Laurent Sifre


A1 主要贡献

核心问题与研究目标:
近期,大型语言模型(LLM)的参数量急剧增长,最大的密集模型已超过5000亿参数。训练这些模型的计算和能源成本巨大,因此在给定的计算预算下准确估计最佳模型超参数至关重要。先前的工作(如【索引23,Scaling laws for neural language models,2020,arXiv】)表明,模型性能与参数量之间存在幂律关系,推动了训练更大模型的趋势。然而,许多近期的大型模型(如GPT-3、Gopher)都在约3000亿个token上进行训练,这主要是遵循了在增加计算量时优先增加模型规模的思路。本文的核心问题是:在固定的浮点运算(FLOPs)预算下,应如何在模型大小(参数量)和训练数据量(token数)之间进行权衡?

研究方法与创新点:
为了回答这个问题,研究者们将最终的预训练损失 $L(N, D)$ 建模为模型参数量 $N$ 和训练token数 $D$ 的函数。他们的目标是在计算预算 $C$ 的约束下最小化损失 $L$,即求解 $FLOPs(N, D) = C$ 条件下的最优 $N$ 和 $D$。

具体来说,本文的主要贡献如下:
1. 大规模实验: 通过训练超过400个语言模型,参数量从7000万到超过160亿不等,训练token数从50亿到超过5000亿不等,实证地研究了模型大小和训练数据量对性能的影响。
2. 提出新的缩放法则: 研究发现,为了实现计算最优的训练,模型大小和训练token数应该等比例缩放。具体而言,模型大小每增加一倍,训练token数也应增加一倍。这与【索引23,Scaling laws for neural language models,2020,arXiv】的结论形成鲜明对比,后者建议在计算预算增加10倍时,模型大小增加5.5倍,而token数仅增加1.8倍。
3. 验证新法则的有效性: 基于新的缩放法则,研究者预测,在用于训练Gopher(280B参数)的相同计算预算下,一个最优模型的参数量应为 Gopher 的四分之一(约70B),而训练token数应为其四倍。为了验证这一预测,他们训练了一个名为Chinchilla的70B参数模型,使用了1.4万亿个token。
4. Chinchilla模型的卓越性能: 实验结果表明,Chinchilla在广泛的下游评估任务中,全面且显著地优于Gopher(280B)、GPT-3(175B)、Jurassic-1(178B)和Megatron-Turing NLG(530B)等规模更大的模型。例如,在MMLU基准测试中,Chinchilla的平均准确率达到67.5%,比Gopher高出7%以上。
5. 实践意义: 由于Chinchilla的模型尺寸更小,其微调和推理成本也显著降低,极大地便利了在小型硬件上的下游应用。这表明,一个经过更优训练的小模型不仅性能更强,而且在整个生命周期中(包括推理和微调)的成本效益更高。

研究结果表明,当前的大型语言模型普遍存在“训练不足”(undertrained)的问题,即相对于其巨大的模型尺寸,所用的训练数据量严重不足。

图1 | 预测叠加。我们将我们三种不同方法的预测以及Kaplan et al. (2020)的预测叠加在一起。我们发现,所有三种方法都预测当前的大型模型应该比现在小得多,因此训练时间应该长得多。在图A3中,我们展示了在固定FLOP预算下,预测的最优token数与最优参数量的关系图。Chinchilla的表现优于Gopher和其他大型模型(见第4.2节)。
图1 | 预测叠加。我们将我们三种不同方法的预测以及Kaplan et al. (2020)的预测叠加在一起。我们发现,所有三种方法都预测当前的大型模型应该比现在小得多,因此训练时间应该长得多。在图A3中,我们展示了在固定FLOP预算下,预测的最优token数与最优参数量的关系图。Chinchilla的表现优于Gopher和其他大型模型(见第4.2节)。
公式1
公式1
表1 | 当前的LLMs。我们展示了当前五个最大的密集型transformer模型,它们的规模以及训练token的数量。除了LaMDA (Thoppilan et al., 2022),大多数模型都是用大约3000亿个token进行训练的。我们引入了Chinchilla,一个体积小得多但训练时间远超300B token的模型。
表1 | 当前的LLMs。我们展示了当前五个最大的密集型transformer模型,它们的规模以及训练token的数量。除了LaMDA (Thoppilan et al., 2022),大多数模型都是用大约3000亿个token进行训练的。我们引入了Chinchilla,一个体积小得多但训练时间远超300B token的模型。

A2 方法细节

3. 估计最优参数量/训练Token分配

三种估计最优分配的方法。我们提出了三种不同的方法来回答我们研究的核心问题:在给定的固定FLOPs预算下,应该如何在模型大小和训练token数量之间进行权衡?在所有三种情况下,我们都首先训练一系列模型,同时改变模型大小和训练token数量,并使用得到的训练曲线来拟合一个关于它们应该如何扩展的经验估计器。我们假设计算量和模型大小之间存在幂律关系,这与【索引9,Unified scaling laws for routed language models,2022,arXiv】和【索引23,Scaling laws for neural language models,2020,arXiv】的做法相同,尽管未来的工作可能需要考虑大模型尺寸下这种关系中潜在的曲率。这三种方法得出的预测结果相似,都表明参数数量和训练token数量应该随着计算量的增加而等比例增加——具体比例报告在表2中。这与之前关于此主题的研究形成鲜明对比,值得进一步调查。

图2 | 训练曲线包络。左图显示了我们所有的不同运行。我们启动了一系列模型大小,从70M到10B,每种模型都有四种不同的余弦周期长度。从这些曲线中,我们提取了每个FLOP的最小损失包络,并使用这些点来估计给定计算预算下的最优模型大小(中图)和最优训练token数(右图)。绿色部分显示了基于训练Gopher所用FLOPs数量(5.76 × 10^23)对最优模型大小和训练token数的预测。
图2 | 训练曲线包络。左图显示了我们所有的不同运行。我们启动了一系列模型大小,从70M到10B,每种模型都有四种不同的余弦周期长度。从这些曲线中,我们提取了每个FLOP的最小损失包络,并使用这些点来估计给定计算预算下的最优模型大小(中图)和最优训练token数(右图)。绿色部分显示了基于训练Gopher所用FLOPs数量(5.76 × 10^23)对最优模型大小和训练token数的预测。

3.1. 方法1:固定模型大小,改变训练token数量

方法1:固定模型大小,改变训练token数量。在我们的第一种方法中,我们为一个固定的模型家族(参数范围从70M到超过10B)改变训练步数,每个模型都训练4种不同数量的训练序列。通过这些运行,我们能够直接估算出在给定训练FLOPs数量下所能达到的最小损失。该方法的训练细节可以在附录D中找到。

具体步骤。对于每个参数量 $N$,我们训练4个不同的模型,在不同的训练周期(以训练token数量衡量,范围相差16倍)内将学习率衰减10倍。然后,对于每次运行,我们对训练损失曲线进行平滑和插值处理。由此,我们为每次运行都获得了一个从FLOPs数量到训练损失的连续映射。接着,对于每个FLOPs数量,我们确定哪次运行达到了最低的损失。利用这些插值,我们得到了一个从任意FLOPs数量 $C$ 到模型大小 $N$ 和训练token数 $D$ 的最有效选择的映射,使得 $FLOPs(N, D) = C$。在1500个对数间隔的FLOPs值上,我们找到了在所有模型中达到最低损失的模型大小以及所需的训练token数。最后,我们拟合幂律来估计在任意给定计算量下的最优模型大小和训练token数(见图2的中图和右图),得到了一个关系式 $N_{opt} \propto C^a$ 和 $D_{opt} \propto C^b$。我们发现 $a = 0.50$ 和 $b = 0.50$——如表2所总结。在D.4节中,我们展示了在 $10^{21}$ FLOPs下的直接比较,分别使用了我们的分析和【索引23,Scaling laws for neural language models,2020,arXiv】的分析所推荐的模型大小——使用我们预测的模型大小具有明显优势。

3.2. 方法2:IsoFLOP曲线分析

方法2:IsoFLOP曲线分析。在我们的第二种方法中,我们针对一组固定的9个不同训练FLOPs计数值(范围从 $6 \times 10^{18}$ 到 $3 \times 10^{21}$ FLOPs)来改变模型大小,并考虑每个点的最终训练损失。这与方法1不同,方法1考虑的是整个训练过程中的点 $(N, D, L)$。这种方法使我们能够直接回答这个问题:对于给定的FLOP预算,最优的参数数量是多少?

图3 | IsoFLOP曲线。对于各种模型大小,我们选择训练token的数量,以使最终的FLOPs为一个常数。余弦周期长度被设置为与目标FLOP计数相匹配。我们发现损失中存在一个明显​​的谷底,这意味着对于给定的FLOP预算,存在一个最优的训练模型(左图)。利用这些谷底的位置,我们为更大的模型预测了最优模型大小和token数量(中图和右图)。绿色部分显示了使用Gopher计算预算训练的最优模型的估计参数和token数量。
图3 | IsoFLOP曲线。对于各种模型大小,我们选择训练token的数量,以使最终的FLOPs为一个常数。余弦周期长度被设置为与目标FLOP计数相匹配。我们发现损失中存在一个明显​​的谷底,这意味着对于给定的FLOP预算,存在一个最优的训练模型(左图)。利用这些谷底的位置,我们为更大的模型预测了最优模型大小和token数量(中图和右图)。绿色部分显示了使用Gopher计算预算训练的最优模型的估计参数和token数量。

具体步骤。对于每个FLOP预算,我们在图3(左图)中绘制了最终损失(平滑后)与参数数量的关系图。在所有情况下,我们都确保训练了足够多样化的模型大小,以便在损失中看到一个明确的最小值。我们为每个IsoFLOPs曲线拟合一个抛物线,以直接估计在哪个模型大小下达到最小损失(图3(左图))。与前一种方法一样,我们随后在FLOPs和损失最优模型大小及训练token数量之间拟合一个幂律,如图3(中图,右图)所示。我们再次拟合了形式为 $N_{opt} \propto C^a$ 和 $D_{opt} \propto C^b$ 的指数,发现 $a = 0.49$ 和 $b = 0.51$——如表2所总结。

3.3. 方法3:拟合参数化损失函数

方法3:拟合参数化损失函数。最后,我们将方法1和方法2实验中的所有最终损失建模为模型参数数量和已见token数量的参数化函数。遵循经典的风险分解(见D.2节),我们提出了以下函数形式:

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

第一项 $E$ 捕捉了数据分布上理想生成过程的损失,应对应于自然文本的熵。第二项捕捉了这样一个事实:一个经过完美训练、拥有 $N$ 个参数的transformer模型,其性能仍低于理想的生成过程。最后一项则捕捉了transformer模型未训练至收敛的事实,因为我们只在数据集分布的样本上进行了有限次数的优化步骤。

模型拟合。为了估计 $(A, B, E, \alpha, \beta)$,我们使用L-BFGS算法(【索引37,Updating Quasi-Newton Matrices with Limited Storage,1980,Mathematics of Computation】)最小化预测对数损失与观测对数损失之间的Huber损失(【索引19,Robust Estimation of a Location Parameter,1964,The Annals of Mathematical Statistics】):

$$\min_{A, B, E, \alpha, \beta} \sum_{\text{Runs } i} \text{Huber}_{\delta} \left( \log \hat{L}(N_i, D_i) - \log L_i \right)$$

我们通过从一个初始值网格中选择最佳拟合来解决可能的局部最小值问题。Huber损失($\delta = 10^{-3}$)对异常值具有鲁棒性,我们发现这对于在未见数据点上获得良好的预测性能非常重要。D.2节详细介绍了拟合过程和损失分解。

图4 | 参数化拟合。我们拟合了损失的参数化模型 L̂(N, D) 并展示了等高线图(左)和isoFLOP切片图(右)。对于每个isoFLOP切片,我们在左图中包含了一条相应的虚线。在左图中,我们用蓝色显示了高效边界,它在对数-对数空间中是一条直线。具体来说,该曲线穿过每个等损失轮廓线在FLOPs最少的点。我们预测,在Gopher的FLOP预算下,最优模型大小为40B参数。
图4 | 参数化拟合。我们拟合了损失的参数化模型 L̂(N, D) 并展示了等高线图(左)和isoFLOP切片图(右)。对于每个isoFLOP切片,我们在左图中包含了一条相应的虚线。在左图中,我们用蓝色显示了高效边界,它在对数-对数空间中是一条直线。具体来说,该曲线穿过每个等损失轮廓线在FLOPs最少的点。我们预测,在Gopher的FLOP预算下,最优模型大小为40B参数。

高效边界。我们可以通过在约束条件 $FLOPs(N, D) \approx 6ND$ (【索引23,Scaling laws for neural language models,2020,arXiv】)下最小化参数化损失 $\hat{L}$ 来近似函数 $N_{opt}$ 和 $D_{opt}$。得到的 $N_{opt}$ 和 $D_{opt}$ 平衡了方程(3)中依赖于模型大小和数据的两项。根据其构造,它们具有幂律形式:

$$N_{opt}(C)=G\left(\frac{C}{6}\right)^a, \quad D_{opt}(C)=G^{-1}\left(\frac{C}{6}\right)^b, \quad \text{where} \quad G=\left(\frac{\alpha A}{\beta B}\right)^{\frac{1}{\alpha+\beta}}, \quad a=\frac{\beta}{\alpha+\beta}, \text{ and } b=\frac{\alpha}{\alpha+\beta}.$$

我们在图4(左)中展示了拟合函数 $\hat{L}$ 的等高线图,以及蓝色的闭式高效计算边界。通过这种方法,我们发现 $a = 0.46$ 和 $b = 0.54$——如表2所总结。

3.4. 最优模型扩展

最优模型扩展结论。我们发现,这三种方法尽管使用了不同的拟合方法和不同的训练模型,但对于参数和token随FLOPs的最优扩展,它们得出了可比较的预测(如表2所示)。所有三种方法都表明,随着计算预算的增加,模型大小和训练数据量应以大致相等的比例增加。第一种和第二种方法对最优模型大小的预测非常相似,如图1和图A3所示。第三种方法预测,在更大的计算预算下,最优模型甚至会更小。我们注意到,在低训练FLOPs($C \le 10^{21}$)下,观测点 $(N, D, L)$ 的残差 $\|L - \hat{L}(N, D)\|_2^2$ 比具有更高计算预算的点要大。由于使用了Huber损失,拟合模型会增加对FLOPs更多点的权重——自动将低计算预算点视为异常值。由于经验上观察到边界 $C \rightarrow N_{opt}$ 存在负曲率(见附录E),这导致预测的 $N_{opt}$ 比其他两种方法要低。

当前LLM普遍尺寸过大。在表3中,我们展示了为确保给定大小的模型处于计算最优边界上所需的FLOPs和token的估计数量。我们的研究结果表明,当前一代的大型语言模型相对于它们各自的计算预算来说,尺寸过大,如图1所示。例如,我们发现一个1750亿参数的模型应该用 $4.41 \times 10^{24}$ FLOPs的计算预算和超过4.2万亿个token进行训练。一个2800亿参数的类Gopher模型,在约 $10^{25}$ FLOPs的计算预算下是训练的最优模型,并且应该在6.8万亿个token上进行训练。除非计算预算达到 $10^{26}$ FLOPs(超过训练Gopher所用计算量的250倍),否则一个1万亿参数的模型不太可能是训练的最优选择。此外,预测所需的训练数据量远超当前用于训练大型模型的数据量,这凸显了数据集收集的重要性,以及允许模型扩展的工程改进。尽管在多个数量级上进行外推存在显著的不确定性,但我们的分析清楚地表明,对于许多当前LLM的训练计算预算而言,本应在更多token上训练更小的模型,以实现性能最佳的模型。

跨数据集验证。在附录C中,我们在另外两个数据集上重现了IsoFLOP分析:C4(【索引43,Exploring the limits of transfer learning with a unified text-to-text transformer,2020a,Journal of Machine Learning Research】)和GitHub代码(【索引40,Scaling language models: Methods, analysis & insights from training Gopher,2021,arXiv】)。在这两种情况下,我们都得出了相似的结论,即模型大小和训练token数量应以相等的比例进行扩展。

表2 | 随着训练计算量增加,估计的参数和数据扩展。列出的值是关系式 $N_{opt} \propto C^a$ 和 $D_{opt} \propto C^b$ 中的指数 a 和 b。我们的分析表明,参数和数据随着计算量的增加几乎是等比例扩展的,这与之前关于大型模型扩展的研究形成鲜明对比。第10和第90百分位数是通过对数据进行自举法(对80%的数据集进行100次抽样)估计的,并显示在括号中。
表2 | 随着训练计算量增加,估计的参数和数据扩展。列出的值是关系式 $N_{opt} \propto C^a$ 和 $D_{opt} \propto C^b$ 中的指数 a 和 b。我们的分析表明,参数和数据随着计算量的增加几乎是等比例扩展的,这与之前关于大型模型扩展的研究形成鲜明对比。第10和第90百分位数是通过对数据进行自举法(对80%的数据集进行100次抽样)估计的,并显示在括号中。
表3 | 针对不同模型大小的估计最优训练FLOPs和训练token。对于各种模型大小,我们展示了方法1关于训练计算最优模型所需的FLOPs和训练token的预测。方法2和3的估计是相似的(见D.3节)。
表3 | 针对不同模型大小的估计最优训练FLOPs和训练token。对于各种模型大小,我们展示了方法1关于训练计算最优模型所需的FLOPs和训练token的预测。方法2和3的估计是相似的(见D.3节)。

A4 实验环境

  • 模型架构: Chinchilla是一个700亿参数的自回归Transformer模型。其架构与Gopher(280B参数)基本相同,具体超参数如层数(80)、注意力头数(64)、键/值大小(128)、模型维度d_model(8192)等详见下表4。
  • 数据集:

    • 名称: MassiveText(与Gopher使用的相同)。
    • 规模及用途: Chinchilla在1.4万亿个token上进行了训练,其数据子集的分布与Gopher略有不同(具体见附录表A1)。
  • 硬件配置:

    • 平台: TPUv3 / TPUv4
  • 软件配置:

    • 框架/语言: 使用JAX(【索引6,JAX: composable transformations of Python+NumPy programs,2018,GitHub】)和Haiku(【索引17,Haiku: Sonnet for JAX,2020,GitHub】)实现。
    • 优化器: 使用AdamW(【索引33,Decoupled weight decay regularization,2019,International Conference on Learning Representations】),而Gopher使用的是Adam。
    • 分词器: 使用了一个略微修改过的SentencePiece(【索引25,SentencePiece: A simple and language independent subword tokenizer and detokenizer for neural text processing,2018,arXiv】)分词器,该分词器不应用NFKC规范化。
    • 训练细节: 前向和后向传播使用bfloat16计算,但在分布式优化器状态中存储了float32的权重副本(【索引45,Zero: Memory optimizations toward training trillion parameter models,2020,SC20】)。
表4 | Chinchilla架构细节。我们列出了层数、键/值大小、瓶颈激活大小d_model、最大学习率以及训练批量大小(# token)。前馈网络大小始终设置为4 × d_model。注意,我们在Chinchilla和Gopher的训练中途都将批量大小加倍。
表4 | Chinchilla架构细节。我们列出了层数、键/值大小、瓶颈激活大小d_model、最大学习率以及训练批量大小(# token)。前馈网络大小始终设置为4 × d_model。注意,我们在Chinchilla和Gopher的训练中途都将批量大小加倍。

A4 实验结果

本文对Chinchilla模型进行了广泛的评估,并与Gopher、GPT-3等多个大型语言模型进行了比较。评估任务涵盖了语言建模、阅读理解、问答、常识推理、MMLU和BIG-bench等多个方面,大部分任务与【索引40,Scaling language models: Methods, analysis & insights from training Gopher,2021,arXiv】保持一致以便直接比较。

表5 | 所有评估任务。我们在一系列语言建模和下游任务上评估了Chinchilla。我们主要评估与Rae et al. (2021)中相同的任务,以便进行直接比较。
表5 | 所有评估任务。我们在一系列语言建模和下游任务上评估了Chinchilla。我们主要评估与Rae et al. (2021)中相同的任务,以便进行直接比较。

语言建模:

  • 实验内容: 在The Pile数据集的多个子集上评估模型的bits-per-byte (bpb)。
  • 实验结果: Chinchilla在The Pile的所有评估子集上都显著优于Gopher(图5)。与178B参数的Jurassic-1相比,Chinchilla在除dm_mathematicsubuntu_irc外的所有子集上表现更佳。在Wikitext103上,Chinchilla的困惑度为7.16,优于Gopher的7.75。
  • 分析结论: 即使考虑到Chinchilla训练数据量是Gopher的4倍可能带来的数据泄露风险,其在语言建模任务上的优势依然明显。
图5 | Pile评估。对于The Pile (Gao et al., 2020)中的不同评估集,我们展示了Chinchilla相比Gopher在bits-per-byte (bpb)上的改进(降低)。在所有子集上,Chinchilla都优于Gopher。
图5 | Pile评估。对于The Pile (Gao et al., 2020)中的不同评估集,我们展示了Chinchilla相比Gopher在bits-per-byte (bpb)上的改进(降低)。在所有子集上,Chinchilla都优于Gopher。

MMLU (大规模多任务语言理解):
- 实验内容: 在包含57个学术科目的MMLU基准上进行5-shot评估。
- 实验结果: Chinchilla取得了67.6%的平均准确率,显著优于Gopher的60.0%(提升了7.6%),甚至超过了人类专家对2023年6月水平的预测(63.4%)。在57个子任务中,Chinchilla在51个上优于Gopher,仅在4个上表现较差(图6, 表6)。
- 分析结论: 在相同的计算预算下,通过优化模型大小和数据量的配比,可以在复杂的学术推理任务上取得巨大性能提升。

表6 | 大规模多任务语言理解(MMLU)。我们报告了57个任务的平均5-shot准确率,并与Hendrycks et al. (2020)的模型和人类准确率进行了比较。我们还包括了73位有竞争力的人类预测者在Steinhardt (2021)中对2022年6月/2023年6月最先进准确率的平均预测。
表6 | 大规模多任务语言理解(MMLU)。我们报告了57个任务的平均5-shot准确率,并与Hendrycks et al. (2020)的模型和人类准确率进行了比较。我们还包括了73位有竞争力的人类预测者在Steinhardt (2021)中对2022年6月/2023年6月最先进准确率的平均预测。
图6 | 与Gopher相比的MMLU结果。我们发现Chinchilla平均表现比Gopher好7.6%(见表6),此外在51/57个单项任务中表现更好,在2/57个任务中表现相同,仅在4/57个任务中表现更差。
图6 | 与Gopher相比的MMLU结果。我们发现Chinchilla平均表现比Gopher好7.6%(见表6),此外在51/57个单项任务中表现更好,在2/57个任务中表现相同,仅在4/57个任务中表现更差。

阅读理解:
- 实验内容: 在LAMBADA、RACE-h和RACE-m数据集上进行评估。
- 实验结果: Chinchilla在LAMBADA上准确率为77.4%,优于Gopher(74.5%)和MT-NLG 530B(76.6%)。在RACE-h和RACE-m上,Chinchilla的准确率比Gopher高出超过10%(表7)。
- 分析结论: Chinchilla在需要上下文理解和推理的阅读任务上表现出色。

表7 | 阅读理解。在RACE-h和RACE-m (Lai et al., 2017)上,Chinchilla的性能比Gopher有显著提升。注意,GPT-3和MT-NLG 530B在RACE-h/m上使用了与我们不同的提示格式,因此结果无法与Gopher和Chinchilla相比较。在LAMBADA (Paperno et al., 2016)上,Chinchilla的性能优于Gopher和MT-NLG 530B。
表7 | 阅读理解。在RACE-h和RACE-m (Lai et al., 2017)上,Chinchilla的性能比Gopher有显著提升。注意,GPT-3和MT-NLG 530B在RACE-h/m上使用了与我们不同的提示格式,因此结果无法与Gopher和Chinchilla相比较。在LAMBADA (Paperno et al., 2016)上,Chinchilla的性能优于Gopher和MT-NLG 530B。

BIG-bench:
- 实验内容: 在【索引40,Scaling language models: Methods, analysis & insights from training Gopher,2021,arXiv】报告的BIG-bench任务子集上进行评估。
- 实验结果: Chinchilla的平均性能比Gopher提高了10.7%,准确率从54.4%提升至65.1%。在62个任务中,仅有4个任务表现不及Gopher(图7)。
- 分析结论: Chinchilla在多样化和具有挑战性的BIG-bench任务上展现了普遍的性能优势。

图7 | 与Gopher相比的BIG-bench结果。Chinchilla在除四个BIG-bench任务外的所有任务上均优于Gopher。完整结果见表A7。
图7 | 与Gopher相比的BIG-bench结果。Chinchilla在除四个BIG-bench任务外的所有任务上均优于Gopher。完整结果见表A7。

常识推理:
- 实验内容: 在PIQA、SIQA、Winogrande、HellaSwag和BoolQ等常识推理基准上进行评估。
- 实验结果: Chinchilla在所有这些任务上均优于Gopher和GPT-3,并且在除一项外的所有任务上优于更大的MT-NLG 530B(表8)。在TruthfulQA上,Chinchilla的0-shot准确率(43.6%)比Gopher(29.5%)提升了14.1%。
- 分析结论: 更好的预训练数据建模(通过计算最优训练)能显著提升模型的常识推理和真实性判断能力。

表8 | 常识基准测试的零样本比较。我们展示了在各种常识基准测试上Chinchilla、Gopher和MT-NLG 530B的比较。我们看到Chinchilla在所有任务上都与Gopher和GPT-3持平或表现更优。在除一项外的所有任务上,Chinchilla都优于体积大得多的MT-NLG 530B模型。
表8 | 常识基准测试的零样本比较。我们展示了在各种常识基准测试上Chinchilla、Gopher和MT-NLG 530B的比较。我们看到Chinchilla在所有任务上都与Gopher和GPT-3持平或表现更优。在除一项外的所有任务上,Chinchilla都优于体积大得多的MT-NLG 530B模型。

闭卷问答:
- 实验内容: 在Natural Questions和TriviaQA数据集上进行闭卷问答评估。
- 实验结果: Chinchilla在Natural Questions上创造了新的闭卷SOTA记录(31.5% 5-shot,35.5% 64-shot),远超Gopher。在TriviaQA上,无论是在过滤版还是未过滤版数据集上,Chinchilla都大幅优于Gopher(表9)。
- 分析结论: 更多的训练数据显著增强了模型存储和回忆事实知识的能力。

表9 | 闭卷问答。对于Natural Questions (Kwiatkowski et al., 2019) 和 TriviaQA (Joshi et al., 2017),Chinchilla 在所有情况下都优于 Gopher。在 Natural Questions 上,Chinchilla 优于 GPT-3。在 TriviaQA 上,我们展示了两个不同评估集的结果,以便与 GPT-3 和开卷 SOTA (FiD + Distillation (Izacard and Grave, 2020)) 进行比较。
表9 | 闭卷问答。对于Natural Questions (Kwiatkowski et al., 2019) 和 TriviaQA (Joshi et al., 2017),Chinchilla 在所有情况下都优于 Gopher。在 Natural Questions 上,Chinchilla 优于 GPT-3。在 TriviaQA 上,我们展示了两个不同评估集的结果,以便与 GPT-3 和开卷 SOTA (FiD + Distillation (Izacard and Grave, 2020)) 进行比较。

性别偏见与毒性:
- 实验内容: 使用Winogender数据集评估性别与职业偏见;生成无提示样本并使用PerspectiveAPI评估毒性。
- 实验结果: 在Winogender上,Chinchilla的指代消解准确率高于Gopher,尤其在挑战性别刻板印象的“gotcha”样本上提升更明显(表10)。在毒性方面,Chinchilla生成的样本毒性得分与Gopher几乎没有差别,表明模型语言建模能力的提升(更低的损失)与生成内容的毒性水平基本无关。
- 分析结论: 计算最优模型在处理偏见方面可能略有改善,但风险依然存在。模型质量的提升不一定会加剧毒性内容的生成。

表10 | Winogender结果。左图:Chinchilla在解决代词问题上始终优于Gopher。右图:Chinchilla在与性别刻板印象相悖的例子(gotcha例子)上表现更好。然而,各组之间的表现差异表明Chinchilla存在偏见。
表10 | Winogender结果。左图:Chinchilla在解决代词问题上始终优于Gopher。右图:Chinchilla在与性别刻板印象相悖的例子(gotcha例子)上表现更好。然而,各组之间的表现差异表明Chinchilla存在偏见。

A5 结论

本文挑战了当前大型语言模型训练中普遍存在的“越大越好”的趋势。研究表明,该领域的关注点过多地放在了增加模型尺寸上,而忽略了相应增加训练数据量的重要性,导致现有的大型模型(如Gopher)在给定的计算预算下性能远未达到最优。

核心发现:
通过对超过400个模型的训练进行分析,本文提出了一个新的缩放法则:为了实现计算最优,模型大小和训练token数应等比例增加。这意味着,当计算预算增加时,应同时扩大模型规模和训练数据集。

实验验证:
为了验证这一假设,研究者训练了Chinchilla模型,一个70B参数的模型,使用了与训练Gopher(280B)相同的计算预算,但训练数据量是Gopher的四倍(1.4万亿tokens)。实验结果有力地证实了这一理论:Chinchilla在几乎所有下游评估任务上都显著优于Gopher以及其他更大的模型。

局限性:
1. 大规模数据点有限: 由于训练成本高昂,仅有两个大规模的可比模型(Chinchilla和Gopher),缺乏中间规模的验证点。
2. 幂律假设: 分析假设了计算预算、模型大小和token数之间存在幂律关系。然而,研究者观察到在高计算预算下存在一定的凹性,这可能意味着最优模型尺寸甚至比本文预测的还要小。
3. 单周期训练: 所有分析都是在不足一个epoch的数据上进行的,未来可以研究多周期训练的情况。

未来展望:
1. 重视数据集扩展: 本文的研究结果强调,未来需要更加关注数据集的规模和质量。高质量、大规模的数据集对于进一步提升模型性能至关重要。
2. 伦理与隐私: 训练使用数万亿级别的token会引入更多的伦理和隐私问题。从网络抓取的大型数据集不可避免地包含有毒语言、偏见和私人信息,这使得数据集的审视和清理工作变得更加重要。
3. 方法的可推广性: 本文提出的用于确定模型大小和训练数据权衡的方法论是通用的,可以轻松应用于其他模态(如视觉、多模态)的大模型训练中,为这些领域选择最优训练配置提供了指导。

总之,Chinchilla的成功证明,通过更科学地分配计算资源,我们可以在不增加计算成本的情况下,训练出性能更强、尺寸更小、更易于部署和使用的语言模型。

A6 附录

A. 训练数据集

在表A1中,我们展示了用于Chinchilla和所有扩展性分析运行的训练数据集构成。请注意,MassiveWeb和Wikipedia子集都被使用了超过一个epoch。

表A1 | MassiveText数据构成。对于MassiveText的每个子集,我们列出了其总磁盘大小、文档数量以及训练期间使用的采样比例——我们使用的分布与Rae et al. (2021)中的略有不同(括号中显示)。在最右侧的列中,我们显示了在1.4万亿个token中使用的epoch数。
表A1 | MassiveText数据构成。对于MassiveText的每个子集,我们列出了其总磁盘大小、文档数量以及训练期间使用的采样比例——我们使用的分布与Rae et al. (2021)中的略有不同(括号中显示)。在最右侧的列中,我们显示了在1.4万亿个token中使用的epoch数。

B. 最优余弦周期长度

最优余弦周期长度。我们做了一个关键假设,即余弦周期的长度和相应的学习率下降(我们使用10倍的学习率衰减,与【索引40,Scaling language models: Methods, analysis & insights from training Gopher,2021,arXiv】一致)。我们发现,将余弦周期长度设置得比目标训练步数长太多,会导致模型训练不佳,如图A1所示。因此,我们假设一个最优训练的模型会根据给定的FLOP预算,将其余弦周期长度正确地校准到最大步数;我们在主要分析中遵循这一规则。

图A1 | 余弦周期长度网格图。我们展示了6条曲线,其预设的余弦周期长度分别为目标训练步数的1、1.1、1.25、1.5、2和5倍。当余弦周期过长,学习率未适当下降时,性能会受损。我们发现,将训练步数高估超过25%会导致性能明显下降。我们展示了将训练步数设置为两个不同值(上图和下图)的结果。
图A1 | 余弦周期长度网格图。我们展示了6条曲线,其预设的余弦周期长度分别为目标训练步数的1、1.1、1.25、1.5、2和5倍。当余弦周期过长,学习率未适当下降时,性能会受损。我们发现,将训练步数高估超过25%会导致性能明显下降。我们展示了将训练步数设置为两个不同值(上图和下图)的结果。

C. 不同数据集上扩展结果的一致性

不同数据集上扩展结果的一致性。我们在两个不同的数据集上训练后,展示了IsoFLOP(方法2)分析的扩展结果:C4(【索引44,Exploring the limits of transfer learning with a unified text-to-text transformer,2020b,Journal of Machine Learning Research】)和GitHub代码(我们展示了来自【索引40,Scaling language models: Methods, analysis & insights from training Gopher,2021,arXiv】的数据结果),结果如表A2所示。对于使用MassiveText子集的两组实验,我们使用了与MassiveText实验相同的分词器。

我们发现,这些数据集上的扩展行为与我们在MassiveText上发现的非常相似,如图A2和表A2所示。这表明,只要训练不超过一个epoch,我们的结果就与数据集无关。

图A2 | C4和GitHub的IsoFLOP曲线。我们使用C4数据集 (Raffel et al., 2020b) 和GitHub数据集 (Rae et al., 2021) 生成了4个IsoFLOP剖面,并展示了参数和token计数的扩展情况,如图3所示。扩展系数见表A2。
图A2 | C4和GitHub的IsoFLOP曲线。我们使用C4数据集 (Raffel et al., 2020b) 和GitHub数据集 (Rae et al., 2021) 生成了4个IsoFLOP剖面,并展示了参数和token计数的扩展情况,如图3所示。扩展系数见表A2。
表A2 | 在两个备用数据集上,随着训练计算量的增加,估计的参数和数据缩放比例。列出的值是关系式 $N_{opt} \propto C^a$ 和 $D_{opt} \propto C^b$ 中的指数a和b。我们使用IsoFLOP剖面来估计在两个不同数据集上的缩放比例。
表A2 | 在两个备用数据集上,随着训练计算量的增加,估计的参数和数据缩放比例。列出的值是关系式 $N_{opt} \propto C^a$ 和 $D_{opt} \propto C^b$ 中的指数a和b。我们使用IsoFLOP剖面来估计在两个不同数据集上的缩放比例。

D. 扩展性分析的细节

D.1. 方法1:固定模型大小并改变训练序列

方法1细节。我们对最小的模型使用 $2 \times 10^{-4}$ 的最大学习率,对最大的模型使用 $1.25 \times 10^{-4}$。在所有情况下,学习率在训练过程中使用余弦调度下降10倍。我们假设余弦周期长度应与训练步数大致匹配。我们发现,当余弦周期超过训练步数25%以上时,性能会明显下降——见图A1。我们使用窗口长度为10步的高斯平滑来平滑训练曲线。

D.2. 方法3:损失的参数化拟合

方法3细节。在本节中,我们首先展示如何推导出方程(2)。为清晰起见,我们重述如下方程:

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

该方程基于预期风险在函数逼近项和优化次优项之间的分解。然后我们给出拟合参数的优化过程细节。

损失分解。形式上,我们考虑的任务是根据序列中先前的token $x \in \mathcal{Y}^k$ 预测下一个token $y \in \mathcal{Y}$,其中 $k$ 从0到 $k_{max}$ 不等——即最大序列长度。我们考虑token $y \in \mathcal{Y}$ 及其过去 $x \in \mathcal{X}$ 的分布 $p \in \mathcal{D}(\mathcal{X} \times \mathcal{Y})$。预测器 $f : \mathcal{X} \to \mathcal{D}(\mathcal{Y})$ 计算给定过去序列的每个token的概率。贝叶斯分类器 $f^★$ 最小化 $f(x)$ 与观测到的token $y$ 的交叉熵,期望是在整个数据分布上计算的。我们设 $L$ 为预期风险:

$$L(f) \triangleq \mathbb{E}[\log f(x)_{y}], \quad \text { and set } \quad f^{\star} \triangleq \underset{f \in \mathcal{F}(\mathcal{X}, \mathcal{D}(\mathcal{Y}))}{\operatorname{argmin}} L(f).$$

所有大小为 $N$ 的transformer集合,我们记为 $\mathcal{H}_N$,构成了所有将序列映射到token分布 $\mathcal{X} \to \mathcal{D}(\mathcal{Y})$ 的函数的一个子集。在一个大小为 $N$ 的transformer上拟合预期风险 $L(f)$ 相当于在一个受限的函数空间上最小化该风险:

$$f_N \triangleq \mathop{\mathrm{argmin}}_{f \in \mathcal{H}_N} L(f).$$

当我们观察到一个大小为 $D$ 的数据集 ${(x_i, y_i)}_{i \in [1,D]}$ 时,我们无法接触到 $L(f)$,而是接触到经验分布 $\hat{p}_D$ 上的经验期望 $\hat{L}_D$。当我们给定 $D$ 个只能看到一次的数据点,并将假设空间的大小限制为 $N$ 维时会发生什么?我们正在向着在一个有限维函数空间 $\mathcal{H}_N$ 内最小化经验风险迈进:

$$\hat{L}_D(f) \triangleq \hat{\mathbb{E}}_D [\log f(x)_y], \quad \text{setting} \quad \hat{f}_{N,D} \triangleq \underset{f \in \mathcal{H}_N}{\operatorname{argmin}} \hat{L}_D(f).$$

我们永远无法获得 $\hat{f}_{N,D}$,因为我们通常只对大小为 $D$ 的数据集执行一个epoch。相反,我们得到的是 $\bar{f}_{N,D}$,它是基于 $D$ 个数据点应用一定数量梯度步骤的结果——执行的步数取决于梯度批量大小,对此我们使用经过充分测试的启发式方法。

使用贝叶斯分类器 $f^★$、预期风险最小化器 $f_N$ 和“单周期经验风险最小化器” $\bar{f}_{N,D}$,我们最终可以将损失 $L(N, D)$ 分解为:

$$L(N, D) \triangleq L(\bar{f}_{N, D}) = L(f^\star) + (L(f_N) - L(f^\star)) + (L(\bar{f}_{N, D}) - L(f_N)).$$

损失包括三个部分:贝叶斯风险,即在完整分布 $p$ 上进行下一个token预测可达到的最小损失,也称为“自然文本的熵”;一个依赖于假设空间大小的函数逼近项;最后,一个随机逼近项,它捕捉了最小化 $\hat{L}_D$ 而非 $L$ 的次优性,以及在给定数据集上只进行一个epoch的次优性。

损失项的期望形式。在分解(9)中,第二项完全取决于定义函数逼近空间大小的参数数量 $N$。在两层神经网络的集合上,它预计与 $1/N^{1/2}$ 成正比(【索引53,Approximation rates for neural networks with general activation functions,2020,Neural Networks】)。最后,考虑到它对应于随机一阶方法中的早停,第三项应按这些方法的收敛速率进行缩放,该速率的下界为 $1/D^{1/2}$(【索引46,A Stochastic Approximation Method,1951,The Annals of Mathematical Statistics】)(并且可能达到该界限)。这个收敛速率预计是与维度无关的(参见例如【索引8,Convex Optimization: Algorithms and Complexity,2015,Foundations and Trends in Machine Learning】的综述)并且只依赖于损失的平滑度;因此我们假设第二项在(2)中只依赖于 $D$。根据经验,我们在拟合(2)后发现:

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

其中 $E = 1.69$, $A = 406.4$, $B = 410.7$。我们注意到参数/数据系数都低于1;这对于数据效率系数来说是预期的(但远低于已知的下界)。未来的模型和训练方法应努力提高这些系数。

将分解拟合到数据。我们有效地最小化以下问题:

$$\min_{a,b,e,\alpha,\beta} \sum_{\text{Run } i} \text{Huber}_{\delta} \Big( \text{LSE}(a - \alpha \log N_i, b - \beta \log D_i, e) - \log L_i \Big),$$

其中 LSE 是 log-sum-exp 算子。然后我们设置 $A, B, E = \exp(a), \exp(b), \exp(e)$。

我们使用 LBFGS 算法来寻找上述目标的局部最小值,从一个给定的初始化网格开始:$a \in \{0., 0.5, \dots , 2.\}$, $b \in \{0., 0.5, \dots , 2.\}$, $\alpha \in \{-1., -.5, \dots , 1.\}$, $\beta \in \{0, 5, \dots , 25\}$, 以及 $e \in \{0, 5, \dots , 25\}$。我们发现最优的初始化不在我们初始化扫描的边界上。

我们对Huber损失使用 $\delta = 10^{-3}$。我们发现,使用更大的 $\delta$ 值会使模型过度拟合于小计算量的情况,并对来自更大数据集的保留数据预测不佳。我们发现,使用小于 $10^{-3}$ 的 $\delta$ 不会影响最终的预测结果。

D.3. 三种方法的预测计算最优边界

对于方法2和3,我们在表A3中展示了在各种计算预算下估计的模型大小和训练token数。我们在图A3中为三种方法绘制了在各种FLOPs预算下预测的token和参数数量。

表A3 | 不同模型尺寸的估计最优训练FLOPs和训练token。与表3类似,我们展示了方法2和3对不同计算预算的模型尺寸/token数量的预测。
表A3 | 不同模型尺寸的估计最优训练FLOPs和训练token。与表3类似,我们展示了方法2和3对不同计算预算的模型尺寸/token数量的预测。
图A3 | 训练FLOP预算下的最优token数和参数。对于一个固定的FLOP预算,我们展示了由方法1、2和3预测的最优token数和参数。有关备用表示,请参见图1。
图A3 | 训练FLOP预算下的最优token数和参数。对于一个固定的FLOP预算,我们展示了由方法1、2和3预测的最优token数和参数。有关备用表示,请参见图1。
D.4. 与Kaplan et al. (2020)的小规模比较

小规模比较。在 $10^{21}$ FLOPs下,我们对方法1预测的模型和【索引23,Scaling laws for neural language models,2020,arXiv】预测的模型进行了直接比较。对于这两个模型,我们都使用了0.5M token的批量大小和 $1.5 \times 10^{-4}$ 的最大学习率,并衰减10倍。根据【索引23,Scaling laws for neural language models,2020,arXiv】,我们发现最优模型大小应为46.8亿参数。根据我们的方法1,我们估计一个28.6亿参数的模型应该是最优的。我们训练了一个47.4亿参数和一个28.0亿参数的transformer来检验这个假设,使用了相同的深度-宽度比以避免尽可能多的混淆因素。我们发现我们预测的模型性能优于【索引23,Scaling laws for neural language models,2020,arXiv】预测的模型,如图A4所示。

图A4 | 在10^21 FLOPs下与Kaplan et al. (2020)的比较。我们训练了28亿和47.4亿参数的transformer,它们分别被方法1和Kaplan et al. (2020)预测为10^21 FLOPs下的最优模型。我们发现我们的预测在训练结束时得到了一个性能更好的模型。
图A4 | 在10^21 FLOPs下与Kaplan et al. (2020)的比较。我们训练了28亿和47.4亿参数的transformer,它们分别被方法1和Kaplan et al. (2020)预测为10^21 FLOPs下的最优模型。我们发现我们的预测在训练结束时得到了一个性能更好的模型。

E. FLOP-损失边界的曲率

FLOP-损失边界的曲率。我们观察到,随着模型规模的增加,FLOP-最小损失边界存在曲率。这意味着从非常小的模型进行的预测会导致与从较大模型进行的预测不同的结果。在图A5中,我们展示了使用损失边界点的前三分之一、中间三分之一和最后三分之一进行的线性拟合。在这项工作中,我们没有考虑这一点,并将其作为一个有趣的未来工作,因为它表明对于大的FLOP预算,可能更小的模型才是最优的。

图A5 | 训练曲线包络。我们对损失边界上的所有点的前三分之一(橙色)、中间三分之一(绿色)和后三分之一(蓝色)进行拟合。我们只绘制了部分点。
图A5 | 训练曲线包络。我们对损失边界上的所有点的前三分之一(橙色)、中间三分之一(绿色)和后三分之一(蓝色)进行拟合。我们只绘制了部分点。

F. FLOPs计算

FLOPs计算细节。在我们的分析中,我们包括了所有的训练FLOPs,包括嵌入矩阵贡献的部分。请注意,我们也将嵌入矩阵计入总参数数中。对于大型模型,嵌入矩阵的FLOP和参数贡献很小。我们使用一个2的因子来描述乘法累加成本。对于前向传播,我们考虑了以下部分的贡献:
- 嵌入层 – $2 \times \text{seq\_len} \times \text{vocab\_size} \times d_{model}$
- 注意力层(单层) – 键、查询和值投影:$2 \times 3 \times \text{seq\_len} \times d_{model} \times (\text{key\_size} \times \text{num\_heads})$
- Key @ Query logits: $2 \times \text{seq\_len} \times \text{seq\_len} \times (\text{key\_size} \times \text{num\_heads})$
- Softmax: $3 \times \text{num\_heads} \times \text{seq\_len} \times \text{seq\_len}$
- Softmax @ query reductions: $2 \times \text{seq\_len} \times \text{seq\_len} \times (\text{key\_size} \times \text{num\_heads})$
- 最终线性层: $2 \times \text{seq\_len} \times (\text{key\_size} \times \text{num\_heads}) \times d_{model}$
- 密集块(单层) – $2 \times \text{seq\_len} \times (d_{model} \times \text{ffw\_size} + d_{model} \times \text{ffw\_size})$
- 最终Logits – $2 \times \text{seq\_len} \times d_{model} \times \text{vocab\_size}$
- 总前向传播FLOPs: 嵌入层 + num_layers × (总注意力 + 密集块) + Logits

与【索引23,Scaling laws for neural language models,2020,arXiv】一样,我们假设反向传播的FLOPs是前向传播的两倍。我们在表A4中比较了我们的计算和常用近似 $C = 6ND$ (【索引23,Scaling laws for neural language models,2020,arXiv】)之间的差异,其中 $C$ 是FLOPs,$D$ 是训练token数,$N$ 是参数数。我们发现FLOP计算的差异非常小,不影响我们的分析。与【索引40,Scaling language models: Methods, analysis & insights from training Gopher,2021,arXiv】中呈现的结果相比,我们使用了更精确的计算,得出的值略有不同($6.3 \times 10^{23}$ vs $5.76 \times 10^{23}$)。

表A4 | FLOP比较。对于各种不同的模型大小,我们展示了我们计算的每个序列的FLOPs与使用6ND近似计算的FLOPs的比率。
表A4 | FLOP比较。对于各种不同的模型大小,我们展示了我们计算的每个序列的FLOPs与使用6ND近似计算的FLOPs的比率。

G. Chinchilla和Gopher之间的其他差异

Chinchilla与Gopher的其他差异。除了模型大小和训练token数量的差异外,Chinchilla和Gopher之间还有一些其他次要差异。具体来说,Gopher是用Adam(【索引24,Adam: A method for stochastic optimization,2014,arXiv】)训练的,而Chinchilla是用AdamW(【索引33,Decoupled weight decay regularization,2019,International Conference on Learning Representations】)训练的。此外,如【索引40,Scaling language models: Methods, analysis & insights from training Gopher,2021,arXiv】中的“经验教训”所讨论的,Chinchilla在分片优化器状态中存储了更高精度的权重副本。

我们在图A6和图A7中展示了用Adam和AdamW训练的模型的比较。我们发现,无论学习率调度如何,用AdamW训练的模型都优于用Adam训练的模型。在图A6中,我们展示了一个6.8亿参数模型在有和没有更高精度权重副本以及使用Adam/AdamW进行训练的比较。

图A6 | 其他差异的比较。我们使用一个6.8亿参数的模型,展示了用于训练Gopher和Chinchilla的设置之间的比较——优化器的改变以及在优化器状态中使用更高精度的权重副本。用于Chinchilla的设置(橙色)明显优于用于训练Gopher的设置(绿色)。
图A6 | 其他差异的比较。我们使用一个6.8亿参数的模型,展示了用于训练Gopher和Chinchilla的设置之间的比较——优化器的改变以及在优化器状态中使用更高精度的权重副本。用于Chinchilla的设置(橙色)明显优于用于训练Gopher的设置(绿色)。
图A7 | Adam vs AdamW。对于一个417M(蓝色)和1.4B模型(绿色),我们发现使用AdamW训练比使用Adam训练的性能有所提升。
图A7 | Adam vs AdamW。对于一个417M(蓝色)和1.4B模型(绿色),我们发现使用AdamW训练比使用Adam训练的性能有所提升。

H. 结果

H.1. The Pile

在表A5中,我们展示了Chinchilla、Gopher和Jurassic-1在The Pile(【索引13,The Pile: An 800GB dataset of diverse text for language modeling,2020,arXiv】)上的bits-per-byte (bpb)。Chinchilla在所有子集上均优于Gopher。Jurassic-1在两个子集——dm_mathematics和ubuntu_irc上优于Chinchilla。

表A5 | The Pile上的每字节比特数。我们展示了Chinchilla在The Pile上的bpb,并与Gopher和Jurassic-1进行了比较。
表A5 | The Pile上的每字节比特数。我们展示了Chinchilla在The Pile上的bpb,并与Gopher和Jurassic-1进行了比较。
H.2. MMLU

在表A6中,我们展示了Chinchilla和Gopher在MMLU每个子集上的表现。

表A6 | Chinchilla MMLU结果。对于MMLU的每个子集(Hendrycks et al., 2020),我们展示了Chinchilla与Gopher的准确率对比。
表A6 | Chinchilla MMLU结果。对于MMLU的每个子集(Hendrycks et al., 2020),我们展示了Chinchilla与Gopher的准确率对比。
H.3. Winogender设置

Winogender设置。我们遵循与【索引40,Scaling language models: Methods, analysis & insights from training Gopher,2021,arXiv】中相同的设置。为了测试Chinchilla中的共指消解,我们输入一个包含代词引用的句子(例如,“图书馆员帮助孩子挑选了一本书,因为{代词}喜欢鼓励阅读。”),然后测量模型用不同的句子角色(本例中为“图书馆员”和“孩子”)完成句子“‘{代词}’指的是”的概率。每个例子都标注了正确的代词解析(本例中代词对应于图书馆员)。每个句子都用女性、男性和性别中立的代词进行测试。一个无偏见的模型应该能正确预测代词所指的词,而与代词的性别无关。

H.4. BIG-bench

在表A7中,我们展示了Chinchilla和Gopher在我们考虑的BIG-bench每个子集上的表现。

表A7 | Chinchilla BIG-bench结果。对于BIG-bench的每个子集(BIG-bench collaboration,2021),我们展示了Chinchilla和Gopher的准确率。
表A7 | Chinchilla BIG-bench结果。对于BIG-bench的每个子集(BIG-bench collaboration,2021),我们展示了Chinchilla和Gopher的准确率。

I. 模型卡

我们遵循【索引36,Model cards for model reporting,2019,Proceedings of the conference on fairness, accountability, and transparency】提出的框架,在表A8中展示了Chinchilla模型卡。

表A8 | Chinchilla模型卡。我们遵循Mitchell et al. (2019)提出的框架。
表A8 | Chinchilla模型卡。我们遵循Mitchell et al. (2019)提出的框架。
表A8 续1
表A8 续1
表A8 续2
表A8 续2
表A8 续3
表A8 续3

J. 训练模型列表

在表A9中,我们列出了本研究中使用的所有模型的模型大小和配置。许多模型已经训练了多次,用于不同的训练步数。

表A9 | 所有模型。我们列出了作为本工作一部分训练的所有模型的超参数和大小。许多展示的模型都使用了多种学习率调度/训练token数进行了训练。
表A9 | 所有模型。我们列出了作为本工作一部分训练的所有模型的超参数和大小。许多展示的模型都使用了多种学习率调度/训练token数进行了训练。