训练计算优化的大语言模型

您所在的位置:网站首页 曲率系数怎么计算 训练计算优化的大语言模型

训练计算优化的大语言模型

2023-05-12 11:55| 来源: 网络整理| 查看: 265

作者:

我们研究了在给定的计算预算下,训练transformer语言模型的最佳模型大小和标记数量。我们发现,目前的大型语言模型训练不足,这是最近关注在保持训练数据量不变的情况下扩展语言模型的结果。通过在5-5,000亿个token上训练超过400个从7,000万到超过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%以上。

NLP中的token经常被用作计算的单位,因为它们是代表文本序列含义的一种更紧凑和有效的方式。 文本序列中的词和字符可能有广泛的含义和用法,这可能使我们很难单独确定一个词或字符序列的含义。通过使用总是唯一的 token ,可以更容易地确定一个文本序列的含义。 此外, token 可以用来代表文本序列中的不同概念或实体,使其更容易分析和理解序列的含义。例如,一个 token 可能代表 "猫 "这个词,后面有一个空格,但它也可能代表猫的概念,或发出声音的动作。通过使用 token 作为计算单位,这些不同的概念可以很容易地被区分和分析出来。 总的来说,在NLP中使用 token 作为计算单位是一种更有效和高效的方式来表示和分析文本序列,并已成为该领域的一种流行方法。

1. 简介

最近,一系列大型语言模型(LLMs)被引入(Brown等人,2020;Lieber等人,2021;Rae等人,2021;Smith等人,2022;Thopilan等人,2022),目前最大的密集语言模型拥有超过5000亿个参数。这些大型自回归transformer(Vaswani等人,2017年)在许多任务上使用各种评估协议,如零样本学习、小样本学习和微调,都表现出令人印象深刻的性能。

训练大型语言模型的计算和能源成本很高(Rae等人,2021;Thopilan等人,2022),并随着模型规模的增加而上升。在实践中,分配的训练计算预算通常是事先知道的:有多少个加速器可用,我们想使用它们多久。由于这些大型模型通常只训练一次是可行的,因此准确估计给定计算预算的最佳模型超参数至关重要(Tay等人,2021)。

Kaplan等人(2020)表明,自回归语言模型(LM)的参数数量与它的性能之间存在幂律关系。因此,该领域一直在训练越来越大的模型,期待着性能的提高。Kaplan等人(2020)的一个值得注意的结论是,大型模型不应该被训练到其最低的LLoss,以达到计算的最佳效果。虽然我们得出了同样的结论,但我们估计大型模型的训练应该比作者建议的多很多。具体来说,在计算预算增加10倍的情况下,他们建议模型的大小应该增加5.5倍,而训练token的数量只应该增加1.8倍。相反,我们发现,模型的大小和训练token的数量应该以相等的比例进行扩展。

按照Kaplan等人(2020)和GPT-3的训练设置(Brown等人,2020),最近训练的许多大型模型都是针对大约3000亿个token进行训练的(表1),这与增加计算量时主要增加模型规模的做法是一致的。

图1 - 叠加预测。我们将三种不同方法的预测结果与Kaplan等人(2020)的预测结果重叠在一起。我们发现,这三种方法都得出同样的预测结论, 即目前的大型模型应该大大缩小,h或说训练的时间都应比目前要长得多。在图A3中,我们展示了预测的最佳token与固定FLOP预算的最佳参数量的结果。Chinchilla的表现优于Gopher和其他大型模型(见第4.2节)。

在这项工作中,我们重新审视了这个问题: 在固定的FLOPs预算下,应该如何权衡模型大小和训练ttoken的数量?为了回答这个问题,我们将最终的预训练损失𝐿(𝑁, 𝐷)建模为模型参数数量𝑁和训练token数量𝐷的函数。由于计算预算𝐶是所见训练标记和模型参数数量的确定性函数FLOPs(𝑁, 𝐷),我们感兴趣的是在约束条件FLOPs(𝑁, 𝐷)= 𝐶下最小化𝐿:

函数𝑁𝑜𝑝𝑡(𝐶)和𝐷𝑜𝑝𝑡(𝐶)描述了计算预算𝐶的最佳分配。我们根据400多个模型的Loss来经验性地估计这些函数,这些模型的参数范围从低于7千万到超过160亿,并在50亿到超过4000亿的token上进行训练--每个模型配置都在几个不同的训练时间段进行训练。我们的方法导致了与Kaplan等人(2020)的结果大不相同。我们在图1中强调了我们的结果,并在第2节中强调了我们的方法有什么不同。

基于我们估计的计算最优边界,我们预测,对于用于训练Gopher的计算预算,最优模型应该小4倍,同时在4倍的token上进行训练。我们通过在1.4万亿个token上训练一个更适合计算的70B模型,称为Chinchilla,来验证这一点。Chinchilla不仅比其更大的同类产品Gopher表现出色,而且其减少的模型尺寸大大降低了推理成本,并大大促进了下游在更小硬件上的使用。大型语言模型的能源成本通过推理和微调的使用而摊销。因此,一个经过优化训练的小型模型的好处超出了其改善性能的直接好处。

表1|当前的LLMs。我们展示了当前最大的五个密集型transformer模型,它们的规模以及训练的token数量。除了LaMDA(Thorpilan等人,2022),大多数模型的训练语料约为3000亿个token。我们引入Chinchilla,这是一个小得多的模型,训练语料远远超过3000亿个ttoken。

2. 相关研究大语言模型

在过去的几年里,各种大语言模型纷纷出现。其中包括密集transformer模型(Brown等人,2020;Lieber等人,2021;Rae等人,2021;Smith等人,2022;Thopilan等人,2022)和专家稀疏模型(Du等人,2021;Fedus等人,2021;Zoph等人,2022)。最大的密集transformer模型已经超过5000亿个参数(Smith等人,2022)。训练越来越大的模型的动力是很明显的--到目前为止,增加语言模型的规模已经对改善许多语言建模任务的最j价水平非常有效。然而,大语言模型面临着一些挑战,包括其压倒性的计算要求(训练和推理的成本随着模型的大小而增加)(Rae等人,2021;Thopilan等人,2022),以及需要获得更多高质量的训练数据。事实上,在这项工作中,我们发现更大的、高质量的数据集将在语言模型的任何进一步扩展中发挥关键作用。

模型缩放的研究

了解语言模型的缩放行为和它们的迁移特性在最近的大型模型的发展中非常重要(Hernandez等人,2021;Kaplan等人,2020)。Kaplan等人(2020)首次展示了模型大小与Loss之间在许多数量级上的可预测关系。作者研究了在给定的计算卡时下选择最佳的模型大小来训练的问题。与我们类似,他们通过训练各种模型来解决这个问题。我们的工作在几个重要方面与Kaplan等人(2020)不同。首先,作者对所有模型使用了固定的训练token数和学习率按时调整计划表;这使他们无法模拟这些超参数对Loss的影响。相反,我们发现,将学习率按时调整计划表设置为与训练token数大致匹配,无论模型大小如何,都能获得最佳的最终Loss--见图A1。对于一个固定的学习率余弦计划表, 使用130B的token,中间Loss,高估了用与𝐷'相匹配的计划长度训练的模型的Loss(对于𝐷'



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3