NLP——技术报告解读-DeepSeek-R1

注:本文包含 AI 辅助创作

Paper Summary

  • 评价:
    • 划时代的一篇文章,25 年春节前后 DeepSeek 给大家带来的冲击是巨大的,众多社区一起复现 DeepSeek-R1 的 Aha Moment 的空前盛况
    • 本文及其附录都是非常值得深入阅读的文章
  • 论文介绍了 DeepSeek 的第一代推理模型 DeepSeek-R1-Zero 和 DeepSeek-R1
  • DeepSeek-R1-Zero 是一个通过大规模 RL 训练、无需 SFT 作为初步步骤的模型,展现出卓越的推理能力
    • 通过强化学习,DeepSeek-R1-Zero 自然地涌现出许多强大而有趣的推理行为
    • 但 DeepSeek-R1-Zero 也面临可读性差语言混合等挑战
  • 为了解决这些问题并进一步提升推理性能,论文引入了 DeepSeek-R1,它在强化学习之前引入了多阶段训练和冷启动数据
    • DeepSeek-R1 在推理任务上的性能与 OpenAI-o1-1217 相当
    • 为了支持研究社区,论文开源了 DeepSeek-R1-Zero、DeepSeek-R1,以及六个基于 Qwen 和 Llama 从 DeepSeek-R1 蒸馏得到的稠密模型(1.5B、7B、8B、14B、32B、70B)

Introduction and Discussion

  • LLM 经历了快速的迭代和演进,逐步缩小了与人工通用智能(Artificial General Intelligence, AGI)之间的差距
  • 训练后阶段(post-training)已成为完整训练流程中的一个重要组成部分
    • 它被证明能够提升推理任务的准确性、与社会价值观对齐并适应用户偏好,同时相对于预训练所需计算资源相对较少
  • 在推理能力的背景下,OpenAI 的 o1 (OpenAI) 系列模型首次通过增加 CoT 推理过程的长度引入了推理时扩展(inference-time scaling)
    • 这种方法在数学、编程和科学推理等各种推理任务中取得了显著改进
    • 但有效的测试时扩展(test-time scaling)的挑战仍然是研究社区的一个开放性问题
  • 之前的几项工作探索了各种方法,包括基于过程的奖励模型(process-based reward models)(2022; 2023)、强化学习 (2024) 以及蒙特卡洛树搜索(Monte Carlo Tree Search)和束搜索(Beam Search)等搜索算法 (2024; 2024; 2024)
    • 然而,这些方法都没有达到与 OpenAI 的 o1 系列模型相媲美的通用推理性能
  • 在论文中,论文迈出了第一步,使用纯 RL 来改进语言模型的推理能力
    • 论文的目标是探索大语言模型在没有任何监督数据的情况下发展推理能力的潜力,重点关注它们通过纯强化学习过程进行的自我进化
    • 具体来说,论文使用 DeepSeek-V3-Base 作为基础模型,并采用 GRPO (2024) 作为强化学习框架来提高模型在推理中的性能
    • 在训练过程中,DeepSeek-R1-Zero 自然地涌现出许多强大而有趣的推理行为
    • 经过数千个强化学习步骤后,DeepSeek-R1-Zero 在推理基准测试中表现出卓越的性能
      • 例如,在 AIME 2024 上的 pass@1 分数从 15.6% 增加到 71.0%,并且通过多数投票(majority voting),分数进一步提高到 86.7%,与 OpenAI-o1-0912 的性能相匹配
  • 然而,DeepSeek-R1-Zero 遇到了可读性差和语言混合等挑战
    • 为了解决这些问题并进一步提升推理性能,论文引入了 DeepSeek-R1,它结合了少量冷启动数据(cold-start data)和多阶段训练流程
    • 具体来说
      • 论文首先收集数千个冷启动数据来微调 DeepSeek-V3-Base 模型
      • 随后,论文像 DeepSeek-R1-Zero 一样执行面向推理的强化学习
    • 当强化学习过程接近收敛时,论文通过对强化学习检查点(checkpoint)进行拒绝采样(rejection sampling)来创建新的监督微调数据,并结合来自 DeepSeek-V3 在写作、事实问答(factual QA)和自我认知(self-cognition)等领域的有监督数据,然后重新训练 DeepSeek-V3-Base 模型
    • 在使用新数据微调后,该检查点会经历额外的强化学习过程,考虑所有场景的 Prompts
    • 经过这些步骤,论文获得了一个称为 DeepSeek-R1 的检查点,其性能与 OpenAI-o1-1217 相当
  • 论文进一步探索了从 DeepSeek-R1 到更小稠密模型(dense models)的蒸馏(distillation)
    • 使用 Qwen2.5-32B (Qwen) 作为基础模型,直接从 DeepSeek-R1 进行蒸馏优于在其上应用强化学习
    • 这表明由更大基础模型发现的推理模式对于提高推理能力至关重要
  • 论文开源了蒸馏后的 Qwen 和 Llama (2024) 系列
    • 值得注意的是,论文蒸馏的 14B 模型大幅优于最先进的开源模型 QwQ-32B-Preview (Qwen),并且蒸馏的 32B 和 70B 模型在稠密模型的推理基准测试中创造了新纪录
  • 补充:来自辅助材料的说明
    • DeepSeek-V3-Base 指基础模型
    • DeepSeek-V3 指经过指令微调的模型
    • DeepSeek-R1 与 DeepSeek-R1-Zero 均在 DeepSeek-V3-Base 的基础上训练而成
      • 且 DeepSeek-R1 还利用了 DeepSeek-V3 监督微调数据中的非推理类数据

