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

DeepSeek-R1学习

摘要

推出了第一代推理模型reasoning model:DeepSeek-R1-Zero and DeepSeek-R1。Zero版预训练之后没有SFT,而是直接进行RL训练,其表现出强大的推理能力,但是存在可读性较差,语言混杂的问题。为了处理这个问题,并进一步增强性能,推出DeepSeek-R1,其在RL之前使用了多阶段训练和冷启数据,实现与OpenAI-o1-1217可比的性能,并使用R1蒸馏了Qwen和LLama的小模型。

1. 引言

post-training已经是大模型全链路训练pipeline的重要组件,它可以改进任务的准确率、对齐社会价值、适配用户偏好。open AI的o1模型首次介绍了推理时间scale,通过增加思维链推理过程的长度,这种方法显著改进了各种推理任务的能力,例如数学、code、科学推理。然而有效的测试时间scale仍然是研究社区的开放性问题。先前的工作探索了各种方法:基于过程的奖励模型、RL、蒙特卡诺树搜索和beam search等搜索算法。然而这些方法没有一个能实现与OpenAI o1类似的性能。

(介绍R1-Zero)
本文中,在第一步仅使用RL改进语言模型的推理能力,目标是在不使用任何监督数据,而是仅通过纯RL过程关注自身进化的情况下 来 探索LLM产生推理能力的潜力。具体地,使用DeepSeek-V3-Base作为base模型,使用DeepSeekMath中提出的GRPO作为强化学习框架来改进推理性能。训练中,DeepSeek-R1-Zero自然涌现出各种强大和有趣的推理行为。在几千个RL step后,在推理benchmark上展现出优异性能,例如在AIME 2024上的pass@1分数从15.6%增加到71.0%,如果继续使用多数投票,可以进一步提升到86.7%,与o1性能接近。

(介绍DeepSeek-R1:两个SFT过程和GRPO过程)
在这里插入图片描述

然而R1-Zero存在可读性差和语言混乱等问题,为解决这些问题并进一步增强推理性能,我们推出了DeepSeek-R1,其融入了少量冷启动数据和多阶段训练pipeline。具体地,

  1. 首先收集了几千条冷启数据来微调DeepSeek-V3-Base模型【SFT-1】。
  2. 之后,执行GRPO过程(为了产生SFT数据)【GRPO-1】,直到近似收敛,使用RL checkpoint执行拒绝采样得到数据,并联合DeepSeek-V3的监督数据共同组成了一个SFT数据集。
  3. 使用SFT数据微调后【SFT-2】,继续使用额外的RL过程【GRPO-1】,考虑所有场景的提示。

这些步骤之后,得到DeepSeek-R1。
PS:直接GRPO会有问题,于是前置执行SFT,SFT数据哪里来,V3的数据和另一个RL训练模型拒绝采样的数据(全部数据已经提到会有R1-Zero存在的问题,因此需要过滤)

进一步探索对更小稠密模型的蒸馏。以Qwen2.5-32B作为base,使用R1直接蒸馏比应用RL好,这说明更大模型学得的推理模式能改进小模型的推理能力(相比与直接RL,更能改进)。值得注意,蒸馏的14B打败了开源SOTA的QwQ-32B-Preview。

1.1 贡献

后训练:base模型上的大规模强化学习

  • 对base模型直接使用RL而不依赖SFT作为初始步。使用这种方法探索模型解决复杂问题的思维链,并产生DeepSeek-R1-Zero。该模型证实了有自验证、反思、产生长思维链的能力,这是开源社区的重要里程碑。值得注意地,它是第一个开源研究来验证LLM的推理能力可以被纯RL激发。
  • 介绍了产生DeepSeek-R1的流水线,其融合了两个RL阶段旨在改进推理模式和对齐人类偏好,两个SFT阶段作为模型推理能力和非推理能力的种子。

蒸馏:小模型也可以很强大

  • 证实了大模型的推理模式可以蒸馏进更小的模型,相比直接在小模型上使用RL,可以实现更好的性能。
  • 使用R1产生的推理数据,微调了几个dense模型,推理性能均有大幅提升。
1.2 评估结果总结

各种推理benchmark和知识benchmark上的结果。。
其他:各种任务上均有不错性能,AlpacaEval 2.0评测平台上胜率87.6%

2. 方法论

2.1 总览

之前的工作严重依赖大量的监督数据来增强模型性能,而本研究证实推理能力可以通过大规模强化学习显著改进,甚至不需要SFT作为冷启。此外,性能可以进一步强化通过融入一小部分冷启数据。接下来介绍 (1) DeepSeek-R1-Zero,直接对base模型使用使用RL而不使用任何SFT数据;(2) DeepSeek-R1,先从几千条长思维链样本微调模型,随后使用RL;(3) 将R1的推理能力蒸馏到小的dense模型。

2.2 DeepSeek-R1-Zero:base模型上的强化学习

