机器之心 13小时前
从RLHF、PPO到GRPO再训练推理模型,这是你需要的强化学习入门指南
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

Unsloth团队发布了一份关于强化学习(RL)的教程,重点介绍了GRPO(组相对策略优化)方法。文章从基础概念RLHF、PPO讲起,深入探讨GRPO的原理和优势,并提供了使用Unsloth进行GRPO训练的实践指南,包括奖励函数设计和验证器应用。教程还分享了Unsloth团队在GRPO训练推理模型方面的经验和技巧,旨在帮助读者全面了解强化学习,并掌握GRPO在实际应用中的操作方法。

🧠 强化学习(RL)的核心在于增加“好”结果的几率,降低“坏”结果的几率,GRPO是RL的一种实现方式,尤其适用于训练推理模型。

🔄 GRPO相较于PPO,移除了价值模型和奖励模型,取而代之的是多次调用奖励模型的统计数据和自定义奖励函数,这使得GRPO更加高效,节省内存并加快速度。

💡 强化学习的关键在于问题、奖励函数和验证器。奖励函数将验证结果转化为数值分数,验证器则检查生成结果的正确性,二者共同作用指导模型。

⚙️ Unsloth提供了基于GRPO训练推理模型的详细教程,包括数据准备、模型训练、奖励函数设计等,并分享了训练技巧和经验,例如耐心等待至少300步,以及设计精良、有意义的奖励函数。

📈 GRPO的优势在于即使数据量有限,也能通过优秀的奖励函数和验证器获得良好的模型效果,并且训练时间越长,模型效果越好。

2025-06-22 12:26 北京

入门必读!

选自 unsloth.ai

作者:Unsloth Team


强化学习(RL)已经成为当今 LLM 不可或缺的技术之一。从大模型对齐到推理模型训练再到如今的智能体强化学习(Agentic RL),你几乎能在当今 AI 领域的每个领域看到强化学习的身影。


近日,Daniel Han 和 Michael Han 两兄弟组成的团队 Unsloth(用于微调模型的同名开源项目 GitHub 星数已超过 4 万)发布了一个强化学习教程,其中从吃豆人谈起,简单易懂地从 RLHF、PPO 介绍到 GRPO,还分享了如何用 GRPO 训练推理模型的技巧。




全面了解强化学习以及如何使用 GRPO 训练你自己的推理模型。这是一份从初学者到高级的完整指南。


🦥你将学到什么



本文涵盖了你需要了解的关于 GRPO、强化学习 (RL) 和奖励函数的所有内容 —— 从初学者到高级,还有基于 Unsloth 使用 GRPO 的基础知识。


如果你正需要学习如何一步步实现 GRPO,这份指南值得一读。


❓什么是强化学习 (RL)?


强化学习的目标是:



就这么简单!「好」和「坏」的含义错综复杂,「增加」和「降低」也许斟酌,甚至「结果」的含义也各不相同。


举个例子,在吃豆人(Pacman)游戏中:




在强化学习中,你无法知道自己可以采取的「最佳动作」,但你可以观察中间步骤,或者最终的游戏状态(胜或负)。


再来个例子,假设你被问到这个问题:「What is 2 + 2?」 (4)


一个未对齐的语言模型会输出 3、4、C、D、-10 等等各种乱七八糟的答案。




其实,我们刚刚就设计出了一个奖励函数!


🏃从 RLHF、PPO 到 GRPO 和 RLVR


OpenAI 让 RLHF(基于人类反馈的强化学习)的概念变得人尽皆知。在该方法中,我们需要训练一个 agent 来针对某个问题(状态)生成人类认为更有用的输出。



例如,ChatGPT 中的👍和👎符号就可以用于 RLHF 过程。


为了实现 RLHF,PPO(近端策略优化)被开发了出来。



在这种情况下,agent 就是语言模型。事实上,它由三个系统组成:



我们使用奖励模型来计算当前环境的奖励,而我们的目标就是最大化奖励!


PPO 的公式看起来相当复杂,因为它的设计初衷是保持稳定性。


PPO 公式


DeepSeek 开发了 GRPO(组相对策略优化)来训练他们的推理模型。它与 PPO 的主要区别在于:




这意味着 GRPO 非常高效。以前 PPO 需要训练多个模型 —— 现在移除了奖励模型和价值模型,便可以节省内存并加快速度。


RLVR(可验证奖励的强化学习)允许我们根据易于验证解答的任务来奖励模型。例如:



为什么使用「组相对」?


GRPO 完全移除了价值模型,但我们仍然需要根据当前状态估算「平均奖励」。


诀窍在于对 LLM 进行采样!然后,我们通过统计多个不同问题的采样过程来计算平均奖励。


例如,对于「What is 2 + 2?」,我们采样 4 次。我们可能得到 4、3、D、C。然后,我们计算每个答案的奖励,计算平均奖励和标准差,最后用 Z 分数进行标准化!



这就产生了优势 A,我们将用它来替代价值模型。这可以节省大量内存!


GRPO 优势计算


🤞运气(耐心) Is All You Need


强化学习的诀窍在于你只需要两样东西:



仅凭这两个,我们基本上可以无限次调用语言模型,直到得到一个好的答案。例如,对于「What is 2+2?」,一个未经训练的糟糕模型语言模型可能会输出:


