一、摘要
本文跟大家一起阅读的是清华大学的论文《MiniCPM: Unveiling the Potential of Small Language Models with Scalable Training Strategies》
摘要:
对具有高达万亿参数的大型语言模型(LLMs)的兴趣日益增长,但同时也引发了对资源效率和实际成本的担忧,特别是考虑到实验的巨大成本。这种情况凸显了探索小型语言模型(SLMs)作为一种资源高效的替代方案的重要性。在此背景下,我们推出了 MiniCPM,特别是 12 亿和 24 亿非嵌入参数变体,它们不仅在各自类别中表现出色,而且展示出与 70 亿至 130 亿参数的大型语言模型相当的能力。在专注于小型语言模型的同时,我们的方法在模型和数据维度上都具有可扩展性,为未来的大型语言模型研究提供了方向。关于模型扩展,我们进行了广泛的模型风洞实验,以实现稳定和最优的扩展。对于数据扩展,我们引入了一种预热-稳定-衰减(WSD)学习率调度器(LRS),有利于持续训练和领域适应。我们对 WSD 学习率调度器中出现的有趣训练动态进行了深入分析。借助 WSD 学习率调度器,我们现在能够高效地研究数据-模型扩展规律,而无需在模型和数据两个轴上进行大量的重新训练实验,由此我们得出了比 Chinchilla 最优方案高得多的计算最优数据-模型比。此外,我们推出了 MiniCPM 系列,包括 MiniCPM-DPO、MiniCPM-MoE 和 MiniCPM-128K,它们的出色性能进一步巩固了 MiniCPM 在各种小型语言模型应用中的基础。
二、核心创新点
作者在文中指出,随着大语言模型的规模愈发庞大,其部署和日常应用上的阻力也越来越大,有必要探索小型语言模型的有效性。如果能够训练出一个媲美主流大模型的小型语言模型,那么部署和落地的难度将大大减小。
1、模型风洞实验
作者认为,模型训练的许多方面在不同规模下应当是通用的。因此应该通过小型语言模型(SLM)进行广泛的实验来探索其极限,并将经验转移到LLM中。这些实验采用了开发飞机时风洞实验的精神,论文中主要包含三个部分:超参数、最佳批量大小缩放、最佳学习率稳定性。
- 超参数:在常规的训练中为每个模型调整超参数对于LLM来说是不太可行的,因为这需要大量的计算资源,即便是SLM。Mini CPM系列模型同时使用了Tensor Program所提出的宽度缩放和深度缩放技术,且并未使用注意力softmax缩放技术。
- 批量大小:batch_size决定了模型的收敛速度和计算资源消耗之间的平衡,作者根据预期的损失确定batch_size。
- 最佳学习率:由于使用了Tensor Program中的缩放策略,作者预计在模型缩放过程中学习率不会发生明显的变化,实验表明尽管模型大小增加了十倍,最佳学习率基本都维持在0.01左右。
2、两阶段预训练策略
常规的LLM训练一般包括预训练阶段和有监督微调(SFT)阶段。结合实验结果,作者提出了以下的训练策略:在预训练阶段,只使用大规模粗质量的预训练数据,这些数据丰富,在提供更多计算资源的情况下可以支持持续训练。在annealing阶段,使用多样化和高质量的知识和以能力为导向的SFT数据,并混合到预训练数据中。实验结果表明,在衰减阶段开始时引入高质量数据的好处远高于在SFT阶段简单地增加数据,因此作者建议从衰减阶段开始对模型能力进行专业化和增强。