2026年1月2日

GRPO: DeepSeek-R1

在推理能力方面,OpenAI 的 o1 系列模型(OpenAI, 2024b)率先通过延长思维链(Chain-of-Thought)推理过程的长度实现推理时扩展,在数学、编程、科学推理等多种推理任务中取得了显著进步。

大规模强化学习(RL)可以显著提升推理能力,即使不使用监督微调(SFT)作为冷启动。此外,我们发现少量高质量冷启动数据能进一步提高性能。

aha moment(顿悟时刻):DeepSeek-R1-Zero 随着训练推进,模型不仅提升了性能,还逐渐表现出自身的推理习惯:输出的推理链越发长、出现反思(reflection)、自我验证等行为

迭代训练是推理模型更优的发展路径

将更强大的模型蒸馏到小型模型中能产生优异的结果,而小型模型若依赖本文所述的大规模强化学习,不仅需要巨大的计算资源,其性能甚至可能不及蒸馏模型

尽管蒸馏策略既经济又高效,但要突破智能的边界,可能仍需要更强大的基础模型和更大规模的强化学习。

GRPO

GRPO(Group Relative Policy Optimization)的核心是通过 “组内相对评估” 简化强化学习训练,无需独立评论者模型,同时保证优化稳定性。

  • 无需独立评论者模型:通过组内奖励相对比较计算优势值,节省训练成本。
  • 抗噪声能力强:依赖组内相对评估,抵消单个样本的奖励误差。
  • 稳定可控:通过裁剪操作和 KL 正则项,避免模型出现 “奖励黑客” 或训练震荡。

一、训练准备:定义目标与基础组件

1. 确定核心目标:优化策略模型\pi_{\theta},让模型在推理任务中生成更优输出(如正确解题思路),目标是最大化 GRPO 的优化目标函数\mathcal{J}_{GRPO}(\theta)

2. 设定基础参数与模型:

  • 基础模型:采用待优化的策略模型(如 DeepSeek-V3-Base),初始参数为\theta_{old}(旧策略)。
  • 超参数:设置裁剪系数\varepsilon(通常取 0.2)、KL 正则系数\beta、每组输出样本数G。

3. 设计奖励系统:采用规则化奖励(如准确性奖励 + 格式奖励),为每个输出o_i分配奖励值r_i,用于后续优势值计算。

二、样本采样:生成组内对比数据

对每个推理问题q(从问题分布P(Q)中采样),执行以下操作:

  1. 从旧策略\pi_{\theta_{old}}中采样G个输出,形成输出组{o_1, o_2, \cdots, o_G}(如同一数学题的G种解题思路)。
  2. 为每个输出o_i计算对应的奖励r_i(如解题正确得高分,错误得低分)。

三、关键计算:优势值与目标函数

1. 计算优势值A_i:通过组内奖励的相对差异标准化计算,消除不同问题的奖励尺度偏差:

A_{i}=\frac{r_{i}-mean\left(\left\{r_{1}, r_{2}, \cdots, r_{G}\right\}\right)}{std\left(\left\{r_{1}, r_{2}, \cdots, r_{G}\right\}\right)}

2. 计算KL散度正则项:限制新策略与参考策略\pi_{ref}(通常为旧策略)的差异,避免训练震荡:

\mathbb{D}_{K L}\left(\pi_{\theta} \| \pi_{r e f}\right)=\frac{\pi_{r e f}\left(o_{i} | q\right)}{\pi_{\theta}\left(o_{i} | q\right)}-log \frac{\pi_{r e f}\left(o_{i} | q\right)}{\pi_{\theta}\left(o_{i} | q\right)}-1

3. 构建优化目标函数:结合概率比值、优势值、裁剪操作和KL正则项,形成最终优化目标:

\begin{aligned} \mathcal{J}_{G R P O}(\theta) &=\mathbb{E}\left[q \sim P(Q),\left\{o_{i}\right\}_{i=1}^{G} \sim \pi_{\theta_{old }}(O | q)\right] \\ &\frac{1}{G} \sum_{i=1}^{G}\left(\min \left(\frac{\pi_{\theta}\left(o_{i} | q\right)}{\pi_{\theta_{old }}\left(o_{i} | q\right)} A_{i}, \operatorname{clip}\left(\frac{\pi_{\theta}\left(o_{i} | q\right)}{\pi_{\theta_{old }}\left(o_{i} | q\right)}, 1-\varepsilon, 1+\varepsilon\right) A_{i}\right)-\beta \mathbb{D}_{K L}\left(\pi_{\theta} \| \pi_{r e f}\right)\right) \end{aligned}

四、模型更新:迭代优化策略

梯度上升更新:通过最大化目标函数\mathcal{J}{GRPO}(\theta),计算梯度并更新模型参数\theta,核心逻辑是 “鼓励新模型更偏好组内优势值高的输出”。

裁剪约束:通过\operatorname{clip}函数将新 / 旧策略的概率比值限制在[1-\varepsilon, 1+\varepsilon],防止参数更新幅度过大导致训练不稳定。

迭代迭代:将更新后的参数\theta作为新的\theta{old},重复 “采样→计算→更新” 流程,直至模型在推理基准上收敛(如 AIME 2024 的 pass@1 分数稳定)。

Deepseek-R1训练流程

