它能编辑吗?评估大语言模型遵循代码编辑指令的能力
软件工程
2024-09-25 v6 人工智能
机器学习
编程语言
摘要
大量研究致力于开发和评估用于各种代码合成任务的大语言模型。这些任务包括从自然语言合成代码、从代码合成测试以及合成代码的解释。相比之下,使用 LLM 进行指令式代码编辑的行为却鲜少被研究。这类任务要求向模型提供一段代码和一条修改代码的指令。编辑指令可能要求添加或删除某个特性、描述一个 bug 并要求修复,或者要求一种不同的解决方案。我们引入了一个精心制作的代码编辑任务基准,并用它评估了几个前沿的 LLM。我们的评估揭示了 SOTA 开源与闭源模型能力之间的显著差距。例如,即使是 GPT-3.5-Turbo 在代码编辑任务上也优于最好的开源模型。我们还引入了一个新的、精心策划的、许可宽松的代码编辑任务训练数据集,并附带自然语言指令。使用该训练数据集,我们展示了可以对开源 Code LLM 进行微调以显著提升其代码编辑能力,从而缩小开源与闭源模型之间的差距。所有代码、数据和模型均可在 https://github.com/nuprl/CanItEdit 获取。
引用
@article{arxiv.2312.12450,
title = {Can It Edit? Evaluating the Ability of Large Language Models to Follow Code Editing Instructions},
author = {Federico Cassano and Luisa Li and Akul Sethi and Noah Shinn and Abby Brennan-Jones and Jacob Ginesin and Edward Berman and George Chakhnashvili and Anton Lozhkov and Carolyn Jane Anderson and Arjun Guha},
journal= {arXiv preprint arXiv:2312.12450},
year = {2024}
}