本文是LLM系列文章,针对《Unlock the Correlation between Supervised Fine-Tuning and Reinforcement Learning in Training Code Large Language Models》的翻译。
摘要
自动代码生成一直是一个由来已久的研究课题。随着通用大型语言模型 (LLM) 的进步,编码能力成为衡量模型推理性能的重要指标之一。通常,为了获得 Code LLM,会实施两个阶段的训练范式,即预训练和微调。在微调中,监督微调 (SFT) 和强化学习 (RL) 通常用于提高模型的零样本能力。已经进行了大量工作,通过修改算法或优化数据集来提高模型在代码相关基准上的性能。然而,我们仍然缺乏对 SFT 和 RL 之间相关性的深刻见解。例如,应该使用什么样的数据集来确保泛化,或者如果我们在微调中放弃 SFT 阶段怎么办。在这项工作中,我们试图理解 SFT 和 RL 之间的相关性。为了促进我们的研究,我们手动制作了 100 个基础 python 函数,称为原子函数,然后部署了一个综合管道,以在原子函数之上创建大量合成函数。通过这种方式,我们尽量避免数据污染等问题。通过全面的消融研究,我们发现:(1) 原子和合成函数对于 SFT 的泛化都是必不可少