计算最优的大型语言模型训练的实证分析
Optimal empirical analysis of large-scale language model training.
在过去几年中,语言建模的重点一直是通过增加基于Transformer的模型的参数数量来提高性能。这种方法取得了令人印象深刻的结果,并在许多自然语言处理任务中实现了最先进的性能。
我们在DeepMind也追求了这一研究方向,并最近展示了Gopher,这是一个拥有2800亿参数的模型,它在语言建模、阅读理解和问答等多个任务上取得了领先的性能。此后,又发布了一个更大的模型,名为Megatron-Turing NLG,拥有5300亿参数。
由于训练这些大型模型的成本巨大,估计出最佳的训练设置以避免资源浪费至关重要。特别是,Transformer模型的训练计算成本由两个因素决定:模型大小和训练标记的数量。
当前的大型语言模型一代将更多的计算资源分配给增加大模型的参数数量,并将训练数据大小固定在约3000亿个标记左右。在这项工作中,我们通过经验性研究来探索在增加计算资源的同时,模型大小和训练数据量之间的最佳权衡。具体而言,我们问出了这个问题:“对于给定的计算预算,最佳的模型大小和训练标记数量是多少?”为了回答这个问题,我们训练了各种大小和各种标记数量的模型,并通过经验性估计得出了这个权衡。我们的主要发现是,当前的大型语言模型对于其计算预算来说过于庞大,并且没有足够的数据进行训练。事实上,我们发现,对于用于训练Gopher的训练FLOPs数量来说,一个体积减小4倍、使用更多数据训练的模型将更可取。
我们通过训练Chinchilla来测试我们的数据扩展假设,Chinchilla是一个拥有700亿参数、训练了1.3万亿标记的模型。虽然Chinchilla和Gopher的训练计算成本相同,但我们发现它在几乎所有的任务上都优于Gopher和其他大型语言模型,尽管它只有700亿参数,而Gopher有2800亿。
在发布Chinchilla之后,还发布了一个名为PaLM的模型,它拥有5400亿参数,并训练了7680亿个标记。这个模型的计算预算约为Chinchilla的5倍,并且在各种任务上表现优于Chinchilla。虽然训练语料库不同,但我们的方法预测,在我们的数据上训练的这样一个模型将优于Chinchilla,尽管它不是计算优化的。根据PaLM的计算预算,我们预测一个拥有1400亿参数、训练了3万亿个标记的模型将是最佳选择,并且对于推理来说更高效。
更小、性能更好的模型的另一个好处是推理时间和内存成本的降低,这使得查询模型更快速,也可以在更少的硬件上进行。实际上,尽管Gopher和Chinchilla之间的训练FLOPs相同,但使用Chinchilla的成本要小得多,并且性能更好。进一步的简单优化可能是可能的,并且能够继续提供巨大的收益。