DeepSeek-R1 多阶段训练详解

根据论文内容,DeepSeek-R1的完整训练流程可以分为五个阶段(Zero、Dev1、Dev2、Dev3、R1),下面逐阶段详细梳理数据构建、训练方法和优化目标。


阶段0:DeepSeek-R1-Zero(纯RL探索阶段)

目标

验证"无需SFT,纯RL即可激发推理能力"的假设,观察模型自然演化出的推理模式。

训练数据

  • 来源:仅使用推理类Prompt(数学、代码、逻辑),不使用任何人工标注的CoT数据
  • 无冷启动SFT:直接在DeepSeek-V3-Base上做RL

训练方法

  • 算法:GRPO(Group Relative Policy Optimization),无需Value Model
  • 超参数
    • 学习率3e-6,KL系数0.001,采样温度1.0
    • 每题采样16个输出,8.2k步前max_len=32768,之后65536
    • Batch size=512(32题×16样本),每400步更新一次reference model
  • 模板:仅约束<think>... </think> <answer>...</answer>格式,不做内容限制

奖励设计(Rule-based Reward)

Reward_rule = Reward_acc + Reward_format
  • 准确率奖励:数学答案匹配、代码编译测试用例通过
  • 格式奖励:是否规范使用think/answer标签
  • 不使用神经网络奖励模型,避免reward hacking

关键现象

  • AIME准确率从15.6%→77.9%(cons@16达86.7%)
  • 自然涌现"aha moment"、反思词汇(wait等)频率上升5-7倍
  • 问题:可读性差、中英文混杂(language mixing)

阶段1:DeepSeek-R1-Dev1(冷启动+第一次RL)

目标

解决R1-Zero的可读性和语言混杂问题,引入人类对话式思维风格,同时保持语言一致性。

数据构建(Cold-Start Data)

  1. 收集少量高质量长CoT数据(数千条)
  2. 生成流程
    • 用DeepSeek-R1-Zero(温度1.0)对精选prompt生成多条推理轨迹
    • 过滤:保留答案正确 + 格式可读的样本(用sympy校验数学答案)
    • 用DeepSeek-V3改写:将推理过程转为第一人称、自然对话风格,解决语言混杂(指令"Translate thinking process to same language as question")
    • 人工标注员先转写风格示例,再让LLM模仿改写,最后人工二次校验
  3. 代码数据特殊处理:从Codeforces/AtCoder收集7655题,用DeepSeek-V2.5生成对抗性测试用例(两阶段筛选:先排除错误用例,再挑选能区分正确/错误提交的用例集)

训练方法

  • SFT:基于Cold-Start数据微调DeepSeek-V3-Base,作为RL初始actor
  • 第一阶段RL
    • 与R1-Zero参数基本一致(lr=3e-6, KL=0.001, clip ε=10)
    • 新增语言一致性奖励
      Reward_language = Num(Words_target) / Num(Words)
      
    • Reward = Reward_rule + Reward_language

结果特点(对照Table 3)

  • IF-Eval、ArenaHard大幅提升(指令遵循能力增强)
  • 但因冷启动数据量小,AIME等推理能力略有下降(59.0 vs Zero的77.9)

阶段2:DeepSeek-R1-Dev2(推理能力强化)

目标

在Dev1基础上继续推理导向RL训练,大幅提升数学/代码/STEM能力。

数据

  • 沿用Reasoning RL数据:数学26K、代码17K(含8K bug-fix)、STEM 22K、逻辑15K
  • 数据筛选严格保证可验证性(rule-based reward可判定)

训练方法

  • 继续第一阶段RL的设置(该阶段实为R1完整pipeline中第一阶段RL的延续/迭代,未引入通用数据)
  • 核心仍是rule-based reward(准确率+格式+语言一致性)

结果

  • 相比Dev1,Codeforces、LiveCodeBench、AIME、MATH-500全面提升(如AIME 59.0→74.0,Codeforces percentile 84.5→90.5)
  • 但AlpacaEval2.0等通用任务基准仅小幅提升,说明推理RL对通用能力提升有限