RL已经被证实在推理任务中有显著的有效性,我们之前的工作就是一个证明。然而这些工作严重依赖需要耗时收集的监督数据。在本节中我们不借助任何监督数据,而是通过纯强化学习的自进化 来 探索LLM显现推理能力的潜能。我们先从RL算法的简要概述开始,随后展示令人兴趣的结果,希望这些能给社区提供有价值的见解。

2.2.1 强化学习算法

Group Relative Policy Optimization组相对策略优化。为了节省RL的训练开销,我们采用GRPO,其放弃了一般和策略模型一样大小的Critic模型,取而代之的是使用组内分数评估基线。
待补充GRPO与PPO的差异、策略模型的优化目标。基本原理:样本奖励减去组内奖励均值,并除以标准差来替换PPO中使用的GAE。

2.2.2 奖励模型

奖励是训练信号的来源,决定着RL的优化方向。为了训练DeepSeek-R1-Zero,我们采用了一种基于规则的奖励系统,其主要包含两种类型的奖励:

  • 准确性奖励:准确性奖励模型评估回复是否是正确的。例如,在具体确定性结果的数学问题中,模型需要以一种特定的格式(例如在方框内)提供最终的结果,从而能够通过可靠的基于规则的方法验证答案的正确性。类似地,对于LeetCode编程问题,基于测试样例,编译器可以被用了产生反馈。
  • 格式奖励:正确性奖励模型之外,我们应用格式奖励模型使得模型把它的思考过程放在标签<think></think>之间。
    在开发DeepSeek-R1-Zero的过程中,我们没有应用结果或过程的神经奖励模型,因为我们发现神经奖励模型可能在大规模强化学习过程中遭遇奖励黑客问题,并且再训练一个奖励模型需要额外的训练资源,也会让整个训练流程变得复杂。
2.2.3 训练模版

为了训练DeepSeek-R1-Zero,我们首先设计了一个直接的模板来指导base遵循特定的指令。如表1所示,此模板要求R1-Zero模型先产生推理过程,随后才是最终回答。
A conversation between User and Assistant. The user asks a question, and the Assistant solves it. The assistant first thinks about the reasoning process in the mind and then provides the user with the answer. The reasoning process and answer are enclosed within   and   tags, respectively, i.e.,  reasoning process here   answer here . User: prompt. Assistant:
我们故意将约束限制在这种结构化格式内,从而避免任何与内容相关的偏见——例如强制要求进行反思性推理或提倡特定的解决问题策略——以确保我们能够准确观察模型在强化学习过程中的自然进展。

2.2.4 DeepSeek-R1-Zero 的性能、自我进化过程与“顿悟时刻”Aha Moment

性能
图2描绘了R1-Zero在AIME 2024基准上的RL训练过程的性能轨迹曲线。如展示的那样,随着RL训练推进,R1-Zero有着稳定且持续的性能增强。值得注意地, AIME 2024上的pass@1均分显示了显著的增加,从最初的15.6%跳跃到71.0%,达到了Open-AI-o1-0912相近的性能水准。这一显著提升突显了我们RL算法在持续优化模型方面的有效性。
表2提供了DeepSeek-R1-Zero和OpenAI o1在一系列推理相关的基准上的对比分析。研究结果表明,RL赋予DeepSeek-R1-Zero获得鲁棒的推理能力,而不需要监督微调数据。这是一个值得关注的成就,因为它突显了仅通过RL即能有效学习和泛化的模型能力。此外,通过多数投票的方法,R1-Zero的性能还能进一步增强。例如,当在AIME 2024基准上运用多数投票,R1-Zero的性能从71.0%提升到86.7%,因此超越了o1的性能。无论是否使用多数投票,R1-Zero取得如此有竞争力的能力,这凸显了其强大的基础能力以及在推理任务中进一步发展的潜力。
自进化过程
DeepSeek-R1-Zero的自进化过程是惊奇地演示了RL如何驱使模型自动改进它的推理能力。通过从base模型直接启动RL,我们可以监控模型的进步过程而不受监督微调阶段的影响。这种方法提供了清晰的视角关于模型如何随着时间进化,尤其是关于处理复杂推理任务的能力。
如图3所示,DeepSeek-R1-Zero的思考时间在整个训练过程中持续的增加。这个改进不是外部调整的结果,而是源自模型内部的内驱演变。R1-Zero需要通过充分利用扩展测试时间计算,自然地获得了解决日益增长的复杂推理任务的能力。这个计算包含从几百到几千个推理token,允许模型更深入地探索和完善其思维过程。
自进化最引人注目的一个方面是随着测试时间计算的增加而涌现的复杂行为。例如反思行为,即模型回顾并重新评估之前的步骤、探索解决问题的可替代方法,会自发出现。这些行为不是显示程序设置,而是模型与强化学习环境交互所涌现的结果。这种自发的演化显著增强了R1-Zero的推理能力,使得它能以更高的效率和准确性处理更具挑战性的任务。
顿悟时刻
在R1-Zero训练过程中观察到一个十分有趣的现象,即顿悟时刻的出现。表3展示了这一时刻,它出现在模型的中间版本。在这个阶段,R1-Zero学习到通过重新评估它的最初方法来分配问题更多的思考时间。这种行为不仅证明了模型日益增强的推理能力,也是强化学习如何带来意外且复杂结果的一个令人惊喜的例子。
这一时刻不仅是模型的顿悟时刻,也是研究人员观察模型行为的顿悟时刻。它突显了RL的力量和美妙:我们无需显式教模型如何解决问题,而是给它提供正确的激励,它将自动发展出高级的问题解决策略。“顿悟时刻”有力地提醒我们,强化学习在解锁人工智能系统新层次的智能方面具有巨大潜力,为未来更加自主和适应性强的模型铺平了道路。

