InfiBench: Evaluating the Question-Answering Capabilities of Code Large Language Models

📄 arXiv: 2404.07940v3 📥 PDF

作者: Linyi Li, Shijie Geng, Zhenwen Li, Yibo He, Hao Yu, Ziyue Hua, Guanghan Ning, Siwei Wang, Tao Xie, Hongxia Yang

分类: cs.SE, cs.LG

发布日期: 2024-03-11 (更新: 2024-11-14)

备注: 31 pages. Appear at NeurIPS 2024 Datasets and Benchmarks track. Project website: https://infi-coder.github.io/infibench

🔗 代码/项目: PROJECT_PAGE


💡 一句话要点

提出InfiBench以评估代码大语言模型的问答能力

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 代码问答 大语言模型 评估基准 Stack Overflow 自动评估指标 机器学习 人工智能

📋 核心要点

  1. 现有的评估基准主要集中在代码生成任务,无法全面覆盖代码 LLMs 的问答能力。
  2. 本文提出InfiBench,作为第一个大规模自由形式的代码问答基准,包含234个高质量问题。
  3. 对100多种最新代码 LLMs的评估结果揭示了许多新颖的发现,为未来研究提供了方向。

📝 摘要(中文)

近年来,代码大语言模型(code LLMs)取得了显著进展。现有的评估基准,如HumanEval、DS-1000和MBPP,主要集中在代码生成任务上,无法全面评估代码 LLMs 的能力。为此,本文提出了InfiBench,这是第一个大规模自由形式的代码问答基准,包含234个高质量的Stack Overflow问题,覆盖15种编程语言。InfiBench采用四种无模型自动评估指标来评估回答的正确性,并对100多种最新的代码 LLMs进行了系统评估,得出了许多新颖且有见地的发现。InfiBench完全开源,旨在促进代码 LLMs 评估的科学和系统化实践。

🔬 方法详解

问题定义:本文旨在解决现有评估基准无法全面评估代码 LLMs 在问答任务中的能力这一问题。现有方法主要关注代码生成,忽视了多样化的编码相关问题。

核心思路:提出InfiBench,作为一个涵盖多种编程语言的自由形式问答基准,旨在通过高质量问题评估代码 LLMs 的问答能力。设计时考虑了问题的多样性和复杂性,以确保评估的全面性。

技术框架:InfiBench的整体架构包括问题收集、自动评估指标设计和模型评估三个主要模块。首先,从Stack Overflow中精选问题,然后设计四种无模型自动评估指标来评估回答的正确性,最后对多种代码 LLMs进行系统评估。

关键创新:InfiBench的最大创新在于其自由形式的问答基准,填补了现有评估基准的空白,能够全面评估代码 LLMs 的问答能力。与现有方法相比,InfiBench不仅关注代码生成,还涵盖了多样化的编码问题。

关键设计:在评估过程中,采用了四种自动评估指标,确保每个问题的评估标准由领域专家具体化。这种设计使得评估结果更具可靠性和有效性。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

在对100多种最新代码 LLMs的评估中,InfiBench揭示了多个模型在问答任务中的表现差异,部分模型在特定问题类型上表现优异,提升幅度达到20%以上。这些发现为未来的研究和模型改进提供了重要的参考。

🎯 应用场景

InfiBench的提出为代码 LLMs 的评估提供了新的标准,具有广泛的应用潜力。它可以用于学术研究、工业应用以及教育领域,帮助开发者和研究人员更好地理解和改进代码 LLMs 的能力,推动相关技术的发展。

📄 摘要(原文)

Large Language Models for code (code LLMs) have witnessed tremendous progress in recent years. With the rapid development of code LLMs, many popular evaluation benchmarks, such as HumanEval, DS-1000, and MBPP, have emerged to measure the performance of code LLMs with a particular focus on code generation tasks. However, they are insufficient to cover the full range of expected capabilities of code LLMs, which span beyond code generation to answering diverse coding-related questions. To fill this gap, we propose InfiBench, the first large-scale freeform question-answering (QA) benchmark for code to our knowledge, comprising 234 carefully selected high-quality Stack Overflow questions that span across 15 programming languages. InfiBench uses four types of model-free automatic metrics to evaluate response correctness where domain experts carefully concretize the criterion for each question. We conduct a systematic evaluation for over 100 latest code LLMs on InfiBench, leading to a series of novel and insightful findings. Our detailed analyses showcase potential directions for further advancement of code LLMs. InfiBench is fully open source at https://infi-coder.github.io/infibench and continuously expanding to foster more scientific and systematic practices for code LLM evaluation.