本文是LLM系列文章,针对《Continual Pre-Training of Large Language Models: How to (re)warm your model?》的翻译。
大型语言模型的持续预训练:如何(重新)预热你的模型
- 摘要
- [1 引言](#1 引言)
- [2 设置](#2 设置)
- [3 相关工作](#3 相关工作)
- [4 持续加热](#4 持续加热)
- [5 讨论/局限性](#5 讨论/局限性)
- [6 结论](#6 结论)
摘要
大型语言模型(LLM)通常在数十亿个token上进行预训练,但一旦新数据可用,就会重新启动过程。一个更便宜、更有效的解决方案是能够对这些模型进行持续的预训练,即用新数据更新预训练的模型,而不是从头开始重新训练。然而,由新数据引起的分布偏移通常会导致过去数据的性能下降。在这项工作中,我们研究了不同热身策略的效果。我们的假设是,在新的数据集上进行训练时,必须重新提高学习率以提高计算效率。我们研究了在Pile上预训练的模型(上游数据,300Btoken)的热身阶段,同时我们继续在SlimPapajama上预训练(下游数据,297Btoken),遵循线性热身和余弦衰减时间表。我们在Pythia410M语言模型架构上进行了所有实验,并通过验证困惑来评估性能。我们试验了不同的训练前检查点、不同的最大学习率和不同的热身时间。我们的研究结果表明,虽然重新武装模型首先增加了上游和下游数据的损失,但从长远来看,它提高了下游性能,优于从头开始训练的模型------即使是大型下游数据集。
1 引言
2 设置
3 相关工作
4 持续加热
5 讨论/局限性
6 结论
我们的实验表明,预热到更高的最大学习率有助于在Pile上预先训练的模型适应SlimPajama,而较小的最大学习速率可以保持Pile上的性能。然而,在这两种情况下,重新武装的模型都比从头开始训练的模型有所改进。这些结果促使在新的数据集上使用持续的预训练,而不是从头开始训练。然而,还需要更多的研究来为更大的模型规模、不同的分布变化建立类似的结果,并验证这种策略可以重复应用于更新模型。