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

图解 DeepSeek-R1【译】

图解 DeepSeek-R1

翻译一篇非常赞的解释DeepSeek-R1的文章  原文链接原文链接

DeepSeek-R1 是 AI 稳步发展的最新响亮节拍。对于ML研发社区来说,这是一个主要版本,原因包括:

  1. 它是一个开放的砝码模型,具有较小的蒸馏版本和

  2. 它分享并反思了一种重现 OpenAI O1 等推理模型的训练方法。

在这篇文章中,我们将了解它是如何构建的。

内容:

  • 回顾:如何训练 LLM

  • DeepSeek-R1 训练配方

  • 1- 长链推理 SFT 数据

  • 2- 临时的高质量推理 LLM(但在非推理任务中更差)。

  • 3- 使用大规模强化学习 (RL) 创建推理模型

    • 3.1- 大规模面向推理的强化学习 (R1-Zero)

    • 3.2- 使用临时推理模型创建 SFT 推理数据

    • 3.3- 一般 RL 训练阶段

  • 建筑

了解此类模型的工作原理所需的大部分基础知识都可以在我们的书 Hands-On Large Language Models 中找到。

动手作大型语言模型

该书的官方网站。您可以在亚马逊上订购这本书。所有代码都上传到 GitHub

回顾:如何训练 LLM

就像大多数现有的 LLM 一样,DeepSeek-R1 一次生成一个标记,不同之处在于它擅长解决数学和推理问题,因为它能够通过生成解释其思维链的思维标记来花费更多时间来处理问题。

下图来自我们本书的第 12 章,显示了通过三个步骤创建高质量 LLM 的一般方法:

1) 语言建模步骤,我们训练模型使用大量 Web 数据预测下一个单词。此步骤将生成一个基础模型。

2) 一个有监督的微调步骤,使模型在遵循说明和回答问题时更有用。此步骤会产生 INSTRUCTION TUNED 模型或监督微调 / SFT 模型。

3) 最后是一个偏好调整步骤,进一步完善其行为并符合人类偏好,从而产生最终的偏好调整 LLM,您可以在 Playground 和应用程序上与之交互。

DeepSeek-R1 训练配方

DeepSeek-R1 遵循此通用配方。第一步的细节来自 DeepSeek-V3 模型的先前论文。R1 使用 上一篇文章中的基本模型(不是最终的 DeepSeek-v3 模型),并且仍然经历了 SFT 和首选项调整步骤,但它如何执行这些步骤的细节有所不同。

在 R1 创建过程中,有三个特殊事项需要强调。

1- 长链推理 SFT 数据

这是大量的长链式推理例子(其中 600,000 个)。这些很难获得,而且在这种规模的人类中标记非常昂贵。这就是为什么创建它们的过程是第二个要强调的特殊事情

2- 临时的高质量推理 LLM(但在非推理任务中更差)。

这些数据是由 R1 的前身创建的,R1 是一个专门从事推理的未命名兄弟姐妹。这个兄弟姐妹的灵感来自第三个模型,称为 R1-Zero(我们稍后会讨论)。它很重要,不是因为它是一个很好的 LLM,而是因为创建它只需要很少的标记数据以及大规模的强化学习,从而产生一个擅长解决推理问题的模型。

然后,这个未命名的专业推理模型的输出可用于训练一个更通用的模型,该模型也可以执行其他非推理任务,达到用户对 LLM 的期望水平。

3- 使用大规模强化学习 (RL) 创建推理模型

这分两个步骤进行:

3.1 大规模推理导向强化学习 (R1-Zero)

在这里,RL 用于创建临时推理模型。然后使用该模型生成 SFT 推理示例。但是,使创建此模型成为可能的是早期实验,该实验创建了一个名为 DeepSeek-R1-Zero 的早期模型。

R1-Zero 很特别,因为它能够在没有标记的 SFT 训练集的情况下出色地完成推理任务。它的训练直接从预先训练的基础模型通过 RL 训练过程(无 SFT 步骤)进行。它做得非常好,以至于它与 o1 竞争。

这很重要,因为数据一直是 ML 模型功能的燃料。这个模型怎么能背离那段历史呢?这指向两件事:

1- 现代基础模型已经跨越了质量和能力的某个阈值(这个基础模型是在 14.8 万亿个高质量代币上训练的)。

2- 与一般的聊天或写作请求相比,推理问题可以自动验证或标记。让我们用一个例子来说明这一点。

示例:推理问题的自动验证

这可以是此 RL 训练步骤中的提示/问题:

编写 python 代码,该代码采用数字列表,按排序顺序返回它们,但也在开始时添加 42。

像这样的问题适用于多种自动验证方法。假设我们将 this 呈现给正在训练的模型,它会生成一个 completion:

  • 软件 linter 可以检查补全是否是正确的 python 代码

  • 我们可以执行 python 代码,看看它是否运行了

  • 其他现代编码 LLM 可以创建单元测试来验证所需的行为(无需自己成为推理专家)。

  • 我们甚至可以更进一步,测量执行时间,使训练过程首选性能更高的解决方案,而不是其他解决方案——即使它们是解决问题的正确 python 程序。

我们可以在训练步骤中向模型提出这样的问题,并生成多个可能的解决方案。

我们可以自动检查(无需人工干预)并看到第一次完成甚至不是代码。第二个是 code,但不是 python 代码。第三个是可能的解决方案,但未通过单元测试,第四个是正确的解决方案。