0、cat、-10、1928、3、A、B、122、17、182、172、A、C、BAHS、%$、#、9、-192、12.31,然后突然变为 4。


奖励信号为 0、0、0、0、0、0、0、0、0、0、0、0、0、0、0,然后突然变为 1。



因此,RL 凭借运气和偶然性,在多次迭代中找到了正确答案。我们的目标是让好答案(4)出现的次数更多,其余(坏答案)出现的次数更少。


因此,RL 的目标是耐心 —— 在极限情况下,只要正确答案的概率至少有一点(不为零),那么就只是一场等待的游戏 —— 你一定会在极限情况下 100% 找到正确答案。


所以我喜欢称之为针对强化学习的「运气 Is All You Need」。


其实,更好的说法是针对强化学习的「耐心 is All You Need」。


本质上,强化学习提供了一种技巧 —— 与其简单地等待无限,不如在实实在在地收到「坏信号」(即坏答案)时去「引导」模型尝试不生成坏答案。这意味着,尽管你可能等待了很长时间才出现一个「好」答案,但模型其实已经在尽力调整,尽量不输出坏答案。


在「What is 2+2?」这个例子中,先出现了 0、cat、-10、1928、3、A、B、122、17、182、172、A、C、BAHS、%$、#、9、-192、12.31,然后突然出现了 4。


由于我们得到了坏答案,强化学习会影响模型,使其尝试不输出坏答案。这意味着随着时间的推移,我们会仔细地「修剪」或移动模型的输出分布,使其远离错误答案。这意味着强化学习并非低效,因为我们并非只是等待无限,而是积极地尝试「推动」模型尽可能地向「正确答案空间」靠拢。


注:如果概率始终为 0,那么强化学习就永远不会奏效。这也是为什么人们喜欢基于已经过指令微调的模型进行强化学习的原因,因为这样的模型已经可以相当好地部分执行指令 —— 这很可能将概率提升到 0 以上。


🦥Unsloth 能为强化学习提供什么?



这里给出了一个基于 Unsloth 使用 GRPO 训练自己的推理模型的详细教程,感兴趣的读者可以参考实验:

https://docs.unsloth.ai/basics/reinforcement-learning-guide/tutorial-train-your-own-reasoning-model-with-grpo


GRPO 是如何训练模型的?


    对于每个问答对,模型会生成多种可能的答案(比如,8 种变体)。

    使用奖励函数对每个答案进行评估。

    训练步数:如果有 300 行数据,则需要 300 个训练步骤(如果训练 3 个 epoch,则需要 900 个训练步骤)。也可以增加每个问题生成的答案数量(例如,从 8 个增加到 16 个)。

    该模型的学习方式是在每一步对权重进行更新。


这里有一些示例笔记本:

https://docs.unsloth.ai/get-started/unsloth-notebooks#grpo-reasoning-notebooks


基础知识/技巧


Unsloth 还分享了一些他们积累的心得:






📋奖励函数 / 验证器


在强化学习中,奖励函数和验证器在评估模型输出方面发挥着不同的作用。一般来说,你可以将它们理解为同一件事,但从技术上讲,它们并非一回事,但这无关紧要,因为它们通常是配合使用的。


验证器(Verifier):



奖励函数(Reward Function):



主要区别:



理解奖励函数


GRPO 的主要目标是最大化奖励并学习答案的得出方式,而不是简单地记忆并根据训练数据复现答案。



🪙奖励函数示例


参考以下示例。可以将你的生成结果输入到 ChatGPT 4o 或 Llama 3.1 (8B) 等 LLM 中,并设计一个奖励函数和验证器来评估它。例如,将你的生成结果输入到你选择的 LLM 中,并设置一条规则:「如果答案听起来太机械化,则扣 3 分。」这有助于根据质量标准优化输出。


示例 1:简单算术任务



示例 2:电子邮件自动化任务



Unsloth 基于邻近度的奖励函数


在前面的 GRPO Colab 笔记本,可以看到其中创建了一个完全从零开始构建的自定义基于邻近度的奖励函数,旨在奖励那些更接近正确答案的答案。这个灵活的函数可以应用于各种任务。



GSM8K 奖励函数


在其他示例中,Unsloth 使用了 @willccbb 提供的现有 GSM8K 奖励函数,该函数广受欢迎且已被证明非常有效:



🎓扩展阅读


    Nathan Lambert 的 RLHF 书: https://rlhfbook.com/c/11-policy-gradients.html

    Yannic Kilcher 的 GRPO Youtube 视频: https://www.youtube.com/watch?v=bAWV_yrqx4w

    Unsloth 在 2025 年 AI 工程师世界博览会上举办了一场 3 小时的研讨会,幻灯片等资料请访问:https://docs.unsloth.ai/ai-engineers-2025

    通过 Unsloth 构建的高级 GRPO 笔记本。https://docs.unsloth.ai/basics/reinforcement-learning-guide/tutorial-train-your-own-reasoning-model-with-grpo

    基于基础模型进行 GRPO 的笔记本:https://colab.research.google.com/github/unslothai/notebooks/blob/main/nb/Qwen3_(4B)-GRPO.ipynb

    万字长文带你读懂强化学习,去中心化强化学习又能否实现?


© THE END 

转载请联系本公众号获得授权

投稿或寻求报道:liyazhou@jiqizhixin.com

阅读原文

跳转微信打开

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

强化学习 GRPO Unsloth RLHF PPO
相关文章