强化学习用于语言模型对齐的根本动因,是人类偏好标注成本极高且难以扩展——当任务复杂度超过标注者认知边界时,人工打分本身就成为瓶颈,因此研究者开始寻找"不需要人打分、环境自动给信号"的训练范式。
OpenAI的Christiano等人在NeurIPS 2017发表"Deep Reinforcement Learning from Human Preferences",首次系统性地将人类偏好信号引入RL训练循环。核心做法是训练一个奖励模型(Reward Model)来拟合人类打分,再用PPO优化策略。这一范式后来成为InstructGPT和ChatGPT的基础。但问题随之暴露:奖励模型本身会被"黑进"(reward hacking),策略学会欺骗奖励模型而非真正完成任务。
为缓解稀疏奖励和奖励欺骗,OpenAI在"Let's Verify Step by Step"(2023)中提出对推理链每一步打分的PRM。相比只看最终答案的结果奖励模型(ORM),PRM提供更密集的中间信号,但代价是需要大量人工标注每一步的正确性,成本数量级更高。这揭示了一个核心矛盾:信号越密集,标注成本越高。
DeepSeek团队在DeepSeekMath(2024.02)中提出GRPO(Group Relative Policy Optimization),关键洞察是:数学题的答案对错可以被程序自动验证——无需人类,无需奖励模型,直接用符号计算引擎判断最终答案是否正确。这将奖励信号的获取成本降至接近零,同时彻底规避了奖励模型的过拟合问题。GRPO在一组采样输出中计算相对优势,避免了PPO需要额外价值网络的开销。
DeepSeek-R1(2025.01)将RLVR推向极致:仅用格式奖励(答案是否在`<answer>`标签内)和正确性奖励(数学/代码可验证)两类稀疏信号,从基础模型直接训练出具备长链推理能力的模型,且涌现出"自我反思"行为。这一结果震动学界,证明可验证奖励的稀疏信号足以驱动复杂推理能力的涌现,无需密集的人工标注。RLVR由此成为独立于RLHF的训练范式。
RLVR的核心优化目标继承自PPO,但奖励函数的定义是关键区别。 标准PPO的目标函数为: $$\mathcal{L}^{\text{PPO}}(\theta) = \mathbb{E}_t \left[ \min\left( r_t(\theta) \hat{A}_t,\ \text{clip}(r_t(\theta), 1-\epsilon, 1+\epsilon)\hat{A}_t \right) \right]$$ 其中 $r_t(\theta) = \frac{\pi_\theta(a_t|s_t)}{\pi_{\theta_\text{old}}(a_t|s_t)}$ 是新旧策略的概率比,$\hat{A}_t$ 是优势估计,$\epsilon$ 是裁剪系数(通常0.2)。 GRPO对此的改造在于优势估计方式。对同一问题采样 $G$ 条输出 $\{o_1, \ldots, o_G\}$,每条获得可验证奖励 $r_i \in \{0, 1\}$,组内归一化得到优势: $$\hat{A}_i = \frac{r_i - \text{mean}(\{r_j\}_{j=1}^G)}{\text{std}(\{r_j\}_{j=1}^G)}$$ 这样设计的原因:①无需单独训练价值网络(Critic),节省显存和计算;②组内相对比较使梯度信号更稳定,避免绝对奖励值的量纲问题;③当组内所有输出都对或都错时,优势为零,自然不更新——这是一种隐式的课程学习。 加入KL散度惩罚防止策略偏离参考模型过远: $$\mathcal{L} = \mathcal{L}^{\text{GRPO}} - \beta \cdot D_{\text{KL}}(\pi_\theta \| \pi_{\text{ref}})$$ 其中 $\beta$ 控制探索与稳定性的权衡,$\pi_{\text{ref}}$ 通常是SFT后的模型。
RLVR的整体逻辑是:用可自动判断的任务构造零成本奖励信号,通过组内对比优势估计驱动策略迭代,让模型在反复试错中自发习得推理结构。
首先必须选择"可验证"的任务域。数学题(答案唯一)、代码(单元测试通过率)、形式逻辑(符号验证)是天然适合的领域。奖励函数通常是二值的:$r=1$(正确)或 $r=0$(错误),有时加入格式奖励(如答案是否在指定标签内)。这一步的关键洞察是:奖励函数的设计决定了什么行为被强化——过于宽松的格式奖励会导致模型学会"看起来正确"而非"真正正确"。
对每道训练题,用当前策略 $\pi_\theta$ 采样 $G$(通常8~16)条完整输出。这与PPO的单步token级采样不同——RLVR在序列级别操作,每条输出是完整的推理链+答案。采样温度通常设为0.7~1.0以保证多样性。为什么要采样多条?因为单条输出的奖励信号方差极大(一道题可能全对或全错),组内对比能有效降低方差,提供更稳定的梯度方向。
将每条输出的最终答案提取出来,送入验证器(数学用SymPy/Mathematica,代码用沙箱执行)获得奖励 $r_i$。然后在组内做均值-方差归一化得到 $\hat{A}_i$。实现细节:答案提取需要鲁棒的正则表达式或专用解析器,这往往是工程上最容易出错的环节;验证器需要在沙箱中运行以防代码执行安全问题;超时的输出(推理链过长)通常赋予 $r=0$。
用归一化优势 $\hat{A}_i$ 加权每条输出中每个token的对数概率,计算GRPO目标并反向传播。同时计算当前策略与参考策略(SFT模型)的token级KL散度作为惩罚项。关键工程细节:①只对"答案部分"的token计算损失还是对整个推理链计算,直接影响推理链长度的涌现;②KL系数 $\beta$ 过大会导致模型无法探索,过小会导致策略崩溃(collapse);③通常每隔若干步将参考模型更新为当前策略(迭代式RLVR)。
随着训练进行,模型会自发涌现"等等,让我重新检查"类的自我反思行为,推理链长度也会自适应增长。这不是显式设计的,而是因为更长的正确推理链获得更高奖励。课程学习(从简单题到难题)和难度采样(优先选择组内有对有错的题,即"有学习信号"的题)是提升训练效率的关键工程手段。
RLVR已成为2025年最重要的LLM训练范式之一。DeepSeek-R1、Qwen-QwQ、Kimi k1.5等顶级推理模型均采用此路线。其核心价值在于:①将训练成本从"人工标注瓶颈"解放出来;②在数学竞赛(AIME、AMC)和代码生成(HumanEval、LiveCodeBench)上实现了远超SFT的性能;③证明了稀疏奖励足以驱动复杂认知能力涌现,为AI自主学习提供了新的理论基础。Google的Gemini 2.0 Flash Thinking和OpenAI的o系列模型也在类似路线上探索。
当前核心开放问题:①RLVR能否迁移到"不可验证"领域(创意写作、开放问答)?②奖励稀疏性与推理链长度的最优平衡点在哪里?③如何防止"推理链虚假延长"(模型学会写长但无效的推理)?④多步骤可验证奖励(过程级RLVR)是否能进一步提升性能?⑤本文[0]提出的自蒸馏+RLVR混合范式能否兼得密集信号与可验证性的优点?