坐井说天阔---DeepSeek-R1

前言

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.rhkb.cn/news/18952.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

EasyExcel 复杂填充

EasyExcel ​Excel表格中用{}或者{.} 来表示包裹要填充的变量,如果单元格文本中本来就有{、}左右大括号,需要在括号前面使用斜杠转义\{ 、\}。 ​代码中被填充数据的实体对象的成员变量名或被填充map集合的key需要和Excel中被{}包裹的变量名称一致。 …

华为防火墙pppoe拨号接入互联网配置案例

目录 1.pppoe拨号背景2.网络拓扑3.网络需求4.网络配置4.1 网络基础配置4.2 pppoe配置4.2.1 pppoe服务端配置(现网环境可忽略)4.2.2 pppoe客户端配置4.2.3 结果验证 5.小结 1.pppoe拨号背景 PPPoE(Point-to-Point Protocol Over Ethernet)拨号产生的背景…

认识vue-admin

认识vue-admin **核心交付:** 为什么要基于现成架子二次开发 什么是二次开发:基于已有的代码(项目工程,脚手架)开进行新功能的开发 所以看懂已有的框架中的既有代码,变得很重要了 1. 背景知识 后台管理系统是一种最…

【16】思科AireOS:创建使用 LWA 认证的 WLAN

1. 概述 LWA(Local Web Authentication)是一种基于 Web 认证的方式,允许无线客户端在连接 WLAN 后,使用 Web 认证页面进行身份验证。该方法适用于访客网络或需要身份认证的场景。 本指南详细介绍如何在 Cisco AireOS 无线控制器(WLC)上配置 LWA 认证的 WLAN,并确保认证…

电解电容的参数指标

容量 这个值通常是室温25℃,在一定频率和幅度的交流信号下测得的容量。容量会随着温度、直流电压、交流电压值的变化而改变。 额定电压 施加在电容上的最大直流电压,通常要求降额使用。 例如额定电压是4V,降额到70%使用,最高施…

【C++】IO流

目录 一、C语言的输入与输出二、流是什么三、CIO流3.1 C标准IO流3.2 C文件IO流3.2.1 二进制读写3.2.2 文本读写 四、stringstream的简单介绍结尾 一、C语言的输入与输出 C语言中我们用到的最频繁的输入输出方式就是scanf ()与printf()。 scanf(): 从标准输入设备(键盘)读取数据…

软件开发 | GitHub企业版常见问题解读

什么是GitHub企业版? GitHub企业版是一个企业级软件开发平台,专为现代化开发的复杂工作流程而设计。 作为可扩展的平台解决方案,GitHub企业版使组织能够无缝集成其他工具和功能,并根据特定需求定制开发环境,提高整体…

红黑树:高效平衡二叉树的奥秘

🌟 快来参与讨论💬,点赞👍、收藏⭐、分享📤,共创活力社区。🌟 引言 在数据结构的奇妙世界里🧐,二叉搜索树就像一把神奇的钥匙,能高效地查找数据。但这把钥匙也…

[免费]SpringBoot公益众筹爱心捐赠系统【论文+源码+SQL脚本】

大家好,我是老师,看到一个不错的SpringBoot公益众筹爱心捐赠系统,分享下哈。 项目介绍 公益捐助平台的发展背景可以追溯到几十年前,当时人们已经开始通过各种渠道进行公益捐助。随着互联网的普及,本文旨在探讨公益事业…

【设计模式】03-理解常见设计模式-行为型模式(专栏完结)

前言 前面我们介绍完创建型模式和创建型模式,这篇介绍最后的行为型模式,也是【设计模式】专栏的最后一篇。 一、概述 行为型模式主要用于处理对象之间的交互和职责分配,以实现更灵活的行为和更好的协作。 二、常见的行为型模式 1、观察者模…

DeepSeek 助力 Vue 开发:打造丝滑的卡片(Card)

前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 Deep…

基于单片机的开关电源设计(论文+源码)

本次基于单片机的开关电源节能控制系统的设计中,在功能上设计如下: (1)系统输入220V; (2)系统.输出0-12V可调,步进0.1V; (3)LCD液晶显示实时电压&#xff…

SpringBoot(7)-Swagger

目录 一、是什么 二、SpringBoot集成Swagger 三、配置Swagger 3.1 配置文档信息 3.2 配置扫描接口 3.3 配置Swagger开关 3.4 配置API分组 3.5 实体配置 四、常用注解 五、总结 一、是什么 是一款API框架,API文档和API定义同步更新,可以在线测…

Atlassian工具集:Jira与Confluence集成优势、使用技巧、更新功能等

本文由Atlassian全球白金合作伙伴-龙智翻译整理,深入探讨了Jira和Confluence最受欢迎的集成功能与技巧,期待为您新一年的团队协作开个好头。 此前,来自K15t 的Customer Advocate Matt Reiner 和Atlassian副产品经理David Olive在一场学习会议…

Qt QOpenGLShaderProgram详解

1. 概述 QOpenGLShaderProgram 是 Qt 框架中用于管理 OpenGL 着色器程序的类。它提供了一种方便的方式来创建、编译和链接着色器,以及管理着色器程序中的属性和统一变量。通过 QOpenGLShaderProgram,开发者可以轻松地将顶点着色器和片段着色器组合成一个…

小爱音箱控制手机和电视听歌的尝试

最近买了小爱音箱pro,老婆让我扔了,吃灰多年的旧音箱。当然舍不得,比小爱还贵,刚好还有一台红米手机,能插音箱,为了让音箱更加灵活,买了个2元的蓝牙接收模块Type-c供电3.5接口。这就是本次尝试起…

ESXi安装【真机和虚拟机】(超详细)

项目简介: ESXi(Elastic Sky X Integrated)是VMware公司开发的一种裸机虚拟化管理程序,允许用户在单一物理服务器上运行多个虚拟机(VM)。它直接安装在服务器硬件上,而不是操作系统之上&#xff…

本地通过隧道连接服务器的mysql

前言 服务器上部署了 mysql,本地希望能访问该 mysql,但是又不希望 mysql 直接暴露在公网上 那么可以通过隧道连接 ssh 端口的方式进行连接 从外网看,服务器只开放了一个 ssh 端口,并没有开放 3306 监听端口 设置本地免密登录 …

MyBatis-Plus模块扩展分页查询

文章目录 1.说明2.common-mybatis-plus-starter1.目录结构2.MybatisPLusAutoConfiguration.java 添加MyBatis Plus分页插件3.PlusPageResult.java MyBatis Plus 分页对象的增强版4.SunPlusPageHelper.java 分页工具类 3.EasyCode模板修改4.common-mybatis-plus-starter-demo 分…

TestHubo基础教程-创建项目

TestHubo是一款国产开源一站式测试工具,涵盖功能测试、接口测试、性能测试,以及 Web 和 App 测试,可以满足不同类型项目的测试需求。本文将介绍如何快速创建第一个项目,以快速入门上手。 1、创建项目 在 TestHubo 中,…