Type something to search...
揭开 Deepseek R1 的神秘面纱:架构和培训的分步可视化指南!?

揭开 Deepseek R1 的神秘面纱:架构和培训的分步可视化指南!?

如果你对人工智能感兴趣,你可能听说过 DeepSeek R1。它目前在 LLM 领域中非常流行,表现优于开放和闭源模型。

为了简化一切,我们将使用手绘流程图和简单计算来帮助你从基础上澄清概念。

实际上,我们将在整个博客中使用字符串 What is 2 + 3 * 4? 作为例子,引导你了解 DeepSeek 技术报告 的每个组成部分。

目录

快速概述

在深入技术细节之前,快速概述一下,DeepSeek-R1并不是从头开始训练的,像是从_零_开始的。相反,他们是从一个相当智能的LLM开始的,即他们已经拥有的DeepSeek-V3,但他们希望将其打造为一个_推理超级明星_。

Image 66

DeepSeek实现快速概述(由Fareed Khan创建)

为此,他们使用了强化学习,简称RL,当LLM在推理方面做得好的时候就给予奖励,否则就惩罚它。

但这并不是_一次_简单的训练会话。这就像是一整套步骤,他们称之为管道。他们首先尝试了纯粹的RL,看看推理是否会自然而然地出现,这就是DeepSeek-R1-Zero,有点像实验。然后对于真正的DeepSeek-R1,他们将其组织得更有条理,分为不同的阶段。他们给它一些起始数据以启动,然后进行RL,再提供更多数据,再进行更多RL……这就像是逐步升级!

整个重点是让这些语言模型在_思考_问题和给出聪明答案方面变得更好,而不仅仅是吐出单词。

所以,是的,这就是在我们深入每个步骤的疯狂细节之前的超级简短版本。

DeepSeek V3 (MOE) 是如何思考的?

正如我之前所说,DeepSeek R1 的训练并不是从头开始,而是使用 DeepSeek V3 作为基础模型。因此,我们需要了解 V3 是如何工作的,以及为什么它被称为 MOE?

Image 67

DeepSeek V3 架构(由 Fareed Khan 创建)

DeepSeek V3 通过两个主要路径进行操作。当您输入一个问题时,它首先通过一个快速构建上下文的记忆系统,寻找相关信息。可以把它想象成快速回忆您以前遇到过的类似情况。

它的主要优势在于其决策系统。在理解您的输入后,它使用一个智能路由器,在两条路径之间做出决定:

  1. 一个快速处理器,用于简单任务(如简单问题或常见请求)
  2. 一个专家系统,用于复杂问题(如分析或专业知识)

这个路由器使 DeepSeek V3 成为一个专家混合模型(MOE),因为它动态地将每个请求指向最合适的专家组件,以实现高效处理。

简单问题通过快速路径获得快速、直接的答案,而复杂查询则通过专家系统获得详细的关注。最后,这些响应被组合成清晰、准确的输出。

DeepSeek V3 作为 RL 设置中的策略模型 (Actor)

现在我们已经了解了 DeepSeek v3 的思维概述,它是 DeepSeek R1 实现的起点,我所说的起点是 它创建了 DeepSeek R1 零版本,这是一个初始版本,在最终版本创建之前存在一些错误。

初始版本 (R1 Zero) 是使用 强化学习 创建的,其中 DeepSeek v3 作为 RL 代理(采取行动的 Actor)。让我们首先可视化它是如何工作的。

Image 68

V3 作为代理工作流(由 Fareed Khan 创建)

RL 代理 (DeepSeek V3) 首先采取一个 Action,这意味着它为给定的问题生成一个答案和一些推理,这个问题被放入它的 Environment 中。在这种情况下,Environment 就是推理任务本身。

在采取行动后,Environment 会返回一个 Reward。这个 Reward 就像反馈,它告诉 DeepSeek V3 基础模型它的行动有多好。正向 Reward 意味着它做对了某事,可能得到了正确的答案或推理得很好。这个反馈信号随后返回给 DeepSeek-V3-Base,帮助它学习和调整未来采取行动的方式,以获得更好的 Rewards。

在接下来的部分中,我们将讨论这个带有奖励模型的 RL 设置以及他们使用的 RL 算法,并尝试使用我们的文本输入来解决它。

GRPO算法如何工作?