DeepSeek-R1 是基于多阶段训练流程构建的推理模型,既解决了 DeepSeek-R1-Zero 可读性差、语言混合的问题,又通过迭代优化实现了与 OpenAI-o1-1217 相当的推理性能。

一、阶段 1:冷启动(Cold Start)

核心目标

避免从基础模型直接启动强化学习(RL)时的早期不稳定性,为模型注入 “符合人类阅读习惯的推理范式”,生成 RL 训练所需的初始智能体(Actor)。

数据收集与设计

收集数千条高质量长思维链(CoT)数据:

  • 少样本提示生成的详细推理示例
  • 模型生成的含反思 / 验证的答案
  • DeepSeek-R1-Zero 中格式易读的输出
  • 人工标注后处理的优化结果

设计 “易读化格式”:

  • 统一输出结构为 |特殊标记|<推理过程>|特殊标记|<总结>,要求每个响应末尾包含结论总结
  • 过滤语言混合、无格式的内容,确保可读性。

模型微调

以 DeepSeek-V3-Base 为基础模型,使用上述冷启动数据进行微调,得到 “具备基础推理范式、格式规范” 的初始模型,作为后续 RL 训练的起点。

阶段输出

  • 冷启动微调后的模型 checkpoint(初始 RL 智能体)
  • 符合人类阅读习惯的长思维链数据模板

二、阶段 2:面向推理的强化学习(Reasoning-oriented RL)

核心目标

聚焦数学、编码、科学、逻辑推理等 “有明确解决方案” 的任务,通过大规模 RL 优化模型的推理精度,同时缓解语言混合问题。

关键操作

  1. GRPO
  2. 奖励系统优化:
    • 基础奖励:保留 “准确性奖励”(如数学题按格式验证答案、代码题用编译器测试)。
    • 新增 “语言一致性奖励”:按思维链中目标语言词汇占比计算,缓解多语言混合问题(虽会导致性能轻微下降,但提升可读性,符合人类偏好)。
    • 最终奖励 = 推理准确性奖励 + 语言一致性奖励。
  3. 训练收敛:
    • 在微调后的初始模型上执行大规模 RL 训练,直至模型在推理类基准(如 AIME、LiveCodeBench)上性能收敛。

阶段输出

  • 推理能力显著提升的 RL 模型 checkpoint
  • 初步解决语言混合问题的奖励机制

三、阶段 3:有监督微调(SFT)

核心目标

扩展模型能力边界,从 “单一推理任务” 覆盖至写作、事实问答、角色扮演等通用任务,同时筛选高质量数据优化模型输出质量。主要是增加思维链能力。

数据生成与筛选

推理类数据(扩展数据集至 60 万条):

  • 对阶段 2 收敛的 RL 模型进行 “拒绝采样”,针对精选推理提示生成多个响应,仅保留正确、格式清晰的输出;
  • 新增 “生成式奖励模型评估数据”(用 DeepSeek-V3 判断真实标签与模型预测的匹配度),过滤语言混合、冗长或含乱码的思维链。

非推理类数据(共收集 20 万条):复用 DeepSeek-V3 的 SFT 数据集(如写作、翻译、自我认知),对简单查询(如 “你好”)不强制生成思维链。

二次有监督微调

合并 “60 万推理数据 + 20 万非推理数据”,对 DeepSeek-V3-Base 进行两轮微调,确保模型在通用任务上的表现。

阶段输出

  • 兼顾推理与通用能力的 SFT 模型 checkpoint
  • 80 万条高质量精选训练数据(为后续蒸馏做准备)

四、阶段 4:全场景强化学习(RL for All Scenarios)

核心目标

在保留推理能力的基础上,优化模型的 “有用性” 与 “无害性”,使其符合人类在复杂场景下的偏好。

数据集

  1. 阶段 3 的 80 万混合数据集
  2. 参考Deepseek-V3扩展 Prompt 类型(新增真实场景 Prompt、统一格式模板)、调整分布配比

关键操作

  1. GRPO
  2. 奖励函数
  • 推理数据:沿用阶段 2 的 “基于规则的奖励”(如数学 / 代码正确性验证)。
  • 通用数据:引入有用性奖励模型、无害性双奖励模型,捕捉人类偏好,覆盖写作、问答等复杂场景。
  1. 有用性评估:仅关注最终总结内容,确保响应对用户有实际价值,不干扰底层推理过程。
  2. 无害性评估:检查完整响应(含推理过程 + 总结),过滤潜在风险、偏见或有害内容。

最终 RL 训练

以阶段 3 的 SFT 模型为起点,结合 “推理 + 通用” 的混合数据与多维度奖励,执行二次 RL 训练,完成人类偏好对齐。

阶段输出

  • 最终 DeepSeek-R1 模型 checkpoint(推理性能与 OpenAI-o1-1217 相当,兼顾通用能力与安全性)

额外:蒸馏阶段(Distillation)

为让小模型具备接近 DeepSeek-R1 的推理能力,DeepSeek-R1 还承担 “教师模型” 角色,流程如下:

  1. 以阶段 3 生成的 80 万条高质量数据为蒸馏素材。
  2. 对 Qwen2.5(1.5B/7B/14B/32B)、Llama3(8B/70B)等开源小模型进行直接有监督微调(未引入 RL)。

Share

You may also like...

发表评论

您的电子邮箱地址不会被公开。