Approach

Overview

  • 先前的工作严重依赖大量的监督数据来提升模型性能
  • 在本研究中,论文证明了即使不使用 SFT 作为冷启动,通过大规模 RL 也能显著提升推理能力
    • 此外,加入少量冷启动数据可以进一步提升性能
  • 在接下来的小节中,论文将介绍:
    • (1) DeepSeek-R1-Zero,它直接在基础模型(DeepSeek-V3-Base)上应用强化学习,不使用任何监督微调数据;
    • (2) DeepSeek-R1,它从一个经过数千个长 CoT 示例微调过的检查点开始应用强化学习;
    • (3) 将 DeepSeek-R1 的推理能力蒸馏到小型稠密模型中

DeepSeek-R1-Zero: Reinforcement Learning on the Base Model

  • 强化学习在推理任务中已展现出显著的有效性,这在论文先前的工作 (2024; 2023) 中得到了证明
    • 但这些工作严重依赖监督数据,而收集这些数据非常耗时
  • 在本节中,论文探索了 LLM 在没有任何监督数据的情况下发展推理能力的潜力,重点关注其通过纯强化学习过程进行的自我进化
  • 论文首先简要概述论文的强化学习算法,随后展示一些令人兴奋的结果,并希望这能为研究社区提供有价值的见解
Reinforcement Learning Algorithm
Group Relative Policy Optimization, GRPO
  • 为了节省强化学习的训练成本,论文采用了组相对策略优化(GRPO)(2024)
  • 该方法省去了通常与策略模型大小相同的评论家模型,转而从组分数中估计基线
  • 具体来说,对于每个问题 \(q\),GRPO 从旧策略 \(\pi_{\theta_{old} }\) 中采样一组输出 \(\{o_{1},o_{2},\cdots,o_{G}\}\),然后通过最大化以下目标来优化策略模型 \(\pi_{\theta}\):
    $$
    \mathcal{J}_{GRPO}(\theta)=\mathbb{E}_{[q\sim P(Q),\{o_{i}\}_{i=1}^{ G}\sim\pi_{\theta_{old} }(O|q)]} \frac{1}{G}\sum_{i=1}^{G}\left(\min\left(\frac{\pi_{\theta}(o_{i}|q)}{\pi_{\theta_{old} }(o_{i}|q)}A_{i},\text{clip}\left(\frac{\pi_{\theta}(o_{i}|q)}{\pi_{\theta_{old} }(o_{i}|q)},1-\varepsilon,1+\varepsilon\right)A_{i}\right)-\beta\mathbb{D}_{KL}\left(\pi_{\theta}||\pi_{ref}\right)\right),
    $$
    • 其中 \(\varepsilon\) 和 \(\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}\})}.
      $$
  • KL 散度项 \(\mathbb{D}_{KL}\left(\pi_{\theta}||\pi_{ref}\right)\) 定义为:
    $$
    \mathbb{D}_{KL}\left(\pi_{\theta}||\pi_{ref}\right)=\frac{\pi_{ ref}(o_{i}|q)}{\pi_{\theta}(o_{i}|q)}-\log\frac{\pi_{ref}(o_{i}|q)}{\pi_{ \theta}(o_{i}|q)}-1.
    $$
Reward Modeling
  • 奖励是训练信号的来源,它决定了强化学习的优化方向
  • 为了训练 DeepSeek-R1-Zero,论文采用了一个基于规则的奖励系统,主要包括两种类型的奖励:
    • 准确性奖励 (Accuracy rewards) :准确性奖励模型评估响应是否正确
      • 例如,对于具有确定性结果的数学问题,模型需要以指定格式(例如,在方框内)提供最终答案,从而能够基于规则可靠地验证正确性
      • 类似地,对于 LeetCode 问题,可以使用编译器根据预定义的测试用例生成反馈
    • 格式奖励 (Format rewards) :除了准确性奖励模型,论文还采用了一个格式奖励模型,强制模型将其思维过程放在 <think></think> 标签之间
  • 在开发 DeepSeek-R1-Zero 时,论文没有使用基于结果的或基于过程的神经奖励模型(neural reward model)
    • 因为论文发现神经奖励模型在大规模强化学习过程中可能遭受奖励破解(reward hacking)问题 ,并且重新训练奖励模型需要额外的训练资源,并使整个训练流程复杂化