缺陷
尽管R1-Zero展现出强大的推理能力,并发展出意外且强大的推理行为,它也存在几个问题。例如,R1-Zero可读性差且语言混乱。为了使推理过程更加可读,并与开放社区共享,我们探索了DeepSeek-R1,一种带人类友好的冷启数据使用RL的方法。

2.3 DeepSeek-R1:带冷启的强化学习

受DeepSeek-R1-Zero令人惊喜的结果的启发,引出两个自然的问题:
1)是否可以通过引入少量高质量数据作为冷启来进一步改进推理性能或加速收敛?
2)我们如何才能训练出一个用户友好的模型,它不仅能够生成清晰且连贯的思维链(Chains of Thought, CoT),还能展现出强大的通用能力?
为了处理这些问题,我们设计了一个流水线来训练DeepSeek-R1。流水线包含四个阶段,罗列如下。

2.3.1 冷启

不像DeepSeek-R1-Zero,为了防止从base模型的RL训练出现早期不稳定的冷启动阶段,对于DeepSeek-R1,我们构建并收集了少量长思维链数据来微调base模型作为初始的RL actor(ps:少数据微调后得到的模型作为后续RL训练的起点/初始模型,所谓RL actor就是策略模型)。为了收集这样的数据,我们已经探索了几种方法:

  1. 使用带有长思维链作为作为样例的少样本提示
  2. 直接提示模型(R1-Zero?)生成带有反思和验证的详细答复;
  3. 以可读的格式收集DeepSeek-R1-Zero的输出
  4. 并通过人工标注者的后处理对结果进行精炼

(以上似乎是一种方法的pipeline,毕竟有前后连接和递进关系)
在本工作中,我们收集了几千条冷启数据来微调DeepSeek-V3-Base作为RL的起点。与R1-Zero相比,冷启数据的优势包括:

  • 可读性:R1-Zero的一个关键限制是它的内容经常不适合阅读。回复可能混合多种语言或缺少markdown格式来为用户强调答案。相反,当为R1创造冷启数据,我们在每个回复的末尾设计了包含总结的可读格式,并过滤掉那些用户不友好的回复。此处我们定义输出格式为|special_token|<reasoning_process>|special_token|<summary>,reasoning process是query的思维链,summary用来总结推理结果。
  • Potential:通过精心地设计带有人类先验的冷启数据模板,我们观察到相比于R1-Zero的更好的性能。我们相信对于推理模型而言这种迭代训练是更好的方式
2.3.2 推理导向的强化学习

未完待续

PS

  • 直接使用RL,能够提升推理能力,一个佐证是,R1-Zero在训练过程中,思考时间在不断增加,即思维链长度在增加。
  • 顿悟时刻
    不需要显示教模型解决问题,而是通过RL,模型能自发学习出更高级的问题解决方案。

R1:训练pipeline:直接RL训练会早期不稳定,几千条冷启数据(R1-Zero的输出和修改)微调V3-Base作为RL的起点。


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

相关文章:

  • 如何用Python IP归属地查询API追踪网络活动?
  • 一周学会Flask3 Python Web开发-SQLAlchemy查询所有数据操作-班级模块
  • Ubuntu上部署Flask+MySQL项目
  • Redis 的特点
  • 兄弟们,不会服务器繁忙的DeepSeek R1/V3真满血版来了,支持网页版和API接入,免费500万tokens吃到饱,绝绝子!!!
  • 【Linux我做主】浅谈Shell及其原理
  • 学习 TensorFlow Lite 和 LSTM 时序模型的系统化路径
  • 低空经济腾飞:无人机送货、空中通勤,未来已来
  • 主流区块链
  • 芯谷78M05:三端正电压调节器的稳定之选
  • Redis调优:从老牛车到磁悬浮的飙车指南
  • 【北上广深杭大厂AI算法面试题】人工智能大模型篇...矩阵乘法GEMM!以及为什么说GEMM是深度学习的核心?
  • PDF处理控件Aspose.PDF教程:如何使用 C#、Java 和 Python 自动将 JPG 合并为 PDF
  • 数据结构(二)——顺序表
  • 下载指定版本的transformers
  • Django 发送邮件功能详解
  • Java 单例模式与线程安全
  • Java多线程与高并发专题——ThreadLocal 是用来解决共享资源的多线程访问的问题吗?
  • HTML 颜色名:网页色彩世界的基石
  • 深入理解 HTML 中的统一资源定位器(URL)