DeepSeek相关技术名词含义详解(面向国人的一次倾情科普)

本文为“每日智能”公众号作者合作撰写,欢迎关注
DeepSeek全球效应还在持续发酵中,不管你是相关从业者、还是准备入坑的学习者、甚至茶余饭后作为谈资的各界人士,是否还会觉得深入交流时总感觉力不从心,如果你有这种症状,那么这篇文章很适合你。
本篇文章将从DeepSeek涉及的各种专业名词角度,来给大家做一个解读,试图做到深入浅出通俗易懂,希望能帮任何看到这篇文章的人接下来再“吹牛皮”时都“充满自信”~
如果没有耐心全部看完,至少可以把每一个知识点的简明总结全部看完,相信也一定会“大有裨益”!
另外文末还给大家准备了彩蛋

1. Aha Monent

图1: Aha Monent 顿悟时刻@DeepSeek-R1

简明总结

Aha Monent,也就是大家都在讲的“顿悟时刻”,即模型在训练过程中自我激发出了推理思考、分析检查、修正问题的能力。

详细理解

Aha Monent是DeepSeek工作中最精彩的部分(最出圈也让人最兴奋),因为只使用纯RL(Reinforcement Learning)训练DeepSeek-V3-Base模型的时候,随着训练的逐渐进行,模型突然涌现出了自我推理思考、分析检查、修正问题的能力,模型“意识”到自己可以通过更多的思考来得到更好的答案,即达到了“顿悟时刻”,最终训练出的模型命名为DeepSeek-R1-Zero。

DeepSeek-R1-Zero代表RL有可能在人工系统中解锁新的智能水平,为未来更加自主和自适应的模型铺平道路,为AGI的到来提供了更多可能。其提出并使用的具体RL算法叫GRPO,下一节会进行详细介绍。

尽管DeepSeek-R1-Zero自主发展出强大的推理能力,但也存在一些可读性差和语言混杂等问题,因此DeepSeek才在DeepSeek-R1-Zero基础上又优化出了更通用的产品级别的模型DeepSeek-R1。

2. GRPO

图2: PPO vs. GRPO@DeepSeekMath

简明总结

GRPO(Group Relative Policy Optimization,组相对策略优化)是一种强化学习算法,根据经典的PPO强化学习算法改进而来。它通过大模型根据当前的上文输入进行一组多次采样,生成多个预测结果,并分别使用 Reward 模型对这些预测结果进行奖励评分,然后取组内这些评分的平均值来替代 Value模型的预期总收益估计,最后将每个输出的奖励与奖励平均值进行比较,强化那些高于平均奖励的输出,惩罚那些低于平均奖励的输出,以这种更简单的方式实现无需人工标注的RL训练,从而自主挖掘模型的推理潜力。

详细理解

我们以“2+3等于多少?”这样一个问题举例,来详细理解一下DeepSeek-R1-Zero的RL训练过程。

1. 训练模版

R1-Zero在训练时,使用了一个模版,让大模型在输出的时候遵循,可以理解为System Prompt。

模板原文如下:

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 <think> </think> and <answer> </answer> tags, respectively, i.e., <think> reasoning process here </think> <answer> answer here </answer>. User: prompt. Assistant:

翻译如下:

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

prompt在训练时会被用户的输入替换。这里主要是强调了,助手首先在脑海中思考推理过程,然后为用户提供答案。推理过程和答案分别用<think></think>和<answer></answer>标签包裹。

2. 输入数据

假设模型收到了问题“2+3等于多少?”

3. 模型输出

模型接收到问题“2+3等于多少?”后,生成多个可能的答案,每个答案包含推理过程和最终答案。例如:

  • 输出1:巴拉巴拉的思考过程,甚至有可能是乱码内容,4。
  • 输出2:<think>巴拉巴拉的推思考过程,甚至有可能是XXX乱码</think>,<answer>5</answer>。
  • 输出3:<think>“1+1=2,2+2=4, 2+3=6”</think>,<answer>“6”</answer>。

4. 评估输出

预定义规则有两条:

  1. 准确度奖励:准确度奖励模型评估响应是否正确。
  2. 格式奖励:强制模型将其思维过程放在< think >和</think>标记之间,把答案放在<answer>和</answer>之间。

使用预定义的规则对每个输出进行评估,并使用奖励函数(Reward Model)计算每个输出的奖励值。比如:

  • 输出1:奖励值为0.0(格式错误,答案错误)。
  • 输出2:奖励值为2.0(格式正确,答案正确)。
  • 输出3:奖励值为1.0(格式正确,答案错误)。

5. 策略优化

将每个输出的奖励与平均奖励进行比较,强化那些高于平均奖励的输出,惩罚那些低于平均奖励的输出。

