DeepSeek-R1

Mar 16, 2025
2 views
Large Model

简介

image

后训练(post-training)已成为完整训练流程中的重要组成部分。相比于预训练,后训练需要的计算资源相对较少,但能够:

  • 提高推理任务的准确性
  • 使模型与社会价值观保持一致
  • 适应用户偏好
    OpenAI 的 o1 系列模型首次引入了通过增加思维链(Chain-of-Thought)推理过程长度来实现推理时间,扩展这种方法在数学、编程和科学推理等各种推理任务上取得了显著改进

研究界已探索多种方法来提高模型的推理能力:比如基于过程的奖励模型(Process-based Reward Models)强化学习(Reinforcement Learning), 代表工作:InstructGPT, 以及搜索算法(蒙特卡洛树搜索(Monte Carlo Tree Search)、束搜索(Beam Search))。然而,这些方法尚未达到与 OpenAI o1 系列模型相当的通用推理性能。

DeepSeek-R1-Zero

本文首先探索使用纯强化学习(RL)来提高语言模型的推理能力,重点关注:

  1. 探索 LLM 在没有任何监督数据的情况下,通过纯 RL 过程的自我进化来发展推理能力
  2. 使用 DeepSeek-V3-Base 作为基础模型,采用 GRPO(Group Relative Policy Optimization)作为 RL 框架来提高模型在推理方面的表现
    在训练过程中,DeepSeek-R1-Zero 自然涌现出许多强大且有趣的推理行为:
  • 经过数千次 RL 步骤后,在推理基准测试上表现出色
  • 在 AIME 2024 上的 pass@1 分数从 15.6% 提高到 71.0%
  • 使用多数投票后,分数进一步提高到 86.7%,与 OpenAI-o1-0912 的性能相当

DeepSeek-R1 的改进

尽管 DeepSeek-R1-Zero 表现出强大的推理能力,但它面临一些挑战:

  • 可读性差
  • 语言混合问题
    为解决这些问题并进一步提高推理性能,论文引入了 DeepSeek-R1,它采用:
  1. 少量冷启动数据
  2. 多阶段训练流程
    具体来说,DeepSeek-R1 的训练过程包括:

  3. 收集数千条冷启动数据来微调 DeepSeek-V3-Base 模型

  4. 进行类似 DeepSeek-R1-Zero 的面向推理的 RL
  5. 在 RL 过程接近收敛时,通过对 RL checkpoint 进行拒绝采样创建新的 SFT 数据
  6. 结合 DeepSeek-V3 在写作、事实 QA 和自我认知等领域的监督数据,重新训练 DeepSeek-V3-Base 模型
  7. 微调后,考虑所有场景的提示,模型再经过一个额外的 RL 过程
    经过这些步骤,得到的 DeepSeek-R1 模型在性能上与 OpenAI-o1-1217 相当。

知识蒸馏到小型模型

论文还探索了将 DeepSeek-R1 的知识蒸馏到更小的密集模型中:

  • 使用 Qwen2.5-32B 作为基础模型,直接从 DeepSeek-R1 蒸馏的效果优于对其应用 RL
  • 这表明更大基础模型发现的推理模式对提高推理能力至关重要
  • 开源了基于 Qwen 和 Llama 系列的蒸馏模型
  • 蒸馏的 14B 模型大幅优于最先进的开源 QwQ-32B-Preview
  • 蒸馏的 32B 和 70B 模型在密集模型的推理基准测试中创下新记录

论文贡献

  1. 后训练:对基础模型进行大规模强化学习
  2. 开发 DeepSeek-R1 的流程
  3. 蒸馏:小型模型也能强大
  4. 使用 DeepSeek-R1 生成的推理数据,微调了多个广泛用于研究界的密集模型

方法

DeepSeek-R1 是一个通过强化学习(Reinforcement Learning, RL)增强大语言模型推理能力的研究。论文提出了三种主要方法:

  1. DeepSeek-R1-Zero:直接在基础模型上应用RL,无需任何监督微调(SFT)数据
  2. DeepSeek-R1:在少量冷启动数据的基础上应用RL,并采用多阶段训练流程
  3. 蒸馏模型:将DeepSeek-R1的推理能力蒸馏到更小的密集模型中

DeepSeek-R1-Zero:基础模型上的强化学习

强化学习算法

DeepSeek-R1-Zero采用了群组相对策略优化(Group Relative Policy Optimization, GRPO)算法,该算法不需要与策略模型同样大小的评论家模型(Value Model),而是从群组得分中估计基线。

GRPO算法公式

对于每个问题 \(x\),GRPO从旧策略 \(\pi_{\theta_{old}}\) 中采样一组输出 \(\{y_1, y_2, \cdots, y_K\}\),然后通过最大化以下目标来优化策略模型 \(\pi_{\theta}\)

\[ \begin{aligned}&{\mathcal{J}}_{GRPO}\left( \theta \right) = \mathbb{E}\left\lbrack {q \sim P\left( Q\right) ,{\left\{ {o}_{i}\right\} }_{i = 1}^{G} \sim {\pi }_{{\theta }_{\text{old }}}\left( {O | q}\right) }\right\rbrack \\&\frac{1}{G}\mathop{\sum }\limits_{{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}}_{KL}\left( {{\pi }_{\theta }\parallel {\pi }_{ref}}\right) }\right) \end{aligned} \]

其中:

\[ {\mathbb{D}}_{KL}\left( {{\pi }_{\theta }\parallel {\pi }_{\text{ref }}}\right) = \frac{{\pi }_{\text{ref }}\left( {{o}_{i} \mid q}\right) }{{\pi }_{\theta }\left( {{o}_{i} \mid q}\right) } - \log \frac{{\pi }_{\text{ref }}\left( {{o}_{i} \mid q}\right) }{{\pi }_{\theta }\left( {{o}_{i} \mid q}\right) } - 1 \]

\(\epsilon\)\(\beta\) 是超参数,\(A_i\) 是优势函数,使用每个组内的奖励 \(\{r_1, r_2, \ldots, r_G\}\) 计算:

\[ A_i = \frac{r_i - \text{mean}(\{r_1, r_2, \cdots, r_G\})}{\text{std}(\{r_1, r_2, \cdots, r_G\})} \]

奖励建模

DeepSeek-R1-Zero采用基于规则的奖励系统,主要包含两类奖励:

  1. 准确性奖励:评估回答是否正确。例如,对于有确定结果的数学问题,模型需要在指定格式中提供最终答案,以便进行基于规则的正确性验证。对于LeetCode问题,可以使用编译器根据预定义的测试用例生成反馈。
  2. 格式奖励:要求模型将其思考过程放在<think></think>标签之间。
    值得注意的是,研究团队没有使用基于神经网络的奖励模型( 包含过程监督和结果监督的模型),因为他们发现在大规模强化学习过程中,神经奖励模型可能会受到奖励黑客(reward hacking)的影响,且重新训练奖励模型需要额外的训练资源,使整个训练流程变得复杂。

💡 *Reward Hacking 的具体含义*

训练模板

DeepSeek-R1-Zero使用简单的模板来指导基础模型遵循指定的指令。如下表所示,该模板要求模型首先生成推理过程,然后给出最终答案。研究团队有意将约束限制在这种结构格式上,避免任何特定内容的偏见,以确保能够准确观察模型在RL过程中的自然进展。

image

DeepSeek-R1-Zero的性能、自我进化过程和"顿悟时刻"(Aha Moment)

性能

  • DeepSeek-R1-Zero在RL训练过程中展示了稳定的性能提升
  • AIME 2024基准测试的平均pass@1得分从初始的15.6%显著提高到71.0%
  • 当使用多数投票时,DeepSeek-R1-Zero在AIME基准测试上的性能从71.0%提升到86.7%,超过了OpenAI-o1-0912
    image

image

自我进化过程

  • DeepSeek-R1-Zero的思考时间在整个训练过程中持续改善
  • 模型自然地学会通过利用更长的测试时间计算来解决越来越复杂的推理任务
  • 随着测试时间计算的增加,模型自发地出现了复杂的行为,如反思(重新审视和重新评估之前的步骤)和探索问题解决的替代方法
    顿悟时刻

  • 在训练过程中,模型学会了通过重新评估其初始方法为问题分配更多的思考时间

  • 这种行为不仅证明了模型的推理能力在增长,也展示了强化学习如何导致意想不到的复杂结果
  • 研究人员将这称为"顿悟时刻",强调了RL的潜力:不是明确教导模型如何解决问题,而是提供正确的激励,让模型自主发展高级问题解决策略
    image

DeepSeek-R1-Zero的缺点
尽管DeepSeek-R1-Zero展示了强大的推理能力,但它面临几个问题,如可读性差和语言混合。为了使推理过程更易读并与开放社区分享,研究团队探索了DeepSeek-R1,一种利用人类友好的冷启动数据的方法。

DeepSeek-R1:带冷启动的强化学习

受到 DeepSeek-R1-Zero 的可喜结果的启发,自然而然地出现了两个问题:

  1. 通过将少量高质量数据作为冷启动,是否可以进一步提高推理性能或加速收敛?
  2. 我们如何训练一个用户友好的模型,该模型不仅产生清晰连贯的思维链 (CoT),而且还表现出强大的通用能力?为了解决这些问题,我们设计了一个pipeline来训练 DeepSeek-R1 。该pipeline由四个阶段组成,概述如下。

冷启动

与DeepSeek-R1-Zero不同,DeepSeek-R1构建并收集了少量长思维链(CoT)数据,用RL来微调模型作为初始的actor model,避免从基础模型开始RL训练的早期不稳定冷启动阶段。具体是以DeepSeek v3作为初始化模型。

收集冷启动数据的方法流程:

  • 使用少样本提示,以长CoT作为示例
  • 直接提示模型生成带有反思和验证的详细答案
  • 收集DeepSeek-R1-Zero以可读格式输出的内容
  • 通过人类注释者进行后处理改进结果
    冷启动数据的优势:

  • 可读性:DeepSeek-R1-Zero的一个主要限制是其内容通常不适合阅读。回答可能混合多种语言或缺乏markdown格式来突出用户答案。相比之下,DeepSeek-R1的冷启动数据设计了一种可读模式,包括每个回答末尾的摘要,并过滤掉不易读的回答。输出格式定义为|special_token|<reasoning_process>|special_token|<summary>,其中reasoning_process是查询的CoT,summary用于总结推理结果。

  • 潜力:通过精心设计带有人类先验的冷启动数据模式,研究团队观察到比DeepSeek-R1-Zero更好的性能。他们认为迭代训练是推理模型的更好方式。

面向推理的强化学习

在基于冷启动数据微调DeepSeek-V3-Base后,研究团队应用了与DeepSeek-R1-Zero相同的大规模强化学习训练过程。这一阶段专注于增强模型的推理能力,特别是在推理密集型任务中,如编码、数学、科学和逻辑推理,这些任务涉及有明确解决方案的明确定义问题。