坐井说天阔---DeepSeek-R1

news2025/3/13 22:22:57

前言

DeepSeek-R1这么火,虽然网上很多介绍和解读,但听人家的总不如自己去看看原论文。于是花了大概一周的时间,下班后有进入了研究生的状态---读论文。

DeepSeek这次的目标是探索在没有任何监督数据的情况下训练具有推理能力的大模型,最初的方向是通过纯强化学习过程进行自我进化来具备推理能力。当然这个目标并未完全实现,最终还是使用到的监督数据进行微调。

做的第一个尝试就是使用大规模强化学习 (RL) 训练,训练出来的模型称之为: DeepSeek-R1-Zero. 实验结果显示该模型的输出可读性差和语言混合等挑战。

然后考虑是否可以使用少量高质量的数据进行少样本监督训练和强化学习相结合的方式,来提升推理能力,并且提升输出结果质量。这一种思路训练出来的模型便是DeepSeek-R1

顺着这个思路,DeepSeek又进行了下一步的尝试,上一步使用的数据在其他大模型(如阿里的QWen)上进行微调训练,即蒸馏过程。实验结果显示该过程可以显著提升其他没有推理能力的模型也具有良好的推理能力。

详情如下,水平有限,内容可能有误,仅个人理解,个人记录而已。

DeepSeek-R1-Zero

为了实现目标,首先做了开放研究尝试,只用通过大规模强化学习 (RL) 训练的模型,仅通过 RL 有效学习和泛化的能力,没有监督微调 (SFT) ,训练出来的模型称为:DeepSeek-R1-Zero,但实验发现该模型它遇到了可读性差和语言混合等挑战。

虽然这个尝试不尽人意,但其训练过程还是具有一定参考意义。也是实验过程中发现了两件有意思的事情。

首先训练过程中,发现随着测试时间的增加,DeepSeek-R1-Zero出现了自我进化的现象,会进行自我进行更复杂的行为,如下图所示,比如会主动重新评估先前的步骤,会自己探索解决方案的代替方法。这些行为是与强化学习环境交互自己出现的,并且显著增强了模型的推理能力,从而使得训练出来的模型可以更高效,更准确的处理更具有挑战性的任务

另外一件事是“Aha Moment”,DeepSeek-R1-Zero 自己会分配更多的思考时间来重新评估其初始方法,从而思考是否有更有效,更准确的解决方案。下图给了一个具体的例子。

“Aha Moment”说明了,对于大模型推理能力的训练,不需要明确的教它如何解决问题,只需要简单地为其提供正确的激励措施,然后它就会自主进行思考从而找到更有效的解决策略。“Aha Moment”也在提醒我们,强化学习有可能在AI训练中解锁新的智能水平,为未来开发出更加自主和自适应的大模型铺平道路。

DeepSeek-R1,使用冷启动进行强化学习

DeepSeek-R1-Zero 遇到了可读性差和语言混合等挑战。为了解决DeepSeek-R1-Zero遇到的问题,从两个方向进行了尝试,

  1. 是不是可以使用少量高质量的数据作为冷启动(cold start)来进一步提高推理性能或者减少训练成本

  2. 对于DeepSeek-R1-Zero 遇到的可读性差和语言混合等挑战,如何训练出一个模型。用户友好,可以产生清晰连贯的思维链(CoT),也有强大的通用能力。

