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

TL;DR

  • 2025 年 DeepSeek 发布的基于大规模强化学习(RL)训练的推理模型 DeepSeek-R1,引爆全球科技圈讨论学习。DeepSeek-R1 模型权重和实现方案完全公开,模型精度可以对齐或超过最优秀的闭源模型。

Paper name

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

Paper Reading Note

Paper URL:

  • https://arxiv.org/abs/2501.12948

Code URL:

  • https://github.com/deepseek-ai/DeepSeek-R1

Introduction

背景

  • 后训练(post-training)成为完整训练流程中的一个重要组成部分。它已被证明能够提升模型在推理任务上的准确性,使其与社会价值观保持一致,并适应用户偏好,同时相比预训练所需的计算资源要少得多
  • OpenAI 的 o1 系列模型(OpenAI, 2024b)首次引入了推理时扩展(inference-time scaling),通过增加思维链(Chain-of-Thought)推理过程的长度来实现。
  • 有效的测试时扩展(test-time scaling)仍然是研究界的一个开放性问题,以下研究目前还没有能够达到与 OpenAI 的 o1 系列模型相当的通用推理性能
    • 基于过程的奖励模型
    • 强化学习
    • 蒙特卡洛树搜索
    • 束搜索等搜索算法

本文方案

目标:探索 LLMs 在没有任何监督数据的情况下发展推理能力的潜力,专注于通过纯粹的 RL 过程实现其自我进化。

核心贡献

  • 推出第一代推理模型,DeepSeek-R1-Zero 和 DeepSeek-R1。
    • DeepSeek-R1-Zero:没有经过监督微调(SFT)作为初步步骤,通过大规模强化学习(RL)训练而成。展现出了卓越的推理能力,但是可能有可读性差和语言混杂问题
      • 值得注意的是,这是首次通过纯强化学习激励大型语言模型(LLMs)的推理能力,而无需监督微调。
    • DeepSeek-R1:解决 DeepSeek-R1-Zero 问题并提升推理性能,在强化学习之前结合了多阶段训练和冷启动数据。DeepSeek-R1 在推理任务上的性能与 OpenAI-o1-1217 相当。
      • 包含两个强化学习阶段,旨在发现更优的推理模式并使其与人类偏好保持一致,以及两个监督微调阶段,用于增强模型的推理和非推理能力
  • 开源了 DeepSeek-R1-Zero、DeepSeek-R1 以及基于 Qwen 和 Llama 从 DeepSeek-R1 蒸馏出的六款密集模型(1.5B、7B、8B、14B、32B 和 70B)
    • 证明了大模型的推理模式可以被蒸馏到小模型中,从而使其性能优于通过在小模型上进行强化学习发现的推理模式。

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

探索了大型语言模型(LLMs)在没有任何监督数据的情况下发展推理能力的潜力,重点关注它们通过纯强化学习过程的自我进化。我们首先简要概述我们的RL算法,然后展示一些令人兴奋的结果

强化学习算法

组相对策略优化 (GRPO) 为了节省RL的训练成本,我们采用了组相对策略优化(GRPO)(Shao等人,2024),它放弃了通常与策略模型大小相同的评论家模型,而是从组分数中估计基线。具体来说,对于每个问题 q,GRPO 从旧策略 πθold 中采样一组输出 {o1, o2, ···, oG},然后通过最大化以下目标来优化策略模型 πθ:

J G R P O ( θ ) = E [ q ∼ P ( Q ) , { o i } i = 1 G ∼ π θ o l d ( O ∣ q ) ] 1 G ∑ i = 1 G [ min ⁡ ( π θ ( o i ∣ q ) π θ o l d ( o i ∣ q ) A i , clip ( π θ ( o i ∣ q ) π θ o l d ( o i ∣ q ) , 1 − ε , 1 + ε ) A i ) − β D K L ( π θ ∣ ∣ π r e f ) ] J_{GRPO}(θ) = E[q ∼ P(Q), \{o_i\}^G_{i=1} ∼ π_{θ_{old}}(O|q)] \frac{1}{G} \sum_{i=1}^G \left[ \min \left( \frac{π_θ(o_i|q)}{π_{θ_{old}}(o_i|q)} A_i, \text{clip} \left( \frac{π_θ(o_i|q)}{π_{θ_{old}}(o_i|q)}, 1 - ε, 1 + ε \right) A_i \right) - β D_{KL}(π_θ || π_{ref}) \right] JGRPO(θ)=E[qP(Q),{oi}i=1Gπθold(Oq)]G1i=1G[min(πθold(oiq)πθ(oiq)Ai,clip(πθold(oiq)πθ(oiq),1ε,1+ε)Ai)βDKL(πθ∣∣πref)]

