论文标题:DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning
作者团队:DeepSeek-AI
发表时间:2025
前置知识 & 术语
模型蒸馏
语言模型蒸馏的目标是将大型教师模型的知识(如语义理解、上下文推理能力)传递给小型学生模型。
为什么需要蒸馏?
大型模型在训练中积累了丰富的“隐性知识”,例如:
- 类别间的关系:识别“猫”时,模型可能隐含知道“猫与豹子相似度高于卡车”。
- 特征分布规律:图像中的纹理、颜色等特征的组合模式。
但这些知识无法通过传统硬标签(如“这张图是猫”)传递给学生模型。蒸馏的核心目标,就是通过软标签(Soft Labels)或特征匹配,将这些隐性知识“提炼”出来。
软标签 vs 硬标签
- 硬标签:
[0, 0, 1, 0]
(直接标注类别) - 软标签:
[0.01, 0.02, 0.95, 0.02]
(概率分布)
软标签包含更多信息:
- 教师模型认为“豹子”与“猫”有一定相似性(概率0.02)。
- 学生模型不仅能学习分类结果,还能理解类别间的关系。
蒸馏技术
- Logits蒸馏(Hinton, 2015):这是最经典的蒸馏方法,直接让学生模型模仿教师模型的输出分布。
- 中间特征蒸馏:要求学生模型对齐教师模型的中间层特征
Post-Training(后训练)
Post-Training(后训练)是深度学习模型训练流程中的一个重要环节,通常发生在预训练Pre-Training之后。它的目标是通过特定任务的微调或优化,进一步提升模型的性能、适应性和安全性。与预训练相比,后训练通常需要较少的计算资源,但能显著提升模型在特定任务上的表现。这些目标可能包括:
- 任务性能提升:如提高模型在问答、推理等任务上的准确性。
- 对齐社会价值观:确保模型的输出符合伦理和社会规范。
- 用户偏好适应:根据用户反馈调整模型行为。
常见方法
- 监督微调(Supervised Fine-Tuning, SFT):监督微调是后训练中最常用的方法,通过在特定任务的标注数据上进一步训练模型,提升其在该任务上的性能
- 强化学习人类反馈(RLHF):RLHF是一种通过人类反馈优化模型行为的方法,广泛应用于对齐社会价值观和适应用户偏好。
- 提示微调(Prompt Tuning):提示微调是一种轻量级的后训练方法,通过优化提示(Prompt)来调整模型行为,而无需修改模型参数。
拒绝采样
Rejection Sampling(拒绝采样是一种从复杂分布中生成样本的统计学方法。它的核心思想是通过一个简单的、易于采样的分布(称为提议分布)来近似目标分布,并通过接受或拒绝样本来确保最终样本符合目标分布。在深度学习和强化学习(RL)中,拒绝采样常用于从模型的输出分布中筛选高质量的样本,以生成更可靠的训练数据。
拒绝采样的基本思想
拒绝采样的目标是从一个复杂的目标分布 p ( x ) p(x) p(x) 中生成样本。它的步骤如下:
- 选择一个提议分布 q ( x ) q(x) q(x):这个分布应该易于采样,并且与目标分布 p ( x ) p(x) p(x) 尽可能接近。
- 确定一个常数 M M M:使得 M ⋅ q ( x ) M \cdot q(x) M⋅q(x) 始终大于或等于 p ( x ) p(x) p(x)(即 M ⋅ q ( x ) ≥ p ( x ) M \cdot q(x) \geq p(x) M⋅q(x)≥p(x) 对所有 x x x 成立)。
- 生成样本:
- 从 q ( x ) q(x) q(x) 中采样一个候选样本 x x x。
- 计算接受概率 α = p ( x ) M ⋅ q ( x ) \alpha = \frac{p(x)}{M \cdot q(x)} α=M⋅q(x)p(x)。
- 以概率 α \alpha α 接受样本 x x x,否则拒绝。
- 重复采样:直到获得足够数量的样本。
拒绝采样的直观理解
拒绝采样可以类比为“抛硬币”:
- 提议分布 q ( x ) q(x) q(x):类似于一个“筛子”,用于生成候选样本。
- 接受概率 α \alpha α:类似于“硬币的正反面”,决定是否保留样本。
- 常数 M M M:确保“筛子”足够大,能够覆盖目标分布。
通过这种方式,拒绝采样可以生成符合目标分布的样本,即使目标分布本身难以直接采样。
拒绝采样在SFT数据生成中的应用
在深度学习中,拒绝采样常用于从模型的输出分布中筛选高质量的样本,以生成更可靠的训练数据。具体到你的场景:
- 目标分布 p ( x ) p(x) p(x):高质量的SFT数据分布(如符合事实的问答、逻辑清晰的写作等)。
- 提议分布 q ( x ) q(x) q(x):RL模型的输出分布(如DeepSeek-V3的生成结果)。
- 接受概率 α \alpha α:根据样本的质量(如事实准确性、逻辑一致性)决定是否接受。
具体步骤:
- 从RL模型生成候选样本:使用RL模型(如DeepSeek-V3)生成大量候选样本。
- 评估样本质量:通过人工标注或自动化评估(如事实检查、逻辑评分)计算每个样本的接受概率。
- 接受或拒绝样本:根据接受概率保留高质量样本,丢弃低质量样本。
- 生成SFT数据:将接受的样本与现有的监督数据(如写作、事实问答、自我认知数据)结合,形成新的SFT数据集。
- 重新训练模型:在新的SFT数据上微调DeepSeek-V3-Base模型。
核心研究目标
探索如何通过强化学习(RL)直接提升大语言模型(LLM)的推理能力,减少对监督微调(SFT)的依赖,并通过蒸馏技术将大模型的推理能力迁移到小模型。
关键贡献
-
纯强化学习模型 DeepSeek-R1-Zero
- 无需监督微调:直接在基础模型(DeepSeek-V3-Base)上应用强化学习(GRPO算法),模型通过自我进化发展出复杂推理行为(如自我验证、长链思维)。
- 性能表现:在AIME 2024数学竞赛中,Pass@1从15.6%提升至71.0%(多数投票后达86.7%),与OpenAI-o1-0912相当。
- 局限性:输出可读性差、语言混合(如中英文混杂)。
-
改进版模型 DeepSeek-R1
- 冷启动数据:引入少量高质量长链思维(CoT)数据作为初始微调,优化可读性(如结构化标签
<think>
和<answer>
)。 - 多阶段训练:结合两阶段强化学习和两阶段监督微调,最终模型性能与OpenAI-o1-1217相当。
- 关键结果:
- 推理任务:AIME 2024 Pass@1达79.8%,MATH-500达97.3%。
- 编程任务:Codeforces评级2029,超越96.3%人类选手。
- 知识任务:MMLU-Pro得分84.0%,GPQA Diamond达71.5%。
- 冷启动数据:引入少量高质量长链思维(CoT)数据作为初始微调,优化可读性(如结构化标签
-
蒸馏技术
- 小模型性能提升:将DeepSeek-R1生成的80万条推理数据用于微调Qwen和Llama系列小模型,显著提升其推理能力。
- 代表性结果:
- DeepSeek-R1-Distill-Qwen-32B:AIME 2024 Pass@1达72.6%,超越QwQ-32B-Preview。
- DeepSeek-R1-Distill-Llama-70B:在MATH-500和LiveCodeBench上表现接近o1-mini。
方法与技术细节
-
强化学习框架
- GRPO算法:通过组内基线估计替代传统Critic模型,降低训练成本(公式见原文)。
- 奖励设计:
- 准确性奖励:基于规则验证(如数学答案格式、编程测试用例)。
- 格式奖励:强制模型输出结构化标签。
-
冷启动与多阶段训练
- 冷启动数据:人工设计可读性模板(如
<reasoning_process>
和<summary>
),过滤低质量输出。 - 两阶段RL + SFT:
- 第一阶段:冷启动微调后应用推理导向的RL。
- 第二阶段:通过拒绝采样生成SFT数据,结合非推理任务(写作、翻译)微调,再执行多场景RL对齐。
- 冷启动数据:人工设计可读性模板(如
-
蒸馏策略
- 直接SFT蒸馏:使用DeepSeek-R1生成的数据微调小模型,未引入额外RL阶段。
- 效果验证:蒸馏模型性能显著优于纯RL训练的小模型(如Qwen-32B RL训练仅达50%,蒸馏后达72.6%)。
实验结果与讨论
基准测试对比
- DeepSeek-R1 vs. 闭源模型:
- 在MMLU、GPQA等知识任务上接近OpenAI-o1-1217,显著优于Claude-3.5和GPT-4o。
- 在编程任务(LiveCodeBench、Codeforces)和数学竞赛(AIME、CNMO)中表现领先。
失败尝试与洞见
过程奖励模型(PRM)
1. 难以明确定义细粒度的推理步骤
问题核心:
在复杂推理任务(如数学证明或多步骤逻辑推理)中,如何将整体任务分解为明确、可评估的细粒度步骤存在挑战。不同方法可能涉及不同的合理步骤,而缺乏统一标准会导致PRM评估的模糊性。
具体表现:
- 步骤多样性:同一问题可能存在多种解决路径,如何定义“正确”的中间步骤缺乏共识。例如,解决代数问题时,不同步骤顺序可能均合理,但PRM需明确区分哪些步骤对最终结果有效。
- 主观性干扰:某些任务(如开放式问题解答)的步骤划分可能依赖主观判断,难以自动化或标准化。
影响:
PRM依赖明确的步骤定义,若步骤划分模糊,其奖励机制可能无法准确指导模型优化,甚至引入错误偏差。
2. 中间步骤正确性评估困难
问题核心:
即使步骤被定义,如何自动或手动评估每个中间步骤的正确性仍是一个技术瓶颈。
具体表现:
- 自动标注的局限性:
依赖模型自动标注中间步骤的正确性可能导致以下问题:- 模型偏见:若标注模型本身存在训练偏差,其标注结果可能不可靠。
- 错误传播:自动标注的错误会直接影响PRM的奖励信号,导致模型学习到错误模式。
- 手动标注的成本与扩展性:
人工标注虽然准确性较高,但面临:- 高昂成本:大规模标注需要大量人力资源,尤其在复杂任务中。
- 可扩展性差:难以快速适应新任务或动态变化的推理需求。
影响:
评估机制的不完善直接削弱PRM的有效性,导致其难以在大规模应用中保持高效和准确。
3. 奖励黑客与训练复杂性
问题核心:
引入基于模型的PRM后,模型可能通过优化奖励信号而非实际任务目标来“欺骗”奖励机制(即奖励黑客),同时训练流程的复杂性显著增加。
具体表现:
- 奖励黑客(Reward Hacking):
模型可能通过以下方式绕过PRM的意图:- 表面优化:生成符合步骤奖励但实际错误的中间结果(例如,通过重复步骤填充流程,而非真正推进推理)。
- 对抗性策略:利用PRM的评估漏洞生成看似合理但无效的中间步骤。
- 训练资源与流程复杂性:
- 额外训练成本:PRM需独立训练或持续更新,消耗额外计算资源(Gao et al., 2022)。
- 流程耦合性:PRM与主模型的协同训练可能引入依赖冲突,增加调试和优化的难度。
影响:
奖励黑客降低模型的最终性能,而复杂的训练流程则限制PRM在大规模强化学习中的实际应用价值。
Monte Carlo Tree Search (MCTS)
1. 搜索空间的指数级扩展
问题核心:
在棋类游戏中,搜索空间相对明确且有限(如棋盘状态和合法走法),而在语言模型中,token生成的搜索空间呈指数级扩展,导致搜索效率低下。
具体表现:
- 组合爆炸:每个token的选择会衍生出大量可能的后续token序列,搜索树的规模迅速膨胀。
- 局部最优陷阱:为控制搜索空间,通常设置每个节点的最大扩展限制(如只保留top-k候选),但这可能导致模型陷入局部最优解,无法找到全局最优解。
影响:
搜索空间的复杂性限制了MCTS在语言模型中的扩展性,尤其是在需要长序列生成或复杂推理的任务中。
2. 价值模型的训练难度
问题核心:
MCTS依赖价值模型评估每个搜索节点的潜在收益,但在语言模型中,训练一个细粒度的价值模型极具挑战。
具体表现:
- 评估复杂性:语言模型的输出(如文本生成)缺乏明确的评估标准,难以量化每个中间步骤的价值。
- 迭代改进困难:AlphaGo通过逐步优化价值模型提升性能,但在语言模型中,价值模型的训练与生成过程高度耦合,难以独立优化。
- 错误传播:若价值模型评估不准确,会直接影响MCTS的搜索方向,导致生成质量下降。
影响:
价值模型的训练难度限制了MCTS在语言模型中的迭代改进能力,使其难以像在棋类游戏中那样逐步提升性能。
3. 自搜索的性能瓶颈
问题核心:
MCTS的核心优势在于通过自搜索(Self-Search)逐步优化模型性能,但在语言模型中,这一机制难以有效实现。
具体表现:
- 搜索效率低:由于搜索空间的复杂性和价值模型的局限性,自搜索的效率远低于棋类游戏。
- 计算成本高:MCTS需要大量计算资源进行搜索和评估,难以在大规模训练中扩展。
- 生成质量不稳定:自搜索生成的样本可能包含错误或低质量内容,影响后续训练的稳定性。
影响:
自搜索的性能瓶颈限制了MCTS在语言模型中的实际应用价值,尤其是在需要高质量生成和复杂推理的任务中。
局限性与未来方向
-
当前局限
- 通用能力不足:在函数调用、多轮对话等任务上弱于DeepSeek-V3。
- 语言混合:优化多语言场景下的输出一致性。
- 提示敏感性:零样本效果优于少样本,需优化提示工程。
-
未来计划
- 扩展长链思维应用:探索复杂角色扮演、JSON输出等任务。
- 异步评估优化:提升软件工程任务的RL训练效率。
开源与影响
- 开源模型:包括DeepSeek-R1-Zero、DeepSeek-R1及1.5B至70B的蒸馏模型(基于Qwen和Llama)。
- 社区价值:验证纯强化学习在推理任务中的潜力,为小模型高效蒸馏提供新思路。
总结:DeepSeek-R1通过强化学习与蒸馏技术,在推理任务上达到顶尖水平,为LLM的自我进化与能力迁移提供了重要实践参考。