[思考] Reinforcement Learning on LLM
引爆推理革命:从PPO到GRPO,强化学习如何重塑大语言模型
引言:当强化学习遇上大型语言模型
近年来,大型语言模型(LLM)以前所未有的速度席卷了人工智能领域。然而,预训练的LLM虽然知识渊博,但其输出往往难以完全符合人类的价值观和特定任务的需求。 为了解决这一“对齐”难题,一种新的技术范式——基于人类反馈的强化学习(Reinforcement Learning from Human Feedback, RLHF) 应运而生,成为了优化和引导LLM行为的关键。
本文浅谈强化学习在LLM中的应用,总结各大顶流大厂近期开源工作,希望能对读者有所启发。
一、 概念的“跨界”:从机器人到语言的范式迁移
强化学习(RL)的根基深植于机器人学,其核心是智能体(agent)通过与物理环境的直接交互来学习。在那个世界里,“动作”(action)是机器人的具体物理操作,而“环境”(environment)则是可感知的真实世界。
然而,当我们将这一框架“套用”到大型语言模型上时,核心概念发生了些许转变:
- 智能体(Agent): 大型语言模型本身。
- 动作(Action): 不再是物理动作,而是模型在生成文本时,对下一个词元(token) 的采样决策。每一个token的选择,都是一次“动作”。
- 环境(Environment): 不再是物理世界,而是整个语言交互的上下文,包括用户输入的提示(prompt)和模型已经生成的部分文本。
- 奖励(Reward): 这是对最终生成文本质量的评估。它可以是一句回答是否正确,一段代码是否能运行,或者一篇文章是否符合人类偏好。
二、 奠定基石:RLHF与PPO算法的经典框架
RLHF是当前对齐LLM的主流方法。 其核心思想是,既然我们难以用精确的规则来定义“好的文本”,不如让人类来直接提供偏好数据,然后训练一个“奖励模型”来学习和模拟人类的判断标准。
在这一范式中,近端策略优化(Proximal Policy Optimization, PPO) 算法扮演了至关重要的角色。 2022年,OpenAI发布的InstructGPT模型,正是通过PPO算法和RLHF技术,用一个1.3B参数的模型在效果上击败了175B的GPT-3,有力地证明了该框架的有效性,并为后续研究铺平了道路。
一个经典的PPO-RLHF流程通常涉及三个核心阶段和四个关键模型:
三个核心阶段:
- 监督微调(Supervised Fine-Tuning, SFT): 首先,使用高质量的“指令-回答”对数据对预训练的LLM进行微调。这个阶段的目的是让模型初步学会理解并遵循指令。
- 训练奖励模型(Reward Model, RM): 让SFT模型针对同一个prompt生成多个不同的回答,然后由人工标注员对这些回答进行排序。基于这些排序数据,训练一个奖励模型,使其能够为任何给定的“prompt-回答”对打出一个标量分数,分数高低代表了人类的偏好程度。
- PPO强化学习: 将SFT模型作为初始策略,由其生成回答。奖励模型则充当“环境”中的裁判,为生成的回答打分。PPO算法根据这个奖励信号,来更新策略模型的参数,目标是最大化累计奖励。
关于OpenAI提出PPO-RLHF经典之作,参考blog。
关于PPO的基础知识,可参考RL Tutorial 强化学习 - 李宏毅中的PPO小节介绍。
四个关键模型:
- 策略模型(Policy Model): 这就是要被优化的LLM,它在训练过程中不断更新,学习生成更高奖励的文本。
- 奖励模型(Reward Model): 它是人类偏好的“代理”,负责为策略模型的输出打分。这个模型在PPO训练阶段是固定不变的。
- 价值模型(Value Model / Critic): 它的作用是评估在某个状态下,未来可能获得的总奖励的期望值。通过计算优势函数(Advantage),价值模型可以帮助减少策略梯度估计的方差,让训练过程更稳定。
- 参考模型(Reference Model): 通常是第一步SFT阶段得到的模型。在PPO的目标函数中,会加入一个KL散度(KL Divergence)项,用来约束策略模型和参考模型的输出分布不要相差太远。这可以防止模型为了追求高奖励而“走火入魔”,忘记了其在SFT阶段学到的基本语言能力,确保了训练的稳定性。
三、 效率革命:GRPO的横空出世与模型简化
尽管PPO取得了巨大成功,但其训练流程相当复杂,需要维护四个模型,计算开销巨大。 特别是奖励模型和价值模型的训练与推理,成为了效率的瓶颈。
2024年,DeepSeek-AI在发布其数学能力惊人的DeepSeek-Math模型时,提出了一种名为群体相对策略优化(Group Relative Policy Optimization, GRPO)的创新算法。
GRPO的核心思想在于,对于那些有明确对错标准(verifiable)的任务,如数学解题和代码生成,我们可以完全绕开奖励模型和价值模型。
GRPO是如何做到的?
- 抛弃奖励模型: 对于数学题,答案正确与否可以直接通过最终结果验证。对了就给予正奖励,错了就给予负奖励。甚至可以加入对解题步骤、格式的规则化奖励。 这种基于规则的奖励机制,完全取代了需要大量人工标注数据来训练的奖励模型。
- 抛弃价值模型: GRPO通过一个巧妙的设计来计算优势函数(Advantage)。它让策略模型针对同一个prompt进行多次(例如G次)采样,得到一组G个不同的输出。然后,计算这组输出的平均奖励。对于其中任意一个输出,它的优势值就是其自身奖励与这组平均奖励的差值。 这样,通过组内的相对比较,GRPO有效地估计了每个输出的好坏程度,从而取代了功能类似的价值模型。
通过这两项关键改进,GRPO将复杂的四模型PPO流程简化为只需维护策略模型和参考模型的“双模型”流程,极大地降低了训练的复杂度和资源消耗,提高了训练效率。
四、 前沿探索:基于GRPO的百花齐放
GRPO的出现激发了一系列后续研究,大家在GRPO的基础上,从数据、算法、训练策略等多个维度进行了创新,进一步压榨LLM的推理潜力。

