论文
SkelDPO:用于高效代码生成的骨架引导直接偏好优化框架
SkelDPO: A Skeleton-Guided Direct Preference Optimization Framework for Efficient Code Generation
摘要
随着代码大语言模型(代码LLM)在实现语义正确性方面取得的显着进步,执行效率已成为评估其实用性越来越重要的维度。然而,现有方法通常将整个程序视为训练期间的单个优化目标,而没有明确地对影响效率的结构因素进行建模。因此,尽管这些模型可以生成语义上正确的代码,但它们无法在细粒度级别上学习导致高效实现的底层骨架特征。为了解决这个限制,我们提出了SkelDPO(骨架引导直接偏好优化),这是一种骨架引导的偏好优化框架,可以系统地提高代码生成的效率。 SkelDPO首先从代码数据集中识别出高效和低效的实现,通过比较分析,定位其高效点和低效点,形成高效和低效骨架之间的对齐信号。在训练过程中,引入了联合代码和骨架偏好损失,使模型能够学习语义正确性,同时加强对代码中效率关键组件的理解。结果表明,SkelDPO 始终超越现有方法:与仅依赖高效和低效代码偏好优化的 SOTA 方法相比,它将 Pass@1、Beyond@1 和 Effi@1 提高了 3-6%、3-7% 和 2-5%,并且在复杂任务上观察到更大的改进。总体而言,SkelDPO提供了骨架级效率对齐的新视角,打破了传统偏好优化仅依赖正确性或效率对的限制。所有数据集和源代码均可公开获取:https://github.com/icpcSkelDPO/SkelDPO。