Training Template
  • 为了训练 DeepSeek-R1-Zero,论文首先设计了一个简单的模板,引导基础模型遵循论文指定的指令
  • 如表 1 所示,该模板要求 DeepSeek-R1-Zero 先生成一个推理过程,然后是最终答案
  • 论文有意将约束限制在这种结构格式上,避免任何特定于内容的偏见——例如强制进行反思性推理或推广特定的问题解决策略,以确保论文能够准确观察模型在强化学习过程中的自然进展
Performance, Self-evolution Process and Aha Moment of DeepSeek-R1-Zero
Performance of DeepSeek-R1-Zero
  • 图 2 描绘了 DeepSeek-R1-Zero 在 AIME 2024 基准测试上的性能随强化学习训练过程的变化轨迹
  • 如图所示,随着强化学习训练的进行,DeepSeek-R1-Zero 表现出稳定且一致的性能提升
    • AIME 2024 的平均 pass@1 分数显著增加,从最初的 15.6% 跃升至令人印象深刻的 71.0%,达到了与 OpenAI-o1-0912 相当的性能水平
    • 这一显著改进凸显了论文的强化学习算法在随时间优化模型性能方面的有效性
    • 注:图 2 中 cons@k 是多数投票的结果(cons 表示 consensus,即共识):详情见 NLP——技术报告解读-DeepSeek-R1-Supplements
  • 表 2 提供了 DeepSeek-R1-Zero 与 OpenAI 的 o1-0912 模型在各种推理相关基准测试上的比较分析
    • 研究结果表明,强化学习使 DeepSeek-R1-Zero 能够在不需要任何监督微调数据的情况下获得强大的推理能力
    • 这是一个值得注意的成就,因为它强调了模型仅通过强化学习就能有效学习和泛化的能力
  • 此外,通过应用多数投票(majority voting),可以进一步增强 DeepSeek-R1-Zero 的性能
    • 例如,在 AIME 基准测试上使用多数投票时,DeepSeek-R1-Zero 的性能从 71.0% 提升至 86.7%(图 2 中 cons@16 的结果),从而超过了 OpenAI-o1-0912 的性能
    • DeepSeek-R1-Zero 在有和没有多数投票的情况下都能实现如此有竞争力的性能,这突显了其强大的基础能力及其在推理任务中进一步发展的潜力
Self-evolution Process of DeepSeek-R1-Zero
  • DeepSeek-R1-Zero 的自我进化过程是一个迷人的演示(demonstration),展示了强化学习如何驱动模型自主提高其推理能力
    • 通过直接从基础模型启动强化学习,我们可以在不受监督微调阶段影响的情况下密切监控模型的进展
    • 这种方法清晰地展示了模型随时间演变的过程,特别是在其处理复杂推理任务的能力方面
  • 如图 3 所示,DeepSeek-R1-Zero 的思考时间在整个训练过程中持续改善
    • 这种改进不是外部调整的结果,而是模型内部的内在发展
    • DeepSeek-R1-Zero 自然地获得了通过利用延长的测试时间计算来解决日益复杂的推理任务的能力
    • 这种计算范围从生成数百到数千个推理 Token,使模型能够更深入地探索和完善其思维过程
  • 这种自我进化最显著的方面之一是随着测试时间计算的增加而出现的复杂行为
    • 诸如反思(模型重新审视和重新评估其先前步骤)以及探索替代性问题解决方法等行为自发产生
    • 这些行为不是显式编程的,而是模型与强化学习环境交互的结果
    • 这种自发的发展显著增强了 DeepSeek-R1-Zero 的推理能力,使其能够更高效、更准确地应对更具挑战性的任务
Aha Moment of DeepSeek-R1-Zero
  • 在 DeepSeek-R1-Zero 的训练过程中观察到一个特别有趣的现象是 “顿悟时刻”(aha moment) 的出现
  • 如表 3 所示,这个时刻发生在模型的一个中间版本中
    • 在此阶段,DeepSeek-R1-Zero 学会了通过重新评估其初始方法为问题分配更多的思考时间
    • 这种行为不仅证明了模型不断增长的推理能力,也是强化学习如何导致意外和复杂结果的一个引人入胜的例子
  • 这个时刻不仅是模型的“顿悟时刻”,对观察其行为的研究人员来说也是如此
    • 它强调了强化学习的力量和美感:论文不是明确地教导模型如何解决问题,而是简单地提供正确的激励,它就会自主地发展出高级的问题解决策略
    • “顿悟时刻”有力地提醒论文强化学习在人工智能系统中解锁新智能水平的潜力,为未来更自主和自适应的模型铺平道路
  • 个人理解:后面的一些文章逐步分析并证明,一些顿悟时刻实际上并不是一个突然发生的过程,而是逐步发生的,只是在特定任务上看起来像是突然发生一样
