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

DeepSeek-R1:开源Top推理模型的实现细节、使用与复现

核心观点

● 直接用强化学习就可以让模型获得显著的推理能力,说明并不一定需要SFT才行。
● 强化学习并不一定需要复杂的奖励模型,使用简单的规则反而取得意想不到的效果。
● 通过知识蒸馏让小模型一定程度上也有推理能力,甚至在某些场景下的表现超过了Top模型,比直接在小模型上进行强化学习更好。

DeepSeek-R1-Zero:纯强化学习的推理能力

在这里插入图片描述

训练模版

DeepSeek团队设计了如下的训练模型,要求模型按照如下格式进行输出:首先进行推理过程,然后给出最终答案。通过限制输出的结构格式,避免内容偏见,并且可以观察模型在强化学习过程中的推理进展。
在这里插入图片描述

奖励模型

DeepSeek-R1-Zero的训练信号来源于奖励系统,主要包括两种奖励类型:
● 准确性奖励:评估模型回答的正确性,适用于数学问题和LeetCode问题,通过规则验证答案。
● 格式奖励:要求模型将思考过程放在特定标签之间(<think></think>)。
不使用神经奖励模型,这是因为可能导致奖励黑客问题,且重训练需要额外资源,复杂化训练流程。

顿悟时刻

论文中展示了一个 R1-Zero 在解决一道数学题时的中间版本输出,被称为模型的「顿悟时刻」。在这个例子中,模型在推理过程中突然意识到可以“重新评估”之前的步骤,并尝试用一种新的方法来解题,这种思维与人类似,说明模型初步掌握了人类思维的推理能力(红色字体部分)。

在这里插入图片描述

性能表现

在这里插入图片描述

DeepSeek-R1-Zero的自我进化过程显示出其在强化学习下的推理能力提升,能够处理复杂推理任务。此外,模型在训练过程中思考时间持续改善,能够生成数百到数千个推理标记,促进深度思考,从而实现更加强大和正确的推理能力。

DeepSeek-R1:多阶段训练推理能力

在这里插入图片描述

从Zero的训练过程中很容易得到启发:如果在训练初期先进行一部分高质量COT数据的微调,能否显著增强模型的推理能力,又或者加速收敛?

冷启动阶段

针对Zero模型不稳定的情况,尝试先通过收集数千条长CoT数据对模型进行微调。增加这一阶段有两个好处:

  1. 赠加模型的可读性,在SFT阶段可以设计易读的输出格式,包含推理过程和总结,从而过滤不友好的响应格式。
  2. 增加模型的推理能力,通过人类先验设计的模式,可以观察到DeepSeek-R1表现优于DeepSeek-R1-Zero,这是因为迭代训练更适合推理模型。

基于推理性能的强化学习优化

在对DeepSeek-V3-Base进行冷启动数据微调后,采用与DeepSeek-R1-Zero相同的大规模强化学习训练,重点提升模型在编码、数学、科学和逻辑推理等推理密集型任务中的能力。训练过程中发现CoT在多语言提示中常出现语言混合,为此还需要引入语言一致性奖励,需要计算CoT中目标语言单词的比例。尽管这个训练目标会在一定程度上降低模型的推理能力,但其实一致的语言表达会更加符合我们的使用需求。最终奖励通过将推理任务的准确性与语言一致性奖励直接相加形成,随后对微调后的模型进行训练,直至在推理任务上收敛。

第二次微调

在推理导向的强化学习收敛后,利用检查点收集监督微调(SFT)数据,增强模型在写作、角色扮演等任务的能力。使用以下方法收集到的约80万条样本对DeepSeek-V3-Base进行第两轮的微调。

  1. 推理数据:通过拒绝采样从强化学习训练的检查点生成推理轨迹,扩展数据集,包含使用生成奖励模型的数据,过滤混合语言、长段落和代码块,最终收集约60万条推理相关训练样本。
  2. 非推理数据:采用DeepSeek-V3的Pipeline,重用部分SFT数据,针对某些任务生成潜在的思维链,最终收集约20万条非推理训练样本。

第二次强化学习

这阶段论文中没有给出具体的实现步骤,仅提供了一段文字概述。在第二次微调后,同样需要再进行一轮强化学习,这一阶段主要是为了提升模型的有用性和无害性,同时改善推理能力。推理数据遵循DeepSeek-R1-Zero方法,利用基于规则的奖励指导数学、代码和逻辑推理,一般数据使用奖励模型捕捉复杂场景中的人类偏好。整合奖励信号和多样数据分布,训练出在推理上表现优异的模型,同时优先考虑有用性和无害性。有用性评估集中在最终摘要,强调响应的实用性和相关性。无害性评估涵盖整个响应,识别和减轻潜在风险、偏见或有害内容。

模型蒸馏:为小模型带来推理能力

为了证明蒸馏也能为小模型带来一定程度的推理能力,仅使用SFT,不包括强化学习阶段,通过使用800k样本对开源模型Qwen和Llama进行直接微调,提升了小型模型的推理能力。
在这里插入图片描述

DeepSeek团队还对比了经过大规模强化学习的模型和经过R1蒸馏后的模型的推理能力,如下表展示:
在这里插入图片描述

从这个结果可以得出两个结论:1)将更强大的模型蒸馏成更小的模型会产生优异的结果,而本文提到的依赖于大规模强化学习的较小模型需要巨大的计算能力,甚至可能无法达到蒸馏的性能。2)虽然蒸馏看起来既经济又有效,但想要实现智能推理可能仍然需要更强大的基础模型和更大规模的强化学习。

本地使用

在这里插入图片描述

Ollama已经提供了6个蒸馏模型的使用,最低只需要4GB显存即可调用。

ollama run deepseek-r1:1.5b

在这里插入图片描述

复现

在这里插入图片描述

针对DeepSeek团队没有开放的一些具体细节,HF团队创建了一个项目,旨在完全复现出R1的训练、评估、数据、以及权重等,足以看出开源界对R1系列模型的期待。
项目地址:open-r1


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

相关文章:

  • 16、智能驾驶域控的材料回收
  • 【C++】特殊类设计
  • 剑指 Offer II 008. 和大于等于 target 的最短子数组
  • HTML<kbd>标签
  • Nuitka打包python脚本
  • 【学习笔记】计算机网络(二)
  • 【华为OD-E卷 - 字符串解密 100分(python、java、c++、js、c)】
  • 52. TCP四次挥手
  • 动态规划<九>两个数组的dp
  • 基于SpringBoot电脑组装系统平台系统功能实现六
  • PHP If...Else 语句详解
  • 高级java每日一道面试题-2025年01月23日-数据库篇-主键与索引有什么区别 ?
  • HTML特殊符号的使用示例
  • Vue5---
  • 平衡三进制计算机基础构想
  • 单片机开发——定时器(基于51)
  • Baklib揭示内容中台与人工智能技术的创新协同效应
  • FastAPI + GraphQL 项目架构
  • Windows 下本地 Docker RAGFlow 部署指南
  • 分库分表后如何进行join操作
  • 新增文章功能
  • gesp(C++六级)(4)洛谷:B3874:[GESP202309 六级] 小杨的握手问题
  • 深度学习 Pytorch 深层神经网络
  • 虚幻浏览器插件 UE与JS通信
  • 《活出人生的厚度》
  • 【Docker】快速部署 Nacos 注册中心