训练LLMs是_极其_计算密集型的,而强化学习则增加了更多的复杂性。

因此,有许多强化学习算法可供选择,但传统的强化学习使用一种称为**“评论家”**的东西来帮助主要决策部分(“行为者”,即DeepSeek V3),正如你已经知道的那样。这个评论家通常和行为者本身一样大且复杂,这基本上使计算成本翻倍。

然而,GRPO的做法不同,因为它直接从一组动作的结果中找出了一个基线,一种良好动作的参考点。由于这个原因,GRPO根本不需要一个单独的评论家模型。这节省了大量的计算,使事情变得更加高效。

Image 69

GRPO算法(由Fareed Khan创建)

它从一个给定模型的问题或提示开始,称为**“旧策略”**。GRPO指示旧策略生成一组不同答案来回答同一个问题,而不是仅仅得到一个答案。每个答案随后被评估并给出奖励分数,反映其好坏或可取性。

GRPO通过将每个答案与其组内其他答案的_平均_质量进行比较,计算出每个答案的**“优势”**。优于平均水平的答案获得正优势,而劣于平均水平的答案获得负优势。至关重要的是,这一切都是在_不需要_单独的评论家模型的情况下完成的。

这些优势分数随后用于更新旧策略,使其在未来更可能产生优于平均水平的答案。这个更新后的模型成为新的**“旧策略”**,该过程重复进行,迭代地改善模型。

GRPO的目标函数

显然,在这个GRPO背后,有复杂的数学💀 一句话,我们可以称之为GRPO背后的目标函数。

Image 70

GRPO目标(由Fareed Khan创建)

GRPO的目标函数有两个目标,一个是给出好的输出(高奖励),同时确保训练过程稳定,不会失控。原始函数看起来很复杂,但我们将其重写为更简单的形式,而不失去其实际意义。

Image 71

目标函数(原始与简化)(由Fareed Khan创建)

让我们逐步分析。首先,AverageResult[…]1/n[…] 指的是在许多不同情况下的平均评估。我们展示一个模型,提出各种问题。对于每个问题,模型生成一组答案。通过查看这些答案在许多问题及其各自答案组中的表现,我们可以计算出平均结果。

Image 72

平均的含义(由Fareed Khan创建)

在这个过程中,问题被输入到一个旧模型中,产生多个答案(例如,答案1,答案2,…,答案G)。这些答案形成一组,通过评估这一组在不同问题上的表现,我们得出平均结果。

SumOf[…]∑[…] 指的是对答案组中的每个单独答案(例如,答案1,答案2,…,答案G)进行计算,然后将所有这些计算的结果相加。

接下来是RewardPart。这是奖励模型给出好答案的部分。内部稍微复杂一些,所以让我们放大来看:

Image 73

公式(由Fareed Khan创建)

ChangeRatio 告诉我们新模型给出这个答案的机会是增加还是减少。具体来说,它关注:

  • 新模型的答案机会:新模型给出特定答案的可能性。
  • 旧模型的答案机会:旧模型给出相同答案的可能性。

接下来,Advantage 分数告诉我们一个答案与同组中其他答案相比是好还是坏。其计算方式为:

Image 74

优势公式(由Fareed Khan创建)

  • 答案的分数:给予特定答案的奖励。
  • 组的平均分数:组中所有答案的平均奖励分数。
  • 组中分数的分布:组中答案分数的变异程度。

Advantage 分数告诉我们一个答案在组内是否优于平均水平,以及它的优越程度。

Image 75

LimitedChangeRatio公式(由Fareed Khan创建)

LimitedChangeRatioChangeRatio的修改版本。它确保ChangeRatio不会波动太大,从而保持模型的学习稳定。这个限制由一个称为Epsilon的小值决定,以确保变化不会过于剧烈。

最后,SmallerOf[…] 函数在两个选项之间选择较小的值:

  • ChangeRatio × Advantage:答案的可能性变化乘以其优势分数。
  • LimitedChangeRatio × Advantage:同样,但使用有限变化比率。

通过选择较小的值,模型确保学习过程保持平稳,不会对性能的巨大变化做出过度反应。结果是**“好答案奖励”**,鼓励模型改进而不至于过度补偿。

最后,我们减去StayStablePart。这是关于防止新模型与旧模型的变化过于剧烈。它并不是很复杂,但让我们放大来看:

Image 76

