论文
面向代码偏好优化的函数级执行反馈
Function-Level Execution Feedback for Code Preference Optimization
摘要
过程监督已改进了数学推理,其中间步骤天然可表达为思维链。然而在代码生成中,过程监督仍未被充分探索,因为没有标准的步骤概念。监督可以指向行、推理轨迹或程序状态,导致不清楚该标注和优化什么。我们提出STEP-KTODER,一个代码偏好优化框架,把步骤定义为分解的多函数程序中的模块级函数,并通过自动生成的单元测试赋予二元正确性标签。我们的方法提供了逐步KTO的一种代码专属实例化,将函数级过程监督与针对完整程序的结果级反馈相结合。我们在HumanEval(+)、MBPP(+)、BigCodeBench和LiveCodeBench上评测,显示STEP-KTODER优于仅结果级的KTO和DPO。进一步分析表明基于执行的标签必不可少:LLM作为评审的标注系统性高估函数失败,污染正样本步骤标签,并使下游偏好优化退化。代码见:https://github.com/inechnech/STEP-KTODER。