D K L ( π θ ∣ ∣ π r e f ) = π r e f ( o i ∣ q ) π θ ( o i ∣ q ) log ⁡ π r e f ( o i ∣ q ) π θ ( o i ∣ q ) − 1 D_{KL}(π_θ || π_{ref}) = \frac{π_{ref}(o_i|q)}{π_θ(o_i|q)} \log \frac{π_{ref}(o_i|q)}{π_θ(o_i|q)} - 1 DKL(πθ∣∣πref)=πθ(oiq)πref(oiq)logπθ(oiq)πref(oiq)1

其中 ε 和 β 是超参数,Ai 是优势,使用与每个组内的输出相对应的一系列奖励{r1, r2, …, rG} 计算:

A i = r i − mean ( { r 1 , r 2 , ⋅ ⋅ ⋅ , r G } ) std ( { r 1 , r 2 , ⋅ ⋅ ⋅ , r G } ) A_i = \frac{r_i - \text{mean}(\{r_1, r_2, ···, r_G\})}{\text{std}(\{r_1, r_2, ···, r_G\})} Ai=std({r1,r2,⋅⋅⋅,rG})rimean({r1,r2,⋅⋅⋅,rG})

奖励建模

奖励是训练信号的来源,决定了RL的优化方向。为了训练 DeepSeek-R1-Zero,我们采用了基于规则的奖励系统,主要由两种类型的奖励组成:

  • 准确性奖励:准确性奖励模型评估响应是否正确。例如,对于具有确定性结果的数学问题,模型需要以指定格式(例如,在框内)提供最终答案,从而能够可靠地基于规则验证正确性。类似地,对于 LeetCode 问题,可以使用编译器根据预定义的测试用例生成反馈。

  • 格式奖励:除了准确性奖励模型,我们还使用了一个格式奖励模型,强制模型将其思维过程放在 和 之间。

在开发 DeepSeek-R1-Zero 时,我们没有应用结果或过程神经奖励模型,因为我们发现神经奖励模型可能在大规模强化学习过程中遭受奖励破解,而重新训练奖励模型需要额外的训练资源,并且会复杂化整个训练管道。

训练模板

  • 要求 DeepSeek-R1-Zero 首先产生一个推理过程,然后是最终答案。我们故意将我们的约束限制在这个结构格式上,避免任何内容特定的偏见——例如,强制要求反思性推理或 prompting 特定的问题解决策略——以确保我们能够准确观察模型在 RL 过程中的自然进展
    在这里插入图片描述

性能评测

  • DeepSeek-R1-Zero 在整个 RL 训练过程中在 AIME 2024 基准上的性能轨迹。随着 RL 训练的推进,DeepSeek-R1-Zero 的性能表现出稳定且一致的增强。15.6% 跃升到 71%,达到了与 OpenAI-o1-0912 相当的性能水平
    在这里插入图片描述

  • DeepSeek-R1-Zero 与 OpenAI的o1-0912 模型在各种与推理相关的基准测试上的比较分析。

    • 应用多数投票时,DeepSeek-R1-Zero 的性能从 71.0% 提升至 86.7%,从而超过了 OpenAI-o1-0912 的性能
      在这里插入图片描述
DeepSeek-R1-Zero的自我进化过程
  • DeepSeek-R1-Zero 的思考时间在整个训练过程中表现出持续的改进。这种改进不是外部调整的结果,而是模型内部的固有发展。通过利用扩展的测试时计算,自然地获得了解决日益复杂的推理任务的能力
    在这里插入图片描述
    随着测试时计算的增加,出现了复杂的行为。例如反思——模型回顾和重新评估其先前的步骤——以及对解决问题的替代方法的探索,都是自发出现的
DeepSeek-R1-Zero 的顿悟时刻

在训练 DeepSeek-R1-Zero 期间观察到的一个特别有趣的现象是“顿悟时刻”的出现。如下表所示,模型学会用拟人化的语气来学习如何去反思,这个时刻发生在模型的中间版本中。DeepSeek-R1-Zero 学会了通过重新评估其初始方法来为问题分配更多的思考时间。

  • 强调了强化学习的力量和美妙之处:与其明确地教导模型如何解决问题,我们只需提供正确的激励,它就会自主地发展出先进的问题解决策略