DeepSeek-R1-Zero 的缺点 (Drawback of DeepSeek-R1-Zero)**
  • 尽管 DeepSeek-R1-Zero 表现出强大的推理能力并自主发展出意想不到的强大推理行为,但它也面临几个问题
    • DeepSeek-R1-Zero 存在可读性差和语言混合等挑战
  • 为了使推理过程更具可读性并与开放社区分享,论文探索了 DeepSeek-R1,这是一种利用强化学习和对人类友好的冷启动数据的方法

DeepSeek-R1: Reinforcement Learning with Cold Start

  • 受 DeepSeek-R1-Zero 有希望的结果的启发,两个自然的问题出现了:
    • 1)通过加入少量高质量数据作为冷启动,能否进一步提高推理性能或加速收敛?
    • 2)论文如何训练一个用户友好的模型,不仅能产生清晰连贯的思维链(CoT),还能展现出强大的通用能力?
  • 为了解决这些问题,论文设计了一个训练 DeepSeek-R1 的流程
    • 该流程包括四个阶段,概述如下文所示
  • 补充:来自其他博主制作的非常好的 DeepSeek-R1 训练过程:
    • 注意:根据 DeepSeek-V3 辅助材料给出的结论,下图中存在问题(已补充),DeepSeek-R1 和 DeepSeek-R1-Zero 均是从 DeepSeek-V3-Base 训练而来,图中给的是 DeepSeek-V3 (这是 DeepSeek-V3-Base 的微调版本);部分训练数据(监督微调数据中的非推理类数据)确实来源于 DeepSeek-V3
Cold Start
  • 与 DeepSeek-R1-Zero 不同,为了防止从基础模型开始强化学习训练时早期不稳定的冷启动阶段,对于 DeepSeek-R1,论文构建并收集了少量长思维链(CoT)数据来微调模型,微调后的模型作为初始的强化学习 Actor
  • 为了收集此类数据,论文探索了几种方法:
    • 使用带有长 CoT 示例的少样本提示(few-shot prompting),直接提示模型生成带有反思和验证的详细答案,以可读格式收集 DeepSeek-R1-Zero 的输出,以及通过人工标注员的后处理来细化结果
  • 在这项工作中,论文收集了数千个冷启动数据来微调 DeepSeek-V3-Base,作为强化学习的起点
  • 与 DeepSeek-R1-Zero 相比,冷启动数据的优势包括:
    • 可读性 (Readability) :DeepSeek-R1-Zero 的一个关键限制是其内容通常不适合阅读
      • 响应可能混合多种语言或缺乏用于向用户突出显示答案的 markdown 格式
      • 在为 DeepSeek-R1 创建冷启动数据时,论文设计了一种可读的模式 ,包括在每个响应末尾进行总结 ,并过滤掉对读者不友好的响应
      • 在这里,论文将输出格式定义为 \(|\)special_token\(|\)\(<\)reasoning_process\(>\)\(|\)special_token\(|\)\(<\)summary\(>\),其中推理过程是针对查询的 CoT,而总结(summary)用于总结推理结果
    • 潜力 (Potential) :通过利用人类先验知识精心设计冷启动数据的模式,论文观察到相对于 DeepSeek-R1-Zero 更好的性能
      • 作者相信,对于推理模型来说,迭代训练(iterative training)是一种更好的方式
Reasoning-oriented Reinforcement Learning
  • 在基于冷启动数据对 DeepSeek-V3-Base 进行微调之后,论文应用了与 DeepSeek-R1-Zero 相同的大规模强化学习训练过程
  • 此阶段侧重于增强模型的推理能力 ,特别是在编码、数学、科学和逻辑推理推理密集型任务中,这些任务涉及具有明确解决方案明确定义的问题
  • 在训练过程中,论文观察到 CoT 经常出现语言混合 ,特别是当强化学习提示涉及多种语言时
    • 为了缓解语言混合问题,论文在强化学习训练期间引入了语言一致性奖励(language consistency reward),该奖励计算为 CoT 中目标语言单词的比例
    • 尽管消融实验表明这种对齐会导致模型性能略有下降 ,但这种奖励符合人类偏好,使其更具可读性
    • 问题:CoT 不需要让人可以阅读吧?
  • 论文通过直接求和将推理任务的准确性和语言一致性奖励结合起来,形成最终奖励
  • 论文在微调后的模型上应用强化学习训练,直到其在推理任务上达到收敛
