LLM2D
PLUM:基于合成测试用例的执行引导型在线策略偏好学习改进代码大型语言模型
$\textbf{PLUM}$: Improving Code LMs with Execution-Guided On-Policy Preference Learning Driven By Synthetic Test Cases
作者: Dylan Zhang, Shizhe Diao, Xueyan Zou, Hao Peng
发布日期: 10/10/2024
arXiv ID: oai:arXiv.org:2406.06887v3

摘要

偏好学习为解决代码语言模型监督微调 (SFT) 的局限性提供了一种有前景的方案,在该方案中,模型并非明确地训练以区分正确和错误的代码。最近的研究表明,策略内数据是成功偏好学习的关键,其中偏好数据是使用正在训练的相同策略语言模型收集的。受此启发,我们提出了 PLUM,一个增强了代码语言模型测试用例的策略内偏好学习框架。该框架包含三个关键阶段:(1) 从自然语言指令自动生成测试用例;(2) 通过评估从策略中采样的候选代码解决方案来创建偏好数据,然后可用于 (3) 训练策略语言模型。PLUM 消除了训练奖励模型的需要,允许大规模的策略内和在线偏好数据收集。PLUM 在标准基准(HumanEval、MBPP)和更具挑战性的基准(LiveCodeBench)上进行了评估,与原始 SFT 模型和其他执行反馈驱动的方法相比,取得了显著改进。我们展示了 PLUM 的优势在各种广泛使用的代码语言模型中是一致的,即使它们已经通过 SFT 进行了良好的训练。例如,PLUM 在标准基准测试中的平均通过率提高了高达 4.8%,在 LiveCodeBench 中提高了 11.8%,证明了其有效性和泛化能力。我们还通过全面的实验论证了策略内和在线偏好学习的优势。