当前位置: 首页 > article >正文

DeepSeek-R1 论文笔记:通过强化学习提升大语言模型的推理能力

论文标题: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) 中生成样本。它的步骤如下:

  1. 选择一个提议分布 q ( x ) q(x) q(x):这个分布应该易于采样,并且与目标分布 p ( x ) p(x) p(x) 尽可能接近。
  2. 确定一个常数 M M M:使得 M ⋅ q ( x ) M \cdot q(x) Mq(x) 始终大于或等于 p ( x ) p(x) p(x)(即 M ⋅ q ( x ) ≥ p ( x ) M \cdot q(x) \geq p(x) Mq(x)p(x) 对所有 x x x 成立)。
  3. 生成样本
    • q ( x ) q(x) q(x) 中采样一个候选样本 x x x
    • 计算接受概率 α = p ( x ) M ⋅ q ( x ) \alpha = \frac{p(x)}{M \cdot q(x)} α=Mq(x)p(x)
    • 以概率 α \alpha α 接受样本 x x x,否则拒绝。
  4. 重复采样:直到获得足够数量的样本。

拒绝采样的直观理解

拒绝采样可以类比为“抛硬币”:

  • 提议分布 q ( x ) q(x) q(x):类似于一个“筛子”,用于生成候选样本。
  • 接受概率 α \alpha α:类似于“硬币的正反面”,决定是否保留样本。
  • 常数 M M M:确保“筛子”足够大,能够覆盖目标分布。

通过这种方式,拒绝采样可以生成符合目标分布的样本,即使目标分布本身难以直接采样。


拒绝采样在SFT数据生成中的应用

在深度学习中,拒绝采样常用于从模型的输出分布中筛选高质量的样本,以生成更可靠的训练数据。具体到你的场景:

  1. 目标分布 p ( x ) p(x) p(x):高质量的SFT数据分布(如符合事实的问答、逻辑清晰的写作等)。
  2. 提议分布 q ( x ) q(x) q(x):RL模型的输出分布(如DeepSeek-V3的生成结果)。
  3. 接受概率 α \alpha α:根据样本的质量(如事实准确性、逻辑一致性)决定是否接受。

具体步骤

  1. 从RL模型生成候选样本:使用RL模型(如DeepSeek-V3)生成大量候选样本。
  2. 评估样本质量:通过人工标注或自动化评估(如事实检查、逻辑评分)计算每个样本的接受概率。
  3. 接受或拒绝样本:根据接受概率保留高质量样本,丢弃低质量样本。
  4. 生成SFT数据:将接受的样本与现有的监督数据(如写作、事实问答、自我认知数据)结合,形成新的SFT数据集。
  5. 重新训练模型:在新的SFT数据上微调DeepSeek-V3-Base模型。

核心研究目标

探索如何通过强化学习(RL)直接提升大语言模型(LLM)的推理能力,减少对监督微调(SFT)的依赖,并通过蒸馏技术将大模型的推理能力迁移到小模型。


关键贡献

  1. 纯强化学习模型 DeepSeek-R1-Zero

    • 无需监督微调:直接在基础模型(DeepSeek-V3-Base)上应用强化学习(GRPO算法),模型通过自我进化发展出复杂推理行为(如自我验证、长链思维)。
    • 性能表现:在AIME 2024数学竞赛中,Pass@1从15.6%提升至71.0%(多数投票后达86.7%),与OpenAI-o1-0912相当。
    • 局限性:输出可读性差、语言混合(如中英文混杂)。
  2. 改进版模型 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%。
  3. 蒸馏技术

    • 小模型性能提升:将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。

方法与技术细节

  1. 强化学习框架

    • GRPO算法:通过组内基线估计替代传统Critic模型,降低训练成本(公式见原文)。
    • 奖励设计
      • 准确性奖励:基于规则验证(如数学答案格式、编程测试用例)。
      • 格式奖励:强制模型输出结构化标签。
  2. 冷启动与多阶段训练

    • 冷启动数据:人工设计可读性模板(如<reasoning_process><summary>),过滤低质量输出。
    • 两阶段RL + SFT
      • 第一阶段:冷启动微调后应用推理导向的RL。
      • 第二阶段:通过拒绝采样生成SFT数据,结合非推理任务(写作、翻译)微调,再执行多场景RL对齐。
  3. 蒸馏策略

    • 直接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在语言模型中的实际应用价值,尤其是在需要高质量生成和复杂推理的任务中。


局限性与未来方向

  1. 当前局限

    • 通用能力不足:在函数调用、多轮对话等任务上弱于DeepSeek-V3。
    • 语言混合:优化多语言场景下的输出一致性。
    • 提示敏感性:零样本效果优于少样本,需优化提示工程。
  2. 未来计划

    • 扩展长链思维应用:探索复杂角色扮演、JSON输出等任务。
    • 异步评估优化:提升软件工程任务的RL训练效率。

开源与影响

  • 开源模型:包括DeepSeek-R1-Zero、DeepSeek-R1及1.5B至70B的蒸馏模型(基于Qwen和Llama)。
  • 社区价值:验证纯强化学习在推理任务中的潜力,为小模型高效蒸馏提供新思路。

总结:DeepSeek-R1通过强化学习与蒸馏技术,在推理任务上达到顶尖水平,为LLM的自我进化与能力迁移提供了重要实践参考。


http://www.kler.cn/a/569356.html

相关文章:

  • 【Zinx】Day1:初始 Zinx 框架
  • Pandas使用教程 - Pandas 与 Web API 交互
  • 什么是 MGX:MetaGPT
  • C++11特性(笔记一)
  • C++:vector的push_back时间复杂度分析
  • Qt的坐标
  • 手机打电话时如何识别对方按下的DTMF按键的字符-安卓AI电话机器人
  • Java中用Map<String,Object>存储层次结构
  • 力扣1584. 连接所有点的最小费用
  • 使用Docker Compose部署 MySQL8
  • Win32 C++ 电源计划操作
  • Java+Vue+uniapp微信小程序校园自助打印系统(程序+论文+讲解+安装+调试+售后)
  • 阿里管理三板斧课程和管理工具包(视频精讲+工具文档).zip
  • vue3+ts+uniapp+unibest 微信小程序(第二篇)—— 图文详解自定义背景图页面布局、普通页面布局、分页表单页面布局
  • 矩阵的奇异值(SVD)分解和线性变换
  • 11.24 SpringMVC(1)@RequestMapping、@RestController、@RequestParam
  • leetcode:2164. 对奇偶下标分别排序(python3解法)
  • [代码规范]接口设计规范
  • uni.getLocation 微信小程序中获取位置失败原因
  • spring注解开发(Spring整合JUnit+MyBatis)(7)