CodeBenchGen: 创建可扩展的基于执行的代码生成基准
评估大型语言模型在代码生成中的方法是一个开放性问题。本文提出了一个新的基准测试 - EvoCodeBench,用于解决现有基准测试与实际代码仓库的对接不足以及评估 LLMs 的编码能力不足的问题。
Mar, 2024
基于大型语言模型 (LLMs) 的自动化软件工程在最近的进展中得到了极大的增强。尽管当前的基准测试表明 LLMs 可以完成各种软件工程任务,如人类开发人员一样,但它们的大多数评估仅限于简短的、自包含的算法任务。解决具有挑战性和实际意义的编程任务需要利用多种函数调用作为工具,以有效地实现数据分析和 Web 开发等功能。此外,使用多个工具来解决一个任务需要通过准确理解复杂的指令来进行组合推理。同时实现这两个特征对于 LLMs 来说是一个巨大的挑战。为了评估 LLMs 解决具有挑战性和实际意义的编程任务的能力,我们引入了一个基准测试集 Bench,其中挑战 LLMs 以从 139 个库和 7 个领域中选择 1,140 个细粒度的编程任务中调用多个函数调用作为工具。为了对 LLMs 进行严格评估,每个编程任务包括 5.6 个测试用例,平均分支覆盖率达到 99%。此外,我们提出了 Bench 的自然语言导向变体 Benchi,它将原始的文档字符串自动转换为仅具有基本信息的简短指令。我们对 60 个 LLMs 进行了广泛评估,结果显示 LLMs 还不能准确地遵循复杂指令来使用函数调用,得分最高仅为 60%,明显低于人类的 97%。这些结果强调了在这个领域进一步改进的需要。
Jun, 2024
EffiBench 是一个包含 1000 个效率关键的编码问题的基准测试,用于评估由代码生成模型生成的代码的效率,结果表明 GPT-4 Turbo 生成的代码最有效,但仍比人工编写的规范解决方案效率低。
Feb, 2024
大型语言模型在生产性活动的代码生成方面表现出强大的能力。然而,当前的代码合成基准主要面向算法和数据科学的入门任务,在真实世界的编码中对具有挑战性的要求不够满足。为了填补这一差距,我们提出了 NaturalCodeBench(NCB)作为一个具有挑战性的代码基准,旨在模拟真实编码任务的复杂性和多样性。NCB 由来自在线编码服务的自然用户查询中精心挑选的 402 个高质量问题组成,涵盖了 6 个不同领域。我们还引入了半自动化流程来提高测试用例构建的效率,相比手动解决方案,效率提高了 4 倍以上。我们对 39 个大型语言模型进行了系统实验,发现在 NCB 上,具有接近 HumanEval 评分的模型之间的性能差距仍然可能很大,表明对实际代码合成场景的关注不足或在 HumanEval 上过度优化。另一方面,即使是表现最佳的 GPT-4 在 NCB 上仍然远未令人满意。评估工具和开发集可在此 URL 获取。
May, 2024
使用大规模生成模型和较小的编码器模型,语言模型可以帮助软件开发人员提高生产力,包括代码生成、代码补全、代码搜索等任务,并且可以通过新的基准数据集 GenCodeSearchNet (GeCS) 来评估语言模型对编程语言理解的泛化能力。
Nov, 2023
通过 CodeEditorBench,我们为 LLMs 的代码编辑能力提供了一个可靠的评估平台,其中 19 个 LLMs 的评估结果表明闭源模型(特别是 Gemini-Ultra 和 GPT-4)在 CodeEditorBench 中优于开源模型,并突出了基于问题类型和提示敏感性的模型性能差异。
Apr, 2024
通过 BiGGen Bench 的引入,对 77 个不同任务中的九种语言模型的生成能力进行了全面评估,并借助实例特定的评估标准来模拟人类评估的微妙辨别。该研究公开提供了代码、数据和评估结果。
Jun, 2024
本文提出了 BenchPress 和 BenchDirect,利用机器学习编译器生成基准测试案例,能够在源代码特征表示内定向生成可执行的函数,通过主动学习向已有数据集中引入具有未见过特征的新基准测试案例,成功地针对 Rodinia 的基准测试的特征进行了生成,模型的辨别和准确度效果优于现有方法。
Mar, 2023
本文提出了新的基准测试,包括 MBXP,Multilingual HumanEval 和 MathQA-X,以测试多语言环境下代码生成模型的性能,并发现了多语言模型的优势,以及通过 few-shot prompting 实现对模型新语言的教学能力和在单语言环境下的 zero-shot translation 能力。同时,作者还利用其代码生成模型在多种语言上实现了大规模引导过程,产生了其他与代码相关的评估任务中使用的合成规范解决方案。
Oct, 2022