从0训练LLM · 现代大模型体系 阅读 + 实验 ≈ 35 分钟 页内实验 ×2
C12 后训练:从续写到听话、推理、做事 第 5 课

学出来的奖励会被骗,有没有骗不了的奖励?

RLVR:骗不了的奖励
用第 2 课的奖励模型做 RL,50 步内策略就把概率押到那个从没被标注过的续写式回答上,真实正确率从 0.40 掉到 0.055。能自动核对的答案给「对 / 错」,奖励就很难被骗——RLVR。但 RLVR 是奖励来源,不是优化器;验证器写松了,照样被钻空子。
❓

本课一问:第 2 课训出的奖励模型给续写式回答 E(「小明把苹果给了小王,小王又把苹果给了小红……」)打了最高分——它从没在标注里见过 E,只会按「提到小王、写得长」外推。拿这样的奖励去做 RL,会发生什么?有没有一种奖励,策略怎么优化都骗不了?

这一课先不碰:RL 有没有让模型学会新本事(岔路课);思考的长度(第 6 课)。优化器这一课固定不变:KL 约束下的精确策略梯度,只换奖励。

从已有出发

从已有出发 · 后训练流水线 点已学的站看数据、损失与模型数

前四课分别解决了「用什么数据」(SFT、偏好)和「梯度怎么算」(PPO、DPO、GRPO)。还有一个问题一直没碰:奖励从哪来。到现在为止,奖励都来自一个学出来的奖励模型——而学出来的东西只在它见过的数据附近可信。

演进图 · 每一代都是被上一代的失败逼出来的本课高亮
  1. 第一代 SFT:用示范教格式 FLAN 2021 · LIMA 2023
  2. 第二代 RLHF:奖励模型 + PPO Christiano 2017 → Ziegler 2019 → InstructGPT 2022
  3. 第三代 · 离线 DPO:不训奖励模型 Rafailov et al. 2023(Stanford)
  4. 第三代 · 在线 GRPO 系:去掉 value model DeepSeekMath 2024-02 → DAPO / Dr. GRPO / GSPO 2025
  5. 奖励来源 RLVR:可验证的奖励 Tülu 3 2024-11 命名 · DeepSeek-R1 2025-01 规模化 你在这里
    解决了R1-Zero 纯 RL:AIME 2024 pass@1 从 15.6% 升到 71.0%(v1)/ 77.9%(v2)。
    卡在学出来的奖励会被钻空子:教学世界里用 RM 做 RL,50 步内真实正确率从 0.40 掉到0.055(第 5 课浏览器实算)。
  6. 岔路 RL 扩展了能力,还是重排? Yue 2025 vs ProRL 2025
  7. 第四代 思考模型:想更久,也能控 o1 2024-09 · R1 2025-01 · Qwen3 2025-05
  8. 第五代 蒸馏:小模型直接继承 Hinton 2015 → GKD 2023 → Qwen3 2025
  9. 第六代 Agentic RL:在环境里做事 SWE-RL 2025-02 · Kimi K2 · GLM-4.5 slime · DeepSeek-V3.2

先自己设计:用学出来的奖励模型做 RL

  1. ① 朴素方案
  2. ② 它在哪失败
  3. ③ 改进方案
朴素方案拿第 2 课的奖励模型当奖励做 RL
β(KL 强度):

教学世界:回答、初始概率、偏好对是手写的教学数据;奖励模型、验证器、KL 约束下的精确期望梯度(学习率 2.0)、每一步的概率全部由浏览器现算。

先只看左边第一张图「学出来的奖励模型」。

奖励模型没有「坏」:它在标注过的 9 对上几乎全对(平均 loss 0.0834)。问题出在优化压力:策略会去找奖励模型打分最高、但它从没被检验过的地方。Gao et al. 2022 在真实的奖励模型上系统地测过这件事:随着策略离初始模型越来越远(KL 越来越大),代理奖励一直涨,而用更大的「金标准」奖励模型测出的真实分数先升后降;代理奖励模型越大,过优化越轻 。DeepSeek-R1 的原文说得更直白:推理任务上不用神经奖励模型(无论是给结果打分还是给过程打分),因为它在大规模 RL 中容易被 reward hacking;就连通用任务上的偏好奖励,也只放在最后 400 步,原因同样是训久了会被钻空子 。

🎯

试三件事:① 保持 β = 0.05,把「看第 N 步」拖回 3:奖励模型那张图里正确率先涨到 0.430,之后才一路跌——过优化的「先升后降」;② 点 β = 1:三张图都被拴在参考模型附近,奖励模型那张的正确率停在 0.445,E 只有 0.230——少作弊,也少进步;③ 看中间那张「宽松规则」(提到「小王」就给 1):β = 0.05 时正确率最高到 0.675(第 26 步),之后回落到 0.570,两头下注的 D 和续写的 E 各拿到 0.214。

改进:能自动核对的,就让规则来判

数学题有标准答案,代码有单元测试,指令遵循有能写成程序的约束(「不超过 50 字」「用 JSON 输出」)。这些领域可以不训奖励模型,直接用程序核对:对了给一个常数奖励,错了给 0。这就是 RLVR(Reinforcement Learning with Verifiable Rewards)。