在这里插入图片描述

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

  • 受到DeepSeek-R1-Zero取得的良好效果启发,出现了两个自然问题:
    • 1)是否可以通过加入少量高质量的数据进行冷启动,进一步提升推理表现或加速收敛?
    • 2)如何训练一个既能生成清晰且连贯的推理链(CoT),又具有强大通用能力的用户友好型模型?
  • 为了回答这些问题,我们设计了一个训练DeepSeek-R1的流程,包含四个阶段
    • 四个阶段可以简单理解为 SFT -> RL -> SFT -> RL 这样的迭代多 stage 训练流程
      在这里插入图片描述
冷启动
  • 构建并收集了少量(数千个)长 CoT 数据来微调模型作为初始 RL actor
  • 数据收集方式:使用带有长 CoT 作为示例的少样本提示,直接提示模型生成带有反思和验证的详细答案,收集以可读格式输出的 DeepSeek-R1-Zero,并通过人工注释者的后处理来完善结果
  • 冷启动数据的优势包括
    • 可读性:DeepSeek-R1-Zero 的输出通常不适合阅读,可能混合多种语言,或缺乏明确的格式化。而在 DeepSeek-R1 的冷启动数据中,我们设计了一个易读的模式,确保每个回复都包含总结并过滤掉难以阅读的内容。输出格式为 |special_token|<reasoning_process>|special_token|,其中推理过程即为CoT,总结则用来概括推理结果。
    • 潜力:通过细致设计冷启动数据的模式,并利用人类先验知识,我们观察到相较于 DeepSeek-R1-Zero,性能有显著提高。我们认为这种迭代训练方法更适合推理模型。
推理导向的强化学习

在使用冷启动数据微调 DeepSeek-V3-Base 之后,我们采用与 DeepSeek-R1-Zero 相同的大规模强化学习训练过程。

  • 增强模型的推理能力,尤其是在编码、数学、科学和逻辑推理等推理密集型任务中,这些任务通常涉及有明确解决方案的问题
  • 发现 CoT 中常出现语言混合的现象,特别是在 RL 提示涉及多种语言时。为了解决语言混合问题,我们在 RL 训练中引入了语言一致性奖励,该奖励根据推理链中目标语言单词的比例计算。尽管消融实验表明,这种一致性可能导致模型性能略微下降,但该奖励符合人类偏好,使得生成内容更加可读。
拒绝采样与监督微调

推理导向的 RL 训练收敛后,我们使用生成的检查点收集SFT(监督微调)数据进行下一轮训练。本阶段还加入了其他领域的数据,以提升模型在写作、角色扮演等通用任务中的能力。生成数据并按照以下方式微调模型:

  • 推理数据:我们策划推理提示并通过从上述 RL 训练的检查点中进行拒绝采样来生成推理轨迹。在之前的阶段,我们只包含了可以通过基于规则的奖励进行评估的数据,而在本阶段,我们通过引入生成奖励模型(将真实答案与模型预测输入 DeepSeek-V3 进行判断)扩展了数据集。此外,由于模型输出有时混乱且难以阅读,我们过滤掉了混合语言、长段落和代码块的推理链。对于每个提示,我们采样多个回答,只保留正确的回答。我们总共收集了约 60 万条与推理相关的训练样本。
  • 非推理数据:对于写作、事实问答、自我认知和翻译等非推理数据,我们采用 DeepSeek-V3 的流程,并重用了部分 DeepSeek-V3 的 SFT 数据集。对于某些非推理任务,我们调用 DeepSeek-V3 生成潜在的推理链,然后通过提示生成回答。然而,对于一些简单查询(如“你好”),我们不会提供推理链。

在最终数据集方面,我们共收集了约 20 万条与推理无关的训练样本,并用这些约 80 万样本对 DeepSeek-V3-Base 进行了两轮微调。

全场景强化学习

为了进一步使模型符合人类偏好,我们实施了第二轮强化学习训练,旨在提高模型的有用性和无害性,同时精炼其推理能力。

  • 使用奖励信号和多样化的提示分布来训练模型
  • 在推理数据方面,我们遵循 DeepSeek-R1-Zero 的方式,利用基于规则的奖励来引导数学、编码和逻辑推理任务的学习过程。
  • 对于通用数据,我们使用奖励模型来捕捉复杂场景中的人类偏好
  • 在有用性方面,我们专注于最终摘要,确保评估强调响应的实用性和相关性,同时最小化对推理过程的干扰;而在无害性方面,我们评估整个响应,包括推理过程和摘要,识别并减轻生成过程中可能出现的风险、偏见或有害内容。

蒸馏:赋能小模型的推理能力

