近年来,大语言模型(LLMs)在各个领域的应用越来越广泛,但随着模型的不断发展和应用场景的不断变化,对模型的持续预训练(continual pre-training)的需求也日益增加。持续预训练是指对已经预训练好的LLMs进行进一步的训练,以适应新领域或新任务的需求。然而,持续预训练过程中常常会出现一个问题,即模型的性能在开始阶段会暂时下降,然后逐渐恢复,这个现象被称为“稳定性差距”(stability gap)。
为了解决这个问题,北京大学等机构的研究人员提出了一种名为“Efficient Continual Pre-training by Mitigating the Stability Gap”的方法,该方法通过三种策略来提高LLMs在持续预训练过程中的性能和效率。
首先,研究人员提出了一种多轮次的持续预训练方法。传统的持续预训练方法通常只进行一轮训练,即将LLMs在大量数据上进行一次训练。然而,这种方式会导致模型在开始阶段的性能下降。为了解决这个问题,研究人员提出了一种多轮次的持续预训练方法,即将LLMs在适当大小的数据子集上进行多轮训练。这种方式可以更快地恢复模型的性能,并提高模型的泛化能力。
其次,研究人员提出了一种基于高质量子语料库的持续预训练方法。在持续预训练过程中,数据的质量对模型的性能有着重要的影响。为了提高模型的性能,研究人员提出了一种基于高质量子语料库的持续预训练方法,即将LLMs在高质量的数据子集上进行训练。这种方式可以更快地提高模型在新领域的性能,并减少训练所需的时间和计算资源。
最后,研究人员提出了一种基于数据混合的持续预训练方法。在持续预训练过程中,数据的分布对模型的性能也有着重要的影响。为了减少数据分布的差异,研究人员提出了一种基于数据混合的持续预训练方法,即将LLMs在与预训练数据相似的数据混合集上进行训练。这种方式可以减少模型在新领域中的性能下降,并提高模型的泛化能力。
为了验证这些策略的有效性,研究人员在Llama系列模型上进行了各种实验。实验结果表明,这些策略可以显著提高LLMs在持续预训练过程中的性能和效率。例如,在医疗领域的持续预训练中,研究人员使用这些策略将OpenLlama-3B模型的平均任务性能从36.2%提高到40.7%,同时只使用了40%的原训练预算。此外,研究人员还将这些策略应用于Llama-3-8B模型,得到了一个名为Llama-3-Physician的模型,该模型在医疗领域的性能超过了当前所有的开源模型,甚至在某些医疗基准测试中与GPT-4相当或更好。
然而,这项研究也存在一些局限性。首先,尽管研究人员在Llama系列模型上进行了实验,但这些策略是否适用于其他类型的LLMs还有待进一步验证。其次,尽管这些策略可以提高模型的性能和效率,但持续预训练仍然是一个计算密集型的过程,需要大量的计算资源和时间。最后,尽管研究人员在医疗领域取得了显著的成果,但这些策略是否适用于其他领域还有待进一步研究。