坐井说天阔---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.mzph.cn/news/895865.shtml

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

相关文章

MySQL(1)基础篇

执行一条 select 语句,期间发生了什么? | 小林coding 目录 1、连接MySQL服务器 2、查询缓存 3、解析SQL语句 4、执行SQL语句 5、MySQL一行记录的存储结构 Server 层负责建立连接、分析和执行 SQL存储引擎层负责数据的存储和提取。支持InnoDB、MyIS…

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

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

2025.2.20总结

今晚评测试报告,评到一半,由于看板数据没有分析完,最后让我搞完再评. 尽管工作了多年的同事告诉我,活没干完,差距比较大,没资格评报告,但还是本着试试的态度,结果没想到评审如此严苛…

ok113i——交叉编译音视频动态库

提示:buildroot支持ffmpeg和SDL,但博主的ffmpeg是按下面方法编译通过,SDL使用buildroot直接编译也通过; 1. 下载ffmpeg源码 下载链接:https://github.com/FFmpeg/FFmpeg/tags 根据版本需要自行下载压缩包&#xff0c…

什么叫不可变数据结构?

不可变数据结构(Immutable Data Structures)是指一旦创建之后,其内容就不能被修改的数据结构。这意味着任何对不可变数据结构的“修改”操作实际上都会返回一个新的数据结构,而原始数据结构保持不变。 一、不可变数据结构的核心特点 不可变性:一旦创建后,数据结构的内容…

深度学习之图像分类(一)

前言 图像回归主要是对全连接进行理解 而图像分类任务主要是对卷积的过程进行理解 这一部分会介绍一些基础的概念 卷积的过程(包括单通道和多通道) 理解一个卷积神经网络工作的过程 以及常见的模型的类别和创新点 图像分类是什么 定义 图像分类是指将输…

AutoDock CrankPep or ADCP进行蛋白质多肽对接

需求描述 使用AutoDock CrankPep or ADCP进行蛋白质多肽对接 硬件及系统配置 自用电脑型号如下: 电脑:Precision Tower 7810 (Dell Inc.) CPU : Intel Xeon CPU E5-2686 v4 2.30GHz GPU: NVIDIA GeForce GTX 1070 Linux版本&a…

Django 5实用指南(二)项目结构与管理

2.1 Django5项目结构概述 当你创建一个新的 Django 项目时,Django 会自动生成一个默认的项目结构。这个结构是根据 Django 的最佳实践来设计的,以便开发者能够清晰地管理和维护项目中的各种组件。理解并管理好这些文件和目录结构是 Django 开发的基础。…

LabVIEW利用CANopen的Batch SDO写入

本示例展示了如何通过CANopen协议向设备写入Batch SDO(批量服务数据对象)。Batch SDO允许用户在一次操作中配置多个参数,适用于设备的批量配置和参数设置。此方法能够简化多个参数的写入过程,提高设备管理效率。 主要步骤&#xf…

WPF9-数据绑定进阶

目录 1. 定义2. 背景3. Binding源3.1. 使用Data Context作为Binding的源3.2. 使用LINQ检索结果作为Binding的源 4. Binding对数据的转换和校验4.1. 需求4.2. 实现步骤4.3. 值转换和校验的好处4.3.1. 数据转换的好处 4.4. 数据校验的好处4.5. 原理4.5.1. 值转换器原理4.5.2. 数据…

大数据治理:数字时代的关键密码

大数据治理:数字时代的关键密码 在信息技术飞速发展的今天,数字化浪潮席卷全球,深刻地改变着我们的生活和工作方式。数据,作为数字化时代的核心资产,正以前所未有的速度增长和积累。据国际数据公司(IDC&am…

LeetCode 1299.将每个元素替换为右侧最大元素:倒序遍历,维护最大值,原地修改

【LetMeFly】1299.将每个元素替换为右侧最大元素:倒序遍历,维护最大值,原地修改 力扣题目链接:https://leetcode.cn/problems/replace-elements-with-greatest-element-on-right-side/ 给你一个数组 arr ,请你将每个…

机器学习面试题汇总

1. 基础知识 什么是监督学习和无监督学习? 监督学习是基于已标注的训练数据来学习预测模型;无监督学习则是在没有标签的数据上进行学习,寻找数据的结构或模式。什么是过拟合和欠拟合? 过拟合是指模型在训练数据上表现很好,但在测试数据上表现差。欠拟合是指模型在训练数据…

【SQL教程|07】sql中条件查询where用法示例

SQL WHERE 条件查询教程 在SQL中,WHERE 条件用于在 SELECT 语句后过滤结果集,只返回符合条件的记录。它帮助我们从大量数据中提取所需的信息。以下是使用 WHERE 条件的逐步指南。 1. 基本语法 SELECT [字段] FROM [表] WHERE [条件];SELECT&#xff1a…

力扣 跳跃游戏 II

贪心算法,存下每一步的最远,去达到全局的最小跳跃次数。 题目 从题中要达到最少次数,肯定是每一步尽可能走远一点。但注意j被限制了范围,这种不用想每一步遍历时肯定选最大的num[i],但要注意,题中是可以到…

如何查看 Linux 服务器的 MAC 地址:深入解析与实践指南

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

Linux驱动学习(二)--字符设备

设备分类 字符设备块设备网络设备 内核结构图&#xff1a; 字符设备号 字符设备号是32位的无符号整型值 高12位&#xff1a;主设备号低20位&#xff1a;次设备号 查看设备号 cat /proc/devices 设备号构造 直接使用宏MKDEV #define MKDEV(ma,mi) (((ma) << MINORBITS…

开发小技巧分享 02:xml解析工具

1.百度词条 可扩展标记语言 (Extensible Markup Language, XML) &#xff0c;标准通用标记语言的子集&#xff0c;可以用来标记数据、定义数据类型&#xff0c;是一种允许用户对自己的标记语言进行定义的源语言。 XML是标准通用标记语言 可扩展性良好,内容与形式分离,遵循严格的…

ffmpeg configure 研究1-命令行参数的分析

author: hjjdebug date: 2025年 02月 14日 星期五 17:16:12 CST description: ffmpeg configure 研究1 ./configure 命令行参数的分析 文章目录 1 configure 对命令行参数的分析,在4019行1.1 函数名称: is_in1.2. 函数名称: enable1.3. 函数名称: set_all 2 执行退出判断的关键…

Linux操作系统:从分布式计算到容器化的实践

Linux集群与高可用性技术&#xff1a;从分布式计算到容器化的实践 摘要 随着云计算和大数据技术的飞速发展&#xff0c;Linux集群和高可用性技术已成为现代IT架构的核心组成部分。本文以幽默风趣的方式&#xff0c;深入探讨了Linux集群技术&#xff08;如Hadoop、Spark等分布…