DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning(一)
文章概括
引用:
@article{guo2025deepseek,
title={DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning},
author={Guo, Daya and Yang, Dejian and Zhang, Haowei and Song, Junxiao and Zhang, Ruoyu and Xu, Runxin and Zhu, Qihao and Ma, Shirong and Wang, Peiyi and Bi, Xiao and others},
journal={arXiv preprint arXiv:2501.12948},
year={2025}
}
Guo, D., Yang, D., Zhang, H., Song, J., Zhang, R., Xu, R., Zhu, Q., Ma, S., Wang, P., Bi, X. and Zhang, X., 2025. DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning. arXiv preprint arXiv:2501.12948.
原文: https://arxiv.org/abs/2501.12948
代码、数据和视频:
系列文章:
请在
《
《
《文章
》
》
》 专栏中查找
摘要:
我们推出了第一代推理模型,DeepSeek-R1-Zero 和 DeepSeek-R1。 DeepSeek-R1-Zero 是一个通过大规模强化学习(RL)训练的模型,没有经过监督微调(SFT)作为初步步骤,展示了卓越的推理能力。通过强化学习,DeepSeek-R1-Zero 自然涌现出许多强大且有趣的推理行为。然而,它也面临一些挑战,例如可读性差和语言混合问题。为了解决这些问题并进一步提升推理性能,我们推出了 DeepSeek-R1,它在强化学习之前引入了多阶段训练和冷启动数据。DeepSeek-R1 在推理任务上实现了与 OpenAI-o1-1217 相媲美的性能。为了支持研究社区,我们开源了 DeepSeek-R1-Zero、DeepSeek-R1 以及从 DeepSeek-R1 蒸馏出的六个稠密模型(1.5B、7B、8B、14B、32B、70B),这些模型基于 Qwen 和 Llama。
图1 | DeepSeek-R1 的基准测试性能。
1. 引言
近年来,大型语言模型(LLMs)正在经历快速的迭代和演进(Anthropic, 2024; Google, 2024; OpenAI, 2024a),逐步缩小了与人工通用智能(AGI)之间的差距。
最近,后训练(Post-training)已成为完整训练流程中的一个重要组成部分。研究表明,后训练能够提高推理任务的准确性,与社会价值观对齐,并适应用户偏好,同时相对于预训练所需的计算资源相对较少。在推理能力方面,OpenAI 的 o1 系列模型(OpenAI, 2024b)首次通过增加思维链推理过程的长度引入了推理时扩展方法。这种方法在数学、编码和科学推理等各种推理任务中取得了显著改进。然而,有效的测试时扩展仍然是研究社区面临的一个开放性问题。此前的一些研究探索了多种方法,包括基于过程的奖励模型(Lightman et al., 2023; Uesato et al., 2022; Wang et al., 2023)、强化学习(Kumar et al., 2024)以及蒙特卡洛树搜索和束搜索等搜索算法(Feng et al., 2024; Trinh et al., 2024; Xin et al., 2024)。然而,这些方法均未达到与 OpenAI 的 o1 系列模型相媲美的通用推理性能。
后训练(Post-training)是指在模型完成预训练后,进一步通过特定任务或数据进行微调的过程。预训练模型通常在大规模通用数据上训练,具备广泛的知识,但在特定任务上可能表现不佳。后训练则通过针对性的微调,提升模型在特定任务上的性能。
后训练的关键点
目标:
- 任务适应:使模型更好地适应特定任务,如文本分类、机器翻译等。
- 性能提升:通过微调提高模型在特定任务上的准确性和效率。
- 对齐与偏好:确保模型输出符合社会价值观和用户偏好。
方法:
- 微调(Fine-tuning):在特定任务数据上继续训练预训练模型。
- 提示微调(Prompt Tuning):通过设计提示词引导模型生成特定输出。
- 强化学习(Reinforcement Learning):使用奖励机制优化模型行为。
- 搜索算法:如蒙特卡洛树搜索、束搜索等,优化推理过程。
优势:
- 计算资源较少:相比预训练,后训练所需的计算资源较少。
- 灵活性高:可根据不同任务和需求进行定制化微调。
- 性能提升显著:在特定任务上表现更好。
具体例子
推理任务:
- OpenAI的o1系列模型:通过增加思维链推理过程的长度,显著提升了数学、编码和科学推理等任务的性能。
社会价值观对齐:
- ChatGPT:通过后训练,确保生成内容符合社会价值观,避免不当言论。
用户偏好适应:
- 个性化推荐系统:通过后训练,模型能更好地理解用户偏好,提供个性化推荐。
测试时扩展:
- 基于过程的奖励模型:通过奖励机制优化模型在测试时的表现。
- 强化学习:在对话系统中,通过用户反馈优化模型响应。
- 搜索算法:在机器翻译中,使用束搜索优化翻译结果。
总结
后训练是提升模型在特定任务上性能的关键步骤,通过微调、提示微调、强化学习和搜索算法等方法,模型能更好地适应任务需求,提升推理能力,并与社会价值观和用户偏好对齐。尽管测试时扩展仍具挑战性,但后训练在提升模型性能方面已显示出显著效果。
在本文中,我们迈出了使用纯强化学习(RL)提升语言模型推理能力的第一步。我们的目标是探索大型语言模型(LLMs)在没有监督数据的情况下发展推理能力的潜力,重点关注其通过纯强化学习过程的自我进化。具体而言,我们使用 DeepSeek-V3-Base 作为基础模型,并采用 GRPO(Shao et al., 2024)作为强化学习框架,以提高模型在推理任务中的表现。在训练过程中,DeepSeek-R1-Zero 自然涌现出许多强大且有趣的推理行为。经过数千次强化学习步骤后,DeepSeek-R1-Zero 在推理基准测试中展现出卓越的性能。例如,在 AIME 2024 上的 pass@1 分数从 15.6% 提升至 71.0%,而在多数投票机制下,分数进一步提升至 86.7%,与 OpenAI-o1-0912 的性能相当。
然而,DeepSeek-R1-Zero 面临诸如可读性差和语言混合等挑战。为了解决这些问题并进一步提升推理性能,我们推出了 DeepSeek-R1,它结合了少量冷启动数据和多阶段训练流程。具体而言,我们首先收集数千条冷启动数据对 DeepSeek-V3-Base 模型进行微调。随后,我们像 DeepSeek-R1-Zero 一样进行面向推理的强化学习。在强化学习过程接近收敛时,我们通过对强化学习检查点进行拒绝采样生成新的监督微调(SFT)数据,并结合来自 DeepSeek-V3 的写作、事实问答和自我认知等领域的监督数据,然后重新训练 DeepSeek-V3-Base 模型。使用新数据微调后,检查点会经历额外的强化学习过程,同时考虑所有场景的提示。经过这些步骤,我们得到了一个称为 DeepSeek-R1 的检查点,其性能与 OpenAI-o1-1217 相当。
我们进一步探索了从 DeepSeek-R1 到更小稠密模型的蒸馏。使用 Qwen2.5-32B(Qwen, 2024b)作为基础模型,直接从 DeepSeek-R1 进行蒸馏的效果优于在其上应用强化学习。这表明,较大基础模型发现的推理模式对于提升推理能力至关重要。我们开源了蒸馏后的 Qwen 和 Llama(Dubey et al., 2024)系列模型。值得注意的是,我们蒸馏后的 14B 模型大幅超越了当前最先进的开源模型 QwQ-32B-Preview(Qwen, 2024a),而蒸馏后的 32B 和 70B 模型在稠密模型的推理基准测试中创造了新纪录。
1.1. 贡献
后训练:在基础模型上进行大规模强化学习
- 我们直接在基础模型上应用强化学习,而不依赖监督微调(SFT)作为初步步骤。这种方法使模型能够探索思维链(CoT)以解决复杂问题,从而开发出 DeepSeek-R1-Zero。DeepSeek-R1-Zero 展示了自我验证、反思和生成长思维链等能力,标志着研究社区的一个重要里程碑。值得注意的是,这是首次通过纯强化学习验证大型语言模型(LLMs)推理能力的研究,无需依赖监督微调。这一突破为该领域的未来发展铺平了道路。
- 我们介绍了开发 DeepSeek-R1 的流程。该流程包含两个强化学习阶段,旨在发现改进的推理模式并与人类偏好对齐,以及两个监督微调阶段,作为模型推理和非推理能力的基础。我们相信这一流程将通过创建更好的模型为行业带来益处。
1. 监督微调(Supervised Fine-Tuning, SFT)
定义与作用
- 定义:在预训练模型的基础上,使用人工标注的高质量数据(如输入-输出对)进行有监督的微调,目的是让模型适应特定任务或提升特定能力。
- 作用:
- 任务适应:将通用模型调整为擅长特定任务(如数学推理、代码生成)。
- 对齐初步能力:为后续强化学习(RL)提供稳定的初始策略。
具体示例
- 数学推理任务: 假设预训练模型(如GPT-3)在通用文本上表现良好,但在解决数学问题时容易出错。通过SFT,可以用标注好的数学问题(如“问题:3x + 5 = 20,求x”→“步骤1:5移到右边,3x=15;步骤2:x=5”)对模型微调,使其学会分步解题的逻辑。
- 代码生成: 用人工编写的代码片段(如“输入:用Python写一个排序函数”→“输出:def sort(arr): return sorted(arr)”)微调模型,使其生成更准确的代码。
2. 思维链(Chain-of-Thought, CoT)
定义与作用
- 定义:一种让模型显式生成中间推理步骤的提示方法,模仿人类解决问题的逻辑链(例如“先分解问题,再逐步解决”)。
- 作用:
- 提升复杂推理能力:通过显式生成中间步骤,模型能更好地处理数学、逻辑或科学问题。
- 支持自我验证:生成的思维链可作为自我检查的依据(例如发现计算错误)。
具体示例
- 数学应用题: 输入:“小明有5个苹果,吃掉2个后,又买了3个,现在有多少个苹果?” 思维链输出:“吃掉2个后剩余5-2=3个;买了3个后总共有3+3=6个。答案是6。”
- 逻辑推理: 输入:“如果所有猫都会飞,而Tom是一只猫,那么Tom会飞吗?” 思维链输出:“前提‘所有猫都会飞’是假设的,但现实中猫不会飞。根据假设,Tom会飞,但现实中不会。”
3. 纯强化学习(RL)在推理中的应用
段落中的创新点
- 跳过SFT直接使用RL: DeepSeek-R1-Zero直接在基础模型上应用强化学习(而非先进行SFT),让模型通过自主探索生成思维链,并通过奖励机制优化策略。
- 核心能力: 模型通过RL学会自我验证(检查推理是否正确)、反思(修正错误步骤)和生成长思维链(解决复杂问题)。
RL的具体流程示例
- 环境设定: 模型需要解决一个数学问题(如“解方程2x + 3 = 7”)。
- 动作空间: 模型生成可能的推理步骤(如“步骤1:3移到右边,2x=4;步骤2:x=2”)。
- 奖励机制:
- 最终答案正确 → 高奖励。
- 中间步骤逻辑合理 → 中等奖励。
- 答案错误或步骤混乱 → 低奖励。
- 策略优化: 模型通过试错学习,逐渐生成更高奖励的推理路径。
4. DeepSeek-R1的双阶段流程
流程设计
- 第一阶段(SFT):
- 目标:建立基础推理和非推理能力(如语言理解、简单逻辑)。
- 示例:用标注的数学问题和通用文本(如百科问答)微调模型。
- 第二阶段(RL):
- 目标:通过强化学习发现更优的推理模式,并与人类偏好对齐。
- 示例:在数学推理中,模型生成多种解法,根据人类反馈(如步骤清晰度、答案正确性)调整策略。
具体案例
- 对齐人类偏好: 在代码生成任务中,模型可能生成两种解法:
- 解法A:高效但可读性差 → 人类评分低。
- 解法B:效率一般但可读性好 → 人类评分高。 通过RL,模型会逐渐倾向于生成解法B。
1. DeepSeek-R1-Zero(纯强化学习,跳过SFT)
- 目标:验证 仅通过强化学习(RL) 能否提升模型的推理能力,无需依赖监督微调(SFT)。
- 流程: 基础模型 → 直接应用RL → 输出DeepSeek-R1-Zero 模型通过RL自主探索思维链(CoT),例如尝试不同的推理步骤,通过奖励机制(如答案正确性、逻辑合理性)优化策略。
- 意义:这是首次证明 纯RL可以提升LLM的推理能力,无需SFT提供初始能力。
2. DeepSeek-R1(混合流程:SFT + RL)
- 目标:结合SFT和RL的优势,同时提升模型的推理能力和对齐人类偏好。
- 流程: 基础模型 → SFT阶段 → RL阶段 → 输出DeepSeek-R1 具体分为:
- SFT阶段:先用标注数据微调模型,赋予其基础推理能力(如分步解题)。
- RL阶段:再通过强化学习优化推理模式(如生成更清晰的步骤)和人类偏好(如可读性、安全性)。
为何看起来矛盾? 原文中的两个段落分别描述了两种模型:
- 第一段讲 DeepSeek-R1-Zero(纯RL,跳过SFT),强调其创新性。
- 第二段讲 DeepSeek-R1(SFT+RL混合流程),强调其工程实用性。 两者是独立的实验,服务于不同目标,因此流程不同。
具体例子对比
案例1:DeepSeek-R1-Zero(纯RL)
- 任务:解方程
2x + 3 = 7
- 流程:
- 基础模型直接尝试生成推理链,例如:
- 错误尝试:“2x=7 → x=3.5”(无奖励)
- 正确尝试:“2x+3=7 → 2x=4 → x=2”(高奖励)
- 模型通过RL不断优化策略,最终学会生成正确的思维链。
- 关键点:无需SFT提供正确解题示例,完全通过试错学习。
案例2:DeepSeek-R1(SFT+RL)
- 任务:生成代码(如排序算法)
- 流程:
- SFT阶段:用标注数据教会模型基础代码格式(如
def sort(arr): return sorted(arr)
)。- RL阶段:优化代码的可读性和效率:
- 初始输出:正确但冗长的代码(奖励中等)。
- 优化后:简洁且高效的代码(奖励更高)。
- 关键点:SFT提供初始能力,RL进一步优化高阶特性。
为何要设计两种流程?
DeepSeek-R1-Zero(纯RL):
- 科研意义:探索RL的潜力,证明无需人工标注数据也能提升推理能力。
- 局限:训练效率低(需大量试错),可能生成不安全内容(未对齐人类偏好)。
DeepSeek-R1(SFT+RL):
- 工程意义:结合SFT的稳定性和RL的优化能力,适合实际应用。
- 优势:更快收敛、输出更安全可控。
蒸馏:小模型也可以很强大
- 我们证明了较大模型的推理模式可以蒸馏到较小模型中,从而获得比在小型模型上通过强化学习发现的推理模式更好的性能。开源的 DeepSeek-R1 及其 API 将为研究社区未来蒸馏更好的小型模型提供帮助。
- 使用 DeepSeek-R1 生成的推理数据,我们对研究社区广泛使用的多个稠密模型进行了微调。评估结果表明,蒸馏后的小型稠密模型在基准测试中表现优异。DeepSeek-R1-Distill-Qwen-7B 在 AIME 2024 上达到了 55.5%,超越了 QwQ-32B-Preview。此外,DeepSeek-R1-Distill-Qwen-32B 在 AIME 2024 上得分为 72.6%,在 MATH-500 上得分为 94.3%,在 LiveCodeBench 上得分为 57.2%。这些结果显著优于之前的开源模型,并与 o1-mini 相当。我们向社区开源了基于 Qwen2.5 和 Llama3 系列的蒸馏后 1.5B、7B、8B、14B、32B 和 70B 检查点。
1. 知识蒸馏(Knowledge Distillation)
定义 知识蒸馏是一种模型压缩技术,通过让较小的模型(称为学生模型)模仿较大的、性能更强的模型(称为教师模型)的行为或输出,从而将教师模型的“知识”迁移到学生模型中。
- 核心思想:教师模型的输出(如预测概率、中间推理步骤)包含丰富的“暗知识”(dark knowledge),学生模型通过学习这些知识,可以在更小的参数量下达到接近甚至超越教师模型的性能。
为什么需要蒸馏?
- 资源限制:大模型(如GPT-4、DeepSeek-R1)计算成本高,难以在移动设备或边缘端部署。
- 效率需求:小模型推理速度快、内存占用低,但直接训练小模型难以达到大模型的性能。
- 知识迁移:教师模型的复杂推理模式(如思维链、逻辑步骤)可通过蒸馏传递给小模型。
2. 蒸馏的流程与关键步骤
典型流程
- 教师模型生成“软标签”: 教师模型对输入数据生成概率分布(例如分类任务中每个类别的概率),而不仅仅是最终答案。
- 例如,分类任务中,教师可能输出“猫: 0.7,狗: 0.2,老虎: 0.1”,而真实标签仅为“猫: 1”。
- 学生模型学习软标签: 学生模型的目标是模仿教师模型的输出分布,而不仅仅是匹配真实标签。
- 结合真实标签训练: 通常联合使用教师模型的软标签和真实标签的损失函数,平衡知识迁移与任务准确性。
段落中的蒸馏方法 根据你的描述,DeepSeek-R1的蒸馏流程可能为:
- 教师模型生成推理数据: 使用DeepSeek-R1生成复杂问题的详细推理步骤(思维链),例如数学解题过程或代码生成逻辑。
- 学生模型微调: 用这些推理数据对小模型(如Qwen-7B、Llama3)进行监督微调(SFT),使其学会模仿教师模型的推理模式。
3. 具体示例
案例1:数学推理蒸馏
- 教师模型(DeepSeek-R1)输出:
问题:解方程 3x + 5 = 20
步骤1:将5移到右边,3x = 20 - 5 → 3x = 15
步骤2:两边除以3,x = 15 / 3 → x = 5
答案:5
- 学生模型(如Qwen-7B)学习: 通过微调,学生模型学会生成类似的推理步骤,而不仅仅是直接输出答案。
案例2:代码生成蒸馏
- 教师模型生成:
# 用Python实现快速排序
def quicksort(arr):
\quadif len(arr) <= 1:
\quad \quadreturn arr
\quadpivot = arr[len(arr)//2]
\quadleft = [x for x in arr if x < pivot]
\quadmiddle = [x for x in arr if x == pivot]
\quadright = [x for x in arr if x > pivot]
\quadreturn quicksort(left) + middle + quicksort(right)
- 学生模型学习: 微调后的小模型生成的代码更接近教师模型的风格(如变量命名、注释添加)。
4. 蒸馏 vs. 直接训练/微调
方法 优势 劣势 直接训练小模型 无需教师模型 性能受模型容量限制 监督微调(SFT) 快速适应任务 依赖高质量标注数据 知识蒸馏 继承教师模型的复杂能力,小模型性能大幅提升 依赖教师模型的生成质量
总结
- 蒸馏的本质:通过模仿教师模型的推理模式,让小模型“站在巨人的肩膀上”。
- 段落中的创新:
- 使用DeepSeek-R1生成的推理数据蒸馏小模型,显著提升其数学、代码能力。
- 开源多规模蒸馏模型(1.5B到70B),推动社区研究和应用。
- 未来方向:
- 结合蒸馏与强化学习,进一步提升小模型的探索能力。
- 探索跨模态蒸馏(如语言模型到视觉模型)。
通过蒸馏,小型模型不仅能降低部署成本,还能在特定任务中媲美甚至超越大模型,为AI普惠化提供了重要技术路径。
1.2. 评估结果摘要
• 推理任务
(1) 在 AIME 2024 上,DeepSeek-R1 以 79.8% 的 Pass@1 分数略微超越 OpenAI-o1-1217。在 MATH-500 上,DeepSeek-R1 取得了 97.3% 的惊人分数,与 OpenAI-o1-1217 表现相当,并显著优于其他模型。
(2) 在编码相关任务中,DeepSeek-R1 在代码竞赛任务中展现出专家水平:其在 Codeforces 上获得 2,029 Elo 分数,超越了 96.3% 的人类参赛者。在工程相关任务中,DeepSeek-R1 表现略优于 DeepSeek-V3,这可为开发者解决实际任务提供帮助。
• 知识能力
在 MMLU、MMLU-Pro 和 GPQA Diamond 等基准测试中,DeepSeek-R1 取得了优异成绩:
- MMLU 得分 90.8%
- MMLU-Pro 得分 84.0%
- GPQA Diamond 得分 71.5%
这些成绩显著优于 DeepSeek-V3,虽略低于 OpenAI-o1-1217,但超越了其他闭源模型,展现了其在教育任务中的竞争力。
在事实性基准测试 SimpleQA 中,DeepSeek-R1 优于 DeepSeek-V3,证明了其处理事实性查询的能力。类似趋势也体现在 OpenAI-o1 在该基准上超越 4o 的表现中。
• 其他能力
DeepSeek-R1 在广泛任务中表现优异,包括创意写作、通用问答、编辑和摘要等:
- 在 AlpacaEval 2.0 上获得 87.6% 的长度控制胜率
- 在 ArenaHard 上达到 92.3% 的胜率
这展现了其处理非应试类查询的强劲智能能力。此外,DeepSeek-R1 在需要长上下文理解的任务中表现突出,在长上下文基准测试中大幅超越 DeepSeek-V3。
2. 方法
2.1. 概述
以往的研究严重依赖大量监督数据来提升模型性能。在本研究中,我们证明了即使不使用监督微调(SFT)作为冷启动,通过大规模强化学习(RL)也可以显著提高推理能力。此外,加入少量冷启动数据可以进一步提升性能。在接下来的章节中,我们将介绍:(1) DeepSeek-R1-Zero,它直接在基础模型上应用强化学习,不使用任何监督微调数据;(2) DeepSeek-R1,它从经过数千条长思维链(CoT)示例微调的检查点开始应用强化学习;(3) 将 DeepSeek-R1 的推理能力蒸馏到小型稠密模型中。
2.2. DeepSeek-R1-Zero:基于模型的强化学习
强化学习在推理任务中已经显示出了显著的有效性,正如我们之前的研究所证明的那样(Shao等人,2024;Wang等人,2023)。然而,这些研究在很大程度上依赖于监督数据,而这些数据的收集是非常耗时的。在本节中,我们探讨了大语言模型(LLMs)在没有任何监督数据的情况下发展推理能力的潜力,重点是通过纯强化学习过程的自我进化。我们首先简要介绍了我们的强化学习算法,然后展示了一些令人兴奋的结果,希望这能为社区提供有价值的见解。
2.2.1 强化学习算法
组相对策略优化(Group Relative Policy Optimization,GRPO) 为降低强化学习的训练成本,我们采用组相对策略优化(Group Relative Policy Optimization,GRPO)(Shao et al., 2024),该方法舍弃了通常与策略模型规模相当的评论家模型,转而通过组评分估计基准值。具体而言,对于每个问题 q q q,GRPO会从旧策略 π θ o l d \pi_{\theta_{old}} πθold中采样一组输出 { o 1 , o 2 , ⋯ , o G } \{o_1, o_2, \cdots, o_G\} {o1,o2,⋯,oG},随后通过最大化以下目标函数来优化策略模型 π θ \pi_{\theta} πθ:
J G R P O ( θ ) = E [ q ∼ P ( Q ) , { σ 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 ) ) , ( 1 ) \mathcal{J}_{GRPO}(\theta) = \mathbb{E}[q \sim P(Q), \{\sigma_i\}_{i=1}^G \sim \pi_{\theta_{old}}(\textrm{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, \textrm{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), (1) JGRPO(θ)=E[q∼P(Q),{σi}i=1G∼πθold(O∣q)]G1i=1∑G(min(πθold(oi∣q)πθ(oi∣q)Ai,clip(πθold(oi∣q)πθ(oi∣q),1−ε,1+ε)Ai)−βDKL(πθ∣∣πref)),(1)
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 , (2) \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, \tag{2} DKL(πθ∣∣πref)=πθ(oi∣q)πref(oi∣q)−logπθ(oi∣q)πref(oi∣q)−1,(2)
其中 ε \varepsilon ε和 β \beta β为超参数, A i A_i Ai表示优势值,其计算基于与组内输出对应的一组奖励 { r 1 , r 2 , … , r G } \{r_1, r_2, \ldots, r_G\} {r1,r2,…,rG}:
A i = r i − mean ( { r 1 , r 2 , ⋯ , r G } ) std ( { r 1 , r 2 , ⋯ , r G } ) . (3) A_i = \frac{r_i - \operatorname{mean}(\{r_1, r_2, \cdots, r_G\})}{\operatorname{std}(\{r_1, r_2, \cdots, r_G\})}.\tag{3} Ai=std({r1,r2,⋯,rG})ri−mean({r1,r2,⋯,rG}).(3)
1. 组相对策略优化(GRPO)的核心思想
GRPO旨在降低强化学习的训练成本,舍弃评论家模型(传统方法如PPO需要策略模型和评论家模型),转而通过组内采样输出的奖励分布直接估计优势值。例如,在对话生成任务中,对每个问题生成多个回答,通过组内奖励的均值和标准差标准化计算优势值,避免训练单独的评论家模型。
2. 目标函数分解 公式(1)的优化目标由两部分组成:
J G R P O ( θ ) = E [ 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 ) ) ] \mathcal{J}_{GRPO}(\theta) = \mathbb{E}\left[\frac{1}{G} \sum_{i=1}^G \left( \min\left( \frac{\pi_{\theta}(o_i|q)}{\pi_{\theta_{old}}(o_i|q)}A_i, \textrm{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)\right] JGRPO(θ)=E[G1i=1∑G(min(πθold(oi∣q)πθ(oi∣q)Ai,clip(πθold(oi∣q)πθ(oi∣q),1−ε,1+ε)Ai)−βDKL(πθ∣∣πref))]
(1)剪切优势项
- 重要性采样比率: π θ ( o i ∣ q ) π θ o l d ( o i ∣ q ) \frac{\pi_{\theta}(o_i|q)}{\pi_{\theta_{old}}(o_i|q)} πθold(oi∣q)πθ(oi∣q) 衡量新旧策略的概率差异。
- 剪切机制:通过 clip ( ⋅ , 1 − ε , 1 + ε ) \textrm{clip}(\cdot, 1-\varepsilon, 1+\varepsilon) clip(⋅,1−ε,1+ε) 限制比率范围(如 ε = 0.2 \varepsilon=0.2 ε=0.2 时范围为 [ 0.8 , 1.2 ] [0.8,1.2] [0.8,1.2]),防止策略更新幅度过大。
- 优势值 A i A_i Ai:由公式(3)计算,反映单个输出相对于组内平均奖励的优劣。
例子: 假设旧策略生成3个回答的奖励为 [ 5 , 1 , 3 ] [5,1,3] [5,1,3],均值为3,标准差为1.632。 优势值分别为 A 1 = 1.2247 A_1=1.2247 A1=1.2247, A 2 = − 1.2247 A_2=-1.2247 A2=−1.2247, A 3 = 0 A_3=0 A3=0。
若新策略对回答1的概率比旧策略高(比率1.5), ε = 0.2 \varepsilon=0.2 ε=0.2 时剪切为1.2,最终贡献为 1.2 × 1.2247 ≈ 1.4696 1.2 \times 1.2247 \approx 1.4696 1.2×1.2247≈1.4696。
(2)KL散度正则项
- 公式(2): 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 \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 DKL(πθ∣∣πref)=πθ(oi∣q)πref(oi∣q)−logπθ(oi∣q)πref(oi∣q)−1
- 作用:限制新策略 π θ \pi_\theta πθ 与参考策略 π r e f \pi_{ref} πref(如预训练模型)的差异,防止过度偏离。
- 注意:此公式是KL散度的二阶泰勒展开近似,当 π θ ≈ π r e f \pi_\theta \approx \pi_{ref} πθ≈πref 时成立。
例子: 若参考策略对回答1的概率为0.5,新策略为0.6,则 D K L ≈ 0.8333 − ( − 0.1823 ) − 1 = 0.0156 \mathbb{D}_{KL} \approx 0.8333 - (-0.1823) -1 = 0.0156 DKL≈0.8333−(−0.1823)−1=0.0156,正则项为 β × 0.0156 \beta \times 0.0156 β×0.0156。
3. 优势值计算(公式3) A i = r i − mean ( { r 1 , r 2 , ⋯ , r G } ) std ( { r 1 , r 2 , ⋯ , r G } ) A_i = \frac{r_i - \operatorname{mean}(\{r_1, r_2, \cdots, r_G\})}{\operatorname{std}(\{r_1, r_2, \cdots, r_G\})} Ai=std({r1,r2,⋯,rG})ri−mean({r1,r2,⋯,rG})
- 标准化奖励:通过组内均值和标准差归一化,消除奖励量纲影响。
- 物理意义:正值表示优于组内平均,负值反之。
例子: 组内奖励为 [ 5 , 1 , 3 ] [5,1,3] [5,1,3],均值为3,标准差为1.632,则 A 1 = ( 5 − 3 ) / 1.632 ≈ 1.2247 A_1 = (5-3)/1.632 \approx 1.2247 A1=(5−3)/1.632≈1.2247, A 2 = ( 1 − 3 ) / 1.632 ≈ − 1.2247 A_2 = (1-3)/1.632 \approx -1.2247 A2=(1−3)/1.632≈−1.2247, A 3 = 0 A_3=0 A3=0。
4. 算法流程
- 采样:对每个问题 q q q,从旧策略 π θ o l d \pi_{\theta_{old}} πθold 采样 G G G 个输出 { o 1 , o 2 , ⋯ , o G } \{o_1, o_2, \cdots, o_G\} {o1,o2,⋯,oG}。
- 计算奖励:获取每个输出的奖励 { r 1 , r 2 , … , r G } \{r_1, r_2, \ldots, r_G\} {r1,r2,…,rG}。
- 计算优势值:按公式(3)标准化奖励。
- 优化策略:最大化目标函数(1),结合剪切机制和KL正则。
5. 超参数作用
- ε \varepsilon ε:控制剪切范围,平衡探索与稳定性(典型值0.1~0.3)。
- β \beta β:调节KL正则的强度,防止策略偏离参考策略(需调参)。
2.2.2. 奖励建模
奖励是训练信号的来源,它决定了强化学习的优化方向。为训练 DeepSeek-R1-Zero,我们采用基于规则的奖励系统,主要由两类奖励构成:
- 准确性奖励:准确性奖励模型评估回答是否正确。例如,对于结果确定的数学问题,模型需以指定格式(如将答案放入方框内)提供最终答案,从而实现可靠的基于规则的正确性验证。类似地,对于 LeetCode 问题,可通过编译器基于预定义测试用例生成反馈。
- 格式奖励:除准确性奖励模型外,我们还采用格式奖励模型强制要求模型将思考过程置于
<think>
和</think>
标签之间。
在开发 DeepSeek-R1-Zero 时,我们未采用基于结果或过程的神经奖励模型。这是因为我们发现神经奖励模型在大规模强化学习过程中可能遭遇奖励破解(reward hacking)问题,且重新训练奖励模型需要额外资源并会复杂化整个训练流程。
1. 奖励建模的核心概念
定义 奖励建模(Reward Modeling)是强化学习(RL)中设计奖励函数的过程,用于量化模型行为的好坏,从而引导模型向期望方向优化。
- 关键作用:奖励是强化学习的“指南针”,直接影响模型学习策略的质量。
- 段落中的设计: DeepSeek-R1-Zero采用基于规则的奖励系统,包含两类奖励:准确性奖励和格式奖励,避免依赖神经奖励模型。
2. 奖励的构成与公式
(1) 准确性奖励(Correctness Reward)
- 定义:评估模型输出答案的正确性,通过预定义规则或外部验证工具(如编译器)计算。
- 公式:
- 数学问题:若答案正确,奖励 r correct = 1 r_{\text{correct}}=1 rcorrect=1;否则 r correct = 0 r_{\text{correct}}=0 rcorrect=0。
- LeetCode问题:根据测试用例通过比例计算奖励,例如通过全部用例则 r correct = 1 r_{\text{correct}}=1 rcorrect=1,通过一半则 r correct = 0.5 r_{\text{correct}}=0.5 rcorrect=0.5。
- 示例:
问题:解方程 3x + 5 = 20,要求答案放在方框内(如\boxed{5})。
模型输出:
\quad<think>
\quad \quad步骤1:3x = 20 - 5 → 3x = 15
\quad \quad步骤2:x = 15 / 3 → x = 5
\quad</think>
答案:\boxed{5}
- 验证:答案正确且格式符合要求 → r correct = 1 r_{\text{correct}}=1 rcorrect=1。
(2) 格式奖励(Format Reward)
- 定义:强制模型遵守输出格式规范(如将思考过程包裹在
<think>
标签内)。- 公式:
- 若格式完全符合要求,奖励 r format = 1 r_{\text{format}}=1 rformat=1;否则 r format = 0 r_{\text{format}}=0 rformat=0。
- 也可根据违规程度分段奖励(如缺少一个标签 → r format = 0.5 r_{\text{format}}=0.5 rformat=0.5)。
- 示例:
模型输出:
\quad<think>
\quad \quad步骤1:计算3x = 20 - 5
\quad \quad步骤2:x = 15 / 3
\quad</think>
答案:5
- 问题:答案未放入方框 → r format = 0 r_{\text{format}}=0 rformat=0。
(3) 总奖励计算 总奖励是两类奖励的加权和: r total = α ⋅ r correct + ( 1 − α ) ⋅ r format r_{\text{total}} = \alpha \cdot r_{\text{correct}} + (1-\alpha) \cdot r_{\text{format}} rtotal=α⋅rcorrect+(1−α)⋅rformat
- 其中 α \alpha α 是超参数(例如 α = 0.8 \alpha=0.8 α=0.8,更重视准确性)。
3. 为何舍弃神经奖励模型?
奖励破解(Reward Hacking)
- 定义:模型通过利用奖励函数的漏洞获得高奖励,而非真正解决问题。
- 示例:
- 神经奖励模型可能偏好“看似合理但实际错误”的答案(例如长篇大论但逻辑混乱的解题步骤)。
- 模型学会生成符合奖励模型偏好但无意义的输出(例如重复关键词“正确”以骗取奖励)。
段落中的选择
- 基于规则的奖励:
- 优点:透明、稳定、无需额外训练。
- 缺点:灵活性较低,仅适用于规则明确的任务(如数学、代码)。
- 神经奖励模型:
- 缺点:
- 需要大量标注数据训练,成本高。
- 容易过拟合或出现奖励破解。
- 重新训练模型会复杂化流程(需迭代调整奖励模型和策略模型)。
4. 具体案例解析
案例1:数学问题奖励计算
- 输入问题: “一个篮子里有12个苹果,小明拿走了3个,小红又放入5个,现在有多少个苹果?”
- 模型输出A:
\quad<think>
\quad \quad步骤1:12 - 3 = 9
\quad \quad步骤2:9 + 5 = 14
\quad</think>
答案:\boxed{14}
- 奖励: r correct = 1 r_{\text{correct}}=1 rcorrect=1, r format = 1 r_{\text{format}}=1 rformat=1 → r total = 1 r_{\text{total}}=1 rtotal=1(假设 α = 0.8 \alpha=0.8 α=0.8)。
- 模型输出B:
\quad<think>
\quad \quad步骤1:12 + 5 = 17
\quad</think>
答案:17
- 奖励: r correct = 0 r_{\text{correct}}=0 rcorrect=0(答案错误), r format = 0.5 r_{\text{format}}=0.5 rformat=0.5(答案未放入方框) → r total = 0.4 r_{\text{total}}=0.4 rtotal=0.4。
案例2:LeetCode问题奖励计算
- 题目:编写一个函数,返回数组中的最大值。
- 模型输出A:
def find_max(arr):
\quadreturn max(arr)
- 测试用例:通过全部用例 → r correct = 1 r_{\text{correct}}=1 rcorrect=1,格式正确 → r total = 1 r_{\text{total}}=1 rtotal=1。
- 模型输出B:
def find_max(arr):
\quadmax_val = arr[0]
\quadfor num in arr:
\quad \quadif num > max_val:
\quad \quad \quadmax_val = num
\quadreturn max_val
- 测试用例:通过全部用例 → r correct = 1 r_{\text{correct}}=1 rcorrect=1,但代码冗长 → 不影响奖励(基于规则的奖励不评估代码风格)。
5. 奖励建模的优缺点对比
方法 优点 缺点 基于规则的奖励 透明、稳定、计算成本低 仅适用于规则明确的任务 神经奖励模型 可处理复杂语义(如文本生成质量) 易奖励破解、训练成本高
总结
- 奖励设计原则:
- 明确性:奖励规则需清晰无歧义(如数学答案必须放入方框)。
- 可验证性:通过自动化工具(如编译器、公式解析器)快速验证。
- 防破解性:避免模型通过“作弊”获取奖励(如依赖格式而非实质内容)。
- DeepSeek-R1-Zero的创新: 通过基于规则的奖励系统,在数学、代码等结构化任务中实现高效、稳定的训练,避免神经奖励模型的复杂性和不稳定性。
- 适用场景:
- 规则明确的封闭任务(如数学解题、代码生成)。
- 需要快速迭代和低成本部署的场景。
2.2.3. 训练模板
为训练 DeepSeek-R1-Zero,我们首先设计了一个简单的模板来引导基础模型遵循指定的指令。如表1所示,该模板要求 DeepSeek-R1-Zero 首先生成推理过程,随后给出最终答案。我们有意将约束限制在结构格式层面,避免引入内容相关的偏向(例如强制要求反思性推理或推广特定解题策略),以确保能够准确观察模型在强化学习过程中的自然进化轨迹。
表1 | DeepSeek-R1-零的模板。在训练过程中将用具体的推理问题替换提示语
2.2.4. DeepSeek-R1-Zero 的性能、自我进化过程与突破性进展
DeepSeek-R1-Zero 的性能表现
图2展示了 DeepSeek-R1-Zero 在强化学习训练过程中于 AIME 2024 基准测试上的性能轨迹。如图所示,随着强化学习训练的推进,DeepSeek-R1-Zero 展现出稳定且持续的性能提升。值得注意的是,AIME 2024 的平均 pass@1 分数显著增长,从初始的 15.6% 跃升至惊人的 71.0%,达到与 OpenAI-o1-0912 相当的性能水平。这一显著改进凸显了我们的强化学习算法在持续优化模型性能方面的有效性。
图2 | 训练期间 DeepSeek-R1-Zero 的 AIME 准确率。我们对每个问题抽取 16 个回答,计算总体平均准确率,以确保评估的稳定性。
表2提供了 DeepSeek-R1-Zero 与 OpenAI 的 o1-0912 模型在多个推理相关基准测试中的对比分析。研究结果表明,强化学习使 DeepSeek-R1-Zero 无需任何监督微调数据即可获得强大的推理能力。这是一项值得注意的成就,因为它证明了模型仅通过强化学习即可有效学习和泛化的能力。此外,通过应用多数投票机制,DeepSeek-R1-Zero 的性能可进一步提升。例如,在 AIME 基准测试中使用多数投票机制后,DeepSeek-R1-Zero 的性能从 71.0% 提升至 86.7%,从而超越了 OpenAI-o1-0912 的表现。DeepSeek-R1-Zero 在有无多数投票机制下均展现出的竞争力,突显了其强大的基础能力及其在推理任务中进一步发展的潜力。
表2 | DeepSeek-R1-Zero 与 OpenAI o1 模型在推理相关基准上的比较。
DeepSeek-R1-Zero的自我进化过程
DeepSeek-R1-Zero的自我进化过程是一个迷人的展示,展示了强化学习如何驱动模型自发地提高其推理能力。通过直接从基础模型启动强化学习,我们可以在没有监督微调阶段影响的情况下,密切监控模型的进展。这种方法提供了一个清晰的视角,展示了模型如何随时间演变,特别是在处理复杂推理任务的能力方面。
如图3所示,DeepSeek-R1-Zero的思考时间在整个训练过程中持续改善。这一改善并非外部调整的结果,而是模型内部的自发发展。DeepSeek-R1-Zero通过利用扩展的测试时计算,逐渐获得了解决日益复杂推理任务的能力。这一计算范围从生成数百到数千个推理标记,允许模型在更深层次上探索和完善其思维过程。
这一自我进化过程最显著的方面之一是随着测试时计算的增加,复杂行为的出现。诸如反思——即模型回顾并重新评估其之前的步骤——以及探索替代问题解决方法的行为自发出现。这些行为并不是显式编程的,而是模型与强化学习环境互动的结果。这种自发的发展显著增强了DeepSeek-R1-Zero的推理能力,使其能够以更高的效率和准确性处理更具挑战性的任务。
图3 | 推理过程中 DeepSeek-R1-Zero 在训练集上的平均响应时间。DeepSeek-R1-Zero 自然而然地学会了用更多的思考时间来解决推理任务。
DeepSeek-R1-Zero的“顿悟”时刻
在DeepSeek-R1-Zero的训练过程中,观察到一个特别有趣的现象,即发生了一个“顿悟”时刻。如表3所示,这一时刻出现在模型的一个中间版本中。在这个阶段,DeepSeek-R1-Zero通过重新评估最初的方法,学会了为问题分配更多的思考时间。这一行为不仅证明了模型推理能力的不断增长,而且也生动地展示了强化学习如何导致意想不到且复杂的结果。
这一时刻不仅是模型的“顿悟时刻”,也是观察其行为的研究人员的“顿悟时刻”。它强调了强化学习的力量和美妙之处:我们并不是明确地教导模型如何解决问题,而是简单地为它提供正确的激励,模型便能自主发展出先进的解决问题的策略。“顿悟时刻”强有力地提醒我们,强化学习具有释放人工系统新智能层次的潜力,为未来更加自主和适应性的模型铺平了道路。
表3 | DeepSeek-R1-Zero中间版本的一个有趣的“顿悟时刻”。模型学会了使用拟人化的语气进行重新思考。这对我们来说也是一个顿悟时刻,让我们见证了强化学习的力量和美妙。
DeepSeek-R1-Zero的缺点
尽管DeepSeek-R1-Zero展示了强大的推理能力并自主发展出了意想不到且强大的推理行为,但它仍面临一些问题。例如,DeepSeek-R1-Zero在可读性差和语言混合等方面存在困难。为了使推理过程更加可读,并将其与开放社区共享,我们探索了DeepSeek-R1,这是一种利用强化学习与人类友好的冷启动数据的方法。