AuPair:用于代码修复的黄金示例对
软件工程
2025-02-27 v1 人工智能
计算与语言
机器学习
摘要
通过增加推理时间计算量是提升大型语言模型(LLM)性能而不进行微调的有效策略之一。能够从受益于额外推理时间计算的重要任务是自我修复;给定初始的错误响应或猜测,LLM 纠正自身的错误并生成改进后的响应。我们利用 LLM 的基于上下文的学习能力,在编码领域实现自我修复。本文的关键贡献是一种方法,用于合成和选择这些初始猜测与后续修复对应的有序黄金示例对(AuPair)。每个 AuPair 作为单个上下文示例提供给推理时,以生成修复后的解决方案。对于每个问题的 次 LLM 调用的推理时间计算预算,将使用 个 AuPair 来生成 个修复后的解决方案,其中得分最高的解决方案被选为最终答案。其 underlying intuition(潜在直觉)是:如果 LLM 每次都 given 一个修复错误猜测的不同示例,它就可以随后生成多样化的一组修复后的解决方案。我们的算法以最大化互补性和有用性的方式选择这些 AuPair。我们在 5 个 LLM 上通过 7 个竞赛编程数据集进行代码修复任务的实验。我们的算法在最佳- 和自我修复之外显著提升了性能,并且在数据集和模型之间展现出强大的泛化能力。此外,我们的方法在推理时间计算预算提升方面显著优于基线。
引用
@article{arxiv.2502.18487,
title = {AuPair: Golden Example Pairs for Code Repair},
author = {Aditi Mavalankar and Hassan Mansoor and Zita Marinho and Masha Samsikova and Tom Schaul},
journal= {arXiv preprint arXiv:2502.18487},
year = {2025}
}