V · 2 天前

GenPRM:思维链+代码验证,通过生成式推理的过程奖励让大模型推理准确率显著提升

过程奖励模型(PRMs)作为验证机制在提升大型语言模型(LLMs)性能方面展现出显著潜力。而当前 PRMs 框架面临三个核心技术挑战:过程监督和泛化能力受限、未充分利用 LLM 生成能力而仅依赖标量值预测,以及在测试时计算无法有效扩展。

针对上述局限,这篇论文提出了 GenPRM,一种创新性的生成式过程奖励模型。该模型在评估每个推理步骤前,先执行显式的思维链(Chain-of-Thought, CoT)推理并实施代码验证,从而实现对推理过程的深度理解与评估。

下图直观地展示了 GenPRM 与传统基于分类方法的本质区别:

image.png

研究的主要技术贡献包括:

  • 构建了一种生成式过程奖励模型架构,该架构通过显式 CoT 推理和代码验证机制,结合相对进展估计技术,实现了高精度 PRM 标签的获取
  • 在 ProcessBench 及多种数学推理任务的实证评估表明,GenPRM 在性能上显著优于现有的基于分类的 PRMs 方法

技术基础

1、马尔可夫决策过程框架

测试时扩展过程可形式化为马尔可夫决策过程(MDP),定义为五元组(𝒮,𝒜, 𝑃, 𝑟, 𝛾),其中:

  • 𝒮 表示状态空间
  • 𝒜 代表动作空间
  • 𝑃 定义转换动态
  • 𝑟 : 𝒮 × 𝒜 → R 为奖励函数
  • 𝛾 ∈ [0, 1]是折扣因子

在此框架下,优化目标可分为两种:优化每个步骤的奖励(适用于基于搜索的方法),或优化整体响应的累积奖励(适用于 Best-of-N 采样技术)。

2、监督微调技术

该技术训练模型基于先前上下文预测后续标记。针对数据集 𝒟SFT = {(𝑥(𝑖), 𝑦(𝑖))}𝑁𝑖=1,监督微调损失函数定义为:

其中 𝜋𝜃 表示参数为 𝜃 的模型

3、测试时扩展方法

研究考察两种主要的测试时扩展技术:

  • 多数投票机制:从所有可能解决方案中选择出现频率最高的答案
  • Best-of-N (BoN)采样:从 N 个候选解决方案中筛选性能最佳的答案

GenPRM 架构设计

GenPRM 框架由以下六个核心组件构成:

  1. 策略模型负责生成解决步骤,同时通过 rollout 轨迹估计蒙特卡洛(MC)分数
  2. 提出的相对进展估计(RPE)机制用于获取高精度 PRM 标签
  3. 通过增强的代码验证和 CoT 推理合成高质量过程监督数据
  4. 应用一致性过滤后进行监督微调(SFT)训练 GenPRM
  5. 训练完成的 GenPRM 作为验证器或评论者,增强策略模型的测试时扩展能力
  6. 通过测试时扩展进一步提升 GenPRM 自身性能

从判别式 PRM 到生成式 PRM 的模型演进

i) 现有 PRM 方法分析

a) 判别式 PRM

假设存在 PRM 数据集 𝒟Disc = {(𝑠𝑡, 𝑎𝑡), 𝑟𝑡},其中硬估计 PRM 标签 𝑟𝑡 ∈ {0, 1}。判别式 PRM 𝑟𝜓 通过交叉熵损失函数进行训练:

b) 直接生成式 PRM

基于数据集 𝒟Direct-Gen = {(𝑠𝑡, 𝑎𝑡), 𝑟𝑡},其中正确步骤 𝑟𝑡 标记为 Yes,错误步骤标记为 No。直接生成式 PRM 通过 SFT 训练,为每个推理步骤预测 Yes/No 标签。对于步骤 𝑡,将 Yes 标记的预测概率作为过程奖励 ˆ𝑟𝑡:

ii) 生成式 PRM 创新设计

生成式 PRM 通过为直接生成式 PRM 增加类 CoT 显式推理过程实现性能提升。令 𝑣1:𝑡−1 表示从步骤 1 至 𝑡−1 的推理过程,𝑣𝑡 表示步骤 𝑡 的推理。

基于数据集 𝒟Gen = {(𝑠𝑡, 𝑎𝑡, 𝑣1:𝑡−1), (𝑣𝑡, 𝑟𝑡)},GenPRM 通过监督微调学习推理验证每个步骤。生成式过程奖励 ˆ𝑟𝑡 计算如下:

iii) 代码验证增强的生成式 PRM

与标准生成式 PRM 不同,代码验证增强型 GenPRM 生成可执行代码验证推理步骤,通过代码执行结果提供客观判断。在步骤 𝑡,生成推理 𝑣𝑡(包含 CoT 分析和验证代码)后,执行代码并获取反馈 𝑓𝑡。