StayStable方程(由Fareed Khan创建)

DifferenceFromReferenceModel 测量新模型参考模型(通常是旧模型)之间的差异。基本上,它帮助评估新模型与之前模型相比所做的变化。

Beta 值控制模型应该保持与参考模型的接近程度。较大的Beta意味着模型将优先保持与旧模型的行为和输出更接近,防止过多偏离。让我们可视化一下:

Image 77

StayStable的可视化表示(由Fareed Khan创建)

总之,StayStablePart 确保模型逐步学习,而不会出现剧烈的跳跃。

DeepSeek R1 Zero 的奖励建模

现在我们已经理解了主要的理论概念,让我们利用我们的文本输入来学习这个奖励建模是如何运作的,从而创建了 R1 Zero。

请记住,对于 R1 Zero,他们保持了简单和直接。与其使用复杂的神经网络来判断答案(就像他们可能在后期阶段那样),他们使用了一个 基于规则的奖励系统

对于我们的数学问题:“2 + 3 * 4 等于多少?”

基于规则的检查

系统知道正确答案是 14。它将查看由 DeepSeek V3(我们的强化学习代理)生成的输出,并特别检查 标签内的内容。

Image 78

基于规则的检查(由 Fareed Khan 创建)

如果 标签包含“14”(或其他数值相同的内容),则会获得正奖励,假设为 +1。如果错误,则获得 0 奖励,或者可能甚至获得负奖励(尽管论文在此阶段为了简化而专注于 0)。

格式奖励

但 DeepSeek R1 Zero 也需要学习如何正确地构建其推理,为此可以使用 标签,正确格式化会有较小的奖励。

Image 79

格式奖励过程(由 Fareed Khan 创建)

检查模型输出是否 正确 地将推理过程封装在 中,并将最终答案封装在 中。

DeepSeek R1 论文明确提到避免对 DeepSeek-R1-Zero 使用神经奖励模型,以防止奖励黑客行为并减少这一初步探索阶段的复杂性。

奖励的训练模板

为了使奖励模型有效,研究人员设计了一个特定的训练模板。这个模板充当蓝图,指导 DeepSeek-V3-Base 在 强化学习 过程中如何构建其响应。

让我们看看原始模板,并逐步分析:

用户与助手之间的对话。用户提出一个问题,助手解决它。助手首先在脑海中思考 推理过程 ,然后向用户提供答案。 推理过程 和答案分别用 <think> </think><answer> </answer> 标签括起来,即 <think> 推理过程在这里 </think> <answer> 答案在这里 </answer>。用户: {prompt}。助手:

{prompt} 是我们插入数学问题的地方,比如 2 + 3 * 4 是多少?。重要的是那些 标签。这个结构化的输出对于研究人员后续查看模型的推理步骤非常重要。

当我们训练 DeepSeek-R1-Zero 时,我们使用这个模板输入提示。对于我们的示例问题,输入看起来像:

用户与助手之间的对话。用户提出一个问题,助手解决它。助手首先在脑海中思考 推理过程 ,然后向用户提供答案。 推理过程 和答案分别用 <think> </think><answer> </answer> 标签括起来,即 <think> 推理过程在这里 </think> <answer> 答案在这里 </answer>。用户: 2 + 3 * 4 是多少?助手:

我们 期望 模型生成一个 符合模板 的输出,如:

<think>
运算顺序:
先乘法再加法。3 * 4 = 12。2 + 12 = 14
</think>
<answer>
14
</answer>

<think>
运算顺序:
先乘法再加法。3 * 4 = 12。2 + 12 = 14
</think>
<answer>
14
</answer>

有趣的是,DeepSeek 团队故意保持这个模板简单,专注于结构,而不是告诉模型如何推理。

## DeepSeek R1零的RL训练过程

尽管论文没有具体说明RL预训练的_确切_初始数据集,但我们假设它应该是以推理为重点。

他们所做的第一步是使用**旧策略**生成多个可能的输出,即在强化学习更新之前的**DeepSeek-V3-Base**模型。在一次训练迭代中,我们假设GRPO抽样了一组**G = 4**个输出。

例如,模型为我们的文本输入**What is 2 + 3 \* 4?**生成了以下四个输出:

