DreamPRM-Code: Function-as-Step Process Reward Model with Label Correction for LLM Coding

📄 arXiv: 2512.15000v1 📥 PDF

作者: Ruiyi Zhang, Peijia Qin, Qi Cao, Pengtao Xie

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

发布日期: 2025-12-17


💡 一句话要点

DreamPRM-Code:利用函数作为步骤的过程奖励模型,通过标签校正提升LLM代码生成能力

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

关键词: 代码生成 过程奖励模型 大型语言模型 元学习 标签校正

📋 核心要点

  1. 现有的过程奖励模型在代码生成中效果有限,主要原因是代码步骤分解困难以及中间标签噪声大。
  2. DreamPRM-Code将函数视为代码生成的推理步骤,并采用链式函数提示策略,促进模块化代码生成。
  3. 该方法引入基于元学习的标签校正机制,利用最终单元测试结果来优化中间步骤的标签,提升模型性能。

📝 摘要(中文)

过程奖励模型(PRMs)对于通过测试时缩放改进大型语言模型(LLMs)至关重要,但由于代码中缺乏有意义的步骤分解以及蒙特卡洛生成的局部标签的噪声,它们在编码方面的有效性仍然有限。我们提出了DreamPRM-Code,一个以编码为中心的PRM,它使用链式函数提示策略将函数视为推理步骤,以诱导模块化代码生成,从而实现类似于数学推理任务的PRM训练和应用。为了解决标签噪声问题,DreamPRM-Code引入了一种基于元学习的校正机制,该机制利用干净的最终解决方案单元测试标签,并执行双层优化来细化中间标签。在测试时缩放的应用中,DreamPRM-Code在LiveCodeBench上实现了最先进的性能,pass@1率为80.9%,超过了OpenAI o4-mini。

🔬 方法详解

问题定义:现有的大语言模型在代码生成任务中,缺乏有效的过程监督机制。过程奖励模型(PRM)虽然可以提供中间步骤的反馈,但由于代码结构的特殊性,难以进行有效的步骤分解,并且通过蒙特卡洛方法生成的中间标签存在大量噪声,导致PRM训练效果不佳。因此,如何设计一个适用于代码生成的PRM,并有效降低标签噪声,是本文要解决的核心问题。

核心思路:本文的核心思路是将代码中的函数视为推理步骤,通过鼓励模型生成模块化的代码,从而实现更有效的PRM训练。同时,利用最终代码的单元测试结果,对中间步骤的标签进行校正,降低标签噪声的影响。这种设计借鉴了数学推理任务中逐步推理的模式,并将其应用于代码生成领域。

技术框架:DreamPRM-Code的整体框架包含以下几个主要模块:1) 链式函数提示:通过特定的prompt,引导LLM生成模块化的代码,每个模块对应一个函数。2) 过程奖励模型训练:使用生成的代码和中间步骤的标签,训练一个PRM,用于评估代码生成过程的质量。3) 基于元学习的标签校正:利用最终代码的单元测试结果,通过双层优化算法,对中间步骤的标签进行校正。

关键创新:本文最重要的技术创新在于:1) 将函数作为代码生成的推理步骤,提出了一种新的代码分解方式,更符合代码的模块化特性。2) 引入基于元学习的标签校正机制,有效降低了中间标签的噪声,提升了PRM的训练效果。

关键设计:在标签校正方面,采用了双层优化算法。外层优化目标是最大化最终代码的单元测试通过率,内层优化目标是调整中间步骤的标签,使其与最终结果一致。损失函数的设计考虑了单元测试结果的置信度,并引入了正则化项,防止过度拟合。具体的参数设置和网络结构细节在论文中有详细描述。

🖼️ 关键图片

fig_0

📊 实验亮点

DreamPRM-Code在LiveCodeBench数据集上取得了显著的性能提升,pass@1指标达到了80.9%,超过了OpenAI o4-mini模型。这表明该方法在代码生成方面具有很强的竞争力,能够有效提升LLM的代码生成质量。

🎯 应用场景

DreamPRM-Code具有广泛的应用前景,可以应用于自动化代码生成、代码补全、代码调试等领域。通过提升LLM的代码生成能力,可以显著提高软件开发的效率和质量,降低开发成本。此外,该方法还可以应用于教育领域,帮助学生更好地学习编程。

📄 摘要(原文)

Process Reward Models (PRMs) have become essential for improving Large Language Models (LLMs) via test-time scaling, yet their effectiveness in coding remains limited due to the lack of meaningful step decompositions in code and the noise of Monte-Carlo-generated partial labels. We propose DreamPRM-Code, a coding-focused PRM that treats functions as reasoning steps using a Chain-of-Function prompting strategy to induce modular code generation, enabling PRM training and application analogous to mathematical reasoning tasks. To address label noise, DreamPRM-Code introduces a meta-learning-based correction mechanism that leverages clean final-solution unit-test labels and performs bi-level optimization to refine intermediate labels. Applying on test-time scaling, DreamPRM-Code achieved state-of-the-art performance on LiveCodeBench with 80.9 pass@1 rate, surpassing OpenAI o4-mini.