Zhangzhe's Blog

The projection of my life.

0%

DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning

URL

TL;DR

  • 本文提出了三个模型和其对应的训练方法,目的是提高大模型的 CoT 推理能力,三个模型分别是:
    • DeepSeek-R1-Zero:由 DeepSeek V3 base 直接通过 RL 训练得到
    • DeepSeek-R1:由 DeepSeek V3 base 在合成的高质量 CoT 数据集上 SFT + RL 训练得到,效果优于 DeepSeek-R1-Zero
    • Distill model:用相同的合成高质量 CoT 数据训练的开源模型(参数量小且非 MoE
  • 其中训练方法是本文讲述的重点,DeepSeek R1 中的 R 表示 Reasoning(推导)

Algorithm

总体流程

deepseek_r1.jpg

Benchmark

deepseek.png

DeepSeek-R1-Zero

  • DeepSeek-R1-Zero 是用 DeepSeek v3 base (pre-train) 直接通过 RL 训练得到的,不经过 SFT
  • 用了以下的 Template 让模型生成 CoT 推理结果:
    deepseekr1zero.png
  • 奖励建模分成两个部分:
    • Accuracy rewards: 用于评估模型生成的 CoT 推理结果的准确性
    • Format rewards: 用于评估模型生成的 CoT 推理结果的格式是否符合上述 prompt 要求的 CoT 的格式
  • RL 过程不使用 NN reward model,而是使用了 Rule base reward
  • RL 过程中使用了 GRPO 算法
  • DeepSeek-R1-Zero 仅仅用上述简单的 CoT 性能提升流程,即可大幅提高 benchmark 上的指标(相比于 DeepSeek v3),但仍然存在一些问题,例如可读性差和语言混合

DeepSeek-R1

  • DeepSeek-R1 用了更复杂的数据处理流程和训练流程,主要分成四个阶段(流程图上的四个 stage):
    • 冷启动:用数千个来自于 DeepSeek-R1-Zero 输出且经过人工处理的 CoT 数据,对 DeepSeek V3 base 进行 SFT
    • 面向推导的强化学习:用编码、数学、科学和逻辑推理等推理密集型任务数据,对冷启动微调后的模型进行 RL 训练,同时引入了语言一致性和可读性的奖励
    • 拒绝采样和监督微调:用上一个 stage 得到的模型生成更广泛领域的推导 CoT 数据 600K 条,用 DeepSeek V3 模型推理部分非推导数据(例如:写作、翻译等)得到潜在的思维链数据 200K 条,用这 800K 条数据对 DeepSeek V3 base 进行 SFT
    • 所有场景的强化学习:用了和 DeepSeek V3 中使用的 RL 相同的 pipeline,数据和 DeepSeek-R1-Zero 中的 RL 数据相同,对上一个 stage 得到的模型进行 RL 训练
  • 综上所述,DeepSeek-R1 最重要的是 800K 包含 CoTSFT 数据

Distill model

  • 由于 DeepSeek R1 使用了 DeepSeek V3 相同的模型结构,因此包含 671B 参数,每个 token 激活 34B 参数,因此这个模型非常大,不适合部署
  • 为了解决这个问题,本文提出了 Distill model,用开源的较小参数量的稠密模型(非 MoE 模型)在 800K 包含 CoTSFT 数据 进行 SFT 微调
  • 主要蒸馏了 Qwenllama 模型,且完全不做 RL,即可大幅提高原模型在 Benchmark 上的指标
    distill.png

Thoughts

  • 需要重点关注本论文提到的 CoT 数据合成方式,这是 DeepSeek R1 的核心
  • 能从本文中可以看出 数据重要性远大于模型Post-train 只包含一次 SFT 和 一次 RL,比如论文中 stage 1 模型会大胆抛弃 DeepSeek R1 Zero 模型,而是退回到了 DeepSeek V3 base 模型,只用了 Zero 生成数据;stage 3 模型会大胆抛弃之前 stage 的模型,而是退回到了 DeepSeek V3 base 模型,只用了 stage 2 模型生成数据
  • 合成数据是最重要的,合成高质量的数据是 DeepSeek R1 的核心

Reference