Terry Yue ZhuoMinh Chien VuJenny ChimHan HuWenhao YuRatnadira WidyasariImam Nur Bani YusufHaolan ZhanJunda HeIndraneil PaulSimon BrunnerChen GongThong HoangArmel Randy ZebazeXiaoheng HongWen-Ding LiJean KaddourMing XuZhihan ZhangPrateek YadavNaman JainAlex GuZhoujun ChengJiawei LiuQian LiuZijian WangDavid LoBinyuan HuiNiklas MuennighoffDaniel FriedXiaoning DuHarm de VriesLeandro Von Werra

摘要
自动化软件工程在大型语言模型(LLMs)编程方面的最新进展中得到了极大的推动。尽管当前的基准测试显示,LLMs 可以像人类开发人员一样执行各种软件工程任务,但大多数评估仍局限于简短且自包含的算法任务。解决具有挑战性和实际性的编程任务需要具备利用多种函数调用作为工具的能力,以高效实现数据处理和网页开发等功能。此外,使用多个工具解决问题需要通过准确理解复杂指令来进行组合推理。同时满足这两个特性对 LLMs 来说是一个巨大的挑战。为了评估 LLMs 在解决具有挑战性和实际性的编程任务方面的能力,我们引入了 Bench 基准测试,该基准测试要求 LLMs 从 139 个库和 7 个领域中调用多个函数来完成 1,140 个细粒度的编程任务。为了严格评估 LLMs,每个编程任务平均包含 5.6 个测试用例,分支覆盖率高达 99%。此外,我们提出了一种面向自然语言的 Bench 变体——Benchi,它自动将原始文档字符串转换为仅包含必要信息的简短指令。我们对 60 种 LLMs 进行了广泛的评估,结果显示这些模型尚不能完全遵循复杂指令精确使用函数调用,得分最高仅为 60%,远低于人类开发者 97% 的表现。结果强调了在这一领域进一步发展的必要性。
代码仓库
bigcode-project/bigcodebench
官方
tf
GitHub 中提及
stovecat/convcodeworld
GitHub 中提及
mlfoundations/Evalchemy
pytorch
GitHub 中提及
基准测试
| 基准 | 方法 | 指标 |
|---|---|---|
| code-generation-on-bigcodebench-complete | DeepSeek-Coder-V2-Instruct | Pass@1: 59.7 |
| code-generation-on-bigcodebench-complete | GPT-4o-2024-05-13 | Pass@1: 61.1 |
| code-generation-on-bigcodebench-instruct | DeepSeek-Coder-V2-Instruct | Pass@1: 48.2 |
| code-generation-on-bigcodebench-instruct | GPT-4o-2024-05-13 | Pass@1: 51.1 |