CodeEditorBench: 大型语言模型的代码编辑能力评估
通过一个仔细设计的代码编辑任务基准以及结合自然语言指令的训练集,我们评估了几个最先进的大型语言模型,并揭示了现有开源和闭源模型之间的显著差距。同时,我们展示了通过精细调优开源代码语言模型可以显著提高其代码编辑能力。
Dec, 2023
大型语言模型 (LLMs) 在编码能力方面表现出色。然而,作为编程能力的另一个关键组成部分,LLMs 的调试能力仍未得到充分探索。我们介绍了 “DebugBench”,一个包含 4,253 个实例的 LLM 调试基准。它涵盖了 C++、Java 和 Python 中的四个主要漏洞类别和 18 个次要类型。通过使用 GPT-4 在源数据中植入漏洞,收集 LeetCode 社区的代码片段,并进行严格的质量检查来构建 DebugBench。我们以零样本场景中评估了两个商业和三个开源模型。我们发现,(1)与人类相比,GPT-4 等闭源模型的调试性能较差,Code Llama 等开源模型未能达到任何通过率;(2)调试的复杂性明显取决于漏洞类别;(3)运行时反馈对调试性能有明显影响,但并非总是有帮助。作为扩展,我们还比较了 LLM 调试和代码生成,发现闭源模型它们之间存在很强的关联。这些发现将有助于 LLM 在调试方面的发展。
Jan, 2024
最近的大型语言模型 (LLMs) 的进展显著增强了它们的编码能力。然而,现有的基准主要关注编程的简化或隔离方面,如单文件代码生成或存储库问题调试,无法全面衡量真实世界编程活动引发的各种挑战。为此,我们提出了 DevBench,这是一个全面的基准,评估 LLMs 在软件开发生命周期的各个阶段,包括软件设计、环境设置、实施、验收测试和单元测试。DevBench 涵盖了广泛的编程语言和领域,具备高质量的数据收集,并为每个任务设计和验证了仔细设计的指标。经验证实证研究表明,包括 GPT-4-Turbo 在内的当前 LLMs 未能解决 DevBench 中提出的挑战。分析显示,模型在理解存储库中的复杂结构、管理编译过程和掌握高级编程概念方面存在困难。我们的发现为未来 LLMs 的真实世界编程应用的发展提供了可行的洞察。我们的基准可以在此 https URL 获取。
Mar, 2024
评估大型语言模型在代码生成中的方法是一个开放性问题。本文提出了一个新的基准测试 - EvoCodeBench,用于解决现有基准测试与实际代码仓库的对接不足以及评估 LLMs 的编码能力不足的问题。
Mar, 2024
使用大语言模型(LLMs),将代码更改从一种编程语言翻译成另一种编程语言,通过设计和实现名为 Codeditor 的第一个 LLM,我们发现它在所有常用的自动指标上都大幅超越了现有的方法,并且与现有的生成模型配合使用可以获得更好的性能。
Jul, 2023
本文提出了一个面向代码的综合、无污染评估系统 LiveCodeBench,其中收集了来自 LeetCode、AtCoder 和 CodeForces 三个竞赛平台的问题,着重评估 LLMs 在代码生成以外的自修复、代码执行和测试输出预测等更广泛的代码相关能力。
Mar, 2024
本研究使用大型语言模型(LLMs)和 InstructCoder 数据集,探索用户指令下的代码编辑,涵盖评论插入、代码优化和代码重构等多个隐含任务。实验证明,在 InstructCoder 数据集上对开源 LLMs 进行精细调整,能够大多数情况下正确地编辑代码,展现了前所未有的代码编辑性能水平。
Oct, 2023
利用对最近的大型语言模型进行了代码测试的详尽分析,本研究展示了这些模型的一系列有趣性质,并展示了如何改进大型语言模型的程序测试能力,通过利用生成的测试用例来提高合成程序的质量,相较于 GPT-3.5-turbo 和最新的最先进技术,我们的方法在 HumanEval + 上的代码通过率分别提高了 11.77% 和 4.22%。
Oct, 2023
利用执行结果修正生成的代码,我们提出了一种基于人类编程阶段的生成和编辑方法来提高大型语言模型(LLM)在竞争性编程任务方面的代码质量,对使用不同参数大小的 9 种常见代码生成 LLM 在两个竞争性编程数据集上进行了广泛评估,相比于直接从 LLMs 生成的代码,我们的方法在 APP-dev 上的 pass@1 平均值提高了 89%,在 APPS-test 上提高了 31%,在 HumanEval 上提高了 48%,比其他后处理方法表现更优。
May, 2023