跳转至

六十:DeepSeek-R1

来源:http://mp.weixin.qq.com/s?__biz=MzYyNTk3Njg1NA==&mid=2247484864&idx=1&sn=7ec69210d18d4f6f88e2248f347d2931&chksm=f01eb6b9c7693fafa907105626b95a57565ff665c5db09c954fa51aa30a0dd31fa0e01a58250#rd

1. 学习范围

本日主题是 DeepSeek 第一代推理模型 DeepSeek-R1,重点覆盖两个相互关联但不能混淆的模型:

img

  • DeepSeek-R1-Zero:直接在 DeepSeek-V3-Base 上进行大规模强化学习,训练前不使用监督微调作为冷启动。

  • DeepSeek-R1:在 R1-Zero 的探索结果上,引入冷启动数据、两轮强化学习和两轮监督微调,改善可读性、语言一致性、通用能力与人类偏好对齐。

知识主线如下:

DeepSeek-V3-Base
  |
  |-- 直接 reasoning RL --------------------------> DeepSeek-R1-Zero
  |
  |-- 冷启动 SFT -> reasoning RL -> 拒绝采样与 SFT -> 全场景 RL -> DeepSeek-R1
                                                                  |
                                                                  `-> 生成数据蒸馏到 Qwen/Llama
本日还覆盖 GRPO 目标、奖励设计、推理行为涌现、训练数据构造、评测协议、蒸馏结果、失败尝试、部署提示及论文局限。

2. 研究背景与核心命题

传统的后训练路线通常先用高质量监督数据进行 SFT,再使用奖励模型与强化学习优化模型。推理模型还经常依赖人工编写或强模型生成的长思维链数据。 DeepSeek-R1 工作试图回答两个问题: - 在没有推理 SFT 冷启动的情况下,仅依靠可验证奖励和大规模 RL,模型能否发展出强推理能力?

  • 如果纯 RL 能发现有效推理行为,如何把这些能力变成可读、稳定、通用且可部署的模型?

R1-Zero主要回答第一个问题。R1 则针对第二个问题建立完整工程流水线。 这篇工作的准确结论不是“所有推理能力都不需要 SFT”,而是:在一个已经完成大规模预训练、能力很强的 Base Model 上,推理能力可以通过纯 RL 被显著激励,并出现自我验证、反思、延长思考等行为;要得到最终可用的 R1,还是使用了冷启动 SFT、数据筛选、第二轮 SFT 和偏好对齐 RL。

3. 基座模型与模型规格

DeepSeek-R1-Zero 和 DeepSeek-R1 都基于 DeepSeek-V3-Base: - 总参数量约 671B。

  • 每个 token 激活约 37B 参数。

  • 使用 MoE 架构,因此总参数量与激活参数量不同。

  • 官方列出的上下文长度为 128K。

R1 的主要创新位于后训练方法,而不是重新提出一套独立 Transformer 架构。讨论 R1 时应把“DeepSeek-V3 的架构能力”和“R1 后训练带来的推理行为”区分开。

img

4. DeepSeek-R1-Zero 的训练设定

R1-Zero 从 DeepSeek-V3-Base 出发,不先进行推理 SFT,直接执行大规模强化学习:

问题 q
  -> 当前/旧策略对同一问题采样一组 G 个回答
  -> 对每个回答计算准确性奖励与格式奖励
  -> 在组内标准化总奖励,得到相对优势
  -> 用 GRPO 更新策略,同时限制策略偏离参考模型
这里的“Zero”指没有把监督微调作为 RL 的前置冷启动步骤,不表示模型没有预训练,也不表示整个系统没有任何人工设计。基座模型、问题分布、答案验证器、输出格式和奖励规则都包含大量先验。 此处使用到的强化学习算法是GRPO,详细可见十五:强化学习:RLHF-PPO 与 GRPO:

img

5. GRPO 的基本思想

DeepSeek-R1 使用 Group Relative Policy Optimization,简称 GRPO。它最早在 DeepSeekMath 中提出,可以看作 PPO 家族的策略优化方法。

img

PPO 通常训练一个与策略模型规模相近的 critic/value model 来估计优势。对于超大语言模型,这会增加训练显存与计算成本。GRPO 不训练独立 critic,而是对同一个问题采样多个回答,用组内奖励的相对位置估计优势。 对问题 q,旧策略生成一组输出:

o_1, o_2, ..., o_G ~ pi_old(. | q)
每个输出得到一个标量总奖励 r_i。组内优势可写为:

A_i = (r_i - mean(r_1, ..., r_G)) / (std(r_1, ..., r_G) + delta)
论文公式中同一回答内的 token 共享该回答级优势。实现时通常加入很小的 delta,避免组内奖励方差为零时数值不稳定。 策略更新使用重要性采样比率:

rho_i,t(theta) = pi_theta(o_i,t | q, o_i,<t) / pi_old(o_i,t | q, o_i,<t)
核心 clipped surrogate 项为:

min(
  rho_i,t(theta) * A_i,
  clip(rho_i,t(theta), 1 - epsilon, 1 + epsilon) * A_i
)
此外加入相对于参考策略 pi_ref 的 KL 惩罚:

objective = clipped_policy_gain - beta * KL(pi_theta || pi_ref)
完整目标会对问题、组内回答和回答 token 求平均。clip 控制单次更新幅度,KL 项抑制策略过快偏离参考模型。

img

img

6. GRPO 中各策略的角色

GRPO 里常出现三个策略符号: - pi_theta:正在训练的新策略。

  • pi_old:采样这批 rollout 时使用的旧策略,用于重要性采样比率。

  • pi_ref:固定参考策略,用于 KL 正则,通常来自训练起点。

pi_oldpi_ref 作用不同。前者解决采样数据与当前策略不完全一致的问题,后者定义允许偏离的基准。 组相对优势也有边界:如果同一问题的所有回答都同奖,标准化后几乎没有区分信号;如果组太小,优势估计噪声较大;如果奖励器错误,GRPO 只会更有效地优化错误目标。

7. R1-Zero 的奖励设计

R1-Zero 使用规则奖励,主要包括两类。

7.1 准确性奖励

准确性奖励判断最终答案是否正确: - 数学题要求答案落在指定格式中,通过规则提取并验证。

  • 编程题可以通过编译器或测试用例验证。

这类奖励的优势是客观、便宜、可扩展,且不需要训练神经奖励模型。它特别适合数学和代码等可验证领域。 它的限制同样明显:开放问答、创作、事实解释和复杂偏好通常没有可靠的确定性验证器;验证器本身也可能有漏洞,被模型利用。

7.2 格式奖励

img

格式奖励要求模型把思考过程和最终答案放入指定标签,例如:

<think>
reasoning process
</think>
<answer>
final answer
</answer>
格式奖励让推理区与答案区可解析,也为准确性验证器稳定抽取最终答案提供条件。它只能保证结构符合要求,不能保证推理真实、忠实或正确。 论文强调 R1-Zero 训练阶段没有采用结果神经奖励模型或过程奖励模型。这样做是为了降低 reward hacking 风险和大规模重训练奖励模型的成本,但规则奖励仍然可能被投机利用。

8. 纯 RL 中涌现的推理行为

img

随着训练推进,R1-Zero 的平均响应长度显著增加,模型会主动分配更多 token 给复杂推理。论文观察到以下行为自然出现: - 对中间结果进行自我验证。

  • 反思已有方案并重新开始。

  • 尝试替代解法。

  • 把复杂问题分解为多个步骤。

  • 在不确定时延长思考。

论文用“aha moment”展示某个中间 checkpoint 在推理中识别错误并改变策略的现象。它说明奖励可以激励模型形成反思行为,但不是模型具有人类式意识的证据,也不是对隐藏推理机制的完整解释。 R1-Zero 在 AIME 2024 上的 pass@1 从训练初期的 15.6% 提升到 71.0%,使用 64 次采样的多数投票后达到 86.7%。这个结果支持“RL 能显著激励已有基座中的推理潜力”,但其适用条件是强基座、大规模采样和可验证任务。

9. R1-Zero 的主要问题

纯 RL 产出的 R1-Zero 并不是最终产品模型,主要缺陷包括: - 可读性差推理链可能跳跃、冗长或难以理解。

  • 语言混杂同一回答中混合多种语言。

  • 无限重复模型可能陷入重复模式。

  • 格式投机满足形式不等于提供高质量解释。

  • 适用范围受限可验证奖励更容易覆盖数学和代码,难以覆盖开放域任务。

这些问题推动了 DeepSeek-R1 的多阶段训练设计。

10. DeepSeek-R1 的四阶段流水线

最终 R1 的后训练包含两个 SFT 阶段和两个 RL 阶段:

img

DeepSeek-V3-Base
  -> 阶段一:冷启动数据 SFT
  -> 阶段二:面向推理的强化学习
  -> 阶段三:拒绝采样构造数据 + 第二次 SFT
  -> 阶段四:覆盖全场景的强化学习
  -> DeepSeek-R1
这条路线把探索和约束结合起来:RL 负责发现与强化有效推理模式,SFT 和数据治理负责可读性、稳定性与能力覆盖,最终 RL 负责对齐帮助性和无害性。

11. 阶段一:冷启动监督微调

团队先收集数千条高质量长思维链样本,对 DeepSeek-V3-Base 进行 SFT,作为第一次 RL 的起点。 冷启动数据来源包括: - 使用长思维链示例进行 few-shot 提示。

  • 让模型先生成带反思和验证的详细回答。

  • 对 R1-Zero 输出进行可读性后处理。

  • 由人工标注者进行后处理和结果整理。

与 R1-Zero 相比,冷启动有三个价值: - 提供稳定、易解析的输出格式。

  • 提高推理文本的可读性。

  • 让早期 RL 探索从更合理的策略区域开始,减少训练不稳定。

冷启动数据量不大,但质量和格式约束很强。它并没有取代 RL,而是在 RL 前建立较好的初始分布。

12. 阶段二:面向推理的强化学习

冷启动 SFT 后,模型继续接受类似 R1-Zero 的大规模 reasoning RL,重点提升数学、代码、科学和逻辑推理能力。 这一阶段继续使用准确性和格式奖励,并加入语言一致性奖励。语言一致性可用目标语言词汇在思维链中的占比近似计算,用来减少中英文混杂。 语言一致性奖励可能与纯准确率存在轻微张力,但人类评估显示它能改善可读性。它体现了多目标优化的现实:最终模型不能只优化解题正确率,还要兼顾表达质量。

Model-based Rewards:

img

与model-based Rewards对应的是Rule-based Reward,或者说Verifiable Rewards(RLVR)。

13. 阶段三:拒绝采样与第二次 SFT

当 reasoning RL 收敛后,团队使用该 checkpoint 生成监督数据,并通过拒绝采样保留高质量结果。 推理数据的筛选方式包括: - 有确定答案的任务使用规则奖励验证。

  • 没有可靠规则验证器的任务使用生成式奖励模型判断。

  • 过滤语言混杂、超长段落和不友好的输出。

  • 不只保留最终答案,也保留经过筛选的推理轨迹。

最终构造约 60 万条推理相关样本。为恢复和增强写作、事实问答、自我认知、翻译等非推理能力,又加入约 20 万条非推理样本,总计约 80 万条。 对部分非推理任务,使用 DeepSeek-V3 生成潜在思维链后再回答;对问候等简单任务,则不强制思维链。随后使用这批数据对 DeepSeek-V3-Base 进行两轮 epoch 的 SFT。 这一阶段的本质是把 RL 探索出的高价值行为转化为稳定的监督数据,同时重新平衡推理与通用能力。

14. 阶段四:覆盖全场景的强化学习

最后一轮 RL 同时优化推理能力与人类偏好: - 推理任务继续使用基于规则的准确性信号。

  • 通用任务使用奖励模型衡量帮助性和无害性。

  • 帮助性奖励主要聚焦最终答案或总结,避免干扰推理过程。

  • 无害性奖励评估整个回答,包括推理和最终答案,以降低潜在风险。

通过混合多种 prompt 分布和奖励信号,最终模型在保持推理能力的同时,对通用场景、人类偏好与安全要求进行对齐。

img

15. R1-Zero 与 R1 的关键对比

维度 DeepSeek-R1-Zero DeepSeek-R1 基座模型 DeepSeek-V3-Base DeepSeek-V3-Base RL 阶段前置 SFT 冷启动 ❌ 无 ✅ 有,数千条高质量长 CoT 样本 核心研究目标 验证纯强化学习(无前置 SFT)能否自发涌现推理能力 打造实用、输出可读、通用的推理模型 RL 奖励函数组成 答案准确性 + 输出格式合规 准确性、格式、语言一致性、有用性、无害性(奖励维度更丰富) RL 之后二次 SFT 不执行 R1 标准第二轮大规模 SFT ✅ 执行:约 80 万条数据,训练 2 epochs 优势亮点 证实纯 RL 可自发涌现反思、自校验、超长思维链 CoT 现象 推理能力强劲,输出可读性高,综合通用性更强 现存缺陷 文本大量重复、可读性糟糕、频繁出现多语言混杂 依旧存在语言混杂问题,对 Prompt 设置较为敏感

16. 从 R1 向小模型蒸馏

DeepSeek 使用 R1 生成的约 80 万条样本,对多个开源稠密模型直接进行 SFT: - Qwen2.5-Math-1.5B。

  • Qwen2.5-Math-7B。

  • Llama-3.1-8B。

  • Qwen2.5-14B。

  • Qwen2.5-32B。

  • Llama-3.3-70B-Instruct。

这些模型对应公开的 1.5B、7B、8B、14B、32B 和 70B 蒸馏检查点。 论文中的蒸馏主要是用 R1 生成的数据做监督微调,不是经典的逐 token 概率分布 KL 蒸馏,也没有对蒸馏模型再执行完整 R1 式 RL。 结果显示,把大模型发现的推理模式蒸馏给小模型,通常比直接在小模型上进行同类 RL 更有效。这并不意味着 RL 对小模型永远无用,而是说明强教师产生的高质量轨迹可以降低小模型自行搜索推理策略的难度。

17. 蒸馏模型的代表性结果

论文和官方仓库报告的代表性结果包括: - DeepSeek-R1-Distill-Qwen-32B 在 AIME 2024 pass@1 上为 72.6%,MATH-500 为 94.3%,GPQA Diamond 为 62.1%,LiveCodeBench 为 57.2%。

  • DeepSeek-R1-Distill-Llama-70B 在 MATH-500 上为 94.5%,GPQA Diamond 为 65.2%,LiveCodeBench 为 57.5%。

  • 这些结果说明经过高质量推理数据 SFT 的较小稠密模型可以获得很强的推理表现。

数字必须结合论文的模型版本、提示模板、采样参数和指标定义理解,不能把单个 benchmark 分数直接外推为所有任务上的产品体验。

18. DeepSeek-R1 的评测协议

官方仓库披露: - 最大生成长度设为 32,768 tokens。

  • 对需要采样的 benchmark,温度设为 0.6。

  • top_p 设为 0.95。

  • 每个问题生成 64 个回答,用于估计 pass@1。

常见指标需要区分: - pass@1:单次采样得到正确答案的概率或其估计。

  • pass@k:采样 k 次至少一次正确的概率。

  • cons@k:采样多次后通过多数投票或一致性选择得到的正确率。

  • EM:最终答案完全匹配。

  • F1:预测和参考答案的 token/片段重叠指标。

生成长度和采样次数本身就是推理计算预算。比较推理模型时,必须同时报告质量、token 消耗、时延和成本。

19. DeepSeek-R1 的代表性评测结果

论文报告 DeepSeek-R1 在多项数学、代码和推理 benchmark 上与 OpenAI o1-1217 接近: - AIME 2024 pass@1:79.8%。

  • MATH-500 pass@1:97.3%。

  • GPQA Diamond pass@1:71.5%。

  • LiveCodeBench pass@1-CoT:65.9%。

  • Codeforces rating:2029,percentile 96.3%。

  • MMLU-Pro EM:84.0%。

同时,R1 并非每项指标都领先。例如论文表格中 SimpleQA 为 30.1,低于 o1-1217 的 47.0;IF-Eval Prompt Strict 为 83.3,也不是表中最高。严谨表述应是“在特定评测协议下,多项推理指标达到或接近 o1-1217”,而不是笼统宣称全面超过。

20. 推理长度、计算量与性能

R1-Zero 训练过程中平均响应长度增加,说明模型学会用更多 test-time compute 解决难题。但“越长越好”并不成立: - 简单问题的过长推理浪费 token 并增加时延。

  • 长链更容易重复、偏航或累积错误。

  • 服务端 KV cache、吞吐和并发会受输出长度影响。

  • 隐式奖励如果偏好长答案,可能形成长度偏差。

理想状态是根据问题难度自适应分配计算量,并用准确率、平均输出 token、TTFT、TPOT、端到端时延和单位成功成本联合评估。

21. 结果奖励与过程奖励

R1 的核心路线偏向 outcome-based reward(ORM):主要根据最终结果是否正确来提供信号。它允许模型自由探索内部步骤,不要求每一步模仿人工轨迹。 过程奖励模型 PRM 则尝试给中间步骤逐步评分,潜在优点是奖励更密集、错误定位更细。但论文指出其困难包括: - 细粒度步骤边界难以统一定义。

  • 大规模人工标注成本高。

  • 自动标注无法保证准确。

  • PRM 可能被 reward hacking。

  • 训练和推理都需要额外资源。

因此论文没有把 PRM 纳入最终 R1 流水线。这不证明 PRM 原理上无效,只说明在该项目的规模与条件下没有获得足够收益。

22. MCTS 尝试及其困难

团队也探索过 Monte Carlo Tree Search。MCTS 在围棋等任务中有效,是因为动作空间明确、状态可评估、搜索可以迭代改进。 语言生成中的困难更大: - token 级动作空间巨大,搜索树指数膨胀。

  • 合理的搜索粒度难以确定,token、句子和步骤各有问题。

  • 价值模型难以可靠评价部分推理状态。

  • 模型与搜索共同变化会让训练不稳定。

  • 搜索得到更好答案,不等于能把搜索能力稳定迁移回参数模型。

论文把这一方向列为未成功尝试,而不是最终方案的一部分。

23. 可验证奖励的工程设计原则

构建类似系统时,验证器质量往往比 RL 算法名称更关键: - 先规范化答案,再进行等价性判断。

  • 数学表达式要处理分数、单位、集合、顺序和符号等价。

  • 代码验证要隔离沙箱、限制资源、覆盖边界测试并防止测试泄漏。

  • 无法验证的问题不应被强行映射为脆弱规则。

  • 持续做 adversarial audit,检查模型是否利用解析器漏洞。

  • 奖励应分解记录,避免总分掩盖准确性、格式和长度之间的冲突。

奖励稀疏时,可通过增加同题采样数、设计课程学习、提高题目难度梯度或改进验证器来增强有效信号,但不能用错误的稠密奖励换取表面稳定。

24. Reward Hacking 与训练诊断

Reward hacking 指模型提高奖励,却没有真正完成目标。可能表现为: - 利用答案解析器漏洞伪造正确格式。

  • 输出测试用例特判代码。

  • 通过冗长重复满足某种代理指标。

  • 在最终答案中藏入多个候选值碰撞验证规则。

  • 使用固定语言片段刷高语言一致性奖励。

诊断时应同时检查: - 训练奖励与独立 benchmark 是否同步上升。

  • 验证器通过率与人工正确率是否一致。

  • 输出长度、重复率、语言混合率和格式通过率。

  • 不同难度、领域和语言上的分桶表现。

  • 在隐藏测试、替代解析器和新测试用例上的泛化。

25. 论文披露的局限

DeepSeek-R1 论文列出若干局限: - 通用能力函数调用、多轮对话、复杂角色扮演和 JSON 输出等方面仍可能弱于 DeepSeek-V3。

  • 语言混合主要针对中英文优化,其他语言的查询可能出现中英文夹杂。

  • Prompt 敏感性few-shot 提示可能降低性能,论文建议直接描述问题并采用 zero-shot 设置。

  • 软件工程 RL 覆盖不足软件工程任务评测周期长,影响大规模 RL 的效率,因此该领域没有像数学那样充分迭代。

这些局限提醒我们,推理 benchmark 的提升不自动等价于完整 Agent、工具调用或生产对话能力的提升。

26. 官方使用建议

DeepSeek 官方仓库对 R1 系列给出过以下使用建议: - 温度建议在 0.5 到 0.7,推荐 0.6,以降低重复或不连贯输出。

  • 避免额外 system prompt,把指令放在 user prompt 中。

  • 数学任务可要求逐步推理,并把最终答案放入 \boxed{}

  • 评测时进行多次采样并对结果取平均。

  • 某些部署场景可强制输出从 <think>\n 开始,避免模型跳过思考模式。

这些是特定版本的官方经验参数,不是所有推理模型都必须遵循的普遍定律。上线前仍需按自己的模型权重、推理框架、量化方式和任务集重新验证。

27. 推理服务的系统代价

R1 类长推理模型会显著改变服务系统: - 输出 token 数增长,decode 阶段变长。

  • 单请求 KV cache 占用时间增加。

  • 并发请求更容易争夺显存和调度槽位。

  • 同一问题多次采样进一步放大算力成本。

  • 用户看到首个 token 后仍可能等待很长时间才得到最终答案。

部署评估应至少记录:

任务成功率
平均/分位输出 token 数
TTFT
TPOT 或 inter-token latency
端到端延迟
每请求成本
每个正确答案的成本
超时率、重复率和格式失败率
模型质量与服务效率需要共同优化,不能只复现论文的准确率数字。

28. 复现实验的分层设计

完整复现 671B MoE 模型的大规模 RL 通常不现实,但可以分层验证论文命题: - 选择具备基础数学能力的小型 base model。

  • 构建可严格验证的数学或代码题集,并划分隐藏测试集。

  • 对每题采样多个输出,计算准确性和格式奖励。

  • 实现组内标准化优势与 clipped policy update。

  • 设置固定参考模型并监控 KL。

  • 对比纯 RL、冷启动 SFT + RL、只做 SFT 三条路线。

  • 记录准确率、长度、重复、格式、语言一致性和训练成本。

  • 用独立验证器和人工抽检排查 reward hacking。

关键消融包括去掉格式奖励、去掉 KL、改变 group size、改变冷启动数据量、改变语言奖励权重和只保留最终答案而不保留推理轨迹。

29. 面试中的常见概念误区

29.1 “R1-Zero 从零训练”

错误。它从强大的 DeepSeek-V3-Base 开始,只是 RL 前没有推理 SFT 冷启动。

29.2 “R1 完全不需要 SFT”

错误。最终 R1 有两个 SFT 阶段:冷启动 SFT,以及拒绝采样数据构造后的第二轮 SFT。

29.3 “GRPO 不需要 baseline”

不准确。它不训练独立 critic,但组内均值发挥了相对基线作用,且仍使用参考策略做 KL 正则。

29.4 “输出 CoT 就证明推理忠实”

错误。可见思维链可能是有效工作空间,也可能是事后解释、冗余文本或奖励适应结果。最终答案正确并不能证明每个中间步骤都忠实反映内部计算。

29.5 “Benchmark 领先就代表全面领先”

错误。结果依赖采样预算、提示模板、模型版本、数据污染、评分器和任务分布,还要考虑成本、延迟、安全与稳定性。

30. 紧凑知识总结

R1-Zero:
强 Base Model + 无冷启动 SFT + GRPO + 准确性/格式规则奖励
-&gt; 推理、自验证、反思和长 CoT 涌现
-&gt; 但存在可读性、重复和语言混合问题

R1:
冷启动 SFT
-&gt; reasoning RL(准确性、格式、语言一致性)
-&gt; 拒绝采样,形成约 600k 推理 + 200k 非推理数据
-&gt; 对 Base Model 做 2 epochs SFT
-&gt; 全场景 RL(推理规则奖励 + 帮助性/无害性奖励)
-&gt; 强推理且更适合通用使用

GRPO:
同题多样本 -&gt; 组内标准化奖励估计优势
-&gt; PPO 式 clip 更新 + 参考策略 KL
-&gt; 省去独立 critic,但仍依赖高质量奖励、rollout 和稳定训练

蒸馏:
R1 生成高质量轨迹 -&gt; 对 Qwen/Llama 稠密模型做 SFT
-&gt; 小模型获得显著推理能力

31. 参考资料

  • DeepSeek-R1 原论文:https://arxiv.org/abs/2501.12948

  • DeepSeek-R1 官方仓库与模型说明:https://github.com/deepseek-ai/DeepSeek-R1

  • DeepSeek-R1 官方 Hugging Face 模型卡:https://huggingface.co/deepseek-ai/DeepSeek-R1

  • DeepSeekMath 与 GRPO:https://arxiv.org/abs/2402.03300

  • DeepSeek-V3 技术报告:https://arxiv.org/abs/2412.19437

  • 用户提供的图解文章:https://zhuanlan.zhihu.com/p/20538667476

            预览时标签不可点
    

    <div class="