Rejection Sampling and Supervised Fine-Tuning
  • 当面向推理的强化学习收敛时,论文利用得到的检查点来为后续轮次收集 SFT 数据
  • 与主要关注推理的初始冷启动数据不同,此阶段合并了来自其他领域的数据 ,以增强模型在写作、角色扮演和其他通用任务中的能力
  • 具体来说,论文按照下述方式生成数据并微调模型(分推理数据和非推理数据)
Reasoning data
  • 论文策划(curate)推理提示词(prompts),并通过从上述强化学习训练的检查点执行拒绝采样(rejection sampling)来生成推理轨迹(trajectories)
  • 在前一阶段,论文只包含了可以使用基于规则的奖励进行评估的数据
  • 在此阶段,论文通过合并额外的数据来扩展数据集,其中一些数据使用生成式奖励模型,通过将真实值(ground-truth)和模型预测输入到 DeepSeek-V3 中进行判断
  • 由于模型输出有时混乱且难以阅读,论文过滤掉了具有混合语言、长段落和代码块的思维链
  • 对于每个提示,论文采样多个响应,并仅保留正确的响应
  • 总共,论文收集了约 60 万个与推理相关的训练样本
Non-Reasoning data
  • 对于非推理数据,例如写作、事实问答(factual QA)、自我认知(self-cognition)和翻译,论文采用 DeepSeek-V3 的流程并重用部分 DeepSeek-V3 的监督微调数据集
  • 对于某些非推理任务,论文调用 DeepSeek-V3,通过在回答问题时进行提示来生成潜在的思维链
  • 但对于更简单的查询 ,例如“你好”,论文不提供 CoT 响应
  • 最终,论文总共收集了约 20 万个与推理无关的训练样本
  • 论文使用上述策划的大约 80 万个样本的数据集 ,对 DeepSeek-V3-Base 进行了两个轮次(epochs)的微调
    • 注:这个 2 个 epochs 的设定和 大约 100W 样本的微调量级,已经成为后来一些文章的标配
Reinforcement Learning for all Scenarios
  • 为了进一步使模型与人类偏好对齐,论文实施了第二轮强化学习阶段,旨在提高模型的有用性(helpfulness)无害性(harmlessness) ,同时完善其推理能力
  • 论文结合使用奖励信号多样化的提示词分布(diverse prompt distributions)来训练模型
    • 对于推理数据:
      • 论文遵循 DeepSeek-R1-Zero 中概述的方法论,该方法利用基于规则的奖励来指导数学、代码和逻辑推理领域的学习过程
    • 对于通用数据
      • 论文用奖励模型来捕捉复杂和细微场景中的人类偏好
        • 论文基于 DeepSeek-V3 的流程,并采用了类似的偏好对(preference pairs)和训练提示词分布
      • 对于有用性,论文只关注最终总结(summary),确保评估强调响应对于用户的实用性和相关性,同时最小化对底层推理过程的干扰
      • 对于无害性,论文评估模型的整个响应,包括推理过程和总结,以识别和减轻生成过程中可能出现的任何潜在风险、偏见或有害内容
      • 最终,奖励信号和多样化数据分布的整合使论文能够训练出一个在推理方面表现出色,同时优先考虑有用性和无害性的模型

Distillation: Empower Small Models with Reasoning Capability

  • 为了让更高效的小型模型具备像 DeepSeek-R1 一样的推理能力,论文直接使用 DeepSeek-R1 策划的 80 万个样本(详见 章节2.3.3)对开源模型如 Qwen 和 Llama 进行了微调
  • 论文的研究结果表明,这种简单的蒸馏方法显著增强了小型模型的推理能力
  • 论文这里使用的基础模型是 Qwen2.5-Math-1.5B, Qwen2.5-Math-7B, Qwen2.5-14B, Qwen2.5-32B, Llama-3.1-8B 和 Llama-3.3-70B-Instruct
    • 论文选择 Llama-3.3 是因为其推理能力略优于 Llama-3.1
    • 问题:为什么 70B 量级的模型,选择的不是 Qwen2.5-72B-Instruct ?
  • 对于蒸馏模型 ,论文仅应用了 SFT ,没有包含 RL 阶段 ,尽管加入强化学习可以大幅提升模型性能
    • 论文这里的主要目标是证明蒸馏技术的有效性 ,将强化学习阶段的探索留给更广泛的研究社区

Experiment

