在人工智能的快速发展中,大型语言模型(LLMs)如雨后春笋般涌现,成为语言技术的基础。随着OpenAI的ChatGPT、Google的PaLM等产品的问世,LLMs的推理能力也引发了广泛的关注。近期,来自国防科技大学的研究团队在一篇名为《代码数据在何种训练阶段帮助LLMs推理?》的论文中,系统探讨了代码数据对LLMs推理能力的影响,揭示了这一领域的深层次秘密。
一、代码数据的引入
LLMs的成功与训练数据和策略密不可分。研究表明,与通常的文本数据相比,代码数据更具逻辑性且歧义较少。这使得代码数据在增强模型推理能力方面显得尤为重要。根据研究,模型在代码数据的预训练阶段表现出更好的推理能力,几乎没有对其他任务产生负面影响。
例如,研究团队在预训练阶段使用了文本与代码的混合数据进行训练,结果显示,这种混合训练显著提升了模型的推理能力。具体而言,在逻辑推理、法律推理、科学推理等多项任务中,加入代码数据的模型表现优于仅训练于文本数据的模型。相关实验结果表明,代码数据的引入,使得LLMs在一般推理任务中的表现有了显著提升。
二、动态混合策略的优势
为了更好地理解代码数据的作用,研究者们设计了一种动态混合策略,逐步引导模型学习推理能力。在预训练阶段,模型首先接触更多的代码数据,然后逐步过渡到文本数据。这一策略不仅帮助模型在复杂推理任务中提高了性能,还保证了在其他推理任务中的稳定性。
在实验中,采用逐步增加代码数据比例的策略,模型在代码问答任务和代码生成任务中的表现优于采用均匀采样的策略。这表明,逐步学习的策略能够更有效地激活模型的推理能力,从而提升其在特定任务上的表现。
三、指令调优阶段的启示
在指令调优阶段,代码数据的引入同样展现了其独特的价值。研究发现,虽然在这一阶段加入代码数据的效果不如在预训练阶段显著,但其仍然能够提升模型的代码推理能力,尤其是在代码生成任务中表现得尤为突出。这可能是由于代码指令激活了模型的代码推理能力,使得模型能够更有效地遵循自然语言指令并生成符合要求的代码。
例如,当模型在处理复杂的代码任务时,经过代码数据调优的模型能够更好地理解指令并生成正确的代码。这为未来在特定领域的应用提供了有力支持。
四、链式推理的潜力
在研究中,链式推理(Chain-of-Thought,CoT)技术的引入也被证实能够显著提升模型在复杂推理任务中的表现。通过将相关推理步骤串联起来,模型能够更清晰地理解问题并生成相应的答案。实验结果表明,经过链式推理训练的模型,在推理能力上有了明显的提升,尤其是在科学问题和类比推理任务中表现突出。
五、结论与未来展望
综上所述,代码数据的引入在不同训练阶段对LLMs的推理能力产生了深远影响。研究团队的实验表明,在预训练阶段引入代码数据能够显著提高模型的一般推理能力,而在指令调优阶段则有助于提升模型的任务特定推理能力。通过动态混合策略的有效应用,模型能够在学习过程中逐步提升推理能力。
未来,研究团队计划深入探讨不同规模模型的代码数据影响,以及代码数据与新兴能力之间的关系。这为LLMs的发展提供了新的视角和研究方向。
参考文献
- Yingwei Ma, Yue Liu, Yue Yu, Yuanliang Zhang, Yu Jiang, Changjian Wang, Shanshan Li. “At Which Training Stage Does Code Data Help LLMs Reasoning?” ICLR 2024.
- Brown, T. B., Mann, B., Ryder, N., Subbiah, M., Kaplan, J., Dhariwal, P., et al. (2020). “Language Models are Few-Shot Learners.” NeurIPS 2020.
- Wei, J., Wang, X., Schuurmans, D., et al. (2022). “Chain of Thought Prompting Elicits Reasoning in Large Language Models.” NeurIPS 2022.
- Ouyang, L., Wu, J., Jiang, X., et al. (2022). “Training Language Models to Follow Instructions with Human Feedback.” NeurIPS 2022.
- Liang, P., et al. (2022). “Evaluating Large Language Models Trained on Code.” NeurIPS 2022.