直接使用 DeepSeek-R1 微调了开源模型,如 Qwen 和 Llama,并使用上一节中整理的 80 万训练样本

  • 使用的基础模型包括 Qwen2.5-Math-1.5B、Qwen2.5-Math-7B、Qwen2.5-14B、Qwen2.5-32B、Llama-3.1-8B 和 Llama-3.3-70B-Instruct
  • 对于蒸馏后的模型,我们仅应用 SFT,而不包括 RL 阶段,尽管加入 RL 阶段可能大幅提升模型性能

Experiments

实验基准

该部分对模型进行了多项基准评估,包括教育类知识基准(如MMLU、MMLU-Redux、MMLU-Pro等)和代码、数学等任务。评估所使用的基准包括:

  • MMLU (Hendrycks et al., 2020)
  • MMLU-Redux (Gema et al., 2024)
  • MMLU-Pro (Wang et al., 2024)
  • C-Eval (Huang et al., 2023)
  • CMMLU (Li et al., 2023)
  • IFEval (Zhou et al., 2023)
  • FRAMES (Krishna et al., 2024)
  • GPQA Diamond (Rein et al., 2023)
  • SimpleQA (OpenAI, 2024c)
  • C-SimpleQA (He et al., 2024)
  • SWE-Bench Verified (OpenAI, 2024d)
  • Aider 1
  • LiveCodeBench (Jain et al., 2024)
  • Codeforces
  • CNMO 2024 (中国全国高中数学奥林匹克)
  • AIME 2024 (美国邀请数学竞赛)

此外,模型还在开放性生成任务上进行了评估,使用 LLMs 作为评估员。具体配置遵循 AlpacaEval 2.0 和 Arena-Hard 的原始设定,利用 GPT-4-Turbo-1106 作为评估模型进行配对比较。为了避免生成长度的偏差,评估时只输入了最终总结。

评估设置

  1. 生成长度:每个模型的最大生成长度设定为 32,768 个标记。
  2. 解码方法:由于使用贪婪解码会导致较高的重复率且模型表现不稳定,因此采用 pass@k 评估(Chen et al., 2021)。在此过程中,使用采样温度为 0.6,top-p 值为 0.95,并生成 k 个响应(通常为 4 到 64 个,取决于测试集的大小),计算 pass@1 值。

DeepSeek-R1评估

在这里插入图片描述

DeepSeek-R1 在教育类知识基准(如MMLU、MMLU-Pro、GPQA Diamond)上表现优于 DeepSeek-V3,特别是在 STEM(科学、技术、工程和数学)相关问题上。大规模强化学习提升了其准确性。

  • FRAMES:在这一依赖长上下文的 QA 任务上,DeepSeek-R1 表现突出,显示了其在文档分析任务中的强大能力。
  • SimpleQA:在这一事实性基准上,DeepSeek-R1 超过了 DeepSeek-V3,表现出处理事实查询的能力。然而,在 Chinese SimpleQA 上,由于安全 RL 的影响,DeepSeek-R1 的表现略逊一筹,未经过安全 RL 时,它的准确率超过 70%。
  • AlpacaEval2.0 与 ArenaHard:DeepSeek-R1 在开放领域问答和写作任务中表现出色,远超 DeepSeek-V3,突显了大规模 RL 在模型泛化上的优势。
  • 数学与编程任务:在数学任务上,DeepSeek-R1 与 OpenAI-o1-1217 表现相当,且在 LiveCodeBench 和 Codeforces 等编程任务上,推理类模型均表现出色,超过了其他模型。

蒸馏模型评估

在这里插入图片描述

通过对 DeepSeek-R1 的输出进行蒸馏,得到的高效模型(如 DeepSeek-R1-7B)在各项任务上均优于非推理模型(如 GPT-4o-0513)。蒸馏后的 DeepSeek-R1-14B 超越了 QwQ-32B-Preview,DeepSeek-R1-32B 和 DeepSeek-R1-70B 也在大多数基准上超越了 o1-mini。

这些结果表明,蒸馏方法有着很强的潜力,能够提升小型模型的推理能力。此外,将 RL 应用于蒸馏模型后,表现有了显著提升,预示着这一方向值得进一步探索。

讨论

蒸馏 vs 强化学习

通过蒸馏 DeepSeek-R1,较小的模型能取得令人印象深刻的成绩。但仍有一个问题未解答:是否可以通过大型 RL 训练(如本文所讨论)直接实现与蒸馏模型相当的性能?

