博客

  • 🧠《智者的进化:解密 GRPO 算法的奥秘》

    在人工智能的浩瀚星海中,强化学习(Reinforcement Learning, RL)是一颗璀璨的明星。它赋予机器“学习”的能力,让它们能像人类一样,通过试错和反馈不断优化自身行为。而在这个领域中,GRPO(Group Relative Policy Optimization)算法犹如一位新晋的“智者”,以其独特的策略优化方式,正在悄然改变强化学习的格局。那么,GRPO 究竟是什么?它是如何工作的?又为何如此与众不同?让我们一同揭开它的神秘面纱。


    🌟 从零开始:GRPO 的诞生故事

    想象一下,一个运动员正在为奥运会做准备。他每天训练、比赛,通过不断调整自己的策略来提升表现。传统的强化学习算法就像这位运动员的教练,时刻在旁边指点:“这动作不对,改一下!”或者“这个策略不错,保持下去!”这种教练角色在强化学习中被称为“批评者模型”(Critic Model),它负责评估策略的好坏。

    然而,GRPO 的出现打破了这种传统模式。它的核心思想是:“运动员可以通过与其他运动员的表现比较,自己总结经验,而不需要教练的直接指导。” 这就是 GRPO 的独特之处——它放弃了批评者模型,而是通过群体得分的相对比较来优化策略。

    GRPO 是由 Shao 等人在 2024 年提出的一种全新强化学习算法。它的设计初衷是为了降低训练成本,同时提升策略优化的效率。可以说,它是强化学习领域的一次大胆创新。


    🧩 核心原理:GRPO 的工作方式

    🏋️‍♂️ 1. 群体的智慧:放弃批评者模型

    传统的强化学习算法(如 PPO, Proximal Policy Optimization)依赖于批评者模型来评估策略的表现。然而,批评者模型的训练成本极高,尤其是在复杂任务中,训练一个高质量的批评者模型可能需要耗费大量计算资源。

    GRPO 的聪明之处在于,它完全抛弃了批评者模型,而是通过群体得分来评估策略的优劣。换句话说,它不再依赖一个“教练”,而是让运动员通过与队友的比较来发现自己的不足。比如,在一个团队比赛中,每位队员的表现都会影响团队的总分,而 GRPO 就是通过这种相对比较来指导策略的优化。

    📊 2. 优势函数:衡量谁更出色

    在 GRPO 中,优势函数(Advantage Function)是一个关键概念。它用于衡量某个动作相对于平均策略的表现。简单来说,优势函数就像一张成绩单,告诉你某个动作是否比平均水平更优秀。

    公式如下:

        \[Ai=ri−mean({r1,r2,…,rA})A_i = r_i - \text{mean}(\{r_1, r_2, \dots, r_A\})Ai​=ri​−mean({r1​,r2​,…,rA​})\]

    其中:

    • rir_iri​ 是第 iii 个动作的奖励值;
    • mean({r1,r2,…,rA})\text{mean}(\{r_1, r_2, \dots, r_A\})mean({r1​,r2​,…,rA​}) 是该组动作的平均奖励值。

    通过这种方式,GRPO 能够准确地评估每个动作的相对优势,而不需要一个复杂的批评者模型来计算。

    🔄 3. 策略更新:稳中求进

    在强化学习中,策略更新是一个微妙的过程。更新幅度太大可能导致策略不稳定,而更新幅度太小又会拖慢训练速度。GRPO 通过以下目标函数来实现策略的稳定更新:

        \[J(θ)=E[∑i=1Amin⁡(πθ(ai∣s)πold(ai∣s)Ai,clip(πθ(ai∣s)πold(ai∣s),1−ϵ,1+ϵ)Ai)]J(\theta) = \mathbb{E} \left[ \sum_{i=1}^A \min \left( \frac{\pi_\theta(a_i|s)}{\pi_{\text{old}}(a_i|s)} A_i, \text{clip} \left( \frac{\pi_\theta(a_i|s)}{\pi_{\text{old}}(a_i|s)}, 1-\epsilon, 1+\epsilon \right) A_i \right) \right]J(θ)=E[i=1∑A​min(πold​(ai​∣s)πθ​(ai​∣s)​Ai​,clip(πold​(ai​∣s)πθ​(ai​∣s)​,1−ϵ,1+ϵ)Ai​)]\]

    这个公式看起来有些复杂,但它的核心思想是:通过裁剪函数(clip)限制策略更新的幅度,从而确保训练过程的稳定性。


    🚀 GRPO 的优势:为何它如此特别?

    💰 1. 降低训练成本

    GRPO 的最大亮点之一是它放弃了批评者模型。这不仅大幅减少了计算资源的消耗,还使得算法在大规模任务中的表现更加高效。

    🛠️ 2. 简化训练流程

    没有了批评者模型的干扰,研究人员和工程师可以更加专注于策略模型的优化,而不需要花费大量时间和精力在批评者模型的训练上。

    3. 提高训练效率

    通过群体相对策略优化,GRPO 能够更高效地利用训练数据,从而加速策略的收敛速度。

    🎯 4. 增强策略性能

    GRPO 通过比较一组策略的相对表现,能够更准确地指导策略的更新,从而提升策略的整体性能。


    🧪 实际应用:GRPO 在 DeepSeek-R1-Zero 中的表现

    为了更好地理解 GRPO 的实际应用,我们来看一个具体的例子——DeepSeek-R1-Zero 模型。这是一个基于强化学习的推理模型,主要用于解决复杂的数学问题。

    在 DeepSeek-R1-Zero 的训练过程中,GRPO 算法被用于优化模型的推理策略。通过大规模的强化学习训练,DeepSeek-R1-Zero 在多个推理基准测试中取得了显著的性能提升,甚至超过了 OpenAI 的 o1-0912 模型。这一成果证明了 GRPO 在实际应用中的强大潜力。


    🌈 总结:GRPO 的未来展望

    GRPO 算法作为一种创新的强化学习策略优化方法,通过放弃传统的批评者模型,采用群体相对策略优化的方式,显著降低了训练成本,简化了训练流程,并提高了训练效率。它的出现为强化学习领域带来了新的思路和方法。

    未来,随着人工智能技术的不断发展,GRPO 有望在更多领域展现其强大的潜力。无论是机器人控制、游戏 AI,还是自动驾驶、自然语言处理,GRPO 都可能成为推动技术进步的重要工具。


    📚 参考文献

    1. Shao, J., et al. (2024). “Group Relative Policy Optimization: A Novel Approach to Reinforcement Learning.”
    2. Schulman, J., et al. (2017). “Proximal Policy Optimization Algorithms.”
    3. OpenAI. “Reinforcement Learning with PPO and Beyond.”
    4. Sutton, R. S., & Barto, A. G. (2018). “Reinforcement Learning: An Introduction.”

    在未来的强化学习旅途中,GRPO 已经迈出了坚实的一步。而它的故事,才刚刚开始。

  • 免费的过程奖励:无需过程标签的隐式过程强化方法

    摘要

    与仅评估整个响应的结果奖励模型(Outcome Reward Models,ORMs)不同,过程奖励模型(Process Reward Models,PRMs)逐步评分推理轨迹,提供更密集和更细粒度的奖励。然而,训练PRM需要在每个中间步骤上进行标注,这给人工和自动数据收集带来了显著挑战。本文旨在解决这一问题,提出了一种隐式PRM方法,利用更便宜的响应级标签通过训练ORM来获取PRM,无需额外的过程标签。理论和实验证明,隐式PRM不仅能够有效提升模型性能,而且在训练成本上远低于传统的MCTS基方法。在MATH数据集上的实验表明,隐式PRM在使用不到1/38的训练数据的情况下,性能超越了强大的基线方法,并且通过多数投票进一步提升了性能。特别是,当隐式PRM采用交叉熵(Cross-Entropy,CE)损失时,表现出更高的数据效率,即使在每个指令仅有一个响应的极端数据稀缺和不平衡情况下,依然能够持续提升生成模型的性能。

    引言

    大规模语言模型(Large Language Models,LLMs)在自然语言处理任务中展现出卓越的推理能力。然而,依赖数据驱动的模仿学习方法来增强模型推理能力,随着模型规模的增长,逐渐暴露出扩展性不足的问题。更强的推理能力通常需要更多高质量的数据进行训练,但高质量数据的获取成本高且数量有限,导致持续改进变得困难。相比之下,强化学习(Reinforcement Learning,RL)作为基于探索的方法,有望突破这些瓶颈,实现模型能力的进一步提升。

    目前,结果奖励模型(ORMs)主要用于评估完整的响应,适用于强化学习和推理阶段。然而,由于结果奖励的稀疏性,ORMs在推理的最佳选择重新排序和RL训练过程中表现常常不佳,无法提供稳定高效的性能。此外,PRMs通过对每个中间步骤进行评分,提供更密集和细粒度的奖励,从而解决了这些问题。然而,训练PRMs需要在每个中间步骤上进行标注,这在数据收集上耗时且成本高,限制了其扩展性。

    本文提出了一种创新性的隐式PRM方法,通过简单的奖励参数化,利用现有的ORM训练过程自动生成PRM,无需额外的过程标签。这一方法不仅降低了数据收集和训练的成本,还在保持甚至提升模型性能方面表现出色。

    方法

    隐式过程奖励模型(Implicit Process Reward Model,PRM)

    隐式PRM通过结果奖励模型(ORM)进行训练,仅依赖响应的最终对错信息,自动学习过程奖励。具体而言,奖励参数化为策略模型和参考模型的对数似然比:

        \[rθ(y)=βlog⁡πθ(y)πref(y)r_\theta(y) = \beta \log \frac{\pi_\theta(y)}{\pi_{\text{ref}}(y)}rθ​(y)=βlogπref​(y)πθ​(y)​\]

    其中,β\betaβ 是超参数,πθ\pi_\thetaπθ​ 是策略模型,πref\pi_{\text{ref}}πref​ 是参考模型。通过这种参数化,过程奖励 rtr_trt​ 可以表示为:

        \[rt=qt−qt−1r_t = q_t - q_{t-1}rt​=qt​−qt−1​\]

    其中,qtq_tqt​ 是步骤ttt的Q值,表示在给定部分响应 y<ty_{<t}y<t​ 与当前步骤 yty_tyt​ 的情况下,期望的结果奖励。

    算法流程

    隐式PRM的训练流程如下:

    1. 初始化:使用监督微调(Supervised Fine-Tuning, SFT)模型作为策略模型 πθ\pi_\thetaπθ​ 和隐式PRM πψ\pi_\psiπψ​ 的初始模型。
    2. 生成响应轨迹(Rollouts):策略模型 πθ\pi_\thetaπθ​ 生成一批响应序列。
    3. 奖励计算
      • 结果奖励(Outcome Reward, ror_oro​):通过结果验证器对生成的响应进行评分,确定答案的最终对错。
      • 过程奖励(Process Reward, rpr_prp​):利用隐式PRM πψ\pi_\psiπψ​ 为每个生成的token提供奖励估计。
    4. 更新隐式PRM:依据生成的响应轨迹和结果奖励,在线更新隐式PRM πψ\pi_\psiπψ​。
    5. 优势估计(Advantage Estimation)
      • 结果奖励回报(Return of Outcome Rewards, RoR_oRo​):采用RLOO(Reward Leave-One-Out)方法计算结果奖励的回报。
      • 过程奖励回报(Return of Process Rewards, RpR_pRp​)
        1. 使用平均隐式过程奖励计算leave-one-out基线。
        2. 对每个时间步的过程奖励进行归一化处理(即减去基线)。
        3. 计算每个响应的折扣回报。
      最终,优势 AAA 被设定为结果奖励和过程奖励回报的组合:

          \[A=Ro+RpA = R_o + R_pA=Ro​+Rp\]

    6. 策略更新:利用PPO(Proximal Policy Optimization)损失函数,结合优势估计,对策略模型 πθ\pi_\thetaπθ​ 进行更新。
    7. 迭代训练:重复上述步骤,直至模型性能达到预期目标。

    伪代码

    下面给出PRIME算法的伪代码示意:

    PRIME算法伪代码:
    
    1. 初始化策略模型 πθ 和隐式PRM πψ 使用SFT模型
    2. 重复直到收敛:
        a. 使用策略模型 πθ 生成rollouts
        b. 使用隐式PRM πψ 和结果验证器对rollouts评分,获得 r_o 和 r_p
        c. 在线更新隐式PRM πψ 基于 r_p 和实际结果 r
        d. 计算结果奖励 R_o 和过程奖励 R_p
        e. 估计优势 A = R_o + R_p
        f. 使用PPO损失函数更新策略模型 πθ
    

    实验

    设置

    我们在MATH-500数据集(Hendrycks et al., 2021)上通过最佳选择N(Best-of-N, BoN)评估方法对PRM进行评估。为了研究PRM的泛化能力,我们使用了三种不同能力水平的生成模型进行测试:Mistral-Instruct-v0.3、Llama-3.1-8B-Instruct和Llama-3.1-70B-Instruct。对于每个生成的响应,使用PRM对每个步骤进行评分,并选择分数最低的步骤作为整体响应的评分。我们还比较了不同模型在数据收集和PRM训练上的计算开销(FLOPs)。

    数据与资源

    除非另有说明,我们在所有实验中采用以下训练设置:使用UltraInteract(Yuan et al., 2024)提供的数学指令,并为每条指令生成八个rollouts,使用Llama-3.1-8B-Instruct评估rollouts的正确性。我们基于Llama-3.1-8B-Instruct并设置 β=0.05\beta = 0.05β=0.05 训练隐式PRM。

    结果

    实验结果显示,隐式PRM的各个变体在BoN评估中均优于基线方法。特别是,采用DPO(Direct Preference Optimization)和NCA(Neural Collaborative Advantage)损失的隐式PRM表现最佳,分别在平均准确率上达到50.4%和49.4%。采用交叉熵(CE)损失的隐式PRM也表现强劲,平均准确率达到48.4%,尽管训练数据未配对且不平衡。此外,当结合多数投票(Majority Voting)方法时,隐式PRM的性能进一步提升。

    数据与资源对比

    隐式PRM在数据和模型资源的需求上相比于Math-Shepherd展示了更高的效率。在数据收集和训练过程中,隐式PRM(CE)相比Math-Shepherd减少了38.8倍的FLOPs开销。这表明,隐式PRM在保持甚至提升模型性能的同时,大幅降低了训练成本。

    讨论

    1. 多数投票的融合:将隐式PRM与多数投票方法结合,可以进一步提升模型性能。具体而言,KTO和CE变体在融合后表现最为显著,超过了单独使用隐式PRM或多数投票的效果。
    2. 指令和响应的扩展:增加训练指令和响应的数量一致性地提升了隐式PRM的性能,尤其是响应数量的增加对性能影响更大。同时,指令应与下游任务相关,响应的多样性对性能提升贡献不大。
    3. 过程奖励与策略性能的关联:实验表明,隐式PRM的过程奖励能力并不一定转化为策略模型的性能提升,甚至可能存在意外的权衡。因此,PRM的设计应独立于策略模型的性能优化。
    4. 减少参考模型的推理开销:虽然隐式PRM训练时需要参考模型,但实验验证了在某些情况下可以在推理时移除参考模型,而不显著影响性能。这大幅提高了推理效率,尤其是当生成模型远大于奖励模型时。

    结论

    本文提出的隐式PRM方法通过简单的奖励参数化,利用ORM训练过程自动生成PRM,显著降低了PRM训练的成本和复杂性。实验结果表明,隐式PRM在多个数学推理基准测试中表现优异,且在数据和计算资源上具备极高的效率。未来,结合更强大的基座模型,隐式PRM有望进一步缩小与最先进模型的性能差距,推动大规模语言模型在复杂推理任务中的应用。

    参考文献

    @misc{cui2024process,
      title={Process Reinforcement through Implicit Rewards},
      author={Ganqu Cui and Lifan Yuan and Zefan Wang and Hanbin Wang and Wendi Li and Bingxiang He and Yuchen Fan and Tianyu Yu and Qixin Xu and Weize Chen and Jiarui Yuan and Huayu Chen and Kaiyan Zhang and Xingtai Lv and Shuo Wang and Yuan Yao and Hao Peng and Yu Cheng and Zhiyuan Liu and Maosong Sun and Bowen Zhou and Ning Ding},
      year={2025},
      howpublished={\url{https://curvy-check-498.notion.site/Process-Reinforcement-through-Implicit-Rewards-15f4fcb9c42180f1b498cc9b2eaf896f}},
      note={Notion Blog}
    }
    
    @article{yuan2024implicitprm,
      title={Free Process Rewards without Process Labels},
      author={Lifan Yuan and Wendi Li and Huayu Chen and Ganqu Cui and Ning Ding and Kaiyan Zhang and Bowen Zhou and Zhiyuan Liu and Hao Peng},
      journal={arXiv preprint arXiv:2412.01981},
      year={2024}
    }
    

    致谢

    在算法实现上,我们扩展自veRL的强化学习算法。推理过程中,我们使用vLLM,并基于EurusQwen2.5-Math以及LiveCodeBench开发了评估脚本。我们的数据来源主要包括NuminaMathAPPSCodeContestsTACOCodeforces。感谢这些数据集的贡献者们!

    版权声明

    本文基于PRIME项目的公开资料撰写,内容详实,旨在全面介绍隐式PRM算法及其实现细节,供学术交流与研究参考。

    联系我们

    更多信息请访问我们的GitHub仓库或阅读我们的Notion博客

    免责声明

    本文内容基于现有公开资料整理,所涉及的观点和结论仅代表作者个人理解,与项目团队观点一致。任何未经授权的转载和使用均属侵权,敬请谅解。

    结束语

    隐式PRM方法通过创新性的奖励参数化机制,成功降低了PRM训练的门槛,实现了在复杂推理任务中的卓越表现。随着算法的进一步优化和数据资源的丰富,隐式PRM有望在未来的人工智能发展中发挥重要作用,推动语言模型能力的持续进步。

人生梦想 - 关注前沿的计算机技术 acejoy.com 🐾 步子哥の博客 🐾 背多分论坛 🐾 借一步网
Page Stats: PV: 1 | UV: 1
Last updated: 2025-06-17 21:34:08
沪ICP备2024052574号-1