给定当前状态 𝑠𝑡、动作 𝑎𝑡、先前推理序列 𝑣1:𝑡−1 及其对应执行反馈 𝑓1:𝑡−1,PRM 首先生成当前推理 𝑣𝑡。执行代码并获取反馈 𝑓𝑡 后,最终的生成式过程奖励计算方式为:

GenPRM 测试时扩展技术(TTS)

i) 策略模型 TTS:GenPRM 验证器应用

为扩展策略模型的测试时计算能力,可从策略模型采样多个响应,然后利用 GenPRM 作为验证器,通过并行 TTS(Test-Time Scaling)方式选择最优答案。

ii) 策略模型 TTS:GenPRM 评论者机制

通过配备生成式过程监督能力,GenPRM 可自然地作为评论模型优化策略模型输出,通过多轮顺序 TTS 方式扩展改进过程。

iii) GenPRM 自身的 TTS 机制

在评估每个解决步骤时,系统首先采样 N 个推理验证路径,然后通过奖励平均值计算多数投票结果,得出最终预测。

对于不含代码验证的 GenPRM,奖励计算公式为:

进一步整合代码验证和执行反馈的奖励计算公式:

这些计算得到的奖励值可用于策略模型响应排序,或通过 0.5 阈值转换为二元标签,判定步骤正确性。

GenPRM 数据合成方法

数据合成流程包含三个关键阶段:

i) 解决方案生成与蒙特卡洛估计

a) 步骤强制解决方案生成技术

  • 利用 MATH 数据集训练集中的 7.5K 问题作为基础问题集
  • 采用 Qwen2.5–7B-Instruct 作为生成模型,为每个问题收集多样化解决方案
  • 具体实现中,添加"Step 1:"作为生成模型响应前缀,对于包含 𝑇 个推理步骤的完整响应,其标准化格式为:
 步骤强制响应格式

 Step 1: {步骤详细内容}
 ...
 Step T: {步骤详细内容}
  • 为确保数据集包含足够的正确与错误路径样本,对难题和简单问题分别采样最多 2048 条解题路径,若采样 2048 个响应后仍未找到足够的正确或错误路径,则从数据集中剔除相应问题

b) MC 估计精度与效率平衡策略

  • 利用基于完成的采样方法估计各步骤正确概率
  • 对于每个推理步骤 𝑠𝑡,使用完成模型(特别是 Qwen2.5-Math-7B-Instruct)生成 𝐾 个完成轨迹,并通过 MC 估计计算当前步骤 𝑎𝑡 的正确概率:

其中 𝑞𝑗 代表第 𝑗 个响应的答案,𝑞*为真实答案,1 为指示函数

  • 为平衡计算资源开销,根据估计的 Pass@1 𝑀𝐶(𝑠1)动态调整 𝐾 值:

ii) 相对进展估计技术

  • 提出相对进展估计(RPE)方法,借鉴 GRPO 中相对优势估计思想,优化传统硬标签估计
  • MC 分数作为当前状态 𝑠𝑡 的经验估计值。评估当前动作 𝑎𝑡 质量时,通过比较下一状态 𝑠𝑡+1 与当前状态 𝑠𝑡 的 MC 分数差异,其中 𝑠𝑡+1 = [𝑠𝑡, 𝑎𝑡]
  • 对每个响应,若第一个错误步骤为步骤 𝑡′(即 𝑀𝐶(𝑠𝑡′) = 0),则将后续步骤 MC 分数设为 0。步骤 𝑡 的 RPE 𝑃𝑡 定义为:

其中 𝑀𝐶(𝑠1)为解决方案生成阶段计算的估计 Pass@1 值

  • 通过引入阈值 𝜖 确定最终奖励标签 ˆ𝑟𝑡:

iii) 推理生成、验证与过滤机制

  • 采用 QwQ-32B 作为推理生成模型,实现三步自动化管道生成并验证每个推理步骤
  • 给定问题 𝑥、真实答案 𝑞*和候选步骤序列{𝑎1, · · · , 𝑎𝑇},生成与验证流程如下:

步骤 1:基于代码的推理生成

  • 指导推理生成模型使用<analyze>和</analyze>标签封装 CoT 分析,使用<verify>和</verify>标签封装验证代码
  • 采用以下结构化提示模板:(论文为英文 prompt 为了方便说明,我把它翻译成中文)
 CoT和代码推理生成的提示模板

[System]:
你是一位数学老师。你的任务是使用python代码逐步审查和评论解决方案中的段落。

[User]:
以下是数学问题和解决方案(按段落分割,用标签封闭并从1开始索引):

