11. RL 强化学习中的 Reward 与 Preference Learning
在大模型后训练中,
Fine-tuning(微调)解决的是:
“模型如何模仿人类”。
而 Reinforcement Learning(强化学习,RL)解决的是:
“模型如何自己变得更好”。
现代大模型:
- ChatGPT
- Claude
- DeepSeek
- Gemini
都大量使用:
Preference Learning(偏好学习)
即:
让模型学习“什么回答更好”。
1. Fine-tuning 与 RL 的区别
Fine-tuning(SFT)
SFT 的核心思想:
直接给模型标准答案。
例如:
input:
如何煮面?
output:
1. 烧水
2. 下面
3. 放调料
模型学习:
模仿人类回答。
RL(强化学习)
RL 不直接告诉模型:
“正确答案是什么”。
而是告诉模型:
“哪个回答更好”。
模型通过奖励机制:
- 自己探索
- 自己优化
- 自己寻找更优策略
2. Fine-tuning 与 RL 对比表
| 对比项 | Fine-tuning(SFT) | Reinforcement Learning(RL) |
|---|---|---|
| 核心思想 | 模仿标准答案 | 最大化奖励 |
| 数据形式 | Input → Output | Input → Reward |
| 学习目标 | 学会人类回答 | 学会高奖励行为 |
| 是否需要标准答案 | 需要 | 不一定 |
| 推理探索能力 | 较弱 | 更强 |
| 稳定性 | 高 | 相对不稳定 |
| 创造性 | 有限 | 更强 |
| 核心依赖 | 高质量数据 | 高质量奖励 |
3. 什么是 Reward(奖励)
RL 中最核心的概念:
Reward(奖励)
Reward 本质上是:
“这个回答有多好”。
4. 最简单的 Reward Checker
一种最基础的方法是:
规则检查器(Rule-based Checker)
示例:代码检查
问题:
写一个 Python 函数
检查器可以检查:
- 是否包含 ```python
- 是否语法正确
- 是否可运行
数学检查
例如:
2 + 3 = ?
检查器直接验证:
答案是否等于 5
Think 检查
例如:
是否包含 <think>
5. 简单 Reward Checker 的问题
规则检查器虽然简单。
但存在很多问题。
例如:
- 无法判断情感
- 无法判断语气
- 无法判断是否礼貌
- 无法判断回答是否自然
示例
Hello!!!!!!!
可能被认为:
“非常热情”
但实际上:
很奇怪。
6. Reward Model(奖励模型)
因此现代 RL 通常会训练:
Reward Model(RM,奖励模型)
它本质上是:
一个专门负责“打分”的模型。
7. Reward Model 的输入输出
输入:
Question + Answer
输出:
Reward Score
例如:
| 回答 | 分数 |
|---|---|
| 很自然 | 9.5 |
| 一般 | 6.0 |
| 很差 | 1.0 |
8. Reward Model 如何训练
核心思想:
让奖励模型学习人类偏好。
9. 人工标注(Human Preference Labeling)
例如:
对于同一个问题:
如何学习 Python?
模型生成三个答案:
回答 A
详细、礼貌、结构清晰
回答 B
内容错误
回答 C
很短,没有帮助
10. 人类排序
人工标注员进行排序:
A > C > B
即:
A 最好,
B 最差。
11. 转换成 Preference Pair
通常会转换成:
(A > B)
(A > C)
(C > B)
这些叫:
Preference Pairs(偏好对)
12. Reward Model 的训练目标
Reward Model 学习:
Reward(A) > Reward(B)
即:
好回答应该获得更高分。
13. Reward Model 训练流程
graph TD A[同一个问题] --> B[模型生成多个回答] B --> C[人工排序 Preference] C --> D[生成偏好对] D --> E[训练 Reward Model] E --> F[输出 Reward Score]
14. 强化学习的核心目标
RL 的目标是:
最大化 Reward(奖励)。
即:
让模型越来越倾向生成高奖励回答
15. 一个关键问题
问题:
Reward 不在模型权重里,
如何优化模型?
16. RL 的核心思想
RL 并不是直接修改 Reward。
而是:
修改生成 Token 的概率。
17. RL 的真正优化目标
核心目标:
提高高奖励 Token 的概率
降低低奖励 Token 的概率
18. RL 是一个循环
完整 RL Loop:
graph TD A[用户输入 Prompt] --> B[LLM生成回答] B --> C[Reward Model评分] C --> D[计算Reward] D --> E[反向传播] E --> F[更新模型参数] F --> G[模型更倾向高奖励回答] G --> A
19. PPO(Proximal Policy Optimization)
PPO 是经典 RLHF 算法之一。
中文:
近端策略优化。
20. PPO 的核心思想
PPO 不会:
一次性大幅修改模型。
因为:
- 容易训练崩溃
- 容易偏离原模型
因此 PPO 会:
“小步稳定更新”。
21. PPO 的关键组件
PPO 通常包括:
| 组件 | 作用 |
|---|---|
| Policy Model | 当前LLM |
| Reward Model | 打分 |
| Reference Model | 防止模型偏移太远 |
| Value Model | 预测奖励 |
| GAE | 优势估计 |
22. 为什么需要 Reference Model
如果没有限制:
模型可能:
- 胡言乱语
- 奖励作弊
- 偏离语言能力
因此 PPO 会加入:
KL Penalty(KL惩罚)
限制模型不要偏离原模型太远。
23. GAE(广义优势估计)
GAE:
Generalized Advantage Estimation
作用:
更稳定估计“当前 Token 是否比平均更好”。
24. PPO 流程图
graph TD A[Prompt 输入] --> B[当前LLM生成回答] B --> C[Reward Model评分] B --> D[Reference Model计算KL] B --> E[Value Model预测奖励] C --> F[Reward] D --> F E --> G[GAE优势估计] F --> G G --> H[PPO更新模型] H --> I[模型生成更高奖励回答]
25. PPO 的问题
PPO 很强。
但代价也很大:
- 需要额外 Value Model
- 训练复杂
- 显存消耗高
因此:
出现了 GRPO。
26. GRPO(Group Relative Policy Optimization)
GRPO 是 DeepSeek 等模型使用的重要 RL 方法。
核心思想:
不再单独训练 Value Model。
27. GRPO 的方法
对于一个输入:
Question
模型生成:
y1, y2, y3 ...
多个回答。
然后:
- 分别计算 Reward
- 在组内进行比较
28. GRPO 的核心思想
不是预测:
绝对奖励
而是:
谁比谁更好
29. GRPO 的优势
相比 PPO:
| PPO | GRPO |
|---|---|
| 需要Value Model | 不需要 |
| 显存更大 | 更省显存 |
| 训练复杂 | 更简单 |
| 更稳定 | 更适合LLM |
30. GRPO 流程图
graph TD A[Prompt 输入] --> B[LLM生成多个回答] B --> C1[y1] B --> C2[y2] B --> C3[y3] C1 --> D[Reward Model] C2 --> D C3 --> D D --> E[计算各自Reward] E --> F[组内比较 Group Relative] F --> G[计算Advantage] G --> H[更新模型] H --> I[提升高奖励回答概率]
31. PPO 与 GRPO 本质区别
PPO
核心:
学习“每一步值多少钱”。
需要:
- Value Model
- GAE
GRPO
核心:
直接比较“谁更好”。
不需要:
- 单独 Value Model
因此更轻量。
32. RL Preference Learning 的本质
本质上:
让模型逐渐形成“偏好”。
例如:
- 更礼貌
- 更准确
- 更安全
- 更会推理
33. 一句话总结
Fine-tuning:
教模型模仿人类答案。
RLHF:
教模型学习人类偏好。
PPO:
小步稳定优化奖励。
GRPO:
用组内比较代替 Value Model,更适合现代推理模型。