为了获取高质量的数据,从以下三种方式进行了数据生产,论文中称之为cold start data(冷启动数据。

  1. 用具有长思维链(CoT)的少样本(few-shot)提示词,

  2. 直接让模型来通过思考和验证来生成详细的答案

  3. 收集DeepSeek-R1-Zero的输出,然后通过人工标注进行后处理来提炼结果

有了冷启动数据之后便开始微调 DeepSeek-V3-Base 模型。结果显示可读性大大增强。而且相对于DeepSeek-R1-Zero, 使用人类设计标注的冷启动数据的训练模式性能更好。

Reasoning-oriented Reinforcement Learning(面向推理的强化学习)

为了进一步增强它在推理密集型任务中推理能力。比如编程,逻辑推理等任务(这些任务有定义明确的问题和解决方案)。参考DeepSeek-R1-Zero训练过程, 对微调后的DeepSeek-V3-Base模型进行了大规模的强化学习训练,

同样,在实验中发现,在CoT过程中已经出现了语言混合的问题,尤其是涉及到多种语言时更容易出错。为了缓解语言混合问题,训练期间引入了语言一致性奖励(language consistency reward),其计算方式是目标语言单词在 CoT 中的比例。虽然这种语言对齐会导致性能略有下降,但这种奖励与人类的偏好一致,使其更具可读性。

最后,将推理任务的准确性(the accuracy of reasoning tasks)和语言一致性的奖励结合起来,直接相加形成最终的奖励。然后,我们在微调模型上进行强化学习训练,直到它在推理任务上实现收敛。

Rejection Sampling and Supervised Fine-Tuning (抑制采样和监督微调)

在有了一定推理能力之后,为了增加其在写作,角色扮演和其他通用任务的能力。利用结果检查点(resulting checkpoint)来收集SFT(Supervised Fine-Tuning)数据来用于下一轮训练以增强其通用能力。

为了增量通用能力,收集了两类数据:Reasoning data -- 推理数据,Non-Reasoning data  非推理数据。

为了获取Reasoning data -- 推理数据,我们通过在结果检查点(resulting checkpoint)通过抑制采样(rejection sampling)来获取推理提示(reasoning prompts)和推理轨迹(reasoning trajectories)。其中一些数据通过使用生成奖励模型,将真实数据和模型预测输入到 DeepSeek-V3 中进行判断是否合格。

经过滤之后。我们总共收集了大约 600k 个推理相关的训练样本。

对于非推理数据,如写作、翻译,我们采用 DeepSeek-V3 管道,并复用 DeepSeek-V3 的 SFT 数据集的一部分。我们总共收集了大约 200k 个与推理无关的训练样本。

我们使用上述约 800k 样本的精选数据集对 DeepSeek-V3-Base 进行了两个 epoch 的微调。


Reinforcement Learning for all Scenarios(适用于所有场景的强化学习)

为了进一步使模型与人类偏好保持一致,保证模型的有用性和无害性,进一步完善模型的推理能力。我们实现了一个二级强化学习阶段。

使用奖励信号(reward signal)和多种提示分布(Diverse Prompt Distributions)的组合来训练模型。对于推理数据,跟DeepSeek-R1-Zero一样,利用基于规则的奖励来执行推理过程。

DeepSeek-R1 Evaluation(DeepSeek-R1 评估)

DeepSeek-R1 表现出优于 DeepSeek-V3 的性能。这种改进主要归因于 STEM 相关问题的准确性提高,其中通过大规模强化学习实现了显著的收益。

此外,DeepSeek-R1 在 FRAMES 方面表现出色,这是一项长期依赖上下文的 QA 任务,展示了其强大的文档分析能力。这凸显了推理模型在 AI 驱动的搜索和数据分析任务中的潜力。在factual benchmark SimpleQA,DeepSeek-R1 的性能优于 DeepSeek-V3,展示了其处理基于事实的查询的能力。

在此基准上,OpenAI-o1 超过 GPT-4o 也观察到类似的趋势。然而,DeepSeek-R1 在Chinese SimpleQA 基准测试中的表现比 DeepSeek-V3 差,主要是因为它倾向于在安全 RL 之后拒绝回答某些查询。在没有安全 RL 的情况下,DeepSeek-R1 可以达到超过 70% 的准确率。

Distillation: Empower Small Models with Reasoning Capability(蒸馏:为小模型赋予推理能力)

此外也将收集到的800k 样本直接对Qwen和Llama等模型进行了微调,这种简答的蒸馏方式显著增强了模型的推理能力。蒸馏模型评估结果如下,蒸馏法具有强大的潜力

在蒸馏过程了,只使用了SFT(Supervised Fine-Tuning)数据进行微调。为了验证大规模 RL 训练实现与蒸馏相当的性能,在这一节又进行了一步实验,在Qwen-32B模型上进行大规模的0样本强化训练,结果显示,不如使用SFT(Supervised Fine-Tuning)数据进行微调的结果。

总结和展望

作者在文中的结论有一定的余地,得出来两个结论。

首先将更强大的模型蒸馏成更小的模型会产生极好的结果,但小模型进行依赖于本大规模 RL 训练需要巨大的计算能力,甚至可能无法达到蒸馏的性能。

其次,虽然蒸馏策略既经济又有效,但超越intelligence界限可能仍然需要更强大的基础模型和更大规模的强化学习。

对未来有以下三点展望。

  • 通用能力:目前,DeepSeek-R1 在函数调用、多轮次、复杂角色扮演和 JSON 输出等任务方面的能力不如 DeepSeek-V3。展望未来,我们计划探索可以利用 CoT 来增强这些领域的任务多长时间。

  • 语言混合:DeepSeek-R1 目前针对中文和英文进行了优化,这可能会导致在处理其他语言的查询时出现语言混合问题。例如,DeepSeek-R1 可能会使用英语进行推理和响应,即使查询使用的是英语或中文以外的语言。我们的目标是在将来的更新中解决此限制。

  • 提示工程:在评估 DeepSeek-R1 时,我们观察到它对提示很敏感。Few-shot 提示始终会降低其性能。因此,我们建议用户直接描述问题并使用zero-shot设置指定输出格式以获得最佳结果。

ps:

    膜拜大佬。DeepSeek-R1虽然不是第一个推理大模型,但R1的出现第一次让推理模型能被大多数人用上,而且是免费用上,并且进行了开源。此外,蒸馏小模型的尝试,也提供了一种新的思路--通过少样本在通用大模型基础上进行微调,同样可以实现具有推理能力的推理模型。这对于企业训练微调自己的推理模型,提供了技术可行性和经济可行性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2300338.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

UART(一)——UART基础

一、定义 UART(Universal Asynchronous Receiver/Transmitter)是一种广泛使用的串行通信协议,用于在设备间通过异步方式传输数据。它无需共享时钟信号,而是依赖双方预先约定的参数(如波特率)完成通信。 功能和特点 基本的 UART 系统只需三个信号即可提供稳健的中速全双工…

DeepSeek 的创新融合:多行业应用实践探索

引言 在数字化转型的浪潮中,技术的融合与创新成为推动各行业发展的关键力量。蓝耘平台作为行业内备受瞩目的创新平台,以其强大的资源整合能力和灵活的架构,为企业提供了高效的服务支持。而 DeepSeek 凭借先进的人工智能技术,在自然…

CentOS 7超详细安装教程(含镜像)

1. 安装前准备 1.1 CentOS简介 CentOS(Community Enterprise Operating System,中文意思是:社区企业操作系统)是一种基于 Red Hat Enterprise Linux(RHEL)源代码构建的免费开源操作系统。它在稳定性、安全…

Qt中基于开源库QRencode生成二维码(附工程源码链接)

目录 1.QRencode简介 2.编译qrencode 3.在Qt中直接使用QRencode源码 3.1.添加源码 3.2.用字符串生成二维码 3.3.用二进制数据生成二维码 3.4.界面设计 3.5.效果展示 4.注意事项 5.源码下载 1.QRencode简介 QRencode是一个开源的库,专门用于生成二维码&…

SpringBoot教程(三十二) SpringBoot集成Skywalking链路跟踪

SpringBoot教程(三十二) | SpringBoot集成Skywalking链路跟踪 一、Skywalking是什么?二、Skywalking与JDK版本的对应关系三、Skywalking下载四、Skywalking 数据存储五、Skywalking 的启动六、部署探针 前提: Agents 8.9.0 放入 …

IntelliJ IDEA 接入 AI 编程助手(Copilot、DeepSeek、GPT-4o Mini)

IntelliJ IDEA 接入 AI 编程助手(Copilot、DeepSeek、GPT-4o Mini) 📊 引言 近年来,AI 编程助手已成为开发者的高效工具,它们可以加速代码编写、优化代码结构,并提供智能提示。本文介绍如何在 IntelliJ I…

【机器学习】深入浅出KNN算法:原理解析与实践案例分享

在机器学习中,K-最近邻算法(K-Nearest Neighbors, KNN)是一种既直观又实用的算法。它既可以用于分类,也可以用于回归任务。本文将简单介绍KNN算法的基本原理、优缺点以及常见应用场景,并通过一个简单案例帮助大家快速入…

vscode的一些实用操作

1. 焦点切换(比如主要用到使用快捷键在编辑区和终端区进行切换操作) 2. 跳转行号 使用ctrl g,然后输入指定的文件内容,即可跳转到相应位置。 使用ctrl p,然后输入指定的行号,回车即可跳转到相应行号位置。

JavaEE基础 Tomcat与Http (下)

目录 1.HTTP 协议 1.1 HTTP 协议概念 1.2. 无状态协议 1.3. HTTP1.0 和 HTTP1.1 1.4 请求协议和响应协议 ​编辑 1.5 请求协议 1.5.1 常见的请求协议 1.5.2 GET 请求 1.5.3 POST请求 1.5.4 响应协议 1.HTTP 协议 Http浏览器访问东西都是遵循的Http协议。 1.1 HTTP 协议…

【Linux】【进程】epoll内核实现总结+ET和LT模式内核实现方式

【Linux】【网络】epoll内核实现总结ET和LT模式内核实现方式 1.epoll的工作原理 eventpoll结构 当某一进程调用epoll_create方法时,Linux内核会创建一个eventpoll结构体,这个结构体中有两个成员与epoll的使用方式密切相关. struct eventpoll{..../*红…

英码科技基于昇腾算力实现DeepSeek离线部署

DeepSeek-R1 模型以其创新架构和高效能技术迅速成为行业焦点。如果能够在边缘进行离线部署,不仅能发挥DeepSeek大模型的效果,还能确保数据处理的安全性和可控性。 英码科技作为AI算力产品和AI应用解决方案服务商,积极响应市场需求&#xff0…

【SQL】SQL约束

🎄约束 📢作用:是用于限制存储再表中的数据。可以再创建表/修改表时添加约束。 📢目的:保证数据库中数据的正确、有效性和完整性。 📢对于一个字段可以同时添加多个约束。 🎄常用约束: 约束分类 约束 描述关键字非…

解决 `pip is configured with locations that require TLS/SSL` 错误

问题描述 在使用 pip 安装 Python 包时,可能会遇到以下错误: WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.这意味着 Python 的 ssl 模块未正确安装或配置,导致 p…

Python 面向对象的三大特征

前言:本篇讲解面向对象的三大特征(封装,继承,多态),还有比较细致的(类属性类方法,静态方法),分步骤讲解,比较适合理清楚三大特征的思路 面向对象的…

机器学习_18 K均值聚类知识点总结

K均值聚类(K-means Clustering)是一种经典的无监督学习算法,广泛应用于数据分组、模式识别和降维等领域。它通过将数据划分为K个簇,使得簇内相似度高而簇间相似度低。今天,我们就来深入探讨K均值聚类的原理、实现和应用…

从低清到4K的魔法:FlashVideo突破高分辨率视频生成计算瓶颈(港大港中文字节)

论文链接:https://arxiv.org/pdf/2502.05179 项目链接:https://github.com/FoundationVision/FlashVideo 亮点直击 提出了 FlashVideo,一种将视频生成解耦为两个目标的方法:提示匹配度和视觉质量。通过在两个阶段分别调整模型规模…

Nuclei 使用手册

Nuclei 是一个开源的快速、高效的漏洞扫描工具,主要用于网络安全领域的漏洞检测。它由 go 语言开发,设计目的是为了高效地扫描 Web 应用程序、网络服务等目标,帮助安全研究人员、渗透测试人员以及红队成员发现潜在的漏洞。 下载链接&#xf…

python学opencv|读取图像(六十七)使用cv2.convexHull()函数实现图像轮廓凸包标注

【1】引言 前序学习进程中,已经初步探索了对图像轮廓的矩形标注和圆形标注: python学opencv|读取图像(六十五)使用cv2.boundingRect()函数实现图像轮廓矩形标注-CSDN博客 但实际上,这两种标注方法都是大致的&#x…

基于SpringBoot的“高校创新创业课程体系”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“高校创新创业课程体系”的设计与实现(源码数据库文档PPT) 开发语言:Java 数据库:MySQL 技术:SpringBoot 工具:IDEA/Ecilpse、Navicat、Maven 系统展示 系统整体功能图 系统首页界面 个人中心界…

前端带样式导出excel表格,html表格生成带样式的excel表格

众所周知&#xff0c;前端生成表格通常是用xlsx、excel.js等js库&#xff0c;但这些库想要生成时增加excel样式会很麻烦。 有这么一个js库把html表格连样式带数据一并导出为excel表格: html-table-to-excel npm install html-table-to-excel 使用 html表格&#xff1a; <…