真实面经题目 · 原创解析

DeepSeek-R1 的后训练流程如何从 SFT、RL 到可验证推理能力逐步构建?

这题考的是候选人是否能按公开技术报告复述 DeepSeek-R1 的后训练逻辑,而不是泛泛说“先 SFT 再 RL”。好答案要区分 DeepSeek-R1-Zero 和 DeepSeek-R1:前者直接从 base model 做大规模 RL,展示可验证推理奖励能诱导反思、验证和更长 CoT;后者用少量冷启动长 CoT 数据改善可读性和训练稳定性,再经过推理 RL、拒绝采样生成 SFT 数据、通用能力 SFT、全场景 RL,并把大模型推理模式蒸馏到小模型。边界是只描述公开论文/官方报告内容,不扩展到未公开训练细节或其它机构的具体做法。

60 秒回答模板

DeepSeek-R1 的公开流程可以分成两条线:先用 R1-Zero 证明纯 RL 能激发可验证推理,再用 R1 的多阶段流程解决可读性、稳定性和通用能力。R1-Zero 从 DeepSeek-V3-Base 出发,不先做 SFT,直接在数学、代码等可验证任务上用 GRPO 类 RL 训练。奖励主要是规则化的 accuracy reward 和 format reward,例如数学最终答案可校验、代码可用测试用例或编译反馈,格式要求把推理和答案放到指定结构中。公开报告显示,随着 RL 训练,模型会自然拉长 thinking time,并出现反思、重新检查和策略调整,但也有可读性差、语言混杂、重复等问题。为了解决这些问题,DeepSeek-R1 先构造少量高质量长 CoT 冷启动数据,对 base model 做初始 SFT,让 actor 有更可读的推理格式;然后做 reasoning-oriented RL,重点提升数学、代码、科学和逻辑推理,并加入语言一致性等对齐信号。RL 收敛后,再用该 checkpoint 对推理题做 rejection sampling,保留正确且更可读的样本,同时加入写作、事实问答、自我认知、翻译等非推理数据,形成约 800k SFT 数据再训练。之后进行面向全场景的第二阶段 RL:推理数据继续用规则奖励,通用数据用偏好 reward model,兼顾 helpfulness 和 harmlessness。最后,公开报告还强调蒸馏:用 R1 生成的数据微调 Qwen、Llama 等较小 dense 模型,证明大模型学到的推理模式可以迁移。回答时要把“可验证奖励、冷启动、两轮 RL、拒绝采样 SFT、蒸馏和评测”串起来,同时指出不要把 R1-Zero 的纯 RL 流程误认为最终 R1 的完整流程。

考点 先区分 R1-Zero 和 R1
难度 真实面经题
回答目标 按公开报告把 DeepSeek-R1 从 R1-Zero 纯 RL 验证,到冷启动、多阶段 RL/SFT、蒸馏和评测的后训练链路讲清楚。

深入解析

01

R1-Zero 的验证目标

R1-Zero 的公开意义在于先验证一个核心命题:不依赖人工标注推理轨迹的 SFT,只用可验证奖励和大规模 RL,也可能激发模型的推理能力。它从 base model 直接进入 RL,主要观察数学、代码、STEM 等任务上是否出现更长推理、自我检查和策略调整。

02

规则奖励降低奖励模型风险

公开报告中 R1-Zero 主要使用规则化奖励,包括答案正确性的 accuracy reward 和格式约束的 format reward。数学题可以检查最终答案,代码题可以依赖测试用例或编译反馈。这样避免复杂 neural reward model 在大规模 RL 中出现 reward hacking 和额外训练成本。

03

R1-Zero 的能力和缺陷

纯 RL 过程中,模型会逐渐增加 reasoning tokens,并出现反思、重新评估、调整解题策略等行为,这说明奖励能诱导一些推理模式。但 R1-Zero 同时暴露了可读性差、语言混杂、重复和格式不够友好的问题,因此不能把它直接等同于最终用户可用的 R1 流程。

04

冷启动数据的作用

DeepSeek-R1 在公开流程中加入少量高质量长 CoT 冷启动数据,对 base model 先做初始 SFT。这个阶段不是为了灌入所有推理能力,而是给 RL actor 一个更稳定、更可读的起点,减少从 base model 直接 RL 时早期输出混乱、格式不稳和语言混杂的问题。

05

推理导向 RL 阶段

