在 AI 对齐(Alignment)的进化史上,如果说 RLHF 是初代的"导师制",DPO 是现代的"对比法",那么 GRPO 就是一种全新的**"演化论"**。它是 DeepSeek 推理模型(R1 系列)能够自发涌现思维链(CoT)的核心秘密。
一、 诞生背景:为什么要干掉 Value Model?
在传统的强化学习(PPO 算法)中,显存是最大的瓶颈。我们需要同时维护:
- Policy Model(考生):正在练的模型。
- Reference Model(初心锚点):防止学偏的基准。
- Reward Model(考官):负责给回答打分。
- Value Model (预言家):这是最大的痛点。
Value Model 的作用是预测"这一步走下去最后能拿几分"。但在极长的推理链(如数千 Token 的数学证明)中,它预测得极其不准,且占用空间与 Policy 模型相当。
DeepSeek 的决定 :既然预测不准又占地方,干脆删掉 Value Model 。于是 GRPO (Group Relative Policy Optimization) 诞生了------它通过"组内相对竞争"取消了对价值预测的需求,实现了显存的极大释放。
二、 GRPO 的核心流程:组内比大小
GRPO 的核心逻辑非常直观:不看绝对分,看你在同龄人里的相对排名。
1. 分组采样 (Group Sampling)
针对同一个问题 <math xmlns="http://www.w3.org/1998/Math/MathML"> x x </math>x,让模型一次性生成 <math xmlns="http://www.w3.org/1998/Math/MathML"> G G </math>G 个不同的回答(例如 <math xmlns="http://www.w3.org/1998/Math/MathML"> G = 64 G=64 </math>G=64): <math xmlns="http://www.w3.org/1998/Math/MathML"> { y 1 , y 2 , y 3 , ... , y 64 } \{y_1, y_2, y_3, \dots, y_{64}\} </math>{y1,y2,y3,...,y64}。这些回答有的逻辑混乱,有的思考深刻,有的答案正确。
2. 计算奖励 (Reward Calculation)
通过"规则考官"给这 64 个回答分别打分,得到分数序列: <math xmlns="http://www.w3.org/1998/Math/MathML"> { r 1 , r 2 , ... , r 64 } \{r_1, r_2, \dots, r_{64}\} </math>{r1,r2,...,r64}。
3. 计算相对优势 (Advantage) ------ 数学核心
这是 GRPO 代替 Value Model 的关键。它计算每个回答在这一组里的 Z-Score:
<math xmlns="http://www.w3.org/1998/Math/MathML"> A i = r i − mean ( r 1 , ... , r G ) std ( r 1 , ... , r G ) A_i = \frac{r_i - \text{mean}(r_1, \dots, r_G)}{\text{std}(r_1, \dots, r_G)} </math>Ai=std(r1,...,rG)ri−mean(r1,...,rG)
- 意义 :如果你比这组的平均分高,你就是"优等生",优势值 <math xmlns="http://www.w3.org/1998/Math/MathML"> A i A_i </math>Ai 为正;反之为负,将面临惩罚。
三、 考官的真相:基于规则的硬核判分
在 GRPO 训练推理模型(如数学、代码)时,考官不是模糊的神经网络,而是预先写好的 Python 脚本。
1. 准确性奖励 (Accuracy Reward) ------ "硬规则"
- 数学任务 :利用正则表达式从模型输出中提取
\boxed{}里的答案。 - 判定逻辑 :
if extracted_answer == ground_truth: return 1.0。 - 代码任务:将代码放入沙箱运行,通过全部测试用例(Unit Tests)得满分。
2. 格式奖励 (Format Reward) ------ "软约束"
- 思维链强制 :检查输出是否以
<think>开始,以</think>结束。 - 奖励值:通常设为微小的正值(如 0.1),用于诱导模型开启思考模式。
四、 深度博弈:GRPO 如何催生"思维链"?
这是 GRPO 最神奇的产物:模型在巨大的惩罚压力下,为了拿到那 1.0 分的"准确性奖励",会自发演化出高级认知。
进化路径:
- 偶然试错 :模型在 64 个样本中,偶然有几个样本在
<think>标签里尝试了反复推导,结果算对了。 - 获得红利 :这几个样本拿到了满分,由于平均分很低,它们的相对优势 ( <math xmlns="http://www.w3.org/1998/Math/MathML"> A i A_i </math>Ai) 巨大。
- 参数强化:模型参数被剧烈调整,去模仿那些"多思考、爱反思"的概率分布。
- 智能涌现 :最终,模型学会了自我纠错------如果发现前面算错了,它会写一句"Wait, let me re-check",因为它"知道"这样做拿奖概率最高。
五、 对齐技术大对撞:DPO vs RLHF vs GRPO
| 特性 | DPO | RLHF (PPO) | GRPO |
|---|---|---|---|
| 答案来源 | 死数据(离线标注) | 是(在线生成) | 是(在线组内竞争) |
| 模型架构 | 2 模型 (Policy + Ref) | 4 模型 (P+R+RM+V) | 2 模型 (Policy + Ref) |
| 判定标准 | 数据集中的既定标签 | 神经网络的主观评分 | 代码规则的客观评分 |
| 思维能力 | 弱(模仿风格为主) | 中(受限于 RM 水平) | 极强(自发涌现逻辑) |
| 显存效率 | 高 | 极低 | 极高 (二保一方案) |
六、 总结:GRPO 成功的底层逻辑
- 客观性:代码规则不可被欺骗,消除了 RLHF 中常见的"奖励作弊(Reward Hacking)"。
- 竞争性:组内比大小的方式自然消除了奖励信号的偏置。
- 涌现性:通过只奖励"对的结果"而不干预"思考过程",给了模型最大的自由度去进化出最优思维路径。
💡 工程实践 Tips
- 采样组大小 (G):通常设为 64,这是稳定性与计算量的平衡点。
- KL 约束:必须保留,防止模型为了拿分而偏离正常人类语言分布。
- 适用领域 :目前在数学、代码、逻辑推理等有唯一标准答案的场景中具有统治级表现。