Are Large Language Models Memorizing Bug Benchmarks?

📄 arXiv: 2411.13323v3 📥 PDF

作者: Daniel Ramos, Claudia Mamede, Kush Jain, Paulo Canelas, Catarina Gamboa, Claire Le Goues

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

发布日期: 2024-11-20 (更新: 2025-03-31)


💡 一句话要点

评估大型语言模型在缺陷基准测试中的记忆效应,揭示数据泄露风险

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

关键词: 大型语言模型 数据泄露 缺陷基准测试 模型评估 软件工程

📋 核心要点

  1. 现有软件工程基准测试可能存在数据泄露,导致大型语言模型评估结果失真。
  2. 通过分析模型在基准数据集上的表现,评估其记忆效应和数据泄露的程度。
  3. 实验表明,部分模型在特定基准上存在显著记忆效应,需谨慎选择基准并采用更可靠的评估指标。

📝 摘要(中文)

大型语言模型(LLMs)已成为代码生成、缺陷检测和修复等各种软件工程任务不可或缺的一部分。为了评估模型在这些领域的性能,已经开发了许多包含来自软件项目的真实缺陷的缺陷基准。然而,软件工程领域日益关注的是,由于数据泄露的风险,这些基准可能无法可靠地反映LLM的真实性能。尽管存在这种担忧,但量化潜在泄露影响的研究有限。在本文中,我们系统地评估了流行的LLM,以评估它们对广泛使用的缺陷基准的数据泄露的敏感性。为了识别潜在的泄露,我们使用了多种指标,包括对常用训练数据集中的基准成员资格的研究,以及对负对数似然和n-gram准确性的分析。我们的研究结果表明,某些模型,特别是codegen-multi,在广泛使用的基准(如Defects4J)中表现出明显的记忆效应,而使用更大的数据集训练的较新模型(如LLaMa 3.1)表现出有限的泄露迹象。这些结果突出了仔细选择基准以及采用稳健的指标来充分评估模型能力的需求。

🔬 方法详解

问题定义:论文旨在解决大型语言模型(LLMs)在软件缺陷基准测试中可能存在的“记忆”问题,即模型可能直接记住了训练数据中的缺陷,而非真正理解和解决问题。现有方法难以准确评估LLMs的真实能力,因为基准测试结果可能受到数据泄露的影响,导致高估模型性能。

核心思路:核心思路是通过多种指标来评估LLMs在缺陷基准测试中的表现,从而判断模型是否发生了“记忆”行为。这些指标包括:1)检查基准测试数据是否包含在模型的训练数据集中;2)分析模型在基准测试数据上的负对数似然;3)计算模型生成代码的n-gram准确率。通过综合这些指标,可以更全面地评估模型是否真正理解了缺陷,还是仅仅记住了训练数据。

技术框架:该研究的技术框架主要包括以下几个步骤:1)选择常用的缺陷基准测试数据集(如Defects4J);2)选择待评估的大型语言模型(如codegen-multi, LLaMa 3.1);3)分析基准测试数据在模型训练数据集中的存在情况;4)计算模型在基准测试数据上的负对数似然和n-gram准确率;5)综合分析各项指标,判断模型是否存在“记忆”行为。

关键创新:该研究的关键创新在于系统性地评估了大型语言模型在缺陷基准测试中可能存在的“记忆”问题,并提出了多种评估指标来量化数据泄露的风险。与以往研究相比,该研究更加关注基准测试的可靠性,并强调了选择合适的基准测试和评估指标的重要性。

关键设计:关键设计包括:1)使用负对数似然作为评估模型“记忆”程度的指标,较低的负对数似然可能表明模型对该数据更加熟悉;2)使用n-gram准确率来评估模型生成代码的相似度,较高的n-gram准确率可能表明模型只是简单地复制了训练数据;3)对比不同模型在相同基准测试上的表现,以评估不同模型对数据泄露的敏感程度。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

研究发现,某些模型(如codegen-multi)在Defects4J等基准测试中表现出明显的记忆效应,而使用更大数据集训练的较新模型(如LLaMa 3.1)表现出有限的泄露迹象。这表明模型大小和训练数据量可能影响其记忆能力。研究还强调了负对数似然和n-gram准确率等指标在评估数据泄露风险中的作用。

🎯 应用场景

该研究成果可应用于软件工程领域,帮助开发者更准确地评估大型语言模型在代码生成、缺陷检测和修复等任务中的能力。通过识别和避免使用存在数据泄露风险的基准测试,可以提高模型评估的可靠性,从而更好地指导模型训练和优化。此外,该研究也为未来基准测试的设计提供了参考,有助于构建更具挑战性和代表性的测试集。

📄 摘要(原文)

Large Language Models (LLMs) have become integral to various software engineering tasks, including code generation, bug detection, and repair. To evaluate model performance in these domains, numerous bug benchmarks containing real-world bugs from software projects have been developed. However, a growing concern within the software engineering community is that these benchmarks may not reliably reflect true LLM performance due to the risk of data leakage. Despite this concern, limited research has been conducted to quantify the impact of potential leakage. In this paper, we systematically evaluate popular LLMs to assess their susceptibility to data leakage from widely used bug benchmarks. To identify potential leakage, we use multiple metrics, including a study of benchmark membership within commonly used training datasets, as well as analyses of negative log-likelihood and n-gram accuracy. Our findings show that certain models, in particular codegen-multi, exhibit significant evidence of memorization in widely used benchmarks like Defects4J, while newer models trained on larger datasets like LLaMa 3.1 exhibit limited signs of leakage. These results highlight the need for careful benchmark selection and the adoption of robust metrics to adequately assess models capabilities.