冷启动后,R1 进行 reasoning-oriented RL,重点训练数学、代码、科学和逻辑推理这类有明确答案或可验证结果的问题。奖励仍以推理任务准确性为主,并加入语言一致性等可读性约束。这个阶段的取舍是少量对齐约束可能牺牲一点性能,但提升人类可读性和可用性。

06

拒绝采样和第二轮 SFT

当推理 RL 收敛后,公开流程用 RL checkpoint 对新推理题采样多条轨迹,通过 rejection sampling 保留正确、清晰、不过度混乱的样本。随后再加入写作、事实问答、自我认知、翻译等非推理数据,形成大规模 SFT 数据,让模型同时保留推理能力和通用助手能力。

07

全场景 RL 和偏好对齐

第二轮 SFT 后,DeepSeek-R1 还进行面向全场景的 RL。推理数据继续依赖规则奖励,通用任务则使用偏好 reward model 来优化 helpfulness 和 harmlessness。这里的关键是不要让推理过程破坏普通对话能力,也不要只看答案正确率而忽略安全性和用户体验。

08

蒸馏和评测闭环

公开报告进一步用 R1 生成或筛选的推理数据微调较小的 dense 模型,展示大模型推理模式可以蒸馏到 Qwen、Llama 等基础模型上。验证要覆盖数学、代码、知识、通用对话、安全和长度成本,并比较直接小模型 RL 与从强教师蒸馏的收益差异。

易错点

  • 把 DeepSeek-R1-Zero 和 DeepSeek-R1 混为一谈,误说最终 R1 完全没有冷启动或 SFT。
  • 泛泛说先 SFT 再 RL,没有说明 R1-Zero 先用纯 RL 验证可验证奖励能诱导推理能力。
  • 把奖励说成只靠人工偏好模型,忽略公开报告中数学、代码等任务的规则 accuracy reward 和 format reward。
  • 声称具体未公开数据来源、内部标注流程或其它公司的复现细节,把公开报告外的信息当事实。
  • 只讲模型分数,不讲 R1-Zero 的缺陷,例如可读性差、语言混杂、重复和格式不稳定。
  • 漏掉 rejection sampling 和第二轮 SFT,导致无法解释 RL 产物如何变成更通用、更可读的训练数据。
  • 漏掉蒸馏环节,无法说明公开流程如何把大模型推理能力迁移到较小 dense 模型。
  • 没有提出验证指标,只用“推理能力变强”概括,缺少数学、代码、通用、长度、延迟和安全评估。

面试官追问

为什么 DeepSeek-R1-Zero 不先做 SFT?

R1-Zero 的公开目标是验证纯 RL 是否能从 base model 中激发推理能力,因此刻意不使用 SFT 作为前置步骤。这样可以更清楚地观察奖励信号本身带来的自我演化,例如更长 thinking time、反思和重新检查。但它也带来可读性差、语言混杂等问题。

冷启动数据和普通 SFT 数据有什么不同?

冷启动数据规模相对小,重点是高质量长 CoT、清晰格式、可读推理和最终摘要,用来给后续 RL 一个稳定起点。普通第二轮 SFT 数据则更大,既包含通过 rejection sampling 得到的推理样本,也包含写作、事实问答、翻译等非推理样本,用来恢复和增强通用能力。

R1 里的奖励为什么强调规则奖励?

在数学和代码等任务中,最终答案、测试用例或编译结果可以提供相对可靠的自动反馈,规则奖励更透明、成本更低,也不容易像神经奖励模型那样在大规模 RL 中被模型钻漏洞。局限是它主要适合可验证任务,开放式对话仍需要偏好模型和人工评估。

拒绝采样在这个流程里有什么价值?

拒绝采样把 RL 阶段产生的多条推理轨迹转化为可监督学习的数据资产。通过保留正确、格式清晰、语言一致的回答,过滤错误或混乱 CoT,后续 SFT 可以让模型吸收 RL 学到的推理模式,同时减少纯 RL 输出不稳定带来的可用性问题。

蒸馏为什么可能比小模型直接 RL 更划算?

公开报告讨论过强模型蒸馏到小模型的收益。小模型直接做大规模 RL 需要大量计算,且探索空间和基础能力受限;用强教师生成的高质量推理样本做 SFT,可以更经济地迁移有效推理轨迹。但蒸馏也可能继承教师偏差,需要独立评测和安全检查。