比如:第1个预测答案,在推理阶段获得了1分,低于平均奖励,采取扣2分的惩罚;第2个预测答案,在推理阶段获得了2分奖励,高于平均奖励,采取加2分的奖励。

然后算法会调整参数以增加模型生成高奖励输出的概率,比如下次输出在< think >和</think>标记之间生成更多思考内容,使得<answer>和</answer>之间的内容更接近真实答案,从而获得更高的奖励。

6、持续训练

通过使用海量的样本,进行迭代,模型会不断优化其参数和输出策略,逐渐生成更稳定的生成准确和符合格式的答案。

以上6步便完成了GRPO RL过程。不知道你有没有发现,自始至终并没有告诉过模型正确的答案是什么,而是根据模型的输出结果来生成一个奖励和惩罚值,那么模型就会根据当前的奖励情况,对自己产生高奖励的策略强化,低奖励的策略弱化。在大量的自我调整和训练中,得到一个自我进化的最佳策略。

3. Cold Start

简明总结

Cold Start(冷启动)是训练DeepSeek-R1第一阶段所使用的方法,为了避免RL训练从基础模型开始的早期不稳定冷启动阶段,构建并收集少量长的CoT等高质量数据来微调 DeepSeek-V3-Base 作为 RL 的起点,这些数据就叫冷启动数据,这个阶段的模型就叫冷启动模型

详细理解

冷启动问题一般是指在新用户、新物品或新场景下,由于缺乏足够的历史数据,使得模型难以进行有效的学习和预测。冷启动模型则是为了解决这一问题而设计的模型或方法,通常需要利用有限的初始数据或外部知识来引导模型的训练和预测。

像DeepSeek-R1-Zero没用监督数据便开始训练还是有些不稳定,如果要训练可落地使用的DeepSeek-R1,最好在训练早期能有一些CoT的数据来微调下模型(即冷启动模型)。

为此,探索了2种方式:

  • 使用带有Long-CoT示例的少样本提示,直接提示模型生成带有反思和验证的详细答案;
  • 收集DeepSeek-R1-Zero的可读格式输出,并通过人工注释员的后处理来优化结果。将DeepSeek-R1-Zero可能混合多种语言或缺乏用于突出显示答案的Markdown格式的响应进行过滤和修正,将输出格式定义为: |special_token∣<reasoning_process>∣special_token∣<summary>。

就这样收集了数千条冷启动数据,来有监督微调DeepSeek-V3-Base。

这个阶段的训练目的并不是让模型直接学会复杂的推理能力,而是给模型“打个底”,使其在开始 RL 训练之前就具备一定的推理基础和良好的语言表达能力。这种做法类似于给一个初学者提供一些入门的知识和练习,使其能够更好地适应后续的训练。

这样做的好处主要有三方面:首先,它能够避免 RL 训练初期的不稳定,使得模型能够更快地进入稳定的训练状态;其次,它可以有效地加速 RL 训练的收敛,缩短训练时间;此外,它还可以提高模型输出的可读性,减少不同语言混合使用的情况。

4. Long-CoT

简明总结

Long-CoT(长思考/慢思考)是CoT(Chain-of-Thought)的一种扩展形式,使思考过程和输出的答案解耦,通过使用更长的上下文和更复杂的推理路径来增强模型的推理能力。

详细理解

CoT指的是一种推理过程,其中模型在生成最终答案之前,先逐步推导出一系列的中间步骤或子目标。这些中间步骤构成了一个“思维链”,最终引导模型得到正确的结果。它模仿人类的推理过程,即人们往往在解决问题时不是直接得出答案,而是通过一系列的思考、分析和推理步骤。

Long-CoT是对CoT的一种扩展形式。传统的CoT方法通过将复杂问题分解为一系列中间推理步骤来引导模型进行逐步推理。而Long-CoT则进一步扩展了这种思路,使得思考过程和输出的答案解耦,可以通过更长的上下文和更复杂的推理路径(在思考过程中通过加入问题复述、思考回顾、反思、知识回忆、公式化等思考节点)来增强模型的推理能力。

比如DeepSeek-R1-Zero模型在训练时使用的对话模版,就是Long-CoT的应用。

图3: DeepSeek-R1-Zero对话模版@DeepSeek-R1

再比如下图我们熟知的DeepSeek在回答问题时的“深度思考”过程,就是典型的Long-CoT的展现。

图4: Long-CoT过程展现

5. Rejection Sampling

简明总结

