十五:强化学习:RLHF-PPO 与 GRPO自测题答案¶
来源:http://mp.weixin.qq.com/s?__biz=MzYyNTk3Njg1NA==&mid=2247484059&idx=1&sn=c630e83076be7aad682039e459e3bd7e&chksm=f01eb1e2c76938f42056dc586a7309462a511be7b0ef2fb5ee7b2aeab6cbb205d9d99c53d0b8#rd
参考资料¶
-
知乎:DeepSeek R1 用到的 GRPO 详解:https://zhuanlan.zhihu.com/p/15922703850
-
知乎:KL 散度估计:https://zhuanlan.zhihu.com/p/25208314999
-
DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open Language Models:https://arxiv.org/abs/2402.03300
-
DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning:https://arxiv.org/abs/2501.12948
-
PPO 原论文:https://arxiv.org/abs/1707.06347
-
Deep Reinforcement Learning from Human Preferences:https://arxiv.org/abs/1706.03741
-
Training language models to follow instructions with human feedback:https://arxiv.org/abs/2203.02155
-
Hugging Face TRL PPOTrainer 文档:https://huggingface.co/docs/trl/
评分标准¶
-
合格:能说清 RLHF-PPO 的四个核心组件、KL penalty、PPO ratio、GRPO 组内 advantage。
-
良好:能解释 value head、reward shaping、mask、padding、GRPO 去 critic 的动机和 PPO/GRPO 差异。
-
优秀:能从 DeepSeek-R1/可验证奖励、KL 估计、reward hacking、length bias 和算法选型角度完整回答。
一、RLHF-PPO 总体框架¶
1. RLHF-PPO 中通常包含哪些模型或模块?¶
通常包含 policy model、reference model、reward model、value head/critic。policy 被训练,reference 和 reward model 多数冻结,value head 随 policy 训练。
2. Policy model 在 RLHF-PPO 中负责什么?¶
Policy model 是待优化的语言模型,负责根据 prompt 生成 response,并输出每个 token 的 log probability。
3. Reference model 在 RLHF-PPO 中负责什么?¶
Reference model 通常是冻结 SFT 模型,用来计算 KL 约束,防止 policy 偏离原有语言能力和安全行为太远。
4. Reward model 在 RLHF-PPO 中负责什么?¶
Reward model 对 prompt + response 输出标量偏好分数,作为 RL 优化的主要奖励信号。
5. Value head 在 RLHF-PPO 中负责什么?¶
Value head 估计每个 token 位置的未来回报,作为 baseline 计算 advantage,降低策略梯度方差。
6. RLHF-PPO 为什么通常从 SFT 模型初始化?¶
SFT 模型已经具备基本指令遵循和语言能力,能减少 RL 搜索难度,避免从随机策略开始探索巨大 token 空间。
7. 请描述 RLHF-PPO 从 prompt 到参数更新的完整数据流。¶
采样 prompt;policy 生成 response 并保存 old logp;reference 计算 ref logp;reward model 打分;计算 KL penalty 和 token reward;value head 预测 values;计算 advantage/returns;用 PPO clipped loss 更新 policy 和 value head。
8. RLHF-PPO 和传统 PPO 的最大场景差异是什么?¶
RLHF-PPO 的 action 是 token,reward 多为完整序列偏好分数,还需要 reference KL、mask、padding 和大模型生成成本;传统 PPO 通常面对较小动作空间和环境奖励。
二、奖励、KL 与 Token-level PPO¶
9. RLHF 中 reward model 通常对什么内容打分?¶
通常对完整的 prompt + response 打一个标量分数,表示人类偏好、帮助性、安全性或任务质量。
10. 如果 reward model 只输出 sequence-level score,如何用于 token-level PPO?¶
常见做法是把 KL penalty 分配到每个 token,把 reward model score 加到最后一个有效 response token 上,形成 token-level rewards。
11. RLHF-PPO 的总奖励直觉上可以写成什么目标?¶
12. KL penalty 为什么重要?¶
它限制 policy 偏离 reference model,防止模型为了高 reward 牺牲语言质量、安全性和泛化能力。
13. sampled token 上的 KL 近似通常如何计算?¶
常见估计:
在 policy 采样的 token 上平均。14. KL 系数 beta 太大或太小分别会怎样?¶
太大导致策略几乎不能偏离 reference,学习弱。太小导致偏离过大、reward hacking、语言质量下降。
15. PPO ratio 在 LLM token 级别如何定义?¶
其中 logp 对应同一个 response token。16. 为什么必须保存 old log probability?¶
PPO ratio 要比较新策略和采样时旧策略对同一 token 的概率。更新后无法重新得到旧策略概率,必须在 rollout 时保存。
17. 请写出 RLHF-PPO 的 token-level clipped policy objective。¶
实际 loss 通常取负号最小化。18. 为什么 PPO loss 通常只计算 response tokens?¶
Prompt token 不是 policy 在当前 rollout 中生成的动作,不应被 RL loss 优化。只应对模型生成的 response token 计算 action loss。
三、Value、Advantage 与 Mask¶
19. Value head 的输入和输出分别是什么?¶
输入通常是语言模型每个 token 的 hidden state,输出每个位置的标量 value。
20. Value head 和 reward model 有什么区别?¶
Reward model 给完整回答打偏好分。Value head 预测当前 token 位置之后的未来回报,是 policy 训练时的 critic。
21. RLHF-PPO 中 advantage 可以如何计算?¶
可以用 GAE:
22. GAE 在 LLM response 序列中如何处理终止位置?¶
最后有效 token 之后不再 bootstrap,终止后的 V_{t+1} 置 0,并用 mask 排除 padding。
23. Response mask 为什么重要?¶
它保证 policy/value/KL loss 只作用在生成回答部分,避免 prompt 和 padding 污染训练。
24. Padding token 如果参与 loss 会造成什么问题?¶
模型会在无意义位置学习,KL、value 和 advantage 统计被污染,loss 尺度也会随 padding 长度变化。
25. Prompt token 如果参与 policy loss 会造成什么问题?¶
会错误地把用户输入当成模型动作,优化模型去“生成 prompt”,导致梯度含义错误。
26. Attention mask、response mask、loss mask 分别有什么作用?¶
attention mask 控制模型可见有效 token;response mask 标识回答部分;loss mask 决定哪些位置参与 RL loss,通常排除 prompt 和 padding。
27. 为什么 advantage normalization 在 RLHF-PPO 中常见?¶
它稳定 advantage 尺度,减少 reward model 分数尺度变化对 PPO 更新强度的影响。
28. Value clipping 在 RLHF-PPO 中解决什么问题?¶
限制 value head 单次更新幅度,防止 critic 剧烈变化导致 advantage/return 训练不稳定。
四、RLHF-PPO 工程风险¶
29. 什么是 reward hacking?在 RLHF-PPO 中如何出现?¶
模型利用 reward model 漏洞获得高分,但输出不真正有帮助。例如生成冗长、套话、过度自信或格式投机内容。
30. 什么是 length bias?为什么 reward model 可能引入它?¶
Length bias 是 reward model 系统性偏好更长或更短回答。偏好数据或模型特征如果把长度和质量混淆,就会引入该偏差。
31. KL 过大通常说明什么?¶
policy 偏离 reference 太远,可能语言质量下降、过优化 reward、训练不稳定。应增大 beta、降低学习率或减小 PPO 更新。
32. KL 过小但 reward 不升可能说明什么?¶
约束过强、beta 太大、学习率太低、advantage 太小或 reward 信号质量差,导致 policy 几乎没有有效更新。
33. 如果 ratio 大量超出 clip range,可能是什么问题?¶
学习率过大、epoch 过多、old logp 不匹配、advantage 尺度过大或 batch 数据过旧。
34. 如果 value loss 很大,应该排查什么?¶
排查 reward scale、returns 计算、mask、终止位置、value head 初始化、学习率和 value loss 系数。
35. old logp 和 new logp 不匹配会导致什么后果?¶
ratio 错误,PPO clipping 失效,策略可能被错误方向更新,KL 和 loss 指标也会失真。
36. 为什么 RLHF-PPO 的 batch 构造比传统 PPO 更复杂?¶
因为有变长文本、prompt/response 分区、padding、attention mask、response mask、reward model 打分、reference logp 和 value head 输出。
37. RLHF-PPO 中生成温度会影响什么?¶
温度影响探索和 response 分布。温度高样本多样但噪声大,温度低探索不足,可能降低 reward 改进空间。
38. 为什么 RLHF-PPO 需要独立评估而不能只看 reward model 分数?¶
reward model 可能被过优化或存在偏差。需要人工评估、任务指标、安全评估、事实性评估和长度/风格分析。
五、GRPO 基础¶
39. GRPO 的全称是什么?¶
GRPO 是 Group Relative Policy Optimization,组相对策略优化。
40. GRPO 想解决 RLHF-PPO 中的什么问题?¶
它希望省掉 value model/critic,降低显存和训练复杂度,同时避免 critic 不准带来的不稳定。
41. GRPO 为什么可以不训练 value model 或 critic?¶
它对同一 prompt 采样多个回答,用组内 reward 均值作为 baseline,用组内相对分数构造 advantage。
42. GRPO 对同一个 prompt 通常会采样什么?¶
采样一组候选回答或推理轨迹,例如 G 个 completions。
43. 请写出 GRPO 组内相对 advantage 的常见形式。¶
44. GRPO 中组内均值起什么作用?¶
它作为同 prompt 的 baseline,让更新关注某个回答相对同题其他回答好不好。
45. GRPO 中组内标准差归一化起什么作用?¶
标准化 reward 尺度,使不同 prompt 的 reward 差异更可比,稳定更新。
46. 如果同一组回答 reward 方差接近 0,会有什么问题?¶
标准差太小会导致归一化不稳定,advantage 噪声大或无有效区分。实现中通常加 epsilon。
47. GRPO 是否仍然使用 PPO-style ratio clipping?¶
通常使用。GRPO 保留 ratio clipping 来限制新旧策略变化。
48. GRPO 是否仍然需要 KL 正则?为什么?¶
需要。没有 KL 约束时,policy 仍可能偏离 reference,出现语言质量下降和 reward hacking。
六、GRPO 与 PPO 对比¶
49. RLHF-PPO 和 GRPO 在 baseline 上有什么区别?¶
RLHF-PPO 使用 value head/critic 估计 baseline。GRPO 使用同 prompt 组内 reward 均值作为 baseline。
50. RLHF-PPO 和 GRPO 在模型组件上有什么区别?¶
RLHF-PPO 通常需要 policy、reference、reward、value。GRPO 通常不需要 value model,主要是 policy、reference、reward。
51. RLHF-PPO 和 GRPO 在显存和计算成本上有什么差异?¶
GRPO 省掉 critic/value head 训练,显存和 critic 计算减少;但每个 prompt 需要采样多个回答,生成成本增加。
52. GRPO 的 group size 会影响什么?¶
影响 advantage 估计质量、生成成本和组内比较稳定性。group 太小基线不稳,太大成本高。
53. GRPO 为什么适合数学推理或代码任务?¶
这类任务可用规则、答案校验或测试用例打分。同一题可采样多个解答,组内比较信号明确。
54. GRPO 相比 PPO 的主要风险是什么?¶
组内 reward 方差不稳定,group size 影响大;若 reward 信号粗糙,组内相对优势噪声高;多样本生成成本高。
55. GRPO 和 REINFORCE with baseline 有什么联系?¶
两者都用 log pi * advantage 形式。GRPO 的 advantage 来自组内 reward 相对 baseline,而不是 value network。
56. GRPO 中同一个回答的 advantage 是否一定逐 token 不同?¶
不一定。常见做法中同一回答的 group advantage 可共享给该回答的所有 response token;具体实现也可能结合 token-level KL 或其他 shaping。
七、DeepSeek-R1 与 KL 估计¶
57. DeepSeek-R1/DeepSeekMath 场景中,GRPO 的奖励可以来自哪些信号?¶
可以来自答案正确性、格式约束、数学验证、代码测试、规则奖励或奖励模型评分。
58. 为什么可验证任务特别适合 GRPO?¶
因为 reward 可以相对客观地比较同 prompt 下多个候选,组内相对优势可靠,不一定需要训练 critic。
59. 什么是 KL(pi || ref) 的基本定义?¶
60. 在 sampled action 上估计 KL 时,logp_policy - logp_ref 表示什么?¶
表示当前采样 token 在 policy 下相对 reference 的 log probability 差,是前向 KL 的单样本估计项。
61. 为什么不同代码库的 KL 符号和方向必须仔细检查?¶
有的代码定义 logp_policy - logp_ref,有的用反方向或非负近似。如果符号弄反,KL penalty 会鼓励偏离 reference。
62. KL penalty 和 PPO clipping 分别限制什么?¶
KL penalty 限制 policy 相对 reference model 的偏离。PPO clipping 限制当前更新中新策略相对 old policy 的变化。
63. GRPO 中如果 KL 系数太小,会有什么风险?¶
模型可能过度优化 reward,偏离 reference,产生格式投机、语言质量下降或安全性问题。
64. GRPO 中如果 KL 系数太大,会有什么风险?¶
策略被 reference 过强约束,难以学习新的推理行为,reward 改进有限。
八、综合设计与面试追问¶
65. 请画出或描述 RLHF-PPO 的完整训练流程图。¶
prompts
-> policy generate responses
-> save old logp / values
-> reference compute ref logp
-> reward model score
-> reward = score - beta KL
-> compute advantages / returns
-> PPO clipped update policy
-> value loss update value head
66. 请画出或描述 GRPO 的完整训练流程图。¶
prompts
-> for each prompt sample G responses
-> score each response
-> compute group mean/std
-> A_i = (r_i - mean) / std
-> compute token logp ratio
-> PPO-style clipped objective with A_i
-> add KL regularization
-> update policy
67. 如果要把 RLHF-PPO 改成 GRPO,需要删除和新增哪些步骤?¶
删除 value head 训练、value loss、GAE/value-based advantage。新增同 prompt 多候选采样、组内 reward 均值/标准差、group relative advantage。保留 reference KL、old logp、ratio clipping。
68. 如果 reward model 偏好长答案,PPO 和 GRPO 分别可能学到什么坏行为?¶
PPO 可能学会生成冗长回答以提高 reward。GRPO 如果组内长答案普遍得分更高,也会提高长答案概率。需要长度惩罚、校准 reward、人工评估和多指标约束。
69. 在大模型 RL 中,为什么“奖励上升”不一定代表真实能力上升?¶
奖励模型或规则可能有漏洞,模型可能学会投机格式、变长、模板化、自信胡编。真实能力需要独立 benchmark、人评、鲁棒性和安全评估验证。
70. 请完整比较 SFT、DPO、RLHF-PPO、GRPO 的数据形式、训练目标、优缺点和适用场景。¶
SFT 使用 prompt-answer 数据,目标是模仿示范,稳定但只能学习标注分布。DPO 使用 chosen/rejected 偏好对,直接优化偏好目标,不需要在线 RL 和 reward model,工程简单但依赖离线偏好数据。RLHF-PPO 使用 prompt 采样 response、reward model 打分、PPO 优化,能在线探索并优化奖励,但成本高且需要 critic、KL 和复杂工程。GRPO 对同 prompt 采样多候选,用组内相对 reward 优化,省 critic,适合数学、代码、推理等可验证任务,但生成成本和 reward 质量仍是关键风险。
预览时标签不可点
<div class="