本文翻译DeepSeek-R1: Advancing LLM Reasoning with Reinforcement Learning。
这是我们 DeepSeek 系列的第七篇文章 [1],我们将深入剖析 DeepSeek-R1 如何通过大规模强化学习进行训练。这标志着大型语言模型(LLM)训练在提升推理能力方面的一个重大范式转变,同时也展示了通过蒸馏技术改进小型 LLM 的巨大潜力。
目录
概述
为了更好地理解为什么需要大规模强化学习,我们首先回顾一下大型语言模型(LLM)训练范式在过去是如何演变的。
LLM 训练的范式转变
LLM 的训练主要经历了四个阶段:
- 预训练 + 微调:GPT-1 [4]。
- 仅预训练:GPT-2 [5] 和 GPT-3 [6]。
- 预训练 + 有监督微调 (SFT) + RLHF 对齐:InstructGPT [7]。
- 大规模强化学习:DeepSeek-R1 [2]。
阶段 1: 预训练 + 微调 (GPT-1, 2018)
预训练 + 微调范式最初在计算机视觉领域流行,随后扩展到自然语言处理,它包含 LLM 的两个主要训练步骤:
- 预训练:在大型通用语料库(如 BooksCorpus)上,使用无监督目标(如预测下一个令牌)训练基于 Transformer 的 LLM。
- 有监督微调 (SFT):在任务特定的标注数据(如情感分类、机器翻译、问答等)上进一步训练模型。
这正是 GPT-1 的训练方式,正如我们在之前的文章《深入解析 GPT-1 及其灵感来源》中所解释的那样。
然而,用这种范式训练 LLM,需要在 SFT 阶段为每个下游任务提供标注数据,并且通常无法很好地泛化到未包含在 SFT 数据集中的未见任务,这促使了对纯预训练的探索。
阶段 2: 仅预训练 (GPT-2 和 GPT-3, 2019)
在 GPT-2 和 GPT-3 中,OpenAI 探索了完全跳过 SFT 阶段。他们注意到,随着预训练的进行,预训练的 GPT-1 模型在其未进行微调的任务上的性能逐渐提高,这表明大规模预训练可以增强零样本能力,如下图所示:
图 1. 语言模型预训练更新函数对不同任务零样本性能演变的影响。(图片来自 [4]。)
更具体地说,为了消除对 SFT 的需求并充分利用预训练,OpenAI 探索了三项关键技术:
- 任务无关学习(Task-agnostic learning):模型在训练过程中发展出广泛的技能集,使其能够在推理时快速适应新任务,而无需进行特定任务的微调。
- 缩放假设(The scaling hypothesis):随着模型在更大的数据集上用更多的参数进行训练,它们可以自主地发展出新的能力,而无需明确的监督。换句话说,规模扩大可能会带来“涌现”能力。
- 上下文学习(In-context learning):在推理时,模型接收自然语言指令以及一些 <输入,输出> 对的演示,然后通过识别和利用给定示例中的模式来完成任务。
有关上述概念的更详细解释,请参阅我们之前的文章《GPT-2 和 GPT-3》。
借助这些技术,GPT-2 和 GPT-3 的规模从 1.17 亿扩大到 1750 亿,在许多自然语言处理数据集上表现出强大的性能,包括翻译、问答、完形填空任务,以及需要即时推理或领域适应的任务。
阶段 3: 预训练 + SFT + RLHF (InstructGPT, 2022)
尽管纯预训练取得了强大的性能和令人印象深刻的泛化能力,但对 GPT-3 的分析强调,微调对于进一步提高某些任务的性能以及解决与可靠性、安全性和其他道德方面相关的问题仍然至关重要。
换句话说,要使大型语言模型真正有用,其响应必须与人类偏好对齐——这是传统有监督微调(SFT)难以克服的挑战。
困难在于将对齐定义为一个可学习的目标,因为它本身是模糊和细致入微的:没有直接的方法将对齐转化为可用于构建有意义学习目标的标注数据。此外,穷尽地识别和标注所有可能的未对齐情况是不切实际的。
为了应对这一挑战,InstructGPT 在预训练和 SFT 阶段之后引入了一个额外的基于人类反馈的强化学习(RLHF)阶段,使模型能够更好地使其响应与人类偏好对齐。
如果您有兴趣了解更多关于 InstructGPT 的信息,请参阅我们之前的文章:《Codex 和 InstructGPT 的洞察》。
有关 LLM 训练中强化学习的全面介绍,请查看这篇文章:《你需要了解的关于 LLM 训练中强化学习的一切》。
更具体地说,RLHF 通常包括三个阶段:
- 收集人类反馈:对模型输出进行抽样,并请人类评判者比较哪个更好。
- 学习一个奖励模型:通过模仿人类评判者的偏好。
- 训练一个更好的策略:在强化学习过程中使用学习到的奖励模型。
下图展示了 InstructGPT [7] 在微调中如何实现 RLHF,这在很大程度上遵循了上述三个阶段。
DeepSeek-R1-Zero
为了验证大规模强化学习能否以及在多大程度上增强大型语言模型的推理能力,DeepSeek AI 首先探索了纯粹使用强化学习训练大型语言模型,而不依赖任何有监督数据,这最终促成了 DeepSeek-R1-Zero。
为此,一个有效的大型语言模型强化学习训练过程需要三个组成部分:合适的奖励、结构良好的训练模板和高效的强化学习算法。
基于规则的奖励
作为强化学习训练过程中最重要的组成部分,奖励决定了强化学习的方向,它需要易于获取并与最终训练目标良好对齐。
在 RLHF 中,这种奖励是通过训练一个奖励模型来模仿人类偏好而获得的。然而,在 DeepSeek-R1-Zero 中,只应用了基于规则的奖励,其中包含两种类型的奖励:
- 准确性奖励:这种奖励主要检查模型响应是否正确,例如数学问题的答案是否正确,或者模型生成的代码是否能通过测试。
- 格式奖励:这种奖励主要检查生成响应的格式,特别是模型能否将其自身的思维过程包含在
<think>
和</think>
标签之间。
那么,为什么这里不使用传统的人类偏好对齐奖励模型呢?
主要原因是,与人类偏好对齐奖励相比,专注于更客观的、基于规则的奖励可以帮助模型增强其推理能力,这对于解决数学和编码问题至关重要。
同时,使用基于规则的奖励简化了训练过程,因为它们比学习单独的奖励模型更容易设计和计算。这种方法还减轻了奖励作弊(reward hacking),即模型通过寻找捷径来满足奖励标准而没有真正提高性能。
训练模板
大型语言模型是生成模型,因此需要一个提示来指导它生成什么以及如何格式化其响应。
训练模板在大型语言模型的强化学习阶段特别有用,因为它可以帮助以标准方式构造模型响应以使评估更准确,并且限制探索到相关的轨迹以减少强化学习训练过程中的不稳定性。
下图显示了 DeepSeek-R1-Zero 使用的训练模板,它明确要求模型在提供答案之前“思考推理过程”,并指示它将其自身的思考过程包含在 <think></think>
标签内。
图 3. DeepSeek-R1-Zero 的训练模板。图片来自 [2]。
请注意,上述模板没有提供任何特定于内容偏向的提示,例如针对某些任务提示特定的问题解决策略,以确保我们可以在强化学习过程中观察模型的自然演进。
分组相对策略优化 (GRPO)
DeepSeek-R1-Zero 在强化学习训练过程中采用了分组相对策略优化(Grouped Relative Policy Optimization, GRPO),该方法进一步优化了广泛使用的 PPO(近端策略优化)方法,并消除了对单独价值模型的需要,如下图所示。
关于此主题的全面介绍,请参阅我们之前的文章:《你需要了解的 LLM 训练中的强化学习知识》。
性能分析
由于 DeepSeek-R1-Zero 完全通过强化学习进行训练,它提供了一个很好的视角来理解模型如何通过自我演化学习推理。
下图展示了 DeepSeek-R1-Zero 在 AIME 2024 基准测试上在整个训练过程中的性能轨迹,模型性能随着训练的进行稳步提升。特别是,与最初的 DeepSeek-V3-Base 模型相比,DeepSeek-R1-Zero 在训练 8K 步后表现显著更好,大致与 OpenAI-o1-0912 的性能持平。这证明了大规模强化学习训练在增强 LLM 推理能力方面的有效性。
图 5. DeepSeek-R1-Zero 在训练期间的 AIME 准确率。图片来自 [2]。
下表进一步比较了 DeepSeek-R1-Zero 与 OpenAI-o1 模型在不同推理任务上的表现,其中 DeepSeek-R1-Zero 取得了与 OpenAI-o1 相当的结果。
另一个有趣的发现是,DeepSeek-R1-Zero 的思考时间(thinking time)在训练过程中也呈现出稳定且持续的增长,如下图所示。这在一定程度上表明,DeepSeek-R1-Zero 通过自我演化自然地获得了对日益复杂任务进行推理的能力。
特别值得一提的是,作者在 [2] 中还提到,这种自我演化甚至无需明确指令就触发了诸如反思(reflection)(模型回顾并重新评估其之前的步骤)和探索(exploration)(模型尝试替代方法)等涌现行为。
图 6. DeepSeek-R1-Zero 在强化学习过程中在训练集上的平均响应长度。图片来自 [2]。
他们的实验还揭示了一个特别有趣的现象——“顿悟时刻”(“aha moment”)——即模型学会发展出更高级的问题解决策略,如下例所示:
图 7. DeepSeek-R1-Zero 中间版本一个有趣的“顿悟时刻”。图片来自 [2]。
然而,DeepSeek-R1-Zero 也暴露出一些问题,例如可读性差和语言混用。这促使了 DeepSeek-R1 的探索,即在大规模强化学习之前增加一个冷启动的有监督学习阶段。
DeepSeek-R1
DeepSeek-R1-Zero 的探索证明了大规模训练在增强推理能力方面的有效性,自然而然地产生了新的问题:
- 研究表明,在转向强化学习之前融入有监督学习可以稳定训练并提高样本效率。鉴于此,我们能否利用少量高质量的有监督数据进一步提高推理性能?
- DeepSeek-R1-Zero 的训练过程主要侧重于提高推理能力,但推理之外的任务呢?大规模强化学习能否也提高模型的通用能力?
为了回答这些问题,[2] 提出了一种四步训练范式,其中前两步用于生成 SFT 数据的模型检查点,后两步进行冷启动的大规模强化学习训练。
现在让我们逐一审视这些步骤。
冷启动
这个过程再次从 DeepSeek-V3-Base 开始,但这次模型首先在数千个冷启动数据上进行微调,而不是直接进入强化学习阶段。
这些冷启动样本是使用多种方法构建的长链式思考 (CoT) 数据,包括:以长 CoT 为例进行少样本提示、直接提示模型生成带有反思和验证的详细答案、以可读格式收集 DeepSeek-R1-Zero 的输出,以及通过人工标注者进行后处理来完善结果等。
特别值得强调的是,这些冷启动数据旨在引导模型输出更具可读性的响应,因为输出格式被定义为 |special_token|<reasoning_process>|special_token|<summary>
,其中 reasoning_process
是查询的 CoT,summary
用于总结推理结果。
有一点需要强调的是,上述冷启动数据仍然侧重于推理任务。
面向推理的强化学习
在冷启动数据上进行微调后,将相同的大规模强化学习训练过程应用于模型,并额外添加语言一致性奖励以缓解语言混用问题,通过计算 CoT 中目标语言单词的比例来实现。
此阶段被称为“面向推理”,以区别于之后针对更通用任务的强化学习阶段。
拒绝采样和有监督微调
经过前几个阶段的训练后,模型应该已经具备了强大的推理能力,使其能够为额外的有监督微调阶段生成数据。
与第一阶段的冷启动数据不同,这些新生成的样本超出了推理任务的范畴。它们包含来自不同领域的数据,如写作和角色扮演,旨在增强模型的整体能力,以处理更广泛的任务。
更具体地说,拒绝采样应用于基于第二阶段的模型检查点生成推理数据。这些数据样本通过基于规则的奖励或 DeepSeek-V3 进行评估。为了进一步提高数据质量,包含混合语言、长段落或代码块的 CoT 样本被过滤掉。同时,为每个提示生成多个响应,并丢弃不正确的响应。最终,共收集到60 万个高质量推理样本。
对于非推理任务,数据集是使用 DeepSeek-V3 管道构建的,部分重用了其 SFT 数据集。DeepSeek-V3 也被用于为特定的非推理任务生成一些 CoT 样本。为非推理任务收集的最终数据集包含大约20 万个样本。
需要注意的是,DeepSeek-V3 和 DeepSeek-R1 之间的关系有些交织:DeepSeek-V3 是使用早期版本的 DeepSeek-R1 训练的;训练完成后,最终的 DeepSeek-V3 模型被用来生成合成数据以改进 DeepSeek-R1。
所有这 80 万个样本随后用于对 DeepSeek-V3-Base 进行两个 epoch 的微调。
针对所有场景的强化学习
这是 DeepSeek-R1 训练的最后阶段,旨在使模型与人类偏好对齐,同时提高其推理能力。
由于 DeepSeek-R1-Zero 仅使用基于规则的奖励进行训练,它缺乏与人类偏好的强对齐。为了解决这个问题,DeepSeek-R1 采用了混合奖励方法——对推理任务使用基于规则的奖励,同时像 RLHF 中概述的那样,利用人类偏好对齐的奖励模型处理通用任务。
更具体地说,训练过程强调两个关键方面:有用性(helpfulness)和无害性(harmlessness):
- 对于有用性,模型被训练生成对用户需求既有用又相关的最终摘要。
- 对于无害性,模型的整个响应,包括其推理过程和最终摘要,都经过评估,以识别并减轻潜在的风险、偏见或有害内容。
此外,为了使模型更能够处理通用任务,作者还增强了提示分布的多样性。
性能分析
下表比较了 DeepSeek-R1 与几个强基线模型的性能,其中 DeepSeek-R1 在大多数任务上显示出与 OpenAI-o1 相当或更好的性能。
蒸馏
除了训练 DeepSeek-R1-Zero 和 DeepSeek-R1 之外,[2] 的作者还进行了另一项有趣的研究,他们直接使用在第三个训练阶段整理出的 80 万个样本,对 Qwen [9] 和 Llama [10] 等较小的 LLM 进行了微调。这项研究的目标是验证高质量推理数据蒸馏是否能提升较小型 LLM 的推理能力。
如下表所示,经过这样的蒸馏过程后,Qwen-7B 模型能够超越 GPT-4o-0513,Qwen-14B 模型能够超越 QwQ-32B-Preview,而 Qwen-32B 和 Llama-70B 等更大的模型则显著超越了 OpenAI-o1-mini。
这表明蒸馏在提高推理能力方面具有巨大潜力。
总结
在本文中,我们探讨了大型语言模型(LLM)训练范式的演变,涵盖了:
- 预训练 + 微调
- 仅预训练
- 预训练 + 有监督微调 (SFT) + 基于人类反馈的强化学习 (RLHF)
- 大规模强化学习
随后,我们详细分解了大规模强化学习如何应用于 DeepSeek-R1-Zero 和 DeepSeek-R1 的训练,以增强其推理能力,同时还介绍了通过蒸馏技术改进小型 LLM 的策略。
大规模强化学习的引入标志着 LLM 训练的又一次范式转变,它有潜力解锁更强大的模型,使其能够解决日益复杂的推理任务。
参考文献
- [1] DeepSeek
- [2] DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning
- [3] DeepSeek-V3 Technical Report
- [4] (GPT-1) Improving Language Understanding by Generative Pre-Training
- [5] (GPT-2) Language Models are Unsupervised Multitask Learners
- [6] (GPT-3) Language Models are Few-Shot Learners
- [7] (InstructGPT) Training language models to follow instructions with human feedback
- [8] DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open Language Models
- [9] Qwen2.5 Technical Report
- [10] llama-models/models/llama3_1/MODEL_CARD.md at main · meta-llama/llama-models · GitHub
- 显示Disqus评论(需要科学上网)