* **o1:** `<think> 2 + 3 = 5, 5 * 4 = 20 </think> <answer> 20 </answer>` _(错误的运算顺序)_
* **o2:** `<think> 3 * 4 = 12, 2 + 12 = 14 </think> <answer> 14 </answer>` _(正确)_
* **o3:** `<answer> 14 </answer>` _(正确,但缺少`<think>`标签)_
* **o4:** `<think> ...一些无意义的推理... </think> <answer> 7 </answer>` _(不正确且推理差)_

![Image 80](https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*5R-R_-daHTdSSy4mBSemdw.png)

生成输出 (由 [Fareed Khan](https://r.rifx.online/undefined) 创建)

每个输出将根据正确性和推理质量进行评估并分配奖励。

为了引导模型朝着更好的推理方向发展,**基于规则的奖励系统**发挥作用。每个输出根据以下标准分配奖励:

* **准确性奖励:** 答案是否正确。
* **格式奖励:** 推理步骤是否正确使用`<think>`标签格式化。

假设奖励分配如下:

![Image 81](https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*UzcNj8adREdb1HKe5LioFA.png)

奖励细分 (由 [Fareed Khan](https://r.rifx.online/undefined) 创建)

模型应该学习**偏向于获得更高奖励的输出**,同时降低生成不正确或不完整输出的概率。

为了确定每个输出对模型性能的改善或恶化程度,我们使用奖励值计算**优势**。优势有助于通过强化更好的输出来优化策略。

为此,首先计算平均奖励。

![Image 82](https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*rzntKpOO2kLjZkt__YvWPg.png)

平均奖励计算

标准差(近似)= **0.5,**现在计算每个输出的优势。

![Image 83](https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*kjiYdJojnUOPtz83E5e7xw.png)

计算每个输出的奖励

![Image 84](https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*XspVX0-AWtkeu27KLCLZKg.png)

可视化优势计算 (由 [Fareed Khan](https://r.rifx.online/undefined) 创建)

输出**o2和o3**获得**正优势**,意味着它们应该受到鼓励。输出**o1和o4**获得**负优势**,意味着它们应该受到抑制。

GRPO然后使用计算出的优势更新策略模型(DeepSeek-V3-Base),以_增加_生成高优势输出(如o2和o3)的概率,并_减少_生成低或负优势输出(如o1和o4)的概率。

**更新**根据以下内容调整模型权重:

* **策略比率:** 在新旧策略下生成输出的概率。
* **裁剪机制:** 防止过大的更新可能会使训练不稳定。
* **KL散度惩罚:** 确保更新不会偏离原始模型太远。

![Image 85](https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*51QG1cHZGBTOBtDYbCGBrg.png)

GRPO工作 (由 [Fareed Khan](https://r.rifx.online/undefined) 创建)

这确保在下一个迭代中,模型将**更有可能生成正确的推理步骤**,同时减少不正确或不完整的响应。

因此,RL是一个迭代过程。上述步骤重复**数千次**,使用不同的推理问题。每次迭代逐渐提高模型的能力:

* 执行**正确的运算顺序**
* 提供**逻辑推理步骤**
* 一致地使用正确的格式

整体训练循环如下所示:

![Image 86](https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*eJ_zDEkWnjJnswiNgQCaqw.png)

DeepSeek简化训练过程 (由 [Fareed Khan](https://r.rifx.online/undefined) 创建)

随着时间的推移,模型**从错误中学习**,变得更准确,更有效地解决推理问题。

## R1 Zero 的两个主要问题

在使用 V3 模型的强化学习训练过程中创建了 DeepSeek-R1 Zero 后,研究人员发现训练后的模型在推理测试中表现非常出色,甚至在 **AIME 2024** 等任务上与更先进的模型如 **OpenAI-01–0912** 的得分相似。这表明,使用强化学习(RL)来鼓励语言模型的推理是一种有前景的方法。

但他们也注意到 DeepSeek-R1-Zero 存在一些关键问题,需要修复以便于实际使用和更广泛的研究。

![Image 87](https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*trBSl_t5JOISiLr35SNrHg.png)

R1 Zero 的问题(由 [Fareed Khan](https://r.rifx.online/undefined) 创建)

DeepSeek 的研究人员表示,该模板是 _故意简单且结构集中_ 的。它 _避免_ 对 _推理过程本身_ 施加任何 _内容特定_ 的限制。例如,它并没有说:

* “你 _必须_ 使用逐步推理”(它只是说“推理过程”,让模型自行定义这意味着什么)。
* “你 _必须_ 使用反思性推理”
* “你 _必须_ 使用特定的问题解决策略”

主要问题是 **<think>** 标签内的推理过程难以阅读,使人类难以跟随和分析。

另一个问题是语言混合。当被问及多语言问题时,模型有时会在同一响应中混合语言,导致输出不一致且令人困惑。如果你用西班牙语问它问题,突然间,它的“思考”会是 **英语和西班牙语** 的混合,完全不够流畅!这些问题,混乱的推理和语言混淆,显然是障碍。

这就是他们将最初的 R1 Zero 模型转变为 R1 的两个主要原因。

在下一节中,我们将讨论他们如何改进 R1 Zero 模型到 R1 模型,从而提升其性能并帮助其超越所有其他模型,包括开源和闭源模型。

## 冷启动数据

所以为了修复 R1 Zero 问题并真正使 DeepSeek 正确推理,研究人员进行了 **冷启动数据收集并包括监督微调**。

你可以把它看作是在进行真正激烈的强化学习训练之前,为模型提供一个良好的推理基础。基本上,他们想教会 **DeepSeek-V3 Base** 什么是良好的推理以及如何清晰地呈现它。

## 少量示例提示与长链推理

他们给DeepSeek-V3 Base提供了一些问题的示例,以及非常详细的逐步解决方案,称为链式思维(CoT)。这个想法是让模型通过示例学习,并开始模仿这种逐步推理的风格。

让我们直观理解这种基于示例的学习:

![Image 88](https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*FKdNu3NPVXZ9J4oczjDgyw.png)

基于示例的学习(由 [Fareed Khan](https://r.rifx.online/undefined) 创建)

对于我们的示例问题 **2 + 3 \* 4是多少?**,他们可能会显示这样的提示:

### 带解决方案的问题示例:

- **问题:** 什么
  **解决方案:** | special\_token | 首先,找到9的平方根,即3。
  然后,将5加到3上。3 + 5等于8。 | special\_token | 总结:答案是8。
- **问题:** 火车以60英里每小时的速度行驶2小时,行驶多远?
  **解决方案:** | special\_token | 使用公式:距离 = 速度乘以时间。
  速度是60英里每小时,时间是2小时。距离 = 60 \* 2 = 120英里。
  | special\_token | 总结:火车行驶了120英里。
- **问题:** 2 + 3 \* 4是多少?
  **解决方案:**

这些 **| special\_token |** 只是标记,用于将推理步骤与总结分开,使模型能够清楚地学习结构。

在看到这些示例后,模型应该学会以类似的格式给出答案,比如对于 **2 + 3 \* 4是多少?**

| special\_token | 按照运算顺序(PEMDAS/BODMAS),
先进行乘法再进行加法。所以,首先计算3 \* 4 = 12。
然后,将2加到12上。2 + 12 = 14。 | special\_token | 总结:答案是14。

## 直接提示

他们收集数据的另一种方式是直接提示模型,不仅解决问题,还明确逐步展示其推理过程,然后再核对其答案。

![Image 89](https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*vyVM7FPjMosGnFCVHmfgcg.png)

直接提示(由 [Fareed Khan](https://r.rifx.online/undefined) 创建)

这旨在促进更仔细和深思熟虑的问题解决。

对于 **2 + 3 \* 4 是多少?** 提示可以是:

问题:解决这个,逐步展示推理,并验证:
2 + 3 \* 4 是多少?

他们确实期望输出包括推理步骤和验证部分:


| special_token | Reasoning: To solve 2 + 3\* 4, I need to use order of operations. Multiplication comes before addition. Step 1: Calculate 3 \* 4 = 12. Step 2: Add 2 to the result from step 1: 2 + 12 = 14. Verification: Checking order of operations again, yes, multiplication is before addition. Calculation looks right. |
| ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| special_token | Summary: The answer is 14.                                                                                                                                                                                                                                                                                      |

## 后处理细化

他们甚至使用了已经训练好的 R1 Zero 模型的输出。尽管 R1 Zero 存在一些问题,但它 _可以_ 进行一些推理。因此,他们利用 R1 Zero 的输出,并让人类标注者对其进行改进,使其更加清晰、结构更好,并纠正任何错误。

例如,一个混乱的 R1 Zero 输出可能是:

```xml
<think>  ummm... multiply 3 and 4... get 12... then add 2...</think>
<answer> 14 </answer>
```xml
<think>  ummm... multiply 3 and 4... get 12... then add 2...</think>
<answer> 14 </answer>

人类随后将其细化为更清晰且格式更好的内容:

special_token推理:为了解决这个问题,我们使用运算顺序,先进行乘法再进行加法。步骤 1:将 3 乘以 4,结果是 12。步骤 2:将 2 加到结果上:2 + 12 = 14。
special_token总结:答案是 14。

可视化细化过程如下:

Image 90

他们最终得到的 冷启动数据 非常好,因为:

  • 高质量推理示例: 每个示例都展示了良好的逐步推理。
  • 一致、可读的格式: | special_token | 格式使一切都统一且易于处理。
  • 人类检查: 他们确保过滤掉任何不良示例,因此数据干净可靠。

在获得这份 冷启动数据 后,他们进行了 监督微调 (SFT)

监督微调

SFT阶段1的核心思想是使用监督学习来教DeepSeek-V3-Base如何生成高质量、结构化的推理输出。

基本上,我们向模型展示许多良好推理的示例,并要求它学习模仿这种风格。

对于SFT,我们需要将我们的冷启动数据格式化为输入-目标对。对于数据集中每个推理问题,我们创建一个这样的对:

  • 输入 = 提示或问题描述本身

    用户:2 + 3 * 4 等于多少?助手:

这是我们输入到模型中的内容,而我们的目标是相应的结构良好的推理和答案:

special_token根据运算顺序(PEMDAS/BODMAS)…
摘要:答案是14。

这是我们希望模型学习生成的理想输出。

我们在告诉模型:

当你看到这个输入(问题)时,我们希望你生成这个目标输出(良好的推理和答案)。

为了更容易理解,我们先将其可视化,以便更简单地解释SFT。

Image 91

SFT过程(由Fareed Khan创建)

微调过程从输入:提示 + 目标推理开始,我们提供一个问题和一个结构化的推理示例。这训练模型(DeepSeek-V3-Base模型)生成结构良好的响应。

预测下一个标记中,模型生成推理序列中的下一个词。这与**与目标标记比较(计算损失)**中的实际下一个标记进行比较,使用损失函数。更高的损失意味着预测与正确标记的距离更远。

更新模型参数中,反向传播和优化器调整模型的权重,以改善其预测。这个过程循环进行,在许多输入-目标对上重复,逐渐提高模型的结构化推理能力。

推理导向的强化学习

他们给DeepSeek V3进行了推理教育,但为了真正提高其推理能力,研究人员引入了推理导向的学习

在这里,我们将SFT微调的DeepSeek-V3模型进一步优化,通过强化学习使其变得更好。

他们确实使用了相同的GRPO算法,但在这个阶段真正的升级是奖励系统。他们添加了一些新的、非常重要的语言一致性奖励

还记得R1 Zero有时会对语言感到困惑并开始混淆它们吗?为了解决这个问题,他们专门添加了一个奖励,以保持语言一致性。这个想法很简单,如果你用英语提问,我们希望推理和答案也用英语。

让我们可视化一下这个语言一致性奖励的计算:

Image 92

一致性奖励计算(由 Fareed Khan 创建)

为了理解上面的图表,让我们回顾一下之前的示例输出o1o2,看看在这个新的语言一致性奖励下,奖励是如何变化的。为了简化,我们假设目标语言是英语。

让我们看看这些奖励在我们的示例输出中是如何发挥作用的。考虑第一个输出o1,它错误地计算“2 + 3 * 4”,但用英语呈现了其错误的推理:

<think> 2 + 3 = 5, 5 * 4 = 20 </think> <answer> 20 </answer>

<think> 2 + 3 = 5, 5 * 4 = 20 </think> <answer> 20 </answer>


因此,准确性奖励自然为0,因为答案是错的。然而,由于推理被假定为100%用目标语言(在这个例子中是英语),它获得了1的语言一致性奖励。

当我们计算RL阶段的总奖励时,我们将这些结合起来。如果我们给准确性奖励赋值为1,而给语言一致性奖励赋值为一个较小的权重,例如0.2,o1的总奖励变为:

总奖励 = (1 * 准确性奖励) + (0.2 * 语言一致性奖励)

(1 * 0) + (0.2 * 1) = 0.2

总奖励 = (1 * 准确性奖励) + (0.2 * 语言一致性奖励)

(1 * 0) + (0.2 * 1) = 0.2


现在考虑输出o2,它正确地解决了问题,同时也用英语推理:

<think> 3 * 4 = 12, 2 + 12 = 14 </think> <answer> 14 </answer>

<think> 3 * 4 = 12, 2 + 12 = 14 </think> <answer> 14 </answer>


这个输出因正确答案获得了完美的准确性奖励1。假设它的推理也是100%用英语,它也获得了1的语言一致性奖励。使用与之前相同的权重,o2的总奖励为:

注意到即使是正确答案,语言一致性奖励也稍微提升了总奖励,并且只要保持语言一致性,甚至为错误答案o1提供了一个小的正奖励。

这个RL训练循环遵循了我们之前看到的DeepSeek R1 Zero训练循环:

Image 93

推理导向循环(由 Fareed Khan 创建)

  1. 生成多个输出。
  2. 精炼奖励,包括语言一致性。
  3. 使用GRPO进行优势估计。
  4. 训练模型以偏向高优势输出。
  5. 重复这个过程!

拒绝采样

对于推理数据,DeepSeek团队希望获取_绝对最佳_的示例来进一步训练模型。为此,他们使用了一种称为拒绝采样的技术。

Image 94

拒绝采样(由 Fareed Khan 创建)

为了精炼推理数据,DeepSeek使用了拒绝采样。对于**“2 + 3 * 4 等于多少?”,他们会从前一阶段模型生成许多输出。想象一下得到像20(错误)和14 **(正确,经过推理)的输出。

然后,他们会评估每个输出的正确性**(答案“14”)和推理的可读性。只有最佳的、正确且推理良好的输出被保留**,而其他的则被拒绝

对于复杂推理,使用生成奖励模型来判断推理质量。严格的过滤器会去除混合语言、冗长的推理或无关的代码。这个过程产生了约60万个高质量的推理样本。

除了精炼的推理数据外,他们还添加了非推理数据(约20万个样本)用于一般技能:写作、问答、翻译等,有时对于复杂任务使用链式思维。

最后,SFT阶段2组合数据集(精炼推理 + 非推理)上训练之前的模型检查点,使用下一个标记预测。这个阶段进一步使用拒绝采样中的顶级示例改善推理,并使模型能够广泛适应更广泛的任务,同时保持用户友好性。

**“2 + 3 * 4 等于多少?”**现在成为一个完美精炼的推理示例,成为这次训练数据的一部分。

这就是拒绝采样,我们正在拒绝劣质样本,只保留最佳样本以生成高质量的训练数据。

RL for All Scenarios

我们在 SFT Stage 2! 之后,已经实现了 DeepSeek V3 的推理,能够一致地进行对话,甚至在处理一般任务方面表现相当不错。但要真正使其成为顶级 AI 助手,研究人员进行了最后的调整 与人类价值观的对齐。这就是 强化学习在所有场景中的应用 (RL Stage 2) 的使命!可以把它看作是对 DeepSeek R1 的最终润色,以确保其真正安全。

Image 95

最终 RL 步骤(由 Fareed Khan 创建)

在我们的例子“2 + 3 * 4 是多少?”中,尽管准确性奖励仍然强化正确答案,但奖励系统现在 考虑:

  1. 帮助性,评估 摘要(如果生成)是否提供了超出答案的有用上下文。
  2. 无害性,检查 整个输出 是否包含安全和无偏见的内容。这些通常由单独的奖励模型评估,这些模型是基于人类偏好进行训练的。

最终的奖励信号成为准确性、帮助性和无害性分数的 加权组合

现在,训练数据包括:

  • 多样化的组合,包括推理问题
  • 一般 QA 提示
  • 写作任务
  • 偏好对,其中人类指出哪两个模型输出在帮助性和无害性方面更好。

训练过程遵循迭代的 RL 循环(可能使用 GRPO算法)来基于来自这些多样数据的组合奖励信号优化模型。

经过多次训练迭代,模型被优化,以在推理性能和对齐(帮助性/无害性)之间取得良好平衡。一旦达到这个平衡,模型将在流行的基准数据集上进行评估,并超越其他模型的表现。

他们的最终检查点,高度优化版本被命名为 DeepSeek-R1。

蒸馏

Image 96

R1的蒸馏(由 Fareed Khan 创建)

在DeepSeek团队成功创建出表现良好的DeepSeek R1后,他们进一步将更大的模型蒸馏成小模型,以提高社区的性能。这就是蒸馏过程的工作原理:

  • 数据准备:收集80万条推理样本。
  • DeepSeek-R1 输出:对于每个样本,教师模型(DeepSeek-R1)的输出作为学生模型的目标。
  • 监督微调 (SFT):学生模型(例如,Qwen-1.5B,Llama-14B)在这80万条样本上进行微调,以匹配DeepSeek-R1的输出。
  • 蒸馏模型:学生模型现在被蒸馏成更小的版本,但保留了DeepSeek-R1的大部分推理能力。
  • 结果:你将获得更小、更快的模型,具备良好的推理能力,准备好部署。

Related Posts

结合chatgpt-o3-mini与perplexity Deep Research的3步提示:提升论文写作质量的终极指南

结合chatgpt-o3-mini与perplexity Deep Research的3步提示:提升论文写作质量的终极指南

AI 研究报告和论文写作 合并两个系统指令以获得两个模型的最佳效果 Perplexity AI 的 Deep Research 工具提供专家级的研究报告,而 OpenAI 的 ChatGPT-o3-mini-high 擅长推理。我发现你可以将它们结合起来生成令人难以置信的论文,这些论文比任何一个模型单独撰写的都要好。你只需要将这个一次性提示复制到 **

阅读更多
让 Excel 过时的 10 种 Ai 工具:实现数据分析自动化,节省手工作业时间

让 Excel 过时的 10 种 Ai 工具:实现数据分析自动化,节省手工作业时间

Non members click here作为一名软件开发人员,多年来的一个发现总是让我感到惊讶,那就是人们还在 Excel

阅读更多
使用 ChatGPT 搜索网络功能的 10 种创意方法

使用 ChatGPT 搜索网络功能的 10 种创意方法

例如,提示和输出 你知道可以使用 ChatGPT 的“搜索网络”功能来完成许多任务,而不仅仅是基本的网络搜索吗? 对于那些不知道的人,ChatGPT 新的“搜索网络”功能提供实时信息。 截至撰写此帖时,该功能仅对使用 ChatGPT 4o 和 4o-mini 的付费会员开放。 ![](https://images.weserv.nl/?url=https://cdn-im

阅读更多
掌握Ai代理:解密Google革命性白皮书的10个关键问题解答

掌握Ai代理:解密Google革命性白皮书的10个关键问题解答

10 个常见问题解答 本文是我推出的一个名为“10 个常见问题解答”的新系列的一部分。在本系列中,我旨在通过回答关于该主题的十个最常见问题来分解复杂的概念。我的目标是使用简单的语言和相关的类比,使这些想法易于理解。 图片来自 [Solen Feyissa](https://unsplash.com/@solenfeyissa?utm_source=medium&utm_medi

阅读更多
在人工智能和技术领域保持领先地位的 10 项必学技能 📚

在人工智能和技术领域保持领先地位的 10 项必学技能 📚

在人工智能和科技这样一个动态的行业中,保持领先意味着不断提升你的技能。无论你是希望深入了解人工智能模型性能、掌握数据分析,还是希望通过人工智能转变传统领域如法律,这些课程都是你成功的捷径。以下是一个精心策划的高价值课程列表,可以助力你的职业发展,并让你始终处于创新的前沿。 1. 生成性人工智能简介课程: [生成性人工智能简介](https://genai.works

阅读更多
揭开真相!深度探悉DeepSeek AI的十大误区,您被误导了吗?

揭开真相!深度探悉DeepSeek AI的十大误区,您被误导了吗?

在AI军备竞赛中分辨事实与虚构 DeepSeek AI真的是它所宣传的游戏规则改变者,还是仅仅聪明的营销和战略炒作?👀 虽然一些人将其视为AI效率的革命性飞跃,但另一些人则认为它的成功建立在借用(甚至窃取的)创新和可疑的做法之上。传言称,DeepSeek的首席执行官在疫情期间像囤积卫生纸一样囤积Nvidia芯片——这只是冰山一角。 从其声称的550万美元培训预算到使用Open

阅读更多
Type something to search...