[Math Problem]

{problem}

[Solution]

<paragraph_1>
{solution_section_1}
</paragraph_1>

...

<paragraph_n>
{solution_section_n}
</paragraph_n>

你的任务是验证解决方案中段落的正确性。按'#### Paragraph {{ID}}'分割你的验证。

你对每个段落的验证应由2部分构成,分别用'<analyze></analyze>'和'<verify></verify>'包装。
1. 在'<analyze></analyze>'部分,你需要分析推理过程并详细解释为什么该段落是正确或不正确的。

2. 在'<verify></verify>'部分,你必须以'''python\n{{CODE}}\n'''的形式编写**Python代码**来验证可以通过代码验证的每个细节。你可以导入PyPI(如'sympy'、'scipy'等)来实现复杂计算。确保在代码中打印评论结果。每段代码将由系统自动执行。你需要分析代码执行后的'[Code Output]'。

>注意,编写代码时必须遵循'''python\n{{CODE}}\n'''的格式,否则代码将无法执行。

 完成所有验证后,如果你在某个段落中发现错误,返回**最早出现错误的段落索引**。否则,返回**索引-1(通常表示"未找到")**。请将你的最终答案(即索引)放在$\boxed{{INDEX}}$形式的框内。

步骤 2:代码执行与验证

  • 执行生成的代码,获取步骤 𝑡 的反馈 𝑓𝑡
  • 执行反馈格式为[Code output: {execution result}],作为前缀与生成的 CoT 分析和验证代码串联,用于后续处理

步骤 3:标签判断与一致性过滤

  • 完成所有候选步骤的推理数据生成与验证后,推理生成模型输出一个最终判断数字
  • 若所有步骤被判断为正确,该数字为-1;否则,该数字表示首个错误步骤的索引

实验评估

i) 实现细节

  • 使用 QwQ-32B 模型和上述提示模板生成 CoT 分析与验证代码
  • 基础模型选自 DeepSeek-R1-Distill 系列,包括 1.5B、7B 和 32B 三种参数规模变体
  • 从生成结果中提取<analyze></analyze>标签内容,重点关注策略模型预测为负面的步骤

ii) ProcessBench 性能评估

下表展示了以 F1 分数衡量的 ProcessBench 评估结果:

从表中数据可得出以下关键发现:

a) GenPRM 在 ProcessBench 上性能优于基于分类的 PRMs

GenPRM-7B 显著优于直接生成式 PRM 方法,并在 ProcessBench 基准测试中超越了所有参数规模小于 72B 的现有 PRMs 模型。

b) GenPRM 使较小参数规模模型通过 TTS 超越更大规模模型

GenPRM-1.5B 通过简单的多数投票机制在 ProcessBench 上表现超过 GPT-4,而 GenPRM-7B 甚至超越了 Qwen2.5-Math-PRM-72B,这表明测试时计算扩展对 GenPRM 极为有效。

iii) 策略模型测试时扩展性能

a) GenPRM 验证器模式评估

下图显示 GenPRM-7B 通过测试时扩展在性能上不仅优于同等参数规模的分类型 PRMs,还超越了 Qwen2.5-Math-PRM-72B:

图(a)-(d)展示了以 Qwen2.5-Math-7B-Instruct 作为生成模型时,GenPRM 在 MATH、AMC23、AIME24 和 Minerva Math 四个数据集上的优势表现:

上图(e)-(h)进一步证明,GenPRM 能良好泛化至以 Gemma-3–12b-it 作为生成模型的响应评估场景。

b) GenPRM 评论者模式评估

下表展示了批评改进实验的量化结果:

下图表明 GenPRM 比基线方法展现出更强的批评改进能力,能显著提升策略模型性能,且随着基于批评反馈的迭代优化次数增加,性能持续提升:

研究局限性

  • GenPRM 通过生成式推理提供过程监督的方法在推理阶段引入了额外计算开销
  • 当前研究主要关注数学推理任务领域,尚未全面探索在编码和通用推理任务上的实际应用效果

结论

研究提出了 GenPRM,一种创新的生成式过程奖励模型,它通过执行显式推理和代码验证实现高质量过程监督,并使 PRMs 能够有效扩展测试时计算能力。在 ProcessBench 和多个数学数据集上的实验结果表明,GenPRM 在性能上显著优于现有 PRMs 方法。研究还证实 GenPRM 的性能可通过测试时扩展技术进一步提升,且 GenPRM 作为评论模型具有很强的有效性。

https://avoid.overfit.cn/post/ef726bb5397a44f9832baff4668fb1e2

推荐阅读
关注数
4220
内容数
973
SegmentFault 思否旗下人工智能领域产业媒体,专注技术与产业,一起探索人工智能。
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息