Dynamic Benchmarking of Reasoning Capabilities in Code Large Language Models Under Data Contamination

📄 arXiv: 2503.04149v2 📥 PDF

作者: Simin Chen, Pranav Pusarla, Baishakhi Ray

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

发布日期: 2025-03-06 (更新: 2025-06-03)

备注: This paper is accepted to ICML 2025. Website: https://codekaleidoscope.github.io/dycodeeval.html


💡 一句话要点

提出 ool动态基准测试方法,评估代码大语言模型在数据污染下的推理能力

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

关键词: 代码大语言模型 基准测试 数据污染 动态数据生成 推理能力评估

📋 核心要点

  1. 现有代码大语言模型基准测试依赖人工数据集,易受训练数据污染,导致评估结果失真。
  2. ool通过智能体自动生成语义等价的编程问题变体,动态构建基准测试集,降低数据污染的影响。
  3. 实验表明, ool能有效评估Code LLM在数据污染下的推理能力,并生成多样化的问题集。

📝 摘要(中文)

代码大语言模型(Code LLM)的快速发展,亟需有效且透明的推理能力基准测试。然而,当前方法严重依赖公开的人工数据集,使得基准测试过程静态化,易受数据污染影响。现有解决数据污染的方法存在人工成本高、问题复杂度不平衡等问题。为应对这些挑战,我们提出了 ool,一种新颖的基准测试套件,用于评估潜在数据污染下的Code LLM。给定一个种子编程问题, ool利用多个智能体提取和修改上下文,在不改变核心逻辑的情况下生成语义等价的变体。我们引入了一种动态数据生成方法,并在两个种子数据集和21个Code LLM上进行了实证研究。结果表明, ool有效地评估了污染风险下的推理能力,同时生成了多样化的问题集,确保一致和可靠的评估。

🔬 方法详解

问题定义:论文旨在解决代码大语言模型(Code LLM)基准测试中,因训练数据污染导致评估结果不准确的问题。现有基准测试方法依赖于静态的、公开的人工数据集,这些数据集容易被LLM在训练过程中学习,从而使得模型在测试集上表现虚高,无法真实反映其推理能力。现有解决数据污染的方法,如人工构造对抗样本,存在成本高、效率低,且难以保证问题复杂度平衡等问题。

核心思路:论文的核心思路是动态生成基准测试集,通过自动化的方式,基于少量“种子”问题,生成大量语义等价但表达形式不同的变体。这样可以有效降低LLM直接从训练数据中“记忆”答案的可能性,从而更准确地评估其真实的推理能力。这种动态生成的方法可以降低人工成本,并能灵活控制生成问题的多样性和复杂度。

技术框架: ool的整体框架包含以下几个主要模块:1) 种子问题选择:选择少量具有代表性的编程问题作为种子。2) 上下文提取与修改:利用多个智能体(agents)分析种子问题,提取关键的上下文信息,并进行修改,例如变量名替换、代码结构调整等。3) 变体生成:基于修改后的上下文,生成语义等价的编程问题变体。4) 模型评估:使用生成的变体作为测试集,评估Code LLM的性能。5) 结果分析:分析模型在不同变体上的表现,评估其在数据污染下的推理能力。

关键创新:最重要的技术创新点在于动态数据生成方法,它能够自动生成大量语义等价的编程问题变体。与现有方法相比,该方法无需人工干预,可以高效地生成多样化的测试用例,从而更全面地评估Code LLM的推理能力。此外,通过控制智能体的行为,可以灵活调整生成问题的难度和复杂度,从而更好地适应不同模型的评估需求。

关键设计:论文中关于智能体的设计是关键。每个智能体负责不同的上下文修改任务,例如变量重命名、代码结构调整、注释修改等。这些智能体协同工作,共同生成语义等价的变体。具体的参数设置和损失函数未知,因为论文摘要中没有提及。但是可以推测,智能体的训练可能涉及到强化学习或模仿学习,以确保生成的变体在语义上与原始问题等价。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

实验结果表明, ool能够有效地评估Code LLM在数据污染下的推理能力。在两个种子数据集和21个Code LLM上的实验表明,使用 ool生成的测试集,可以更准确地反映模型的真实性能,并发现模型在传统基准测试中难以暴露的问题。具体的性能数据和提升幅度在摘要中未给出,需要查阅原文。

🎯 应用场景

该研究成果可应用于代码大语言模型的评测与改进,帮助开发者更准确地了解模型的推理能力,并针对性地进行优化。此外,该方法也可用于检测模型是否存在过拟合或记忆训练数据的问题,从而提高模型的泛化能力和鲁棒性。未来,该方法可扩展到其他自然语言处理任务,如文本摘要、机器翻译等。

📄 摘要(原文)

The rapid evolution of code largelanguage models underscores the need for effective and transparent benchmarking of their reasoning capabilities. However, the current benchmarking approach heavily depends on publicly available, human-created datasets. The widespread use of these fixed benchmark datasets makes the benchmarking process to be static and thus particularly susceptible to data contamination, an unavoidable consequence of the extensive data collection processes used to train Code LLMs. Existing approaches that address data contamination often suffer from human effort limitations and imbalanced problem complexity. To tackle these challenges, we propose \tool, a novel benchmarking suite for evaluating Code LLMs under potential data contamination. Given a seed programming problem, \tool employs multiple agents to extract and modify the context without altering the core logic, generating semantically equivalent variations. We introduce a dynamic data generation methods and conduct empirical studies on two seed datasets across 21 Code LLMs. Results show that \tool effectively benchmarks reasoning capabilities under contamination risks while generating diverse problem sets to ensure consistent and reliable evaluations.