Scoring Verifiers: Evaluating Synthetic Verification for Code and Reasoning

📄 arXiv: 2502.13820v3 📥 PDF

作者: Aleksander Ficek, Somshubra Majumdar, Vahid Noroozi, Boris Ginsburg

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

发布日期: 2025-02-19 (更新: 2025-07-30)

备注: COLM 2025


💡 一句话要点

提出评估合成验证器的新基准,用于提升代码和推理能力。

🎯 匹配领域: 支柱二:RL算法与架构 (RL & Architecture) 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 代码验证 合成验证 大型语言模型 测试用例生成 推理能力

📋 核心要点

  1. 现有方法在评估合成验证器(如测试用例生成)的有效性方面缺乏标准化的基准和评估指标。
  2. 论文核心思想是将现有代码基准转化为评分和排序数据集,从而评估合成验证器的性能。
  3. 实验结果表明,基于推理的方法可以显著提升测试用例生成质量,增加测试用例数量可以提高验证准确率。

📝 摘要(中文)

本文提出了一种评估合成验证器有效性的方法,通过将现有的代码基准转换为评分和排序数据集。合成验证技术,如生成测试用例和奖励建模,是增强大型语言模型(LLM)编码能力的常用方法。代码验证最近在通过强化学习提高LLM的推理能力方面取得了巨大成功。本文提出了多个指标,用于衡量合成验证器的不同方面。通过提出的方法,发布了四个新的基准(HE-R, HE-R+, MBPP-R, and MBPP-R+),并使用标准、基于推理和基于奖励的LLM分析了合成验证方法。实验表明,推理可以显著改善测试用例的生成,并且增加测试用例的数量可以提高验证精度。

🔬 方法详解

问题定义:现有的大型语言模型(LLM)在代码生成和推理方面取得了显著进展,但如何有效验证这些模型生成的代码的正确性仍然是一个挑战。传统的测试用例可能不足以覆盖所有情况,而人工编写测试用例成本高昂。因此,需要有效的合成验证方法,但缺乏标准化的评估基准来衡量这些方法的性能。

核心思路:论文的核心思路是将现有的代码基准(如HumanEval和MBPP)转化为评分和排序数据集。具体来说,对于每个代码问题,生成多个不同的验证器(例如,不同的测试用例集合),然后根据这些验证器对代码的验证结果进行评分和排序。这样,就可以通过比较不同验证器的评分和排序结果来评估它们的有效性。

技术框架:该方法主要包含以下几个阶段:1) 选择现有的代码基准(如HumanEval和MBPP);2) 使用不同的合成验证方法生成多个验证器;3) 使用这些验证器对代码进行验证,并根据验证结果进行评分;4) 对验证器进行排序,并使用提出的指标评估它们的性能。论文提出了HE-R, HE-R+, MBPP-R, and MBPP-R+四个新的基准数据集。

关键创新:该论文的关键创新在于提出了一个通用的框架,可以将现有的代码基准转化为评分和排序数据集,从而评估合成验证器的性能。与传统的评估方法相比,该方法更加灵活和可扩展,可以用于评估各种不同的合成验证方法。此外,论文还提出了多个新的指标,用于衡量合成验证器的不同方面,例如验证精度、覆盖率和效率。

关键设计:论文的关键设计包括:1) 如何生成不同的验证器(例如,使用不同的测试用例生成策略);2) 如何对验证器进行评分(例如,根据验证结果的准确性和覆盖率);3) 如何对验证器进行排序(例如,根据评分结果);4) 如何选择合适的评估指标(例如,验证精度、覆盖率和效率)。论文还探讨了使用不同的LLM(包括标准模型、基于推理的模型和基于奖励的模型)来生成验证器的效果。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

实验结果表明,基于推理的LLM在生成测试用例方面表现优于标准LLM,并且增加测试用例的数量可以显著提高验证精度。例如,使用基于推理的LLM生成的测试用例,在HE-R+基准上的验证精度提高了XX%(具体数据论文中查找)。这些结果表明,推理能力对于合成验证至关重要。

🎯 应用场景

该研究成果可应用于提升大型语言模型在软件开发、自动化测试和代码理解等领域的性能。通过更有效地验证代码,可以减少错误,提高代码质量,并加速软件开发流程。此外,该方法还可以用于评估和改进各种代码生成和推理模型的性能。

📄 摘要(原文)

Synthetic verification techniques such as generating test cases and reward modelling are common ways to enhance the coding capabilities of large language models (LLM) beyond predefined tests. Additionally, code verification has recently found great success as a critical component in improving reasoning capability of LLMs via reinforcement learning. In this paper, we propose an approach which can transform existing coding benchmarks into scoring and ranking datasets to evaluate the effectiveness of synthetic verifiers. We also propose multiple metrics to measure different aspects of the synthetic verifiers with the proposed benchmarks. By employing the proposed approach, we release four new benchmarks (HE-R, HE-R+, MBPP-R, and MBPP-R+), and analyzed synthetic verification methods with standard, reasoning-based, and reward-based LLMs. Our experiments show that reasoning can significantly improve test case generation and that scaling the number of test cases enhances the verification accuracy.