为了解决这个问题,我们对 Qwen-32B-Base 进行了大规模 RL 训练,使用数学、代码和 STEM 数据进行训练,进行了超过 10K 步的训练,得到了 DeepSeek-R1-Zero-Qwen-32B。实验结果(如表6所示)表明,经过大规模 RL 训练后的 32B 基础模型,性能与 QwQ-32B-Preview 相当。然而,蒸馏自 DeepSeek-R1 的 DeepSeek-R1-Distill-Qwen-32B 在所有基准上都表现得比 DeepSeek-R1-Zero-Qwen-32B 更好。
在这里插入图片描述

由此可以得出两个结论:

  1. 蒸馏更强大的模型为小模型带来了显著的效果,而通过大规模 RL 训练来依赖小模型可能需要巨大的计算资源,且可能达不到蒸馏方法的性能。
  2. 虽然蒸馏策略既经济又高效,但若要超越智能的边界,仍然可能需要更强大的基础模型和更大规模的强化学习训练。
不成功的尝试

在 DeepSeek-R1 的早期开发过程中,我们也遇到了一些失败和挫折。我们在这里分享这些失败的经验,希望为后续研究提供一些启示,但这并不意味着这些方法无法开发有效的推理模型。

过程奖励模型 (PRM)

过程奖励模型(PRM)是一种合理的方法,用来引导模型朝着更好的推理任务解决方式发展。然而,在实践中,PRM 有三个主要限制,可能会妨碍其最终成功:

  • 定义精细步骤困难:在一般推理任务中,很难明确地定义每个推理步骤。
  • 判断中间步骤是否正确:这一任务本身就充满挑战,使用模型进行自动标注往往不能产生令人满意的结果,而人工标注则不利于扩展。
  • 奖励黑客问题:引入模型驱动的 PRM 不可避免地会导致奖励黑客(reward hacking)问题,重新训练奖励模型需要额外的训练资源,而且会复杂化训练管道。

因此,尽管 PRM 能够很好地对模型生成的 top-N 响应进行重新排序,或在引导搜索时提供帮助,但相对于其在大规模强化学习过程中带来的额外计算开销,其优势是有限的。

蒙特卡洛树搜索 (MCTS)

AlphaGo(Silver et al., 2017b)和 AlphaZero(Silver et al., 2017a)启发,我们探索了使用蒙特卡洛树搜索(MCTS)来增强测试时计算的可扩展性。该方法将答案拆分为更小的部分,以便模型能够系统性地探索解空间。

具体做法是:首先提示模型生成多个标签,表示推理步骤所需的特定步骤;然后用这些提示通过 MCTS 寻找答案,并根据生成的问答对训练演员模型和价值模型,不断迭代优化。然而,这种方法在扩展训练时遇到了几大挑战:

  1. 搜索空间巨大:与围棋相比,生成 token 的搜索空间呈指数级扩展,因此难以定义明确的搜索范围。为了应对这一问题,我们为每个节点设定了最大扩展限制,但这会导致模型容易陷入局部最优解。
  2. 价值模型的训练困难:价值模型直接影响生成质量,指导搜索过程的每一步,而训练一个细粒度的价值模型本身就非常困难,导致模型很难通过自我搜索来提升性能。

综上所述,尽管 MCTS 与预训练的价值模型结合使用时能够提高推理性能,但通过自我搜索迭代提升模型性能仍然是一个显著挑战。

结论、局限性与未来工作

对于未来工作,DeepSeek-R1有多个值得关注的方向:

  1. 通用能力:目前,DeepSeek-R1 在功能调用、多轮对话、复杂角色扮演和 JSON 输出等任务上表现不如 DeepSeek-V3。我们计划研究如何利用长链推理(CoT)来增强这些任务的处理能力。
  2. 语言混合问题:DeepSeek-R1 目前主要优化中文和英文,这可能会导致在处理其他语言查询时出现语言混合问题。我们计划在未来版本中解决这一限制。
  3. 提示工程:我们观察到 DeepSeek-R1 对提示非常敏感,尤其是少量样本(few-shot)提示会显著降低其性能。因此,推荐用户直接描述问题并指定输出格式,使用 0-shot 设置来获得最佳结果。
  4. 软件工程任务:由于长时间的评估会影响 RL 过程的效率,目前尚未在软件工程任务中广泛应用大规模 RL。因此,DeepSeek-R1 在软件工程基准上的表现未显著优于 DeepSeek-V3。未来版本将通过对软件工程数据进行拒绝采样或在 RL 过程中引入异步评估来提高效率。

Conclusion

  • 2025 年引爆科技圈的论文名不虚传,开源的推理模型 DeepSeekR1 在多个 benchmark 上对齐或超过最领先的闭源推理模型
  • 无需 SFT 的 DeepSeek-R1-Zero 确实是个有意思的成果,之前因为训练稳定性等问题,很少有工作能把这个路走通
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值