rStar-Coder: Scaling Competitive Code Reasoning with a Large-Scale Verified Dataset

📄 arXiv: 2505.21297v1 📥 PDF

作者: Yifei Liu, Li Lyna Zhang, Yi Zhu, Bingcheng Dong, Xudong Zhou, Ning Shang, Fan Yang, Mao Yang

分类: cs.CL

发布日期: 2025-05-27

🔗 代码/项目: GITHUB


💡 一句话要点

rStar-Coder:构建大规模验证数据集,提升LLM在代码推理方面的能力

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

关键词: 代码推理 大型语言模型 数据集构建 测试用例生成 竞赛编程

📋 核心要点

  1. 现有高难度代码推理数据集稀缺,特别是缺乏可验证的输入输出测试用例,限制了LLM代码推理能力的提升。
  2. rStar-Coder通过合成新的可解问题、设计可靠的测试用例生成流程和增强高质量长推理解决方案来构建大规模验证数据集。
  3. 实验表明,rStar-Coder显著提升了Qwen模型在代码推理基准测试上的性能,甚至超越了参数量更大的模型。

📝 摘要(中文)

本文提出了rStar-Coder,旨在通过构建大规模、经验证的数据集来显著提升大型语言模型(LLM)的代码推理能力。该数据集包含41.8万个竞赛级别的代码问题和58万个长推理解决方案,以及丰富的、不同难度的测试用例,用于严格验证解决方案。该研究主要贡献包括:(1) 整理了竞赛编程代码问题和标准答案,以合成新的、可解决的问题;(2) 引入了可靠的输入-输出测试用例合成流程,将生成过程解耦为三步输入生成方法和用于有效输出标记的互验证机制;(3) 使用高质量、经过测试用例验证的长推理解决方案来增强问题。在Qwen模型(15亿-140亿参数)上进行的广泛实验表明,rStar-Coder数据集具有优越性,实现了与前沿推理LLM相当的领先性能,且模型规模更小。在LiveCodeBench上,rStar-Coder将Qwen2.5-7B的性能从17.4%提高到57.3%,将Qwen2.5-14B的性能从23.3%提高到62.5%,超过了o3-mini (low) 3.1%。在更具挑战性的美国计算机奥林匹克竞赛中,我们的7B模型实现了16.15%的平均pass@1准确率,优于前沿水平的QWQ-32B。

🔬 方法详解

问题定义:论文旨在解决大型语言模型(LLM)在代码推理方面能力不足的问题,尤其是在处理高难度、竞赛级别的代码问题时。现有的代码数据集通常规模较小,且缺乏充分验证的测试用例,难以对LLM的代码生成进行有效评估和训练。因此,如何构建一个大规模、高质量、可验证的代码数据集成为提升LLM代码推理能力的关键挑战。

核心思路:论文的核心思路是通过自动化地生成和验证代码问题及其解决方案,从而构建一个大规模的代码数据集。具体而言,论文通过整理现有的竞赛编程题目,并利用标准答案合成新的问题。同时,设计了一个可靠的输入-输出测试用例生成流程,用于验证代码解决方案的正确性。此外,还通过人工或自动的方式生成高质量的长推理解决方案,以增强数据集的质量。

技术框架:rStar-Coder的整体框架主要包含三个阶段:问题合成、测试用例生成和解决方案增强。问题合成阶段负责从现有的竞赛编程题目中提取问题描述和标准答案,并利用这些信息合成新的、可解的问题。测试用例生成阶段则设计了一个三步输入生成方法和一个互验证机制,用于生成可靠的输入-输出测试用例。解决方案增强阶段则通过人工或自动的方式生成高质量的长推理解决方案,并使用测试用例进行验证。

关键创新:该论文的关键创新在于提出了一个可靠的输入-输出测试用例合成流程,该流程将生成过程解耦为三步输入生成方法和互验证机制。三步输入生成方法旨在生成多样化的输入,而互验证机制则通过多个独立的验证器来确保输出标签的正确性。这种解耦和验证机制能够有效地提高测试用例的质量和可靠性,从而为LLM的代码推理训练提供更有效的监督信号。

关键设计:在测试用例生成阶段,论文设计了一个三步输入生成方法,包括随机生成、边界值生成和对抗性生成。随机生成旨在生成一般的输入,边界值生成旨在生成具有挑战性的边界情况,而对抗性生成则旨在生成能够暴露代码错误的输入。在互验证机制中,论文使用了多个独立的验证器,例如基于规则的验证器和基于模型的验证器,来对输出标签进行验证。只有当多个验证器都同意输出标签时,该标签才被认为是正确的。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

rStar-Coder数据集在多个代码推理基准测试上取得了显著的性能提升。例如,在LiveCodeBench上,使用rStar-Coder训练的Qwen2.5-7B模型性能从17.4%提高到57.3%,Qwen2.5-14B模型性能从23.3%提高到62.5%,超过了o3-mini (low) 3.1%。在更具挑战性的USA Computing Olympiad上,7B模型实现了16.15%的平均pass@1准确率,优于前沿水平的QWQ-32B。

🎯 应用场景

rStar-Coder数据集可以广泛应用于训练和评估大型语言模型在代码生成、代码理解和代码推理方面的能力。该数据集可以用于开发更智能的编程助手、自动化代码生成工具和代码调试工具。此外,该数据集还可以用于研究LLM在解决复杂编程问题方面的能力,并为未来的代码智能研究提供基础。

📄 摘要(原文)

Advancing code reasoning in large language models (LLMs) is fundamentally limited by the scarcity of high-difficulty datasets, especially those with verifiable input-output test cases necessary for rigorous solution validation at scale. We introduce rStar-Coder, which significantly improves LLM code reasoning capabilities by constructing a large-scale, verified dataset of 418K competition-level code problems, 580K long-reasoning solutions along with rich test cases of varying difficulty. This is achieved through three core contributions: (1) we curate competitive programming code problems and oracle solutions to synthesize new, solvable problems; (2) we introduce a reliable input-output test case synthesis pipeline that decouples the generation into a three-step input generation method and a mutual verification mechanism for effective output labeling; (3) we augment problems with high-quality, test-case-verified long-reasoning solutions. Extensive experiments on Qwen models (1.5B-14B) across various code reasoning benchmarks demonstrate the superiority of rStar-Coder dataset, achieving leading performance comparable to frontier reasoning LLMs with much smaller model sizes. On LiveCodeBench, rStar-Coder improves Qwen2.5-7B from 17.4% to an impressive 57.3%, and Qwen2.5-14B from 23.3% to 62.5%, surpassing o3-mini (low) by3.1%. On the more challenging USA Computing Olympiad, our 7B model achieves an average pass@1 accuracy of 16.15%, outperforming the frontier-level QWQ-32B. Code and the dataset will be released at https://github.com/microsoft/rStar.