用于代码生成的编码者-审查者重排序
机器学习
2022-11-30 v1 计算与语言
编程语言
软件工程
摘要
从代码语言模型中采样多样化的程序并使用模型似然进行重排序是代码生成的一种流行方法,但它容易倾向于退化的解。受协作编程的启发,我们提出了 Coder-Reviewer 重排序。我们在过往工作生成的 Coder 语言模型(给定语言指令生成程序)基础上,增加了 Reviewer 模型(评估给定生成程序下指令的似然)。我们在六个数据集上使用来自三个模型系列的八个模型进行了广泛研究。实验结果表明,与仅使用 Coder 模型重排序相比,Coder-Reviewer 重排序带来了一致且显著的提升(绝对准确率最高提升 17%)。当与可执行性过滤相结合时,Coder-Reviewer 重排序通常能够超越最小贝叶斯风险方法。Coder-Reviewer 重排序易于通过提示实现,可泛化至不同的编程语言,并且在使用现成超参数时依然表现良好。
引用
@article{arxiv.2211.16490,
title = {Coder Reviewer Reranking for Code Generation},
author = {Tianyi Zhang and Tao Yu and Tatsunori B. Hashimoto and Mike Lewis and Wen-tau Yih and Daniel Fried and Sida I. Wang},
journal= {arXiv preprint arXiv:2211.16490},
year = {2022}
}