(注:以下内容由GLM5.1模型基于diy-llm的第十四章课程文件《chapter14_可验证奖励的强化学习.md》。由以下提示词生成而来,可能会出现谬误,仅供参考。提示词如下:
“请你根据我刚才发给你的文件《chapter14_可验证奖励的强化学习.md》,按照以下的层级,生成以下内容:
# 14.1十四章总览
(内容为空)
## 14.1.1 十三章目标培养的能力要求(写你刚才生成的第十三章培养的目标能力)
## 14.1.2 十三章回答的问题(写你刚才生成的十三章回答的问题与内容的具体对应关系)
## 14.1.3 十三章的阅读基础(写读懂十三章所需要的数学基础知识和机器学习基础知识)
## 14.1.4 对于不同层级目标的阅读建议 (写针对不同基础数学基础,机器学习基础和不同培养目标的人的学习建议
”)
14.1 十四章总览
14.1.1 十四章目标培养的能力要求
| 能力层级 |
能力名称 |
核心内涵 |
| 能力一 |
问题意识 — 为什么需要 RLVR |
识别 RLHF 的根本性困境(噪声高、难扩展、过度优化),理解 RLVR 在可验证任务中的定位与优势 |
| 能力二 |
算法演进 — 从 PPO 到 GRPO |
理解策略梯度方法(PG → TRPO → PPO → GRPO)的演进逻辑,掌握 GRPO 组内 z-score 优势的数学机制 |
| 能力三 |
工程实现 — 代码级实现能力 |
读懂并复现 PPO 的奖励塑形、GAE 估计、clip loss;读懂 GRPO 的极简实现代码,能调试训练曲线 |
| 能力四 |
批判思维 — 识别陷阱与偏见 |
识别 GRPO 的长度偏差和有偏梯度,理解 Dr. GRPO 的修正方案,辨别"aha moment"是真涌现还是基座已有能力 |
| 能力五 |
系统拆解 — 前沿案例全流程理解 |
拆解 DeepSeek R1 / Kimi k1.5 / Qwen3 的完整训练流水线,理解冷启动数据、CoT、长度控制、思考模式融合等工程关键 |
14.1.2 十四章回答的问题
一、为什么需要 RLVR(14.1)
| 核心问题 |
对应章节 |
| RLHF 有什么根本性困境? |
14.1.1 |
| AlphaGo / AlphaFold 的成功对 LLM 训练有什么启示? |
14.1.2 |
| RLVR 是什么?它和 RLHF 有什么本质区别? |
14.1.3 |
| 什么样的任务适合 RLVR?奖励函数怎么定义? |
14.1.3 |
二、算法演进:从 PPO 到 GRPO(14.2)
| 核心问题 |
对应章节 |
| 策略梯度方法(PG → TRPO → PPO)是如何演进的?各自有什么问题? |
14.2.1(发展脉络) |
| PPO 的裁剪机制为什么有效?直觉怎么理解? |
14.2.1(PPO 部分) |
| PPO 在大模型训练中的完整流程是怎样的?(采样→奖励→优势→更新) |
14.2.1(PPO 总体流程) |
| PPO 的代码实现长什么样?奖励塑形怎么做? |
14.2.1(奖励塑形代码段) |
| GAE 优势估计的代码怎么写? |
14.2.1(GAE 代码段) |
| PPO 的损失计算代码怎么写? |
14.2.1(损失计算代码段) |
| PPO 健康训练曲线长什么样?三条曲线分别代表什么? |
14.2.1(图 14.3) |
| 为什么 PPO 实现细节极其重要?37 个实现细节说明了什么? |
14.2.1(PPO 痛点) |
| 为什么不直接用 PPO?(实现复杂 + 价值模型负担) |
14.2.2 |
| 为什么不直接用 DPO?(数据形式不匹配 + 离线算法) |
14.2.2 |
| GRPO 的核心创新是什么?(PPO - Value Model + Group Z-Score) |
14.2.3 |
| GRPO 的目标函数长什么样?和 PPO 有什么异同? |
14.2.3(目标函数) |
| GRPO 的组内 z-score 优势如何计算?为什么叫 z-score? |
14.2.3(组内 z-score) |
| GRPO 的 KL 散度怎么近似计算? |
14.2.3(KL 散度) |
| GRPO 的极简实现代码怎么写?compute_pg_loss 做了什么? |
14.2.3(代码解读) |
| GRPO 的实际效果如何?和 RFT / Online RFT 比怎么样? |
14.2.3(实际效果) |
| GRPO 的潜在缺陷是什么?什么是长度偏差? |
14.2.4 |
| Dr. GRPO 如何修正标准 GRPO 的偏差? |
14.2.4(Dr. GRPO) |
| 为什么 GRPO 会导致"越错越长"?梯度层面怎么解释? |
14.2.4(长度偏见) |
三、案例研究:DeepSeek R1(14.3.1)
| 核心问题 |
对应章节 |
| DeepSeek R1 为什么引起轰动? |
14.3.1(R1 介绍) |
| R1-Zero 是什么?纯 RL 训练的结果如何? |
14.3.1(R1-Zero) |
| 什么是 Aha Moment(顿悟时刻)?模型真的"涌现"了吗? |
14.3.1(Aha Moment) |
| R1 的完整训练流程是怎样的?几个阶段分别做什么? |
14.3.1(DeepSeek-R1) |
| 什么是冷启动长思维链数据?怎么收集和过滤? |
14.3.1(阶段 2) |
| R1 的后训练阶段做了什么?800k 数据怎么构成? |
14.3.1(阶段 3) |
| R1 的推理能力可以蒸馏给小模型吗?效果如何? |
14.3.1(蒸馏) |
| 少量高质量样本(s1 / LIMO)也能提升推理能力吗? |
14.3.1(少量样本 SFT) |
| 少量样本做 RL 也能提升推理能力吗? |
14.3.1(少量样本 RL) |
| PRM(过程奖励模型)为什么在 R1 中失败了? |
14.3.1(不成功尝试) |
| MCTS(蒙特卡洛树搜索)为什么在 R1 中失败了? |
14.3.1(不成功尝试) |
四、案例研究:Kimi k1.5(14.3.2)
| 核心问题 |
对应章节 |
| Kimi k1.5 的长思维链推理策略分几步? |
14.3.2(长思维链推理策略) |
| RL 提示集的质量标准是什么?(多样性/难度/可评估性) |
14.3.2(数据管理) |
| Long-CoT SFT 怎么做?和普通 SFT 有什么区别? |
14.3.2(Long-CoT SFT) |
| Kimi RL 的目标函数怎么设计?和 PPO/DPO 有什么关系? |
14.3.2(Kimi RL) |
| 什么是"过度思考"现象?Kimi 如何通过长度奖励解决? |
14.3.2(长度控制) |
| Kimi 的采样策略和奖励设计有哪些额外细节? |
14.3.2(额外细节) |
| Kimi k1.5 的 scaling 结果如何? |
14.3.2(Scaling 结果) |
五、案例研究:Qwen 3(14.3.3)
| 核心问题 |
对应章节 |
| Qwen 3 的后训练流程有什么两个核心目标? |
14.3.3(后训练管道) |
| 什么是思考模式融合?如何让一个模型同时支持"思考"和"不思考"? |
14.3.3(思考模式融合) |
| 思考模式融合的 SFT 数据长什么样? |
14.3.3(SFT 数据示例) |
| 如何通过特殊字符串实现思考过程的早停? |
14.3.3(早停) |
| Test-time scaling(TTS)效果如何?思考预算和性能什么关系? |
14.3.3(TTS) |
| Qwen3-32B 在不同后训练阶段的性能变化是怎样的? |
14.3.3(不同阶段性能) |
14.1.3 十四章的阅读基础
数学基础知识
| 数学领域 |
需掌握内容 |
对应章节 |
最低要求 |
| 概率论 |
条件概率分布 $\pi(a|s)$、概率比 $r_t(\theta)$、期望的蒙特卡洛估计 |
14.2(PPO/GRPO 目标函数) |
理解"策略 = 条件概率分布" |
| 统计学 |
均值、标准差、z-score 标准化、偏差-方差权衡 |
14.2.3(组内 z-score) |
知道 z-score 怎么算、为什么归一化 |
| 信息论 |
KL 散度的定义与直觉含义、对数概率(log-prob) |
14.2.3(KL 近似)、14.2.1(奖励塑形) |
知道 KL 衡量"两个分布的差异" |
| 优化理论 |
梯度上升、目标函数裁剪(clip)、约束优化 vs 无约束优化 |
14.2.1(PPO clip)、14.2.1(TRPO) |
理解"裁剪 = 限制步长" |
| 基础微积分 |
偏导数、链式法则、指数/对数运算 |
14.2(全章公式) |
能看懂 $\nabla_\theta J(\theta)$ 的含义 |
| 线性代数(轻量) |
向量内积、矩阵运算的基本概念 |
14.2.1(代码中的张量操作) |
能理解代码中的 tensor shape 对齐 |
与第十三章的数学要求对比:第十四章对概率论和统计学的要求更高,新增了 z-score 标准化、KL 散度的近似公式、GAE 的递推计算;但对线性代数要求不变。整体数学门槛:比第十三章高一档。
机器学习基础知识
| ML 领域 |
需掌握内容 |
对应章节 |
最低要求 |
| 强化学习核心 |
策略 $\pi(a|s)$、奖励 $r$、状态-动作对、轨迹(trajectory)、回报 $R$ 的概念 |
14.2(全章) |
理解"智能体在环境中试错获取奖励"的基本框架 |
| 策略梯度方法 |
REINFORCE 算法的基本思想、策略梯度定理 |
14.2.1(PG → TRPO → PPO) |
知道"用梯度上升最大化期望回报" |
| PPO 基础 |
裁剪概率比、重要性采样、优势函数、KL 约束 |
14.2.1(PPO 详解) |
第十三章 13.4.1 的内容是前置知识 |
| DPO 基础 |
偏好对 $(y_w, y_l)$、Bradley-Terry 模型、DPO 损失 |
14.2.2(为什么不用 DPO) |
第十三章 13.6 的内容是前置知识 |
| SFT 基础 |
监督微调的流程、数据格式、损失函数 |
14.3(案例中的 SFT 阶段) |
第十三章 13.3 的内容是前置知识 |
| PyTorch |
tensor 操作、autograd、前向/反向传播 |
14.2(代码段) |
能读懂 PyTorch 代码的基本结构 |
关键前置知识:第十四章默认读者已掌握第十三章的内容(PT → SFT → RLHF/DPO 三阶段流程、PPO 的核心机制)。如果跳过第十三章直接读第十四章,会在 PPO 详解和案例研究部分遇到困难。
14.1.4 对于不同层级目标的阅读建议
| 读者画像 |
数学/ML 基础 |
目标 |
阅读建议 |
| A. 应用型工程师 |
弱数学,弱 ML |
了解推理模型是怎么训练的 |
重点读 14.1(为什么需要 RLVR)和 14.3 案例研究(只看流程图和直觉解释);14.2 跳过 PPO 公式推导,只看 GRPO 的 z-score 直觉。关键收获:理解 RLVR 的定位、DeepSeek R1 的训练流程概览 |
| B. 数据/RL 工程师 |
中等数学,中等 ML |
想用 GRPO 训练推理模型 |
重点读 14.2.2 ~ 14.2.3(为什么不用 PPO/DPO → GRPO 核心机制 + 代码);14.2.4(长度偏差)必须精读;14.3 案例重点看数据构建和奖励设计部分。关键收获:能复现 GRPO,理解长度偏差的规避方法 |
| C. 算法研究员 |
强数学,强 ML |
理解 GRPO 的数学本质,评估其理论缺陷 |
全章精读,重点在 14.2.1(PG → TRPO → PPO 完整推导)、14.2.3(GRPO 目标函数与 PPO 的严格对比)、14.2.4(Dr. GRPO 的无偏修正);14.3 案例关注 Kimi RL 的平方误差损失推导。关键收获:能评估 GRPO 的理论局限,设计改进算法 |
| D. 课程学生 |
中等数学,弱~中 ML |
跟着 diy-llm 课程系统学习 |
必须先完成第十三章;14.1 为铺垫必读;14.2.1 的 PPO 部分若第十三章已掌握可快速过,重点看代码段和训练曲线;14.2.3 GRPO 是本章核心,精读公式+代码;14.3 三个案例选 1~2 个精读(推荐 R1 + Qwen3)。关键收获:建立 RLVR 的完整认知,为实战打基础 |
| E. 技术管理者 |
弱数学,强业务直觉 |
评估推理模型训练方案的成本与风险 |
重点读 14.1(RLVR vs RLHF 对比表)、14.2.2(PPO/DPO 的痛点)、14.3 三个案例的流程图和结论;跳过所有公式和代码。关键收获:理解 GRPO 为什么比 PPO 更适合推理训练、冷启动数据的关键作用、长度控制的工程意义 |
关键阅读提示
⚠️ 第十三章是必须的前置知识:
- 13.4.1 PPO 核心机制 → 14.2.1 深入 PPO 代码
- 13.6 DPO 思想 → 14.2.2 为什么 DPO 不适合 RLVR
- 13.3 SFT 流程 → 14.3 案例中的冷启动 SFT 阶段
如未读第十三章,强烈建议先补课。
🔧 本章包含大量代码段,阅读策略:
- 第一遍:只看代码前的文字说明和代码后的总结注释
- 第二遍:逐行读代码,关注 tensor shape 的对齐
- 第三遍:尝试在自己的环境中复现
📐 公式难度分级:
★☆☆ 可跳过公式只看直觉:
14.1(RLVR 定位)、14.3 案例流程
★★☆ 需要理解公式直觉但不必手推:
14.2.3 GRPO 目标函数、组内 z-score
★★★ 需要逐步推导才能真正理解:
14.2.1 PG → TRPO → PPO 演进、Kimi RL 的平方误差损失
📌 无论如何都要精读的核心章节:
14.1.3 RLVR 的定位(建立全局认知)
14.2.3 GRPO 核心机制(本章最核心内容)
14.2.4 长度偏差(避坑必读)
14.3.1 DeepSeek R1 训练流程(最完整的 RLVR 实践案例)
🔄 可以先跳过、回头再看的章节:
14.2.1 PPO 代码实现细节(内容密集,可结合第 13 章交叉阅读)
14.3.2 Kimi k1.5 的 RL 损失推导(数学最重的部分)
14.3.1 PRM / MCTS 失败尝试(了解即可,不影响主线理解)