一、LLM中的对齐算法(框架)
在语言模型对齐(alignment)中,强化学习是一种重要的优化策略。其中,RLHF(Reinforcement Learning with Human Feedback)、DPO(Direct Preference Optimization) 和 RLVR(Reinforcement Learning with Verifiable Rewards) 是三种具有代表性的范式。它们虽都使用 RL 来优化模型行为,但在奖励来源、训练过程和适用场景等方面存在关键差异。
奖励来源 | 人类偏好训练出的 奖励模型 Reward Model | 直接利用偏好对(人类或 AI 生成)进行对比学习,无需显式 Reward Model | 明确的规则、目标函数或可验证标准 |
奖励解释性 | 主观、近似人类意图,较黑箱 | 偏好样本来源可控,目标函数显式,与对比概率差相关 | 客观、可验证、可形式化定义 |
构建复杂度 | 高:需要人工数据收集与训练 RM | 中:只需偏好对/排序数据,直接训练策略,无需额外训练 RM | 中低:定义标准或测试器即可 |
优化目标 | 最大化奖励模型预测 | 最大化相对概率 | 最大化可验证奖励 |
使用场景 | 对话质量、礼貌性、创意性生成等主观任务 | 与 RLHF 场景相似,但适合偏好对数据丰富、希望减少 RL 阶段复杂性的任务 | 编程、逻辑推理、数学等结果可验证任务 |
可验证性 | 难以验证、不可复现 | 可复现,数据与训练过程透明,但偏好数据仍可能带主观性 | 可验证、可复现 |
模型对齐风险 | 可能 Reward Hacking,对抗性行为 | 同样可能受偏好数据偏差影响 | 风险最小,因奖励清晰明确定义 |
示例 | ChatGPT 微调、InstructGPT | Stanford Alpaca DPO版本、LLaMA-2 DPO 微调 | DeepSeek-R1、代码生成(单测)、SQL 查询执行正确性、数学证明 |
1.1 RLHF
代表: Openai 的 GPT-3
人类偏好 → 奖励模型 → 策略优化
1) 主要流程
- 监督微调(SFT)
- 使用人工标注或专家数据训练初始模型,得到参考策略 。
- 奖励模型训练(Reward Modeling)
- 收集人类偏好数据(对比两个输出,标注更符合人类偏好的样本)。
- 构建奖励模型 \(R_\psi(s,a)\),优化目标:
- 策略优化(Policy Optimization)
2) 特点
3) 目标函数
每一项目标:
- 第一项
- 提升模型生成输出的质量,使其更符合人类偏好或任务目标。
- 第二项
- 限制策略更新幅度,避免新策略偏离原 SFT 策略过多。
- 第三项
1.2 DPO
代表: Google 开源的 LLAMA-2、LLAMA-3
人类偏好 → 奖励模型 → 策略优化
1) 流程步骤
- 采集偏好对
- 直接优化目标
- 策略更新
- 对原始策略保持 KL 约束,避免过度偏离 SFT。
2) 特点
缺点
- 容易过拟合:DPO 由于缺少 reward model 的泛化,因此容易直接拟合人类偏好数据,造成过拟合。
- 需求更大标注数据量:相比 PPO 等,DPO 的效果表现更依赖标注数据量。
- 多任务适配较难:由于 DPO 仅依赖数据,所以如果需要进行多任务的对比,则需要从头标注涉及到多个维度的数据,但是在线策略的方法可以通过单个维度的数据,训练不同的多个 reward model,引入多维度的奖励。
3) 目标函数
- 目标:增加优样本的生成概率,减少劣势样本的生成概率。
- 目标:将概率差映射为 [0,1] 范围,便于优化。
1.3 RLVR
代表: Deepseek 的 Deepseek-R1
人类偏好 → 奖励模型 → 策略优化
使用可程序化或可验证的奖励信号替代人类偏好,训练稳定,无需大规模人工标注。
1) 流程步骤
- 定义可验证奖励
- 如 Exact Match、IoU、编译成功或物理约束满足等。
- 策略优化
2) 特点
二、强化学习算法
当前大模型的优化,除了在模型结构、数据等角度,都在强化学习上做了很大的优化;包括后续涉及到大模型在下游业务场景的应用,也会涉及到强化学习的落地。
但实际的业务场景不同,显卡资源不同,目标效果要求不同,都会涉及到大模型强化学习的算法选型。
2.1 强化学习发展
强化学习的发展经历: PG(policy gradient,即策略梯度)=>TRPO=>PPO=>DPO=>GRPO
其中最大的区别在于 [策略数据采样的在线 or 离线] 的差异
为了降低计算复杂度和资源需求,才发展出了从在线策略到离线策略的路径,DPO 就属于离线策略(不过 DPO 已经不属于严格的强化学习)
- off-policy:观察他人学习,数据利用率高。
核心定位 | 实现 RLHF 的常用强化学习算法 | PPO 的改进,提升 RLHF 训练效率 |
核心区别 | 依赖独立价值网络 (Critic) 评估状态价值、计算优势函数 | 取消价值网络,用组内奖励相对比较直接估算优势 |
优势 | - 稳定可靠<br>- 多任务性能优异<br>- 实现简单 | - 计算/内存高效<br>- 训练更快<br>- 简化训练流程 |
劣势 | - 计算/内存密集<br>- 样本效率低<br>- 对超参数敏感 | - 样本效率可能略低<br>- 验证历史短,鲁棒性有待进一步检验 |
2.2 PPO (Proximal Policy Optimization)
PPO(近端策略优化)是OpenAI于2017年提出的一种策略梯度类算法,以其高效性、稳定性和易实现性成为强化学习领域的主流算法。以下从核心原理、数学推导、代码实现到应用场景进行系统解析。
1) 核心机制
其核心思想在于“近端”二字,即在更新模型策略时,确保新的策略与旧的策略不会偏离太远。PPO通过其独特的“裁剪代理目标函数 (Clipped Surrogate Objective)”来实现这一目标。这个机制可以有效防止模型在优化过程中因为某一步更新过大而“跑偏”,从而导致训练崩溃。
2) 算法表示
- 奖励模型( ):一个经过训练并冻结的模型,它为给定 prompt 的完整响应提供奖励分值;
- 价值函数 critic( ):它是一个可学习的模型,它为给定 prompt 的部分响应提供奖励分值。
该流程包含五个阶段:
- 生成响应:LLM 为给定 prompt 生成多个响应;
- 计算优势(advantages):使用 GAE(广义优势估计)计算优势;
- 优化策略(policy):通过优化总目标来更新 LLM;
- 更新价值函数(critic):训练价值函数,使其更好地预测给定部分响应的奖励。
2.3 GRPO (Group Relative Policy Optimization)
其最核心的区别在于,GRPO 取消了独立的价值网络。它通过一种更直接的方式来估算“优势”。
1) 核心机制
- 分组比较: 对于同一个输入,GRPO 会让模型生成一组(多个)输出。
- 相对优势估算: 它会计算这一组输出的平均奖励值,并将这个平均值作为基线 (Baseline)。然后,每个输出的奖励与这个平均奖励的差值,就被直接用作其“优势”的估计。奖励高于平均值的输出,其优势为正,反之为负。
- 无需价值网络: 通过这种分组内的相对比较,GRPO 巧妙地绕过了训练和维护一个庞大且消耗资源的价值网络的需要。
关键点: GRPO 是 PPO 的一个变体或改进,其主要创新在于用一种更轻量级的方式估算优势,从而提升训练效率。
2) 算法公式
GRPO 是 PPO 进一步的改进,回顾前面 PPO 使用 GAE 计算 advantage,公式如下:
上面在优势计算中之所以减去 ,是因为直接利用真实奖励蒙特卡洛估计 会导致高方差,而 作为 的期望,充当了 baseline。
除了减去 baseline 实现降低方差外,也可以通过多次采样求均值的方式来减少方差。
因此 GRPO 相较于 PPO 的主要改进为:
下面是 GRPO 计算 advantage 的具体流程:
- 采样多个响应:对每个 prompt,采样一组 response:
- 通过 Reward Model 打分:对每个响应 ,使用奖励模型 得到一个分数。对应的产生 个奖励分值为
- 用 group 内标准化估计 Advantage:
而在 KL 散度的计算上,GRPO 不是 token-wise 而是 prompt-wise 来计算,衡量当前政策在整个延续过程中与冻结参考π ref的偏离程度。
🔗 Reference
Paper : Reinforcement Learning in Vision: A Survey
科普 | PPO/DPO/GRPO三大算法的区别与特点!_grpo算法-CSDN博客![科普 | PPO/DPO/GRPO三大算法的区别与特点!_grpo算法-CSDN博客]()
科普 | PPO/DPO/GRPO三大算法的区别与特点!_grpo算法-CSDN博客
文章浏览阅读1.9k次,点赞21次,收藏11次。本文对比分析了三种大模型强化学习算法(PPO/DPO/GRPO)的特点与应用场景。PPO作为在线策略算法计算复杂度高;DPO作为离线策略算法通过直接拟合人类偏好数据降低资源需求,但易过拟合;GRPO则通过去除价值模型和采用群组采样策略,在PPO和DPO间取得平衡。文章还介绍了RLHF训练流程差异、资源需求对比及算法选型建议,最后提供了大模型AI的学习路径和资源。核心要点包括:不同算法在训练流程、资源需求和数据依赖上的差异,以及如何根据业务场景选择合适的优化方法。_grpo算法
强化学习算法解析:PPO(Proximal Policy Optimization) - JackYang - 博客园![强化学习算法解析:PPO(Proximal Policy Optimization) - JackYang - 博客园]()
强化学习算法解析:PPO(Proximal Policy Optimization) - JackYang - 博客园
PPO(近端策略优化)是OpenAI于2017年提出的一种策略梯度类算法,以其高效性、稳定性和易实现性成为强化学习领域的主流算法。以下从核心原理、数学推导、代码实现到应用场景进行系统解析。 一、PPO 的核心设计思想 问题背景传统策略梯度方法(如TRPO)存在两大痛点: 更新步长敏感:步长过大易导致