阶段3:DeepSeek-R1-Dev3(拒绝采样+SFT,融合推理与非推理数据)

目标

通过大规模SFT同时增强推理能力与写作、通用问答等非推理能力。

数据构建(约800K SFT样本,Table 5)

Reasoning数据(~600K)

  • 从Dev2 checkpoint做拒绝采样(Rejection Sampling)生成推理轨迹
  • 筛选标准扩展:不仅rule-based,还引入生成式奖励模型(把ground-truth和预测喂给DeepSeek-V3判定,见Listing 4 Prompt)
  • 后处理:过滤语言混杂、超长段落、代码块混杂的CoT
  • 每个prompt多次采样,只保留正确答案对应的轨迹

Non-Reasoning数据(~200K)

  • 复用DeepSeek-V3 SFT pipeline(写作、事实问答、自我认知、翻译)
  • 新增软件工程数据(bug修复、前端开发)
  • 简单查询(如"hello")不加CoT;复杂查询调用DeepSeek-V3生成CoT垂直预热

训练方法

  • 纯SFT:基于DeepSeek-V3-Base,2-3 epoch
  • 超参数:cosine decay lr(5e-5→5e-6),max_len=32768,batch=128

结果

  • 相比Dev2:AlpacaEval2.0、Aider-Polyglot显著提升(受益于非推理语料和代码工程数据)
  • 推理类benchmark基本持平或小幅提升

阶段4:DeepSeek-R1(第二次RL,对齐人类偏好)

目标

在保持推理能力基础上,进一步提升helpfulness和harmlessness,对齐人类偏好。

奖励模型构建(Model-based Rewards)

Helpful Reward Model

  • 用arena-hard格式让DeepSeek-V3生成偏好对(4次独立打分消除位置偏差,取平均且Δ>1才保留)
  • 66,000条偏好数据,仅针对最终summary打分(不干扰推理过程)
  • 训练:batch=256, lr=6e-6, 1 epoch, max_len=8192

Safety Reward Model

  • 106,000条prompt,标注safe/unsafe(point-wise,非pairwise)
  • 评估整个响应(含推理过程+summary)

训练数据(Diverse Prompts)

  • 沿用Reasoning RL数据(数学/代码/STEM/逻辑)
  • General数据66K(helpfulness)+ 12K(harmlessness)

训练方法

  • 基于Dev3 checkpoint继续RL
  • 温度降至0.7(避免生成不连贯)
  • 总计1700步,最后400步才引入通用指令数据+偏好奖励(避免reward hacking)

奖励公式

Reward = Reward_reasoning + Reward_general + Reward_language

Reward_reasoning = Reward_rule
Reward_general = Reward_reward_model + Reward_format

结果(Table 3对比Dev3→R1)

  • AlpacaEval2.0: 62.1→87.6(+25%)
  • ArenaHard: 75.6→92.3(+17%)
  • 数学/代码基准仅小幅提升(因为前期RL已充分优化)

五阶段核心逻辑总结表

阶段核心动作数据规模/类型优化目标关键技术
Zero纯RL无SFT推理prompt(无标注CoT)验证RL自发涌现推理能力GRPO + Rule Reward
Dev1冷启动SFT+RL数千条人类风格CoT可读性+语言一致性Cold-start + Language Reward
Dev2继续推理RL复用推理prompt集强化数学/代码/STEM能力同Dev1 RL设置迭代
Dev3拒绝采样+大规模SFT800K(600K推理+200K非推理)兼顾推理与通用/写作能力Rejection Sampling + Generative RM筛选
R1第二次RL对齐Diverse Prompts+66K偏好对+106K安全数据Helpfulness+Harmlessness,同时保持推理Model-based RM + Rule Reward混合

训练成本汇总(H800 GPU)

  • R1-Zero训练:101K GPU小时
  • SFT数据制作:5K GPU小时
  • R1训练(Dev1→R1完整RL+SFT流程):41K GPU小时
  • 总计:147K GPU小时(约$294K)

这个五阶段设计体现了论文核心洞察:纯RL能激发推理但牺牲可读性和通用性,需要SFT+RL交替迭代来平衡推理深度与人类偏好对齐

更多推荐