快速概览
在深入技术细节之前,先进行快速概览。DeepSeek-R1 并非从零训练的,它并不是从无到有地构建,而是基于已有的强大 LLM——DeepSeek-V3 进行优化,目标是让其成为推理能力卓越的模型。
来自作者 Fareed Khan 手绘
为此,他们采用了强化学习(Reinforcement Learning,简称 RL),在 LLM 做出良好推理时给予奖励,而在表现不佳时给予惩罚。
但这并不是一次简单的训练,而是一个完整的流程,也就是所谓的训练管道(Pipeline)。他们最初尝试使用纯 RL 训练,以观察推理能力是否会自然涌现,这一阶段被称为 DeepSeek-R1-Zero,更像是一个实验。随后,在正式的 DeepSeek-R1 训练中,他们对流程进行了更系统的设计,分阶段进行训练:先提供一部分初始数据,再进行 RL 训练,然后引入更多数据,再进行 RL…… 这个过程类似于逐步升级,不断提升模型能力。
整个训练的核心目标是让 LLM 在推理和解决问题方面表现得更加出色,提供更智能的回答,而不仅仅是生成词句。
这就是整个训练流程的简要概述,接下来,我们将深入剖析每个步骤的细节。
DeepSeek V3(MOE)是如何思考的?
如前所述,DeepSeek R1 训练并非从零开始,而是基于 DeepSeek V3 进行优化。因此,我们需要先了解 V3 的工作原理,以及为什么它被称为 MOE(Mixture of Experts,混合专家模型)。
DeepSeek V3 架构,作者手绘
DeepSeek V3 主要依靠两条路径进行推理。当你输入一个问题时,它首先通过一个记忆系统快速构建上下文,寻找相关信息。可以把这个过程理解为迅速回忆过去遇到的类似情境。
它的核心优势在于决策机制。在理解输入内容后,V3 通过一个智能路由器(Router)在两条路径间进行选择:对于简单任务(如常见问题或基础请求),采用快速处理通道;对于复杂问题(如深度分析或专业知识),则调用专家系统进行推理。
正是这个智能路由器,使得 DeepSeek V3 成为 MOE(混合专家模型)。因为它能够动态地将不同的请求分配给最合适的专家模块,以实现高效处理。
对于简单的问题,系统会通过快速通道直接给出简洁的答案,而对于复杂的问题,专家系统会提供更深入的分析,最终这些答案会被整合成清晰准确的输出结果。
DeepSeek V3 在 RL 中的角色:策略模型(Actor)
现在我们已经了解了 DeepSeek V3 的基本思维方式,它也是 DeepSeek R1 训练的起点。这里的“起点”指的是,它首先被用于训练 DeepSeek R1-Zero——这个初始版本存在一些错误,最终经过优化才形成了正式的 DeepSeek R1。
DeepSeek R1-Zero 是通过 RL 训练出来的,而在这个过程中,DeepSeek V3 充当了 RL 智能体(Agent),也就是在环境中执行动作的“Actor”。让我们先用可视化方式理解它的工作原理。
V3 作为智能体的工作原理,作者手绘
在 RL 框架中,RL 智能体(DeepSeek V3)会执行一个“动作”(Action),即根据给定的问题生成答案和推理过程,而这个问题本身就是“环境”(Environment)。
执行动作后,环境会反馈一个“奖励”(Reward),相当于给 DeepSeek V3 的行为提供反馈。如果模型的回答是正确的,或者推理过程合理,它就会获得一个正向奖励。这个反馈信号会回传给 DeepSeek V3 基础模型,帮助它调整自身策略,使得未来的回答能够获得更高的奖励。
在接下来的部分,我们将更深入地讨论这个 RL 架构,包括奖励模型(Reward Model)和 RL 算法,并尝试通过文本输入模拟解决这个问题。
GRPO 算法如何工作?
训练 LLM 本身已经极具计算挑战,而 RL 的加入进一步增加了计算复杂度。
目前有很多 RL 算法可用,而传统的 RL 方法通常使用一个“评论者”(Critic)来辅助主要的决策部分,即“Actor”(也就是 DeepSeek V3)。通常情况下,这个评论者模型的规模和复杂度与执行者相当,这意味着计算成本几乎翻倍。
然而,GRPO 采用了一种不同的方式。它通过一组动作的执行结果来计算一个基准值(Baseline),即衡量良好行为的参考点。因此,GRPO 不需要单独的评论者模型,这大幅减少了计算量,提高了效率。
GRPO 算法,作者手绘
GRPO 训练流程如下:首先,模型会接收一个问题或提示(Prompt),此时它采用的是“旧策略”(Old Policy)。与传统方法不同,GRPO 不只是让旧策略生成一个答案,而是让它对同一个问题生成多个不同的答案。接着,这些答案都会被评估并赋予奖励分数,以衡量它们的质量和可取程度。
然后,GRPO 计算每个答案的“优势值”(Advantage),即与同一组答案的平均质量进行比较。如果某个答案的质量高于平均水平,就会得到正向优势,低于平均水平的则得到负向优势。整个过程完全不需要额外的评论者模型。
最后,模型利用这些优势值来更新旧策略,使其更倾向于生成比平均水平更好的答案。更新后的模型成为新的“旧策略”,然后重复上述过程,不断迭代优化模型,使其推理能力持续增强。
GRPO 目标函数解析
GRPO 背后的数学原理非常复杂,我们可以用一个术语来概括:GRPO 的目标函数(Objective Function)。
GRPO 目标,作者手绘
GRPO 的目标函数有两个核心目标,一是让模型生成高质量的输出(即获得高奖励),二是确保训练过程稳定,不会出现不受控的情况。虽然原始数学公式看起来十分复杂,但我们可以对其进行简化,使其更易理解,同时不损失实际意义。
目标函数(原始与简化)
让我们逐步拆解其逻辑。首先,**AverageResult[…] 或 1/n[…]**代表的是在多个不同情况下评估平均表现。模型会被输入多个问题,并为每个问题生成一组不同的答案。通过观察这些答案及其对应的得分,我们可以计算出整体的平均结果。
平均数的含义,作者手绘
在这一过程中,模型会根据输入的问题生成多个答案(例如“答案 1”“答案 2”…“答案 G”)。这些答案组成一个组,并且当我们在多个问题上进行同样的评估时,就可以得出整体的平均表现。
SumOf[…] 或 ∑[…] 代表的是对每个答案单独计算某个值(例如计算“答案 1”“答案 2”…“答案 G”各自的得分),然后将所有这些计算结果求和。
接下来是 RewardPart(奖励部分),这一部分负责奖励模型生成的优秀答案。它的内部计算较为复杂,因此我们需要进一步拆解其细节。
公式
ChangeRatio 用于衡量在新模型下生成某个答案的概率是否增加或减少。具体来看,它关注以下两个方面:
接下来,Advantage(优势值) 反映了该答案相对于同组其他答案的表现好坏。它的计算方式如下:
优势公式
-
答案得分:该答案被分配的奖励值。
-
组内答案的平均得分:同一组所有答案的奖励得分均值。
-
组内得分的离散程度:衡量该组答案的得分波动范围。
优势值反映了该答案相较于组内平均水平的表现,并量化其优劣程度。
LimitedChangeRatio 公式
LimitedChangeRatio 是对 ChangeRatio 进行修正后的版本,确保模型学习的稳定性,避免学习过程过度波动。其变化范围受到一个称为 **Epsilon(𝜖)**的小值限制,以防止模型在训练过程中发生剧烈调整。
最后,SmallerOf[…] 计算函数用于在两个值中选择较小的一个:
-
ChangeRatio × Advantage:答案选择概率的变化量,乘以其优势值。
-
LimitedChangeRatio × Advantage:同样的计算方式,但对变化比率进行了限制,以避免过度更新。
通过选择较小的值,模型能够确保学习过程平稳,避免对性能变化产生过度反应。最终,这一过程形成了“优质答案奖励”,促使模型改进,但不会因为短期的高分答案而进行过度调整。
最后,我们还需要减去 StayStablePart,这一部分用于防止新模型相较于旧模型变化过大。它的核心思想并不复杂,但我们可以深入理解它的作用:
StayStable 方程
-
DifferenceFromReferenceModel 计算新模型与参考模型(通常是旧模型)之间的差异程度。这一度量方式用于评估新模型与之前版本的变化程度。
-
Beta 值 控制新模型与参考模型的相似度。较大的 Beta 值意味着新模型会更倾向于保持与旧模型的相似性,避免训练过程中出现过大的偏移。
StayStable 的视觉表现
简而言之,StayStablePart 确保模型的学习是逐步推进的,而不会发生剧烈变化。
DeepSeek R1 Zero 的奖励建模
在理解了核心理论概念后,我们可以使用一个具体的输入示例,来看 DeepSeek R1 Zero 如何进行奖励建模。
需要注意的是,在 R1 Zero 阶段,DeepSeek 采用了最简单直接的方法。与后续阶段可能使用复杂的神经网络评估答案不同,这一阶段使用的是基于规则的奖励系统。
例如,对于数学问题**“**2 + 3 * 4 ?”。
规则检查(Rule-Based Check)
系统知道正确答案是14,并会检查 DeepSeek V3(我们的 RL 代理模型)生成的输出,重点关注
标签内的内容。
基于规则的检查,作者手绘
如果
标签中包含“14”(或者数值上相同的答案),那么模型会获得正奖励,比如**+1**。如果答案错误,则不会获得奖励(即0 分),或者在某些情况下可能会获得负奖励。不过,DeepSeek R1 Zero 的研究论文在这个阶段主要采用 0 分作为惩罚机制,以保持简洁。
格式奖励(Format Rewards)
但 DeepSeek R1 Zero 不仅需要生成正确答案,还需要学会合理组织推理过程。为此,系统使用
和
标签,并给予格式正确的输出一定的奖励。
具体来说,系统会检查模型输出是否正确地将推理过程包含在
标签内,并将最终答案包裹在
标签中。若格式正确,模型可以获得额外的奖励。
格式化奖励流程,作者手绘
DeepSeek R1 的研究明确指出,在 R1 Zero 这一初步探索阶段,他们特意避免使用神经网络奖励模型(Neural Reward Model),以防止模型利用奖励机制进行作弊(Reward Hacking),同时也降低了训练的复杂性。
奖励训练模板(Training Template for Reward)
为了让奖励模型更有效,研究人员设计了一套特定的训练模板。这一模板充当了“蓝图”,用于指导 DeepSeek-V3-Base 在 RL 过程中如何组织和呈现其推理过程。
接下来,我们将对这套原始模板进行详细解析,逐步拆解其工作方式。
A conversation between User and Assistant. The user asks a question, and
the Assistant solves it. The assistant first thinks about the reasoning
process in the mind and then provides the user with the answer. The reasoning
process and answer are enclosed within and
tags respectively, i.e., reasoning process here
answer here . User: {prompt}. Assistant:
{prompt}
代表需要填入的数学问题,例如 ” What is 2 + 3 * 4 ? ” 。这里最关键的部分是
和
标签。这种结构化输出对于研究人员来说非常重要,他们可以通过这些标签更直观地观察模型的推理过程。
在训练 DeepSeek-R1-Zero 时,研究人员会使用这个模板提供输入。例如,对于上述数学问题,输入格式如下:
A conversation between User and Assistant. The user asks a question, and
the Assistant solves it. The assistant first thinks about the reasoning process in the mind and then provides the user with the answer. The reasoning
process and answer are enclosed within and
tags respectively, i.e., reasoning process here
answer here . User: What is 2 + 3 * 4?. Assistant:
我们期望模型生成符合模板的输出,例如:
Order of operations:
multiply before add. 3 * 4 = 12. 2 + 12 = 14
14
值得注意的是,DeepSeek 团队刻意保持了这个模板的简单性,它仅仅规定了输出格式,而没有直接告诉模型应该如何进行推理。
DeepSeek R1 Zero 的 RL 训练流程
尽管研究论文没有明确说明用于 RL 预训练的初始数据集,我们可以合理推测它应该主要关注推理能力。
训练的第一步是让模型按照旧策略(即 RL 更新前的 DeepSeek-V3-Base)生成多个可能的输出。在一次训练迭代中,我们假设 GRPO 采样了 4 组不同的输出(G=4)。
例如,针对 ” What is 2 + 3 * 4 ? “ 这个问题,模型可能生成以下四种答案:
-
o1:
(运算顺序错误)2 + 3 = 5, 5 * 4 = 20 20 -
o2:
(正确答案)3 * 4 = 12, 2 + 12 = 14 14 -
o3:
(答案正确,但缺少14
标签) -
o4:
(错误答案,且推理过程混乱)...一些混乱的推理... 7
生成输出,作者手绘
每个输出都会被评估,并根据正确性和推理质量分配奖励。
为了引导模型向更好的推理方向发展,研究人员使用了一套基于规则的奖励系统,其中包括:
假设奖励的分配如下:
奖励明细
模型应该学会优先生成奖励较高的输出,同时减少生成错误或不完整输出的概率。
为了衡量每个输出对模型性能的影响,我们需要使用奖励值计算优势值(Advantage)。优势值能够帮助优化策略,使模型强化优质输出。
首先,计算奖励值的均值:
平均奖励计算
标准差(近似计算)= 0.5,现在计算每个输出的优势值:
计算每个输出的奖励
可视化优势计算,作者手绘
输出 o2 和 o3 具有正优势,说明它们应该被鼓励;而 o1 和 o4 具有负优势,意味着它们应该被抑制。
GRPO 使用这些计算得到的优势值来更新策略模型(DeepSeek-V3-Base),提高 高优势输出(如 o2 和 o3)的生成概率,同时降低 低或负优势输出(如 o1 和 o4 )的生成概率。
更新过程会调整模型的权重,主要涉及以下三方面:
-
策略比率(Policy Ratios):计算新旧策略下生成相同输出的概率比值。
-
剪裁机制(Clipping Mechanism):防止训练过程中更新幅度过大,避免模型不稳定。
-
KL-Divergence Penalty:确保模型的更新不会偏离原始策略太远,保证训练稳定性。
GRPO 工作,作者手绘
这一机制能够确保模型在下一个训练迭代中,更倾向于生成正确的推理步骤,并减少错误或不完整的回答。
RL 是一个迭代优化的过程。上述步骤会在大量不同的推理任务上重复成千上万次,每次迭代都会让模型在以下方面逐步提升:
整个训练循环如下所示:
DeepSeek 简化训练流程,作者手绘
随着时间的推移,模型会不断从错误中学习,最终在推理任务上的表现变得更加准确且高效。
DeepSeek-R1 Zero 的两个主要问题
在使用 RL 对 DeepSeek-V3 进行训练后,研究人员得到了 DeepSeek-R1 Zero,并在多个推理测试中取得了优异表现。在 AIME 2024 等基准测试中,DeepSeek-R1 Zero 的表现甚至可以媲美 OpenAI-o1-0912。这一结果表明,使用 RL 来增强语言模型的推理能力是一种极具潜力的方法。
然而,研究人员也发现,DeepSeek-R1 Zero 在实际应用和更广泛的研究场景中,仍然存在一些关键问题,需要进一步优化和改进。
R1 Zero 的问题,作者手绘
DeepSeek 研究团队表示,该训练模板刻意保持简单,侧重结构,不对推理过程施加任何具体的内容约束。例如,它不会要求模型:
-
“必须使用逐步推理”(模板仅指出“推理过程”,让模型自行定义其含义)。
-
“必须使用反思性推理”。
-
“必须采用特定的问题求解策略”。
然而,这一初版 R1 Zero 模型存在两个核心问题:
第一,推理过程难以阅读。虽然模型能够生成推理步骤,但放在
标签内的内容往往过于混乱,使得人类难以理解和分析。
第二,多语言混用问题。当模型遇到多语言输入时,可能会在同一回答中混杂多种语言,导致输出结果不够一致,甚至出现逻辑混乱。例如,当用西班牙语提问时,模型的“思考”过程可能会夹杂英语和西班牙语,使得回答显得不够流畅和自然。
这两个问题——推理混乱和语言不稳定,成为 R1 Zero 在实际应用中的主要障碍。因此,研究团队决定改进 R1 Zero,并最终推出了 DeepSeek-R1,使其在性能上超越了所有开源和闭源模型。
冷启动数据(Cold Start Data)
为了修复 R1 Zero 的问题,并让 DeepSeek 在推理方面表现更为出色,研究团队引入了冷启动数据采集和监督微调。
可以将这一过程类比为在进行高强度 RL 训练前,先为模型打下良好的推理基础。研究人员希望先让 DeepSeek-V3 Base 学会什么是良好的推理,以及如何清晰地表达推理过程。
长 CoT 任务的 Few-shot 提示
研究团队向 DeepSeek-V3 Base 提供了一些示例问题,并配以详细的逐步解答**,即思维链(CoT)。通过示例学习,模型可以模仿这种逐步推理的风格,从而提升其推理能力。
基于示例的学习,作者手绘
我们用一个简单的数学问题来举例:“What is **2 + 3 * 4 ?**” ,模型接收到的训练示例如下:
Problem Examples with Solutions:
Problem: What's the square root of 9 plus 5?
Solution: | special_token | First, find the square root of 9, which is 3.
Then, add 5 to 3. 3 + 5 equals 8. | special_token | Summary: The answer is 8.
Problem: Train travels at 60 mph for 2 hours, how far?
Solution: | special_token | Use the formula: Distance = Speed times Time.
Speed is 60 mph, Time is 2 hours. Distance = 60 * 2 = 120 miles.
| special_token | Summary: Train travels 120 miles.
Problem: What is 2 + 3 * 4?
Solution:
其中,| special_token |
仅用于区分推理步骤与最终答案,帮助模型理解推理结构。
在看到这些示例后,模型会学会按照类似的格式进行回答,例如:
| special_token | Following order of operations (PEMDAS/BODMAS),
do multiplication before addition. So, first calculate 3 * 4 = 12.
Then, add 2 to 12. 2 + 12 = 14. | special_token | Summary: The answer is 14.
这种方式让模型能够更好地结构化推理,提升逻辑清晰度,同时减少语言混杂的问题。
直接提示(Direct Prompting)
另一种数据收集方式是直接提示(Direct Prompting),不仅要求模型解决问题,还要明确展示其推理过程,并对答案进行检查。
直接提示,作者手绘
这一方法的核心目标是让模型养成更严谨、深思熟虑的问题求解方式,而不是仅仅给出一个最终答案。
仍然以 ” What is 2 + 3 * 4 ? ” 为例,提示可能会是:
Problem: Solve this, show reasoning step-by-step, and verify:
What is 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.
后处理优化(Post Processing Refinement)
研究团队还利用了已训练的 R1 Zero 输出,尽管 R1 Zero 仍存在问题,但它已经具备了一定的推理能力。因此,他们将 R1 Zero 生成的答案进行人工审核,对其进行优化,使其更加清晰、结构化,并修正其中的错误。
例如,R1 Zero 可能生成了一个混乱的答案:
ummm... multiply 3 and 4... get 12... then add 2...
14
人工修正后,答案变得更清晰、格式更加规范:
| special_token | Reasoning: To solve this, we use order of operations,
doing multiplication before addition.
Step 1: Multiply 3 by 4, which is 12.
Step 2: Add 2 to the result: 2 + 12 = 14.
| special_token | Summary: The answer is 14.
整个优化流程如下:
优化流程,作者手绘
生成初版答案(R1 Zero 生成) → 人工审核与修正 → 优化成高质量数据
最终得到的冷启动数据质量非常高,具有以下特点:
-
高质量推理示例:所有示例均包含清晰的逐步推理过程。
-
一致的、可读的格式:
| special_token |
格式确保数据统一、易于处理。 -
人工筛选:剔除了不合格示例,确保数据干净、可靠。
监督微调(SFT)
在获得高质量的冷启动数据后,研究团队对 DeepSeek-V3-Base 进行监督微调(SFT)。
SFT 第一阶段的核心思想是利用监督学习来训练模型,使其能够生成高质量、结构化的推理输出。
方法:
通过大量的优秀推理示例,引导模型学习并模仿正确的推理风格。
数据格式:
SFT 训练数据需要转换为输入-目标对(Input-Target Pairs),即:
- 输入(Input):问题描述
User: What is 2 + 3 * 4? Assistant:
这就是我们提供给模型的输入,目标是让它学习生成对应的结构化推理和答案。
- 目标(Target):符合规范的高质量推理与答案
| special_token | According to the order of operations (PEMDAS/BODMAS) ...
Summary: The answer is 14.
我们希望模型能学习到理想的输出格式,因此我们在训练中明确告诉它:
当你看到这个输入(问题)时,我们希望你生成这个目标输出(合理的推理过程和正确答案)。
为了避免文字解释过于复杂,让我们先用可视化的方式直观理解 SFT 训练过程。
SFT 训练过程,作者手绘
微调过程从 输入:提示+ 目标推理 开始,我们提供一个问题及其结构化的推理示例,训练模型(DeepSeek-V3-Base)生成格式清晰的答案。
在 预测下一个 Token 阶段,模型根据输入逐步生成推理过程中的下一个单词,并在计算损失(Compare to Target Token, Calculate Loss)阶段将其与实际正确的 Token 进行比较。较高的损失值意味着模型预测的 Token 与正确答案的偏差较大。
在 **更新模型参数(Update Model Parameters)**阶段,反向传播(Backpropagation)和优化器(Optimizer)调整模型的权重,以优化其预测能力。整个过程在大量输入-目标对的训练循环中不断迭代,使模型的结构化推理能力逐步提升。
面向推理的强化学习(Reasoning-Oriented RL)
DeepSeek V3 经过 SFT 训练后已经具备了基本的推理能力,但为了进一步提升其逻辑思维能力,研究人员引入了 RL 机制。
他们仍然使用了GRPO 算法,但这个阶段最大的升级在于奖励机制,特别是新增了语言一致性奖励。
还记得 R1 Zero 有时在推理过程中会混合不同语言吗?研究人员通过引入语言一致性奖励来解决这个问题。如果用户用英语提问,模型的推理和答案也必须全程保持英语。
让我们用可视化方式理解语言一致性奖励的计算过程:
语言一致性奖励计算,作者手绘
为了更清楚地理解上图,让我们重新审视之前的示例输出 o1 和 o2,看看在引入语言一致性奖励后,奖励如何发生变化。为了简化说明,我们假设目标语言为英语。
2 + 3 = 5, 5 * 4 = 20 20
接下来,我们分析这在这种情况下,由于答案错误,o1 的准确性奖励自然为 0。然而,由于推理过程完全使用了目标语言(本例中为英语),因此它仍然获得了 1 的语言一致性奖励。
在计算 RL 阶段的总奖励时,我们需要将这两者结合起来。如果我们为准确性奖励赋值 1,而语言一致性奖励的权重较小,例如 0.2,那么 o1 的总奖励将计算为:
Total Reward = (1 * Accuracy Reward) + (0.2 * Language Consistency Reward)
(1 * 0) + (0.2 * 1) = 0.2
现在来看 o2 这个输出,它正确地解决了问题,并且推理过程也使用了英语:
3 * 4 = 12, 2 + 12 = 14 14
这个输出由于答案正确,因此获得 1 的准确性奖励。假设其推理过程同样完全使用了目标语言(英语),那么它还将获得 1 的语言一致性奖励。
按照之前相同的权重设置,即准确性奖励权重为 1,语言一致性奖励的权重为 0.2,那么 o2 的总奖励计算为:
(1 * 1) + (0.2 * 1) = 1.2
可以看到,语言一致性奖励不仅稍微提升了正确答案的总奖励,甚至对于错误答案 o1,只要其语言一致,也能获得小幅正向奖励,避免因语言混乱而影响训练。
RL 训练循环仍然遵循我们之前在 DeepSeek-R1 Zero 训练中看到的相同流程:
-
生成多个输出。
-
优化奖励机制,包括语言一致性奖励。
-
使用 GRPO 进行优势估计。
-
训练模型,使其更倾向于生成高优势的输出。
-
重复上述过程,不断优化。
拒绝采样(Rejection Sampling)
在推理数据的筛选过程中,DeepSeek 团队希望得到最优质的示例,以进一步训练模型。因此,他们采用了一种称为**拒绝采样(Rejection Sampling)**的技术。
拒绝采样,作者手绘
为了优化推理数据,DeepSeek 让模型**针对 ” What is 2 + 3 * 4 ? ” 这个问题生成多个输出**。比如:
然后,他们会评估每个输出的质量,不仅考察最终答案是否正确(是否为“14”),还会评估推理过程的清晰度和可读性。
只有那些正确且推理清晰的输出才会被保留,质量较低的输出会被丢弃。
对于更复杂的推理任务,DeepSeek 还使用了生成式奖励模型来评估推理质量。严格的过滤机制会移除语言混杂、推理不连贯或包含无关代码的输出。经过这一系列筛选,他们最终获得了大约 60 万条高质量推理数据。
除了精炼后的推理数据,他们还额外添加了约 20 万条非推理数据,用于训练模型的通用能力,例如写作、问答、翻译等。在一些复杂任务中,仍然会使用 CoT 来增强推理能力。
最终,在 SFT 第二阶段中,研究人员将前一阶段的模型检查点与经过筛选的推理数据和非推理数据结合,并采用“预测下一个 Token” 进行训练。这一阶段通过高质量的拒绝采样数据进一步提升模型的推理能力,同时保持模型在更广泛任务中的泛化能力,确保用户体验的友好性。
比如,我们的示例问题 ” What is 2 + 3 * 4 ? “ ,经过严格筛选和优化后,成为训练数据的一部分。
这就是拒绝采样的核心思想——淘汰质量较差的样本,只保留最佳答案,以生成高质量的训练数据。
全场景强化学习(RL for All Scenarios)
通过 SFT 第二阶段训练后,DeepSeek-V3 已具备推理能力、语言一致性,并能处理一般任务。但要让它真正成为顶级 AI 助手,研究人员还需进行最终的人类价值对齐,这就是全场景强化学习(RL 第二阶段)的任务,可以理解为对模型的最后打磨,让 DeepSeek-R1 变得更加安全可靠。
最终 RL 步骤,作者手绘
对于我们的问题示例 ” What is 2 + 3 * 4 ? “ ,虽然模型仍然受到准确性奖励的强化,但在此阶段,奖励系统还会考虑:
-
有用性(Helpfulness):如果模型生成了摘要内容,是否提供了有价值的背景信息,而不仅仅是答案本身?
-
无害性(Harmlessness):检查整个输出内容是否安全、客观,没有偏见。这通常由训练于人类偏好数据的奖励模型进行评估。
最终的奖励信号由准确性、可用性和安全性的加权组合计算得出。
此时,训练数据包含:
-
各类推理问题(Reasoning Tasks)
-
通用问答(QA)
-
写作任务(Writing Tasks)
-
偏好数据对(Preference Pairs),由人类标注模型的两个输出,并指出哪个在有用性和安全性上表现更好。
训练过程仍然遵循迭代 RL 循环,并可能继续采用GRPO 算法,通过这些多样化数据优化模型,使其在推理能力和人类对齐(即有用性/无害性)之间达到最佳平衡。
经过多轮训练,模型在多个热门基准测试(Benchmark Datasets)上的表现超越了其他开源及闭源模型,最终命名为 DeepSeek-R1。
蒸馏(Distillation)
R1 的蒸馏,作者手绘
在成功构建出强大的 DeepSeek-R1 后,DeepSeek 团队进一步对其进行模型蒸馏(Distillation),以缩小模型体积,同时保持高推理能力,使其能够被更广泛地应用。
整个蒸馏过程如下:
-
数据准备:收集 80 万条推理样本。
-
DeepSeek-R1 输出(Teacher Model Output):对于每条样本,由 DeepSeek-R1 生成的答案作为教师模型的标准答案(Target)。
-
监督微调(Supervised Fine-Tuning, SFT):将学生模型(Student Models)(如 Qwen-1.5B、Llama-14B)在这 80 万条数据上进行微调,使其尽可能贴近 DeepSeek-R1 的输出。
-
蒸馏后的模型(Distilled Models):学生模型成功学习 DeepSeek-R1 的推理能力,并以更小的参数量保留其核心推理能力。
-
最终结果(Final Outcome):得到更小、更快,但仍具备强大推理能力的模型,可用于更广泛的实际部署。
希望这篇详细的解析能帮助你深入理解 DeepSeek-R1 的训练过程及其背后的核心技术。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。
评论(0)