How Should We Build A Benchmark? Revisiting 274 Code-Related Benchmarks For LLMs

📄 arXiv: 2501.10711v3 📥 PDF

作者: Jialun Cao, Yuk-Kit Chan, Zixuan Ling, Wenxuan Wang, Shuqing Li, Mingwei Liu, Ruixi Qiao, Yuting Han, Chaozheng Wang, Boxi Yu, Pinjia He, Shuai Wang, Zibin Zheng, Michael R. Lyu, Shing-Chi Cheung

分类: cs.SE, cs.AI, cs.CL

发布日期: 2025-01-18 (更新: 2025-02-17)

备注: 42 pages


💡 一句话要点

提出How2Bench,一套评估代码相关LLM基准质量的综合指南。

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

关键词: 代码基准 大型语言模型 评估指南 数据质量 可复现性

📋 核心要点

  1. 现有代码相关LLM基准缺乏系统性开发指南,导致质量、可靠性和可复现性难以保证。
  2. 论文提出How2Bench,包含55条准则,为代码相关基准的开发提供全面指导。
  3. 通过对274个基准的分析和人工研究,揭示了现有基准在数据质量、开源和透明度方面的问题。

📝 摘要(中文)

本文针对大型语言模型(LLM)在不同编码场景下的性能评估,发现现有代码相关基准缺乏系统性的开发指南,难以保证其质量、可靠性和可复现性。为此,作者提出了How2Bench,包含55条准则的清单,旨在全面指导代码相关基准的开发。通过How2Bench,作者分析了过去十年发布的274个基准,发现数据质量保证措施不足(近70%),开源不完整(超过10%)等问题。许多高引用基准存在漏洞,如重复样本、错误的代码/测试/提示,以及未删除的敏感信息。一项包含49名参与者的人工研究表明,人们对数据质量、可复现性和透明度的重要性认识不足。

🔬 方法详解

问题定义:现有的大型语言模型(LLM)在代码生成、代码理解等任务上取得了显著进展,但缺乏一套系统性的方法来评估这些模型在不同编码场景下的性能。现有的代码相关基准存在数据质量参差不齐、可复现性差、透明度不足等问题,严重影响了评估结果的可靠性。这些问题源于缺乏统一的开发标准和质量控制流程。

核心思路:论文的核心思路是制定一套全面的指南(How2Bench),用于指导代码相关基准的开发,从而提高基准的质量、可靠性和可复现性。How2Bench通过提供详细的准则和检查清单,帮助研究人员在基准构建的各个阶段关注关键问题,例如数据收集、数据清洗、评估指标选择和结果验证。

技术框架:How2Bench的核心是一个包含55条准则的清单,这些准则涵盖了基准开发的各个方面,包括: 1. 数据质量:确保数据集的准确性、一致性和完整性,避免重复样本、错误标签和敏感信息。 2. 可复现性:提供完整的代码、数据和实验设置,以便其他研究人员能够复现实验结果。 3. 透明度:公开数据集的来源、构建过程和评估方法,以便更好地理解基准的局限性。 4. 评估指标:选择合适的评估指标来衡量模型的性能,并进行充分的统计分析。 5. 基准维护:定期更新基准,修复错误并添加新的数据和任务。

关键创新:该论文的关键创新在于提出了How2Bench,这是一套针对代码相关基准的综合评估指南。与以往的研究不同,How2Bench不仅关注基准的性能评估,更强调基准的构建过程和质量控制。通过提供详细的准则和检查清单,How2Bench可以帮助研究人员构建更高质量、更可靠和更可复现的基准。

关键设计:How2Bench的55条准则的设计是基于对现有基准的深入分析和对相关文献的广泛调研。这些准则被组织成不同的类别,例如数据质量、可复现性和透明度,每个类别包含多个具体的检查项。例如,在数据质量方面,How2Bench要求对数据集进行重复数据删除、错误标签修正和敏感信息过滤。在可复现性方面,How2Bench要求提供完整的代码、数据和实验设置,并进行充分的文档记录。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

通过对274个现有代码相关基准的分析,发现近70%的基准未采取数据质量保证措施,超过10%的基准未完全开源。人工研究表明,研究人员对数据质量、可复现性和透明度的重要性认识不足。这些发现突显了How2Bench的必要性和价值。

🎯 应用场景

该研究成果可应用于指导代码相关LLM基准的开发和评估,提高基准的质量和可靠性,从而更准确地评估LLM在代码领域的性能。这有助于推动LLM在软件工程、自动化编程等领域的应用,并促进相关技术的发展。

📄 摘要(原文)

Various benchmarks have been proposed to assess the performance of large language models (LLMs) in different coding scenarios. We refer to them as code-related benchmarks. However, there are no systematic guidelines by which such a benchmark should be developed to ensure its quality, reliability, and reproducibility. We propose How2Bench, which is comprised of a 55-criteria checklist as a set of guidelines to govern the development of code-related benchmarks comprehensively. Using HOW2BENCH, we profiled 274 benchmarks released within the past decade and found concerning issues. Nearly 70% of the benchmarks did not take measures for data quality assurance; over 10% did not even open source or only partially open source. Many highly cited benchmarks have loopholes, including duplicated samples, incorrect reference codes/tests/prompts, and unremoved sensitive/confidential information. Finally, we conducted a human study involving 49 participants, which revealed significant gaps in awareness of the importance of data quality, reproducibility, and transparency.