总体概要
本文探讨了大型语言模型(LLMs)在持续预训练过程中出现的性能稳定性差距问题,即模型在新领域数据上进行预训练时,初期性能会下降,随后逐渐恢复。为解决这一问题,研究团队提出了三种有效策略:在适当大小的子集上进行多轮预训练、仅在高质量子语料库上预训练以及使用与预训练数据相似的数据混合率,以减少分布偏移并防止遗忘通用指令遵循能力。通过在Llama系列模型上的实验验证,这些策略不仅加速了性能提升,还提高了模型的峰值性能,特别是在医学领域的持续预训练和指令调整中,显著提高了模型在多个医学基准测试中的表现,达到了与GPT-4相媲美的水平。
核心要点
-
持续预训练的重要性:
- 持续预训练已成为大型语言模型(LLMs)适应新领域的主要方法,有助于模型学习新主题、语言,甚至提升其通用能力。
-
稳定性缺口现象的发现:
- 在医疗领域的持续预训练过程中,观察到LLM在早期阶段的任务性能出现暂时下降,随后逐渐恢复,这一现象被称为“稳定性缺口”。
-
稳定性缺口的解释:
- 稳定性缺口的出现是由于模型在学习新任务时,起初只有较小的稳定性梯度来维持先前任务的性能,而较大的可塑性梯度用于学习新任务。
-
提高持续预训练效率的策略:
- 提出三种策略以提高LLM在固定计算预算内的性能:多次迭代预训练适当大小的子集、仅在高质量子语料库上预训练、使用与预训练数据相似的数据混合率以减少分布偏移。
-
实验验证与应用:
- 在OpenLlama-3B模型上进行的实验验证了这些策略的有效性,不仅加速了性能提升,还提高了模型的峰值性能。
- 将这些策略应用于Llama-3-8B模型的持续预训练和指令调整,生成的模型在多个医疗任务上超越了其他开源LLM基线,并与GPT-4的表现相媲美。
-
模型发布:
- 发布的模型可在Hugging Face上获取,网址为https://huggingface.co/YiDuo1999/Llama-3-Physician-8B-Instruct。
段落概要
Introduction
本文的Introduction部分介绍了大型语言模型(LLMs)在持续预训练过程中遇到的一个现象,即“稳定性差距”,表现为模型在开始阶段性能下降,随后逐渐恢复。这种现象导致了预训练效率低下和通用任务知识的遗忘。为了解决这一问题,作者提出了三种策略:1)在多个周期内对LLM进行适当大小的子集持续预训练;2)仅在高质量的子语料库上预训练以快速提升领域性能;3)使用与预训练数据相似的数据混合以减少分布差距。通过在Llama系列模型上的实验验证,这些策略不仅加速了性能提升,还提高了模型的峰值性能,特别是在医学领域的持续预训练和指令调优中,显著提高了性能,使其在多个医学基准测试中与GPT-4相媲美。
Related work
文章的“Related work”部分探讨了大型语言模型(LLMs)在持续预训练过程中的学习特性和挑战。首先,介绍了GPT-4、Gemini和Llama等模型在多种自然语言任务中的强大表现,并提到了预训练缩放规则和Chinchilla规则。接着,讨论了高质量训练令牌的稀缺性以及通过多轮训练最大化现有语料库利用率的尝试,尽管这导致了性能下降。然后,强调了持续预训练对于LLMs扩展基本能力、避免信息过时和成为领域专家的必要性。文章还提到了持续学习中的稳定性差距现象,即模型在新的学习任务中会先失去之前任务的性能稳定性,然后逐渐恢复。最后,文章提出了在持续预训练中识别稳定性差距的研究目标。
Identifying the stability gap in continual pre-training
文章中“Identifying the stability gap in continual pre-training”部分的核心要点是:在大型语言模型(LLMs)的持续预训练过程中,观察到目标任务的性能先下降后上升的现象,即所谓的“稳定性差距”。通过实验,研究者发现无论是医学领域的特定任务还是通用任务,LLMs在持续预训练的初期都会经历性能下降,随后逐渐恢复并提升。这一现象可以通过将预训练过程中的梯度分解为学习新领域知识的“塑性梯度”和维持指令跟随能力的“稳定性梯度”来解释。初期,稳定性梯度较小,导致性能下降,但随着训练的进行,稳定性梯度增加,模型恢复并提升了性能。这一发现为理解LLMs在持续预训练中的学习行为提供了重要见解。
Efficient continual pretraining strategies for mitigating the stability gap
文章中关于“高效持续预训练策略以缓解稳定性差距”部分的核心要点是:为了解决持续预训练过程中模型在适应新任务时忽视先前任务性能的问题,提出了三种策略。首先,建议在多个周期内对大型语言模型(LLM)进行持续预训练,而不是一次性完成,以加速稳定性梯度的提升。其次,选择最高质量的数据子集进行预训练,以增强模型在特定领域的性能。最后,采用与预训练数据相似的数据混合率来构建持续预训练的训练子集,以减少分布差距并稳定模型的指令遵循能力。这些策略有效地提高了模型在新任务上的性能,同时保持了对先前任务的性能,证明了它们在缓解稳定性差距方面的有效性。
Evaluation
文章的评估部分展示了作者提出的持续预训练策略在提高大型语言模型(LLM)在医学领域任务上的性能方面的有效性。通过与多种基线方法的比较,包括全令牌基线、学习率重暖重衰减、回放基线和参数保护基线等,作者的策略在仅使用200亿训练令牌的情况下显著提升了模型的平均医学任务性能(4.5%),证明了其策略的高效性。此外,作者还分析了学习率对策略的影响,发现不同规模的LLM需要不同的最优学习率。在将策略部署到最新的Llama-3-8B模型后,作者的模型在多个医学评估基准上超越了其他开源基线,甚至在某些任务上接近或超过了GPT-4的性能,同时保持了更快的推理速度和更低的内存消耗。这些结果表明,作者的策略不仅提高了模型的医学领域性能,还提高了计算效率,为在医学领域应用大型语言模型提供了新的可能性。
Conclusion
本文探讨了大型语言模型(LLMs)在持续预训练于新领域语料库时的行为,并观察到“稳定性差距”现象,即模型性能在初期显著下降后缓慢恢复。文章从可塑性和稳定性梯度的视角解释了这一现象,并提出了三种策略来有效提升LLM在特定领域的表现,同时降低计算成本。通过这些策略,作者在最新的Llama-3-8B模型上进行了部署,该模型在同等模型规模的开放源代码基线中表现最佳,并超越了闭源的GPT-3.5模型。文章还讨论了方法的局限性和潜在影响,指出尽管缺乏强开源LLMs的训练数据混合信息,但实验表明仍能显著提升性能。未来计划在更大规模的LLMs上验证结论和策略。最后,作者强调了模型的研究性质,并将其开源,以促进医学领域大型语言模型和医学应用中语言模型安全性的研究。