Benchmarks

  • 标准测试基准方面:
  • 除了标准基准测试外,论文还使用 LLM 作为评判者,在开放式生成任务上评估论文的模型
    • 论文遵循 AlpacaEval 2.0 (2024) 和 Arena-Hard (2024) 的原始配置,它们利用 GPT-4-Turbo-1106 作为配对比较的评判者
    • 在这里,论文仅将最终摘要提供给评估,以避免长度偏差
    • 对于蒸馏模型,论文报告了在 AIME 2024、MATH-500、GPQA Diamond、Codeforces 和 LiveCodeBench 上的代表性结果

Evaluation Prompts

  • 遵循 DeepSeek-V3 的设置,使用 simple-evals 框架提供的提示来评估标准基准测试,如 MMLU、DROP、GPQA Diamond 和 SimpleQA
  • 对于 MMLU-Redux,论文在零样本(zero-shot)设置中采用 Zero-Eval 提示格式 (2024)
  • 对于 MMLU-Pro、C-Eval 和 CLUE-WSC,由于原始提示是少样本(few-shot)的,论文略微修改了提示以适应零样本设置
    • 少样本中的思维链(CoT)可能会损害 DeepSeek-R1 的性能
    • 问题:这里怎么理解?
  • 其他数据集遵循其创建者提供的默认提示的原始评估协议
  • 对于代码和数学基准测试
    • HumanEval-Mul 数据集涵盖了八种主流编程语言(Python、Java、C++、C#、JavaScript、TypeScript、PHP 和 Bash)
    • 使用 CoT 格式评估模型在 LiveCodeBench 上的性能,数据收集时间为 2024 年 8 月至 2025 年 1 月
    • 使用 10 场 Div.2 比赛的题目以及专家精心设计的测试用例来评估 Codeforces 数据集,然后计算预期评分和参赛者百分比
    • 通过无代理框架(agentless framework)(2024) 获得 SWE-Bench 验证结果
    • 使用“diff”格式衡量 AIDER 相关基准测试
  • DeepSeek-R1 的输出在每个基准测试中最多限制为 32,768 个 Token

Baselines

  • 论文对多个强基线模型进行了全面评估,包括 DeepSeek-V3、Claude-Sonnet-3.5-1022、GPT-4o-0513、OpenAI-o1-mini 和 OpenAI-o1-1217
  • 由于在中国大陆访问 OpenAI-o1-1217 API 具有挑战性,论文根据官方报告报告其性能
  • 对于蒸馏模型,论文还比较了开源模型 QwQ-32B-Preview (Qwen)

Evaluation Setup

  • 论文将模型的最大生成长度设置为 32,768 个 Token
  • 论文发现使用贪婪解码(greedy decoding)来评估长输出推理模型会导致更高的重复率和不同检查点之间的显著变异性
    • 因此,论文默认使用 pass@\(k\) 评估 (2021),并使用非零温度(non-zero temperature)报告 pass@1
    • 理解:零温度表示贪婪解码
  • 具体来说,论文使用采样温度 0.6 和 top-\(p\) 值 0.95 为每个问题生成 \(k\) 个回复(通常在 4 到 64 之间,取决于测试集大小)。然后 pass@1 计算为
    $$
    \text{pass@}1=\frac{1}{k}\sum_{i=1}^{k}p_{i}
    $$
    • 其中 \(p_{i}\) 表示第 \(i\) 个回复的正确性
    • 这种方法提供了更可靠的性能估计
  • 对于 AIME 2024,论文还使用 64 个样本报告了共识(consensus),即多数投票(majority vote)结果 (2022),记为 cons@64

3.1 DeepSeek-R1 评估 (DeepSeek-R1 Evaluation)

  • 评估结果如表 4 所示:
  • 对于面向教育的知识基准测试,如 MMLU、MMLU-Pro 和 GPQA Diamond,DeepSeek-R1 相较于 DeepSeek-V3 展现出更优越的性能
    • 这一改进主要归功于通过大规模强化学习在 STEM 相关问题上准确率的显著提升
  • DeepSeek-R1 在 FRAMES(一个依赖长上下文的问答任务)上表现卓越,展示了其强大的文档分析能力
    • 这凸显了推理模型在 AI 驱动的搜索和数据分析任务中的潜力
  • 在事实性基准测试 SimpleQA 上,DeepSeek-R1 的表现优于 DeepSeek-V3,证明了其处理基于事实的查询的能力
    • OpenAI-o1 在该基准测试上超越 GPT-4o 也观察到了类似的趋势
    • 由于在安全强化学习(safety RL)倾向于拒绝回答某些查询DeepSeek-R1中文 SimpleQA 基准测试上的表现不如 DeepSeek-V3
    • 若没有安全强化学习,DeepSeek-R1 的准确率可以超过 70%
  • DeepSeek-R1 在 IF-Eval(一个旨在评估模型遵循格式指令能力的基准测试)上也取得了令人印象深刻的结果
    • 这些改进可以归因于在 SFT 和强化学习训练的最后阶段包含了遵循指令的数据
  • 在 AlpacaEval2.0 和 ArenaHard 上观察到了卓越的性能,表明 DeepSeek-R1 在写作任务和开放域问答方面的优势
    • 其显著超越 DeepSeek-V3 的表现凸显了大规模强化学习的泛化益处,它不仅提升了推理能力,还提高了跨不同领域的性能
    • 特别地,DeepSeek-R1 生成的摘要长度简洁,在 ArenaHard 上平均为 689 个 Token,在 AlpacaEval 2.0 上平均为 2218 个字符
      • 这表明 DeepSeek-R1 在基于 GPT 的评估中避免了引入长度偏差,进一步巩固了其在多项任务中的鲁棒性
  • 数学任务编码算法任务(如 LiveCodeBench 和 Codeforces)上,DeepSeek-R1 表现出与 OpenAI-o1-1217 相当的性能,大幅超越其他模型
    • 专注于推理的模型在这些基准测试中占据主导地位
  • 特别地,在面向工程的编码任务上OpenAI-o1-1217 在 Aider 上优于 DeepSeek-R1 ,但在 SWE Verified 上取得了相当的性能
    • 作者认为 DeepSeek-R1 的工程性能将在下一个版本中得到改善,因为目前相关的强化学习训练数据量仍然非常有限

3.2 蒸馏模型评估 (Distilled Model Evaluation)

  • 如表 5 所示
    • 仅通过蒸馏 DeepSeek-R1 的输出,高效的 DeepSeek-R1-7B(即 DeepSeek-R1-Distill-Qwen-7B,下文类似缩写)就能全面超越如 GPT-4o-0513 这样的非推理模型
    • DeepSeek-R1-14B 在所有评估指标上均超越了 QwQ-32B-Preview,而 DeepSeek-R1-32B 和 DeepSeek-R1-70B 在大多数基准测试上显著超过了 o1-mini
    • 这些结果展示了蒸馏的强大潜力
  • 论文发现对这些蒸馏模型应用强化学习能带来显著的进一步增益
    • 作者认为这值得进一步探索,因此在此仅展示简单 SFT 蒸馏模型的结果

Discussion

Distillation v.s. Reinforcement Learning

  • 在 3.2 节中,我们可以看到通过蒸馏 DeepSeek-R1,小模型能够取得令人印象深刻的结果
    • 但还有一个问题悬而未决:模型能否不通过蒸馏,而是通过论文讨论的大规模强化学习训练达到相当的性能?
  • 为了回答这个问题,论文在 Qwen-32B-Base 上使用数学、代码和 STEM 数据进行了大规模强化学习训练,训练超过 10K 步,得到了 DeepSeek-R1-Zero-Qwen-32B
  • 实验结果如表 6 所示,表明 32B 基础模型在经过大规模强化学习训练后,性能与 QwQ-32B-Preview 相当
    • 但从 DeepSeek-R1 蒸馏得到的 DeepSeek-R1-Distill-Qwen-32B 在所有基准测试上的表现均显著优于 DeepSeek-R1-Zero-Qwen-32B
  • 因此,我们可以得出两个结论:
    • 首先,将更强大的模型蒸馏到较小的模型中能产生优异的结果 ,而依赖论文提到的大规模强化学习的小模型需要巨大的计算能力 ,甚至可能无法达到蒸馏的性能
    • 其次,虽然蒸馏策略既经济又有效 ,但要突破智能的边界可能仍然需要更强大的基础模型和更大规模的强化学习

Unsuccessful Attempts

  • 在开发 DeepSeek-R1 的早期阶段,论文也遇到了一些失败和挫折
    • 论文在此分享论文的失败经验以提供见解,但这并不意味着这些方法无法开发出有效的推理模型
Process Reward Model, PRM
  • PRM 是一种合理的方法,可以指导模型采用更好的方法来解决推理任务 (2023; 2022;);但在实践中,PRM 有三个主要局限性可能阻碍其最终成功
    • 第一,在通用推理中明确定义细粒度的步骤具有挑战性
    • 第二,判断当前中间步骤是否正确是一项艰巨的任务
      • 使用模型进行自动标注可能无法产生令人满意的结果,而手动标注不利于扩大规模
    • 第三,一旦引入基于模型的 PRM,就不可避免地会导致奖励黑客攻击(reward hacking)(2022)
      • 并且重新训练奖励模型需要额外的训练资源,并使整个训练流程复杂化
  • 总之,虽然 PRM 在重排模型生成的 top-N 响应辅助引导式搜索 (2024) 方面表现出良好的能力,但在论文实验的大规模强化学习过程中,与其引入的额外计算开销相比,其优势有限
    • 问题:如何理解 PRM 在重排模型生成的 top-N 响应辅助引导式搜索 方面表现出良好的能力?
Monte Carlo Tree Search,MCTS
  • 受 AlphaGo (2017a) 和 AlphaZero (2017b) 的启发,论文探索了使用蒙特卡洛树搜索(MCTS)来增强测试时计算的可扩展性
  • MCTS 方法涉及将答案分解成更小的部分,以便模型能够系统地探索解决方案空间
  • 为了促进这一点,论文提示模型生成多个标签,这些标签对应于搜索所需的特定推理步骤
  • 对于训练:
    • 首先使用收集的提示,通过由预训练价值模型引导的 MCTS 来寻找答案
      • 理解:这里的价值模型决定了每次选择哪些节点进行扩展
    • 随后使用产生的 问题-答案 对来训练行动者模型和价值模型,并迭代地改进这个过程
  • 但这种方法在扩大训练规模时遇到了几个挑战
    • 首先,与搜索空间相对明确的象棋不同,Token 生成呈现出一个指数级更大的搜索空间
      • 为了解决这个问题,论文为每个节点设置了最大扩展限制,但这可能导致模型陷入局部最优
    • 其次,价值模型直接影响生成的质量,因为它指导搜索过程的每一步
      • 训练一个细粒度的价值模型本身就很困难,这使得模型难以迭代改进
      • 虽然 AlphaGo 的核心成功依赖于训练一个价值模型来逐步提高其性能,但由于 Token 生成的复杂性,这一原则在论文的设置中难以复制
  • 总之,虽然 MCTS 在与预训练价值模型配对时可以在推理过程中提高性能,但通过自我搜索迭代地提升模型性能仍然是一个重大挑战

Conclusion, Limitations, and Future Work

  • 在本工作中,论文分享了通过 RL 来增强模型推理能力的探索历程
    • DeepSeek-R1-Zero 代表了一种不依赖冷启动数据(cold-start data)的纯强化学习方法,在各种任务上均取得了强劲的性能
    • DeepSeek-R1 更加强大,它利用了冷启动数据以及迭代式的强化学习微调
    • 最终,DeepSeek-R1 在一系列任务上达到了与 OpenAI-o1-1217 相当的性能
  • 论文进一步探索了将推理能力蒸馏(distillation)到小型稠密模型(small dense models)中的方法
    • 论文使用 DeepSeek-R1 作为教师模型(teacher model)来生成 80 万条训练样本,并对多个小型稠密模型进行了微调
    • 结果令人鼓舞:
      • DeepSeek-R1-Distill-Qwen-1.5B 在数学基准测试中超越了 GPT-4o 和 Claude-3.5-Sonnet,在 AIME 上达到了 28.9%,在 MATH 上达到了 83.9%
      • 其他稠密模型也取得了令人印象深刻的结果,显著超越了基于相同底层检查点(underlying checkpoints)的其他指令微调模型(instruction-tuned models)
  • 未来,论文计划在以下几个方向为 DeepSeek-R1 投入研究
    • 通用能力 (General Capability):
      • 目前,DeepSeek-R1 在函数调用(function calling)、多轮对话(multi-turn)、复杂角色扮演(complex role-playing)和 JSON 输出等任务上的能力尚不及 DeepSeek-V3
      • 接下来,论文计划探索如何利用长思维链(long Chain-of-Thought, CoT)来增强这些领域的任务
    • 语言混合 (Language Mixing):
      • DeepSeek-R1 目前针对中文和英文进行了优化,这可能导致在处理其他语言的查询时出现语言混合问题
      • 例如,即使用户查询使用的不是英文或中文,DeepSeek-R1 也可能使用英文进行推理和回复
      • 论文旨在未来的更新中解决这一局限性
    • 提示工程 (Prompting Engineering):
      • 在评估 DeepSeek-R1 时,论文观察到它对 Prompts 很敏感
      • 少样本提示(few-shot prompting)consistently 会降低其性能
      • 因此,论文建议用户在使用零样本(zero-shot)设置时直接描述问题并指定输出格式 ,以获得最佳结果
    • 软件工程任务 (Software Engineering Tasks):
      • 由于评估时间较长,影响了强化学习过程的效率,大规模强化学习尚未广泛应用于软件工程任务
      • 因此,DeepSeek-R1 在软件工程基准测试中并未显示出相对于 DeepSeek-V3 的巨大改进
      • 未来的版本将通过对软件工程数据实施拒绝采样(rejection sampling),或在强化学习过程中引入异步评估(asynchronous evaluations)来提高效率,从而解决这一问题