AI 能在 JavaBench 上击败本科生的入门级 Java 作业吗?
基于大型语言模型 (LLMs) 的自动化软件工程在最近的进展中得到了极大的增强。尽管当前的基准测试表明 LLMs 可以完成各种软件工程任务,如人类开发人员一样,但它们的大多数评估仅限于简短的、自包含的算法任务。解决具有挑战性和实际意义的编程任务需要利用多种函数调用作为工具,以有效地实现数据分析和 Web 开发等功能。此外,使用多个工具来解决一个任务需要通过准确理解复杂的指令来进行组合推理。同时实现这两个特征对于 LLMs 来说是一个巨大的挑战。为了评估 LLMs 解决具有挑战性和实际意义的编程任务的能力,我们引入了一个基准测试集 Bench,其中挑战 LLMs 以从 139 个库和 7 个领域中选择 1,140 个细粒度的编程任务中调用多个函数调用作为工具。为了对 LLMs 进行严格评估,每个编程任务包括 5.6 个测试用例,平均分支覆盖率达到 99%。此外,我们提出了 Bench 的自然语言导向变体 Benchi,它将原始的文档字符串自动转换为仅具有基本信息的简短指令。我们对 60 个 LLMs 进行了广泛评估,结果显示 LLMs 还不能准确地遵循复杂指令来使用函数调用,得分最高仅为 60%,明显低于人类的 97%。这些结果强调了在这个领域进一步改进的需要。
Jun, 2024
最近的大型语言模型 (LLMs) 的进展显著增强了它们的编码能力。然而,现有的基准主要关注编程的简化或隔离方面,如单文件代码生成或存储库问题调试,无法全面衡量真实世界编程活动引发的各种挑战。为此,我们提出了 DevBench,这是一个全面的基准,评估 LLMs 在软件开发生命周期的各个阶段,包括软件设计、环境设置、实施、验收测试和单元测试。DevBench 涵盖了广泛的编程语言和领域,具备高质量的数据收集,并为每个任务设计和验证了仔细设计的指标。经验证实证研究表明,包括 GPT-4-Turbo 在内的当前 LLMs 未能解决 DevBench 中提出的挑战。分析显示,模型在理解存储库中的复杂结构、管理编译过程和掌握高级编程概念方面存在困难。我们的发现为未来 LLMs 的真实世界编程应用的发展提供了可行的洞察。我们的基准可以在此 https URL 获取。
Mar, 2024
推动自动化编程需要强大和全面的代码生成基准,然而当前的评估框架在功能编程 (FP) 方面相对而言忽视了面向对象编程 (OOP),本研究引入了一个面向对象编程的开创性基准,包含了 431 个涵盖关键的 OOP 概念和特性的 Python 程序,并提出了一个新的针对 OOP 的评估指标 pass@o,改进了传统的 pass@k 度量,研究结果表明 pass@o 为 OOP 代码生成提供了更相关和全面的评估,专注于代码的语言模型在功能编程方面表现出色,但在 OOP 方面则不及 ChatGPT 等模型,对所有高级代码语言模型在面向对象编程基准上的不良表现突显了这一领域需要的改进。
Jan, 2024
通过以人、过程和技术为视角,功能性和安全性为支柱,使用我们的统一评估框架,对 23 个最先进的 LLM 基准进行了研究,发现了显著的限制,并强调了在人工智能进步的背景下,标准化方法、监管确定性和伦理指南的迫切需求,以及通过协作努力发展被广泛接受的基准和增强人工智能系统融入社会的重要性。
Feb, 2024
本研究对 Python 代码生成的两个广泛应用的基准测试 ——HumanEval 和 MBPP 进行了大规模人工评估,重点关注它们的多样性与难度。研究结果发现,现有基准测试对少数编程概念存在显著偏向,而对大多数概念几乎没有或没有代表性的呈现。此外,研究还发现易于完成的编程问题所占比例极高,可能导致对模型在代码生成任务上性能的过高评价。
Jan, 2024
最近大型语言模型 (LLM) 在许多数学基准上取得显著进展,但大多数基准只涉及初高中科目的问题和多项选择题,且仅限于有限范围的基本算术操作。为解决这些问题,本文引入了一个广泛的基准套件 SciBench,旨在系统地检验复杂科学问题解决所需的推理能力。SciBench 包含两个精心策划的数据集:一个开放集,包含从数学、化学和物理教科书中提取的多领域的大学级科学问题;一个封闭集,包含了计算机科学和数学本科考试中的问题。基于这两个数据集,我们对两个代表性 LLM 进行了深入的基准研究,采用多种提示策略。结果表明,当前 LLM 的表现不尽如人意,综合得分仅为 35.80%。此外,通过详细的用户研究,我们将 LLM 的错误归类为十种问题解决能力。我们的分析表明,没有一种单一的提示策略明显优于其他策略,而且一些策略在某些问题解决技能上的提高会导致其他技能下降。我们预计 SciBench 将催生 LLM 的推理能力进一步发展,从而最终促进科学研究和发现。
Jul, 2023
大型语言模型在生产性活动的代码生成方面表现出强大的能力。然而,当前的代码合成基准主要面向算法和数据科学的入门任务,在真实世界的编码中对具有挑战性的要求不够满足。为了填补这一差距,我们提出了 NaturalCodeBench(NCB)作为一个具有挑战性的代码基准,旨在模拟真实编码任务的复杂性和多样性。NCB 由来自在线编码服务的自然用户查询中精心挑选的 402 个高质量问题组成,涵盖了 6 个不同领域。我们还引入了半自动化流程来提高测试用例构建的效率,相比手动解决方案,效率提高了 4 倍以上。我们对 39 个大型语言模型进行了系统实验,发现在 NCB 上,具有接近 HumanEval 评分的模型之间的性能差距仍然可能很大,表明对实际代码合成场景的关注不足或在 HumanEval 上过度优化。另一方面,即使是表现最佳的 GPT-4 在 NCB 上仍然远未令人满意。评估工具和开发集可在此 URL 获取。
May, 2024
本文提出了一个面向代码的综合、无污染评估系统 LiveCodeBench,其中收集了来自 LeetCode、AtCoder 和 CodeForces 三个竞赛平台的问题,着重评估 LLMs 在代码生成以外的自修复、代码执行和测试输出预测等更广泛的代码相关能力。
Mar, 2024
计算机科学(CS)是人类智能复杂性的证明,深刻推动了人工智能和现代社会的发展。我们引入 CS-Bench,这是第一个专门用于评估 LLM 在计算机科学领域性能的双语(中英文)基准,包括大约 5K 个精心策划的测试样本,涵盖计算机科学的 4 个关键领域的 26 个子领域,包括各种任务形式和知识推理的划分。利用 CS-Bench,我们对 30 多个主流 LLM 进行了全面评估,揭示了 CS 性能与模型规模之间的关系,并定量分析了现有 LLM 失败的原因,并强调了知识补充和 CS 特定推理等改进方向。进一步的跨能力实验显示 LLM 在计算机科学领域能力与数学和编码能力之间存在高度相关性。此外,专注于数学和编码的专家 LLM 在几个 CS 子领域也表现出强大的性能。展望未来,我们预见 CS-Bench 将成为 LLM 在 CS 领域应用的基石,并为评估 LLM 的多样化推理能力开辟新的途径。CS-Bench 的数据和评估代码可在此 https URL 上找到。
Jun, 2024