大语言模型的持续预训练:如何(重新)预热你的模型?
计算与语言
2023-09-08 v2 机器学习
摘要
大语言模型(LLMs)通常在数十亿 token 上进行例行性预训练,一旦有新数据可用便只能重新开始整个过程。一种更廉价且更高效的解决方案是支持这些模型的持续预训练,即用新数据更新预训练模型,而非从头重新训练。然而,新数据引起的分布偏移通常会导致在过往数据上的性能下降。为迈向高效的持续预训练,本文研究了不同预热策略的影响。我们的假设是:当在新数据集上训练时,必须重新提高学习率以改善计算效率。我们基于在 Pile(上游数据,300B token)上预训练的模型,按照线性预热与余弦衰减调度继续在 SlimPajama(下游数据,297B token)上预训练,以此研究其预热阶段。我们在 Pythia 410M 语言模型架构上进行所有实验,并通过验证困惑度评估性能。我们尝试了不同的预训练检查点、不同的最大学习率以及不同的预热长度。结果表明,尽管重新预热模型首先会增加上游与下游数据的损失,但从长远来看它改善了下游性能,甚至在一个大型下游数据集上优于从头训练的模型。
引用
@article{arxiv.2308.04014,
title = {Continual Pre-Training of Large Language Models: How to (re)warm your model?},
author = {Kshitij Gupta and Benjamin Thérien and Adam Ibrahim and Mats L. Richter and Quentin Anthony and Eugene Belilovsky and Irina Rish and Timothée Lesort},
journal= {arXiv preprint arXiv:2308.04014},
year = {2023}
}