这些都是可以直接用于改进模型的信号。当然,这是在许多示例(小批量)和连续的训练步骤中完成的。

这些奖励信号和模型更新是模型在 RL 训练过程中不断改进任务的方式,如图 2 所示。

与这种能力的改进相对应的是生成的响应的长度,其中模型生成更多的思维标记来处理问题。

这个过程很有用,但 R1-Zero 模型尽管在这些推理问题上得分很高,但还面临着其他问题,使其可用性低于预期。

尽管 DeepSeek-R1-Zero 表现出强大的推理能力,并自主发展出意想不到的强大推理行为,但它面临几个问题。例如,DeepSeek-R1-Zero 正在努力应对可读性差和语言混合等挑战。

R1 旨在成为更有用的模型。因此,它不是完全依赖于 RL 进程,而是在两个地方使用,正如我们在本节前面提到的那样:

1- 创建临时推理模型以生成 SFT 数据点

2- 训练 R1 模型以改进推理和非推理问题(使用其他类型的验证者)

3.2 使用临时推理模型创建 SFT 推理数据

为了使临时推理模型更有用,它对几千个推理问题示例(其中一些是从 R1-Zero 生成和过滤的)进行了监督微调 (SFT) 训练步骤。该论文将此称为冷启动数据”

2.3.1. 冷启动
与 DeepSeek-R1-Zero 不同,为了防止基础模型出现 RL 训练的早期不稳定冷启动阶段,对于 DeepSeek-R1,我们构建并收集少量的长 CoT 数据,以微调模型作为初始 RL 参与者。为了收集这些数据,我们探索了几种方法:以长 CoT 的 few-shot 提示为例,直接提示模型通过反射和验证生成详细的答案,以可读格式收集 DeepSeek-R1-Zero 输出,并通过人工注释者进行后处理来提炼结果。

但是等等,如果我们有这些数据,那我们为什么依赖 RL 流程呢?这是因为数据的规模。这个数据集可能是 5,000 个样本(可以获取),但要训练 R1,需要 600,000 个样本。这个临时模型弥合了这一差距,并允许综合生成极其有价值的数据。

如果您不熟悉监督式微调 (SFT) 的概念,那么该过程会以提示和正确完成的形式为模型提供训练示例。第 12 章中的这个图显示了几个 SFT 训练示例:

3.3 通用 RL 训练阶段

这使 R1 能够擅长推理以及其他非推理任务。该过程类似于我们之前看到的 RL 过程。但是,由于它扩展到非推理应用程序,因此它对属于这些应用程序的提示使用了 Helpnes 和安全奖励模型(与 Llama 模型没有什么不同)。

建筑

就像 GPT2 和 GPT 3 诞生的先前模型一样,DeepSeek-R1 是一堆 Transformer 解码器块。它由 61 个组成。前三个是密集的,但其余的都是专家混合层(请参阅我的合著者 Maarten 令人难以置信的介绍指南:专家混合 (MoE) 的可视化指南)。

就模型维度大小和其他超参数而言,它们如下所示:

有关模型架构的更多详细信息,请参见他们之前的两篇论文:

  • DeepSeek-V3 技术报告

  • DeepSeekMoE:迈向终极专家专业化

    Mixture-of-Expert 语言模型

结论

有了这个,您现在应该有了主要的直觉来了解 DeepSeek-R1 模型。

如果您觉得需要更多的基础信息来理解这篇文章,我建议您拿起一份 Hands-On Large Language Models 的副本,或者在 O'Reilly 上在线阅读并在 Github 上查看。

帙

相关文章:

  • 人员睡岗检测算法AI智能分析网关V4打造工业/安防/交通等多场景应用方案
  • 2025年北京市职工职业技能大赛第六届信息通信行业网络安全技能大赛复赛CTF部分WP-哥斯拉流量分析
  • 06.概念二:神经网络
  • 阿里云云效对接SDK获取流水线制品
  • mock库知识笔记(持续更新)
  • ⚡ Linux 系统安装与配置 Vim 编辑器(包括 Vim 插件管理器)
  • 【OSS】 前端如何直接上传到OSS 上返回https链接,如果做到OSS图片资源加密访问
  • VTK|Z轴拉伸功能的实现
  • maven项目编译时复制xml到classes目录方案
  • 2025-05-28 Python-List-二分法
  • 第一节 51单片机概述
  • 班级管理系统
  • vue 如何对 div 标签 设置assets内本地背景图片
  • 【网络安全】——Modbus协议详解:工业通信的“通用语言”
  • Spring AI 1.0 GA 深度解析:构建企业级AI应用的全栈实践指南
  • Linux 常用命令 -md5sum【计算和校验文件的MD5哈希值】
  • Xamarin入门笔记(Xamarin已经被MAUI取代)
  • 模型量化知识
  • 【数据库系列】bulk_save_objects 与 bulk_insert_mappings 对比
  • 利用openwrt路由器和随身WIFI搭建CPE
  • 上海公司网站建设/个人如何做百度推广
  • c 网站开发 pdf/广州广告推广公司
  • 设计网站平台/网页广告调词平台
  • 深圳建网建网站/谷歌seo外链
  • 镇江积分优化/惠州seo推广公司
  • 宠物商店的网站开发论文/网络游戏推广员