Rejection Sampling(拒绝采样)首先使用训练好的模型(DeepSeek-R1第二阶段通过推理导向的强化学习训练完的模型)生成大量的候选输出,对于DeepSeek-R1是多个候选推理路径。通过某种筛选机制(如人工评审或自动评分系统,对于DeepSeek-R1是用DeepSeek-V3做判断)从这些候选输出中挑选出高质量的样本

详细理解

DeepSeek-R1通过Rejection Sampling分别生成了600k推理数据和200k非推理数据。

600k推理数据的生成过程如下:

  1. 通过从上一轮强化学习训练的检查点进行拒绝抽样,整理推理提示并生成推理轨迹(Reasoning Trajectories);
  2. 除基于规则奖励进行评估的数据外,还包括了基于奖励模型的DeepSeek-V3判断生成的数据;
  3. 过滤掉了混合语言、长段落和代码块的思路链数据;
  4. 对于每个提示(Prompt),会生成多个回答,然后并仅保留正确的响应。

200k非推理数据(如写作、事实问答、自我认知和翻译等)的生成过程如下:

  1. 采用DeepSeek-V3流程并复用V3的部分SFT数据集;
  2. 可调用DeepSeek-V3生成潜在的CoT,再通过提示回答;
  3. 对于更简单的查询(例如“你好”),不提供CoT回答。

6. MLA

图5: MHA, MQA, GQA 与 MLA@Deepseek-V2

简明总结

MLA(Multi-Head Latent Attention,多头潜注意力)是Attention机制的一种改进,是DeepSeek系列模型中用于高效推理的核心注意力机制。MLA通过低秩联合压缩技术,减少了推理时的键值(KV)缓存,从而在保持性能的同时显著降低了内存占用。MLA本质上是对原本MHA的KV Cache作低秩分解,得到一个低维的隐向量(Latent Vector)。在推理阶段,MLA 只需要缓存该隐向量,由此大大降低需要缓存的数据量,这对训练和推理时的Scaling Law都非常有用。

详细理解

图6: MLA缩放过程示例

我们先举个简单的例子来感受一下MLA的缩放过程。如上图所示,假设输入的隐空间向量维度为 H = 10000 ∗ 1024 H = 10000*1024 H=100001024(1w个tokens,每个token维度为1024),乘以降维矩阵 W d = 1024 ∗ 128 W_d = 1024*128 Wd=1024128后,得到压缩的潜向量 L = 10000 ∗ 128 L = 10000 * 128 L=10000128,然后再乘以升维矩阵 W u = 128 ∗ 1024 W_u = 128 * 1024 Wu=1281024,放大回输入尺度得到向量 H ′ = 10000 ∗ 1024 H^{'} = 10000*1024 H=100001024

上述过程中,潜向量 L L L就是需要为推理计算一直缓存的向量,相比原始输入的隐向量 H H H,实现了1024/128 = 8倍的压缩。

大家应该也同时能发现,还多了1024x128x2的参数量,实际的参数变化倍数为(10000*1024/(1024*128+10000*128+128*1024))=6.64倍,也是很可观的压缩了。

但同时大家应该也不难发现,虽然需要缓存了参数量少了,但却增加了计算量,这一点DeepSeek-V2的论文中使用矩阵吸收(Matrix Absorption)来进行了弥补,参考资料[6][7]中进行了详细的拆解,这里就不再进行详细展开了。

图7: MLA流程图和计算公式一一对应关系@Deepseek-V2

下面按图7来梳理一下MLA的计过程:

1. 低秩联合压缩重建

MLA 通过以下步骤对 K K K V V V 矩阵进行低秩联合压缩:

压缩键和值:

设输入序列的第 t t t 个 token 的嵌入向量为 h t ∈ R d \mathbf{h}_t \in \mathbb{R}^d htRd,其中 d d d 是嵌入维度。通过一个下投影矩阵 W D K V ∈ R d c × d W^{DKV} \in \mathbb{R}^{d_c \times d} WDKVRdc×d,将 h t \mathbf{h}_t ht 压缩为一个低维的潜在向量 c t K V ∈ R d c \mathbf{c}_t^{KV} \in \mathbb{R}^{d_c} ctKVRdc,其中 d c ≪ d h n h d_c \ll d_h n_h dcdhnh d h d_h dh 是每个注意力头的维度, n h n_h nh 是注意力头的数量。

c t K V = W D K V h t \mathbf{c}_t^{KV} = W^{DKV} \mathbf{h}_t ctKV=WDKVht

重建键和值:

通过上投影矩阵 W U K ∈ R d h n h × d c W^{UK} \in \mathbb{R}^{d_h n_h \times d_c} WUKRdhnh×dc W U V ∈ R d h n h × d c W^{UV} \in \mathbb{R}^{d_h n_h \times d_c} WUVRd

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI算法网奇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值