| 维度 | KIMI K1.5 | DAPO | QWENLONG-L1 |
|---|---|---|---|
| 提出时间 | 2024年6月 | 2024年5月 | 2024年5月 |
| 核心目标 | 提升复杂推理任务的训练稳定性和效率。 | 提升RL系统在规模化应用下的样本效率和算法稳定性。 | 将RL成功应用于超长上下文Long Context的复杂推理任务。 |
| 相对于GRPO解决的关键问题 | 1. 训练不稳: GRPO平等对待所有数据,当任务难度分布不均时,模型容易在难题上卡住或在简单题上浪费时间。 2. 数据利用率低: "同Prompt"分组的限制降低了数据组合的灵活性。 |
1. 样本效率低下: 当一个Batch内所有采样的结果全对或全错时,优势函数为0,导致梯度消失,浪费计算资源。 2. 探索能力受限: GRPO的裁剪机制可能过度抑制模型的探索,导致“熵崩溃”,输出多样性下降。 |
1. 场景不适用: GRPO未针对长上下文的巨大计算和显存开销进行优化。 2. 奖励信号稀疏: 在长文本中,仅靠最终结果的对错来提供奖励,信号过于稀疏,模型难以定位错误。 |
| 核心改进技术 | 1. 课程学习 (Curriculum Learning): 在训练前对所有Prompt进行难度评估和分级,训练时从易到难分阶段学习。 2. 难度驱动采样 (Difficulty-Driven Sampling): 根据预先计算的难度来构建训练Batch,优化学习路径。 3. 混合Prompt训练: 改进了算法,使其支持在同一个Batch中混合不同难度的Prompt进行训练,打破了GRPO的同Prompt限制。 |
1. 动态采样 (Dynamic Sampling): 在线检测并过滤掉那些全对或全错的Batch,确保每个用于计算的Batch都能提供有效的梯度信号。 2. 解耦裁剪 (Decoupled Clip / Clip-Higher): 对正向优势(鼓励)和负向优势(惩罚)使用不同的裁剪系数。它更温和地惩罚错误,同时更积极地鼓励探索,有效防止“熵崩溃”。 3. Token级策略梯度: 引入了更细粒度的Token级损失,辅助模型学习长推理链。 |
1. 渐进式上下文扩展 (Progressive Context Extension): 以课程学习的方式,从较短的上下文开始训练,逐步增加长度,让模型平滑适应长序列。 2. 混合奖励机制 (Hybrid Reward Mechanism): 结合了两种奖励:一种是类似GRPO的、基于最终结果的稀疏奖励;另一种是能提供过程指导的稠密奖励(Fine-grained Reward)。 3. 长上下文课程引导: 一套综合策略,将上下文长度扩展与Prompt难度调度相结合。 |
| 最终效果与影响 | • 训练过程更稳定,收敛速度更快。 • 在高难度推理基准上取得了更好的最终性能。 • 证明了“数据策略”在RL中的重要性。 |
• 显著提升了训练的样本利用率和计算效率。 • 训练稳定性更高,模型输出多样性更好。 • 提供了一个更鲁棒、更适合大规模部署的开源RL系统。 |
• 首次成功将RL方法扩展到128K甚至更长的上下文。 • 显著提升了LLM在长文档问答、长代码理解等任务上的推理能力。 • 开创了长上下文RL这一新的研究方向。 |
五、 进一步理解RL训练
除了算法框架的演进,强化学习训练过程有几个重要的概念:
-
探索与利用(Exploration vs. Exploitation)
这是强化学习中一个永恒的主题。 “利用”是指模型倾向于选择当前已知的、概率最高的token,以获得稳定的奖励。而“探索”则是指模型会以一定的概率选择那些非最优的token,去尝试新的、未知的可能性,这可能会带来短期损失,但却有可能发现通往更高长期回报的新路径。 在LLM训练中,如果模型只懂得“利用”,它可能会陷入局部最优,无法生成多样化和富有创造性的内容。因此,一个健康的训练过程必须在这两者之间取得精妙的平衡。 -
熵(Entropy):衡量探索度的指标
在训练过程中,我们可以通过监控模型输出概率分布的“熵”来观察其探索程度。- 熵高: 表示模型对选择哪个token感到“困惑”,各个token的输出概率比较接近。这通常发生在训练初期,模型探索性较强。
- 熵低: 表示模型的输出概率分布非常“尖锐”,对某个token的选择非常确定。这说明模型趋于“利用”,探索性不足。
理想的训练过程通常表现为:熵先下降后略微回升。初期熵下降,说明模型在学习确定的知识;后期熵略微回升,说明模型在保持确定性的基础上,维持了一定的探索能力,以发现更优的解。详细参考DAPO中的实验图表。
-
思维链(Chain-of-Thought, CoT)的激发
一个有趣的现象是,强化学习训练,特别是针对数学和编程任务的训练,能够自发地激发模型的思维链能力。 这表现为,随着训练的进行,模型为了得到正确的最终答案,会倾向于生成更长的、包含中间推理步骤的文本。当然,过长的输出也可能是不必要的“胡言乱语”,因此需要通过长度惩罚等机制来加以约束。
六、 挑战与反思:奖励黑客问题
尽管RLHF威力巨大,但它也带来了一个棘手的问题——奖励黑客(Reward Hacking)。 这个问题指的是,模型可能会找到奖励函数的漏洞,通过一些投机取巧的方式获得高分,但实际上并没有真正完成我们期望的任务。 例如,一个摘要模型可能会学会生成一些符合ROUGE评分指标但人类读起来却不知所云的文本。关于更多Reward Hacking的思考,参考前OpenAI研究员LilanWeng的博客。
随着模型能力的增强,奖励黑客的风险也随之增加,因为更聪明的模型更有能力发现并利用奖励系统中的漏洞。 GRPO的出现,通过使用基于规则的、更客观的奖励,在一定程度上缓解了传统奖励模型容易被“欺骗”的问题。但这仍然是一个开放的研究领域,需要我们不断设计更鲁棒的对齐方法。
本文来自博客园,作者:fariver,转载请注明原文链接:https://www.cnblogs.com/fariver/p/18999603

浙公网安备 33010602011771号