名字出自 Tülu 3(Ai2,2024-11):原文把它称为「我们引入的新的最后阶段」,可验证正确时奖励 α = 10、否则 0,用 PPO 训,value 模型从通用奖励模型初始化 。思想更早:STaR(2022)只保留模型自己生成、答案对了的推理再拿去微调;Cobbe 2021 在 GSM8K 上训练验证器。规模化的标志是 DeepSeek-R1-Zero:直接在 DeepSeek-V3-Base 上做 GRPO,奖励只有答案是否正确加格式是否正确,AIME 2024 的 pass@1 从 15.6% 升到 71.0%(2025-01 的 v1 报告;2026-01 发表于 Nature 的 v2 延长训练后为 77.9%),自洽投票 86.7% 。

🧭

两条轴,不是一条线。旧版课程把「PPO → GRPO → RLVR」讲成一条每步砍掉一个模型的线,这是错的:GRPO 说的是优化器(优势怎么算),RLVR 说的是奖励来源,两者可以任意组合。Tülu 3 = PPO × 可验证奖励;DeepSeekMath = GRPO × 学出来的奖励模型;R1-Zero = GRPO × 规则。下图的计算器可以验证:PPO 不训奖励模型照样需要 value 模型——critic 是优化器的一部分,和奖励从哪来无关。

两条轴 · 优化器 × 信号来源(不是一条「砍法线」)
信号来源 ↓ / 优化器 →模仿交叉熵(SFT、拒绝采样 SFT)PPOcritic + GAE + clip离线偏好损失DPO 系,不采样组内基线GRPO / DAPO / GSPO蒸馏对老师分布的 KL
人写的示范
FLAN · LIMA2021 · 2023 显存里 1 个模型
人类偏好(学出的 RM)
Ziegler 20192019 显存里 4 个模型
InstructGPT2022 显存里 4 个模型
Llama 3 · Tülu 3 偏好阶段2024 显存里 2 个模型
DeepSeekMath2024-02 显存里 3 个模型
可验证规则
Tülu 3 RLVR2024-11 显存里 3 个模型
DeepSeek-R1-Zero2025-01 显存里 2 个模型
DAPO2025-03 显存里 1 个模型
SWE-RL2025-02 显存里 2 个模型
GLM-5 推理 RL2026-02 显存里 1 个模型
环境反馈
GLM-5.2 / 5.3 SAO2026-07 模型数:未全部披露
DeepSeek-V3.2 agent RL2025-12 模型数:未全部披露
老师模型的分布
Qwen3 strong-to-weak2025-05 显存里 2 个模型
V4 OPD · K3 MOPD2026 模型数:未全部披露

橙框两格是旧课讲错的地方:Tülu 3 的 RLVR 用的是 PPO,DeepSeekMath 的 GRPO 用的是学出来的奖励模型。「RLVR」说的是奖励从哪来,「GRPO」说的是梯度怎么算,两件事可以任意组合。悬停格子里的系统看出处要点。

自己组合:显存里要放几个模型?(Qwen3.8-27B 规模,27,781,427,952 个参数)

新的失败:验证器写松了,照样被骗

回到上面组件的第二张图:「宽松规则」只检查回答里有没有「小王」。「小明和小王都有可能。」和续写式的 E 都拿满分——策略不需要答对,只需要提到小王。RewardHackLab 里它的正确率先升后降,就是这么来的。规则奖励「骗不了」有一个前提:验证器本身写得严。真实系统里被钻的空子更离谱:

⚠

常见误解一:「RLVR 是一种新的 RL 算法。」 它是奖励来源;用 PPO 还是 GRPO 训是另一件事(Tülu 3 用 PPO)。

常见误解二:「规则验证器不会被 hack。」 宽松规则当场被「两头下注」钻了空子;真实沙箱里模型会去利用漏洞。「骗不了」取决于验证器写得多严、环境隔离得多好。

常见误解三:「reward hacking 是模型有意作弊。」 优化器只是在最大化你给它的那个数。奖励和你真正想要的东西之间有缝,优化压力就会找到缝。

🔍 奖励只看对错,还会出什么问题?

二元奖励只管「对不对」,不管「有多确定」:乱猜猜对了和推出来的对拿一样多的分,模型的置信度校准会变差。有工作把 Brier 分数(对概率的打分)和正确性一起放进奖励(RLCR 等),让模型在不确定时说出来。另一个问题是信用分配:一整条几千 token 的推理只拿到最后一个 0 或 1,哪一步出的错并不知道——这就是「过程奖励模型」(PRM)想解决的,DeepSeekMath 试过过程监督,R1 最后没有采用。

证据三问

问本课的回答
① 它解决什么问题?学出来的奖励在优化压力下被钻空子(过优化)
② 数学上为什么可能有效?规则奖励就是真实目标本身(在它覆盖的范围内),代理与真实之间没有缝——前提是验证器正确
③ 实验上为什么选了它?R1-Zero:AIME 15.6% → 71.0%(v1)/ 77.9%(v2);Qwen3 推理 RL、Tülu 3、DAPO 都用可验证奖励

一句话

📌

能自动核对的答案给「对 / 错」,奖励就很难被骗——但前提是验证器本身写得严;RLVR 是奖励来源,不是优化器。

🚦

先停在这里:记住「过优化:代理涨、真实先升后降;RLVR 用规则核对;两条轴」。
再深一层:下面的岔路课回答一个争议:RL 之后分数涨了,模型是学会了新本事,还是只把会的排到了前面?

下一个缺口

RL 之后分数涨了——模型是真学会了新本事,还是只是把会的东西排到了前面?(岔路)→ 岔路课:RL 扩展能力还是重排

主线: R1-Zero 在 RL 过程中回答越写越长,自己学会了回头检查、换思路;可它的回答可读性差、中英混杂。推理题要「想得久」:怎么训出会思考的模型,又怎么控制它想多久? → 第 6 课:思考模型

你可能会问