颠覆传统:北大李戈团队新框架通过偏好学习提升代码准确性与执行效率

生成效率也有提升

颠覆传统:北大李戈团队新框架通过偏好学习提升代码准确性与执行效率

原标题:将偏好学习引入模型训练,北大李戈团队新框架,可显著提升代码准确性执行效率
文章来源:量子位
内容字数:7262字

CodeDPO:一种新型代码生成优化框架

北大李戈教授团队与字节跳动合作,提出了一种新型代码生成优化框架——CodeDPO,旨在解决现有监督微调(SFT)方法在代码生成过程中的局限性。该框架通过引入偏好学习,极大提升了代码生成的准确性和执行效率。

1. 背景与问题

尽管SFT方法提高了代码生成的质量,但它未能有效训练模型在正确与错误解决方案之间做出偏好选择,导致生成不理想输出的概率上升。为了解决这一问题,CodeDPO将偏好学习融入代码模型训练中,通过自验证机制提升模型的生成能力。

2. CodeDPO的关键步骤

CodeDPO的训练过程包含四个关键步骤:

  1. 数据种子构建:收集开源代码库中的数据种子,生成编程任务提示。
  2. 正确性优化与自验证评分:生成代码与测试,通过自验证机制评估并优化代码的正确性。
  3. 执行时间效率优化:在可信测试集上测量执行时间,构建效率优化数据集。
  4. 模型偏好训练:使用DPO方法训练模型,提升其对正确和高效代码的偏好。

3. 自验证机制与效率评估

CodeDPO通过自验证机制从真实代码库构建数据集,假设能够通过更多代码片段的测试用例更为可靠。每个代码片段和测试用例首先获得一个自验证分数,随后通过类PageRank算法进行迭代更新,以反映其正确性与效率。

4. 实验结果与提升效果

研究团队在HumanEval、MBPP和DS-1000数据集上进行了广泛的实验,结果表明CodeDPO在所有模型上均带来了显著提升。在DeepSeekCoder-6.7B模型上,配合SFT策略,最终在HumanEval上达到了83.5%的通过率。此外,生成代码的执行效率也得到了显著提升,平均加速1.25至1.45倍。

5. 结论与未来展望

CodeDPO框架展示了自生成、验证机制和偏好学习在代码生成领域的有效性,为未来更大规模的代码偏好优化奠定基础。该框架降低了对优质测试用例的依赖,有望在实际应用中帮助开发团队生成更优质的代码,提升软件的可靠性和交付质量。


联系作者

文章来源:量子位
作者微信:
作者简介:追踪人工智能新趋势,关注科技行业新突破

阅读原文
© 版权声明

相关文章

暂无评论

暂无评论...