deepseek(2)——deepseek 关键技术

1 Multi-Head Latent Attention (MLA)

在这里插入图片描述

MLA的核心在于通过低秩联合压缩来减少注意力键(keys)和值(values)在推理过程中的缓存,从而提高推理效率:

c t K V = W D K V h t c_t^{KV} = W^{DKV}h_t ctKV=WDKVht

[ k t , 1 C ; k t , 2 C ; ⋯ ; k t , n h C ] = k t C = W U K c t K V [k_{t, 1} ^{C}; k_{t, 2} ^{C}; \cdots; k_{t, n_h} ^{C}] = k_t^C = W^{UK}c^{KV}_t [kt,1C;kt,2C;;kt,nhC]=ktC=WUKctKV

k t R = R o P E ( W K R h t ) k_t^R = RoPE(W^{KR}h_t) ktR=RoPE(WKRht)

h t , i = [ k t , i C ; k t R ] h_{t, i} = [k_{t, i} ^C; k_t^R] ht,i=[kt,iC;ktR]

[ v t , 1 C ; v t , 2 C ; ⋯ ; v t , n h C ] = v t c = W U V c t K V [v_{t, 1} ^{C}; v_{t, 2} ^{C}; \cdots; v_{t, n_h} ^{C}] = v_t^c = W^{UV}c_t^{KV} [vt,1C;vt,2C;;vt,nhC]=vtc=WUVctKV

对于 query,也会做类似的处理:

c t Q = W D Q h t c_t^Q = W^{DQ}h_t ctQ=WDQht

$$
[q_{t, 1} ^C; q_{t, 2} ^C; \cdots; q_{t, n_h} ^C] = q_t^C = W{UQ}c_tQ

$$

[ q t , 1 R ; q t , 2 R ; ⋯ ; q t , n h R ] = q t R = R o P E ( W Q R c t Q ) [q_{t, 1} ^R; q_{t, 2} ^R; \cdots; q_{t, n_h} ^R] = q_t^R = RoPE(W^{QRc_t^Q}) [qt,1R;qt,2R;;qt,nhR]=qtR=RoPE(WQRctQ)

q t , i = [ q t , i C ; q t , i R ] q_{t, i} = [q_{t, i}^C; q_{t, i}^R] qt,i=[qt,iC;qt,iR]

最终的注意力输出 u t u_t ut 是通过将 Query q t q_t qt 和 Key k t k_t kt 进行 softmax 归一化之后的点积,在乘以 Value v t v_t vt 得到:

O t i = ∑ j = 1 t S o f t m a x j ( q t , i T k j , i d h + d h R ) v j , i ′ C O_t^i = \sum _{j=1} ^{t} Softmax _j\left( \frac{q_{t, i}^T k_{j, i}}{\sqrt{d_h + d_h^R}} \right) v_{j, i^{'}} ^{C} Oti=j=1tSoftmaxj dh+dhR qt,iTkj,i vj,iC

u t = W O [ O t , 1 ; O t , 2 ; ⋯ ; O t , n h ] u_t = W^O [O_{t, 1}; O_{t, 2}; \cdots; O_{t, n_h}] ut=WO[Ot,1;Ot,2;;Ot,nh]

1.1 无辅助损失负载平衡的 DeepSeekMoE

在混合专家(MoE)模型中,专家负载的不平衡会导致路由崩溃或增加计算开销。传统的方法通常采用辅助损失来鼓励负载平衡,但过大的辅助损失会引入不可忽视的干扰梯度,从而损害模型性能。

为了避免在训练过程中产生不良梯度,DeepSeek 提出了一种无辅助损失的负载平衡策略(Loss-Free Balancing),通过动态调整每个专家的偏差来控制负载平衡,而不引入干扰梯度。

DeepSeekMoE 的基本流程:

h t ′ = u t + ∑ i = 1 N s F F N i ( s ) ( u t ) + ∑ i = 1 N r g i , t F F N i ( r ) ( u t ) h_t^{'} = u_t + \sum _{i=1} ^{N_s} {FFN _i ^{(s)}} (u_t) + \sum _{i=1} ^{N_r}g_{i, t} FFN _i ^{(r)} (u_t) ht=ut+i=1NsFFNi(s)(ut)+i=1Nrgi,tFFNi(r)(ut)

g i , t = g i , t ′ ∑ j = 1 N r g j , t ′ g_{i, t} = \frac{g_{i, t}^{'}}{\sum _{j=1} ^{N_r} g_{j, t} ^{'}} gi,t=j=1Nrgj,tgi,t

g j , t ′ = { s i , t , s i , t ∈ T o p k ( s j , t ∣ 1 ≤ j ≤ N r , K r ) , 0 , o t h e r w i s e , g_{j, t} ^{'} = \begin{cases} s_{i, t}, & s_{i, t} \in Topk({s_{j, t} | 1 \leq j \leq N_r}, K_r), \\ 0, & otherwise, \end{cases} gj,t={si,t,0,si,tTopk(sj,t∣1jNr,Kr),otherwise,

s i , t = S i g m o i d ( u t T e i ) s_{i, t} = Sigmoid(u_t^T e_i) si,t=Sigmoid(utTei)

针对专家负载不均衡的问题,为每个专家引入了一个偏置项 b i b_i bi,并将其加到亲和力得分 s i , t s_{i,t} si,t​ 上:

g j , t ′ = { s i , t + b i , s i , t ∈ T o p k ( s j , t + b i ∣ 1 ≤ j ≤ N r , K r ) , 0 , o t h e r w i s e , g_{j, t} ^{'} = \begin{cases} s_{i, t} + b_i, & s_{i, t} \in Topk({s_{j, t} + b_i | 1 \leq j \leq N_r}, K_r), \\ 0, & otherwise, \end{cases} gj,t={si,t+bi,0,si,tTopk(sj,t+bi∣1jNr,Kr),otherwise,

偏置项仅用于路由。与FFN输出相乘的门控值仍然来源于原始得分 s i , t s_{i,t} si,t

在训练过程中,持续监控每个训练步骤中整个 batch 的专家负载。在每个步骤的末尾,如果相应的专家过载,将减少偏置项 b i b_i bi;如果相应的专家欠载,将增加偏置项 b i b_i bi。通过动态调整,DeepSeek-V3 在训练期间保持专家负载平衡,并比通过纯辅助损失鼓励负载平衡的模型实现了更好的性能。

1.2 互补序列级辅助损失

为了防止任何单个序列内的极端不平衡,还采用了互补序列级辅助损失。这种损失鼓励每个序列中的专家负载保持平衡。

L B a l = α ∑ i = 1 N r f i P i , \mathcal{L} _{Bal} = \alpha \sum _{i=1} ^{N_r}f_i P_i, LBal=αi=1NrfiPi,

f i = N r K r T ∑ t = 1 T 1 ( s i , t ∈ T o p k ( s j , t ∣ 1 ≤ j ≤ N r , K r ) ) , f_i = \frac{N_r}{K_r T} \sum _{t=1} ^T \mathcal{1} (s_{i, t} \in Topk({s_{j, t} | 1 \leq j \leq N_r}, K_r)), fi=KrTNrt=1T1(si,tTopk(sj,t∣1jNr,Kr)),

s i , t ′ = s i , t ∑ j = 1 N r s j , t , s_{i, t} ^{'} = \frac{s_{i, t}}{\sum _{j=1} ^{N_r} s_{j, t}}, si,t=j=1Nrsj,tsi,t,

P i = 1 T ∑ t = 1 T s i , t ′ P_i = \frac{1}{T} \sum _{t=1} ^T s_{i, t} ^{'} Pi=T1t=1Tsi,t

其中 1 ( ⋅ ) \mathcal{1}(\cdot) 1() 标识指标函数。

1.3 节点限制路由

DeepSeek-V3 采用了一种受限的路由机制来限制训练过程中的通信成本。确保每个 token 最多被发送到 M 个节点,这些节点是根据每个节点上分布的专家的最高 T r T_r Tr 个亲和分数之和来选择的。

1.4 无 Token 丢弃

由于有效的负载平衡策略,DeepSeek-V3 在完整的训练过程中保持了良好的负载平衡。因此,在训练期间,DeepSeek-V3 不会丢弃任何 token。此外,还实施了特定的部署策略以确保推理时的负载平衡,所以 DeepSeek-V3 在推理期间也不会丢弃 token。

2 多 Token 预测(Multi-Token Prediction/MTP)

在这里插入图片描述

Multi-Token Prediction / MTP 实现使用 K 个顺序模块来预测 K 个额外的 Token。

第 i个 MTP 模块包括一个共享的特征层 E m b ( ⋅ ) Emb(·) Emb(),一个共享的输出头 O u t H e a d ( ⋅ ) OutHead(·) OutHead(),一个 Transformer 块 T R M i ( ⋅ ) TRM_i(·) TRMi(),以及一个投影矩阵 W i ∈ R d × 2 d W_i \in R^{d×2d} WiRd×2d。对于第 i 个输入 T o k e n t i Tokent_i Tokenti,在第 i 个预测深度,首先结合第 (i-1) 深度的第 i 个 Token 的表示 h i − 1 ∈ R d h_{i-1} \in R^d hi1Rd 和第 (i+1) 个 Token 的嵌入 d ( t i + 1 ) ∈ R d d(t_{i+1}) \in R^d d(ti+1)Rd,通过线性投影:

h i ′ k = M k [ R M S N o r m ( h i k − 1 ) ; R M S N o r m ( E m b ( t i + k ) ) ] h_i ^{'k} = M_k [RMSNorm(h_i ^{k-1}); RMSNorm(Emb(t_{i+k}))] hik=Mk[RMSNorm(hik1);RMSNorm(Emb(ti+k))]

对于每个 MTP 模块,其嵌入层与主模型共享。结合后的 h i ′ h_{i} ^{'} hi 作为第 i 深度的 Transformer 块的输入,产生当前深度的输出表示 h i h_i hi

h 1 : T − k k = T R M k ( h 1 : T − k ′ k ) h_{1 : T-k} ^ {k} = TRM _k (h_{1 : T-k} ^ {'k}) h1:Tkk=TRMk(h1:Tkk)

其中 T 标识输入序列的长度,:表示切片操作(包括左右边界)。

最后,以 h i h_i hi 为输入,共享的输出头将计算第 i 个额外预测 Token 的概率分布:

p i + k + 1 k = O u t H e a d ( h i k ) p _{i+k+1} ^k = OutHead(h_i ^k) pi+k+1k=OutHead(hik)

输出头 O u t H e a d ( ⋅ ) OutHead(·) OutHead() 将表示线性映射到logits,然后应用 S o f t m a x ( ⋅ ) Softmax(·) Softmax()函数计算第 i 个额外 Token 的预测概率。同时,对于每个 MTP 模块,其输出头与主模型共享。

2.1 MTP 训练目标

计算一个交叉熵损失 L M T P k \mathcal{L}^k _{MTP} LMTPk

L M T P k = C r o s s E n t r o p y ( p 2 + k : T + 1 k , t 2 + k : T + 1 ) = − 1 T ∑ i = 2 + k T + 1 log ⁡ P i k [ t i ] \mathcal{L}^k _{MTP} = CrossEntropy(p_{2+k:T+1}^{k}, t_{2+k:T+1}) = -\frac{1}{T} \sum _{i=2+k} ^{T+1} \log P_{i} ^{k}[t_i] LMTPk=CrossEntropy(p2+k:T+1k,t2+k:T+1)=T1i=2+kT+1logPik[ti]

其中 T 表示输入序列长度, t i t_i ti 表示第 i 个位置的 ground-truth Token, P i k [ t i ] P_{i} ^{k}[t_i] Pik[ti] 表示第 i 个 MTP 模块给出的 t i t_i ti 的相应预测概率。

最后,计算所有深度的 MTP 损失的平均值,并乘以一个权重因子 λ \lambda λ,得到整体 MTP 损失 L M T P \mathcal{L} _{MTP} LMTP,它作为 DeepSeek-V3 的训练目标:

L M T P = λ D ∑ k = 1 D L M T P k \mathcal{L} _{MTP} = \frac{\lambda}{D} \sum _{k=1} ^{D} \mathcal{L}^k _{MTP} LMTP=Dλk=1DLMTPk

2.2 推理中的 MTP

MTP 策略主要旨在提高主模型的性能,在推理过程中,可以直接丢弃 MTP 模块,主模型可以独立且正常地工作。

此外,还可以将这些 MTP 模块用于推理的 decoding,以进一步改善生成延迟。

3 deepseek 是如何生成思考过程的

3.1 基于规则的检查

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

系统知道正确答案是 14。它将查看 DeepSeek V3(RL 代理)生成的输出,并专门检查 <answer>标签内的内容。如果 <answer>标签包含14(或数字相同的内容),它会得到正奖励,比如说 +1。如果它错了,它会得到 0 奖励,甚至可能是负奖励。 --> (正确性检查)

3.2 格式化奖励

DeepSeek R1 Zero 还需要学习正确构建其推理,并且可以使用 <think><answer> 标签,正确设置格式的奖励较少。

检查模型输出是否正确地将推理过程包含在 <think> …</think> 中,并将最终答案包含在 <answer>… </answer>中。

3.3 奖励训练模板

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

原始模板:

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:

这种结构化输出对于研究人员以后窥视模型的推理步骤非常重要。

训练 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 <think> </think> and <answer> </answer>
tags respectively, i.e., <think> reasoning process here </think>
<answer> answer here </answer>. User: What is 2 + 3 * 4?. Assistant:

期望模型生成符合模板的输出:

<think>
Order of operations:
multiply before add. 3 * 4 = 12. 2 + 12 = 14
</think>
<answer>
14
</answer>

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

3.4 DeepSeek R1 Zero 的强化学习训练过程

第一步是使用旧策略(即强化学习更新之前的 DeepSeek-V3-Base 模型)生成多个可能的输出。在一次训练迭代中,假设 GRPO 采样一组 G = 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> (正确,但缺少 标签)
  • o4: <think>...一些胡言乱语的推理...</think> <answer> 7<answer> (不正确且推理不佳)

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

为了引导模型进行更好的推理,基于规则的奖励系统应运而生。每个输出都根据以下条件分配奖励:

  • 准确度奖励:答案是否正确。
  • 格式奖励:推理步骤是否使用 标签正确格式化。

奖励分配如下:

输出准确率奖励格式奖励总奖励
o100.10.1
o210.11.1
o3101
o400.10.1

模型应该学会偏爱奖励更高的输出,同时降低生成不正确或不完整输出的概率。

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

M e a n R e w a r d = 0.1 + 1.1 + 1 + 0.1 4 = 0.575 Mean Reward = \frac{0.1 + 1.1 + 1 + 0.1}{4} = 0.575 MeanReward=40.1+1.1+1+0.1=0.575

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

A i = r i − M e a n R e w a r d S t a n d a r d D e v i a t i o n A_i = \frac{r_i - Mean Reward}{Standard Deviation} Ai=StandardDeviationriMeanReward

即:

A 1 = 0.1 − 0.575 0.5 ≈ − 0.95 A_1 = \frac{0.1 - 0.575}{0.5} \approx -0. 95 A1=0.50.10.5750.95

A 2 = 1.1 − 0.575 0.5 ≈ 1.05 A_2 = \frac{1.1 - 0.575}{0.5} \approx 1.05 A2=0.51.10.5751.05

A 3 = 1 − 0.575 0.5 ≈ 0.85 A_3 = \frac{1 - 0.575}{0.5} \approx 0.85 A3=0.510.5750.85

A 4 = 0.1 − 0.575 0.5 ≈ − 0.95 A_4 = \frac{0.1 - 0.575}{0.5} \approx -0. 95 A4=0.50.10.5750.95

输出 o2 和 o3 获得正优势,这意味着应该鼓励它们。输出 o1 和 o4 获得负优势,这意味着应该阻止它们。

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

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

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

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

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

  • 执行正确的操作顺序
  • 提供逻辑推理步骤
  • 始终使用正确的格式

随着训练的深入,模​​型会从错误中吸取教训,在解决推理问题方面变得更加准确和有效。

4 由 deepseek R1 ZERO 到 deepseek R1

4.1 R1 Zero 的两个主要问题
  • 标签内的推理过程难以阅读,使人类难以理解和分析
  • 语言混合,当被问到多语言问题时,模型有时会在同一个回答中混合使用多种语言,导致输出不一致和混乱。

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

4.1 冷启动数据
4.1.2 使用长 CoT 进行少量提示

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

对于示例问题 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 | 东西只是将推理步骤与摘要分开的标记,使模型可以清楚地学习结构。

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

| 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.
4.1.2 直接提示

他们收集数据的另一种方法是直接提示模型不仅解决问题,而且还要逐步明确地展示其推理,然后仔细检查其答案。这是为了促进更仔细和周到的问题解决。

对于 12 + 3 * 4 等于多少?,提示可能是:

Problem: Solve this, show reasoning step-by-step, and verify:
What is 2 + 3 * 4?
4.1.3 后处理细化

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

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

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

然后人类会对其进行改进,使其更清晰、格式更好:

| 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.

最终获得了非常好的冷启动数据:

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

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

4.2 监督微调

SFT 第 1 阶段的核心思想是使用监督学习来教 DeepSeek-V3-Base 如何产生高质量、结构化的推理输出。向模型展示了许多良好推理的例子,并要求它学习模仿这种风格。

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

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

User: What is 2 + 3 * 4? Assistant:

目标是希望模型学习生成的理想输出:

| special_token | According to the order of operations (PEMDAS/BODMAS) ... 
Summary: The answer is 14.

微调过程从输入开始:

  • 提示 + 目标推理,在此提供一个问题和一个结构化的推理示例。这会训练模型(DeepSeek-V3-Base 模型)以生成结构良好的响应。
  • 在预测下一个标记中,模型会生成推理序列中的下一个单词。使用损失函数将其与比较目标标记(计算损失)中的实际下一个标记进行比较。损失越大,意味着预测距离正确标记越远。
  • 在更新模型参数中,反向传播和优化器会调整模型的权重以改进其预测。这个过程循环往复,重复许多输入目标对,每次迭代逐渐提高模型结构化推理能力。
4.3 推理导向强化学习

前面说明了基于 deepseek V3 base 的 STF 训练,为了真正提高其推理能力,研究人员引入了推理导向强化学习。

这一阶段,依然使用相同的 GRPO 算法,但是奖励系统有所改变,添加了语言一致性奖励,来解决 R1 Zero 的语言混淆的问题。简单说就是使用英语问问题,期望得到的回答是英语的。

在计算 RL 阶段的总奖励时,会将语言一致性的奖励得分考虑在内,为语言一致性奖励分配的权重较小。

4.4 拒绝抽样

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

为了改进推理数据,DeepSeek 使用了拒绝抽样。对于“2 + 3 * 4 等于多少?”,他们会从上一阶段模型生成许多输出。然后他们会评估每个输出的正确性(答案“14”)和推理的可读性。只有正确且推理充分的最佳输出才会被保留,而其他输出则被拒绝。对于复杂的推理,生成奖励模型用于判断推理质量。严格的过滤器会删除混合语言、漫无边际的推理或不相关的代码。此过程会产生约 600k 个高质量推理样本。

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

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

4.5 适用于所有场景的 RL

奖励系统现在还考虑:

  • 有用性,评估摘要(如果生成)是否提供了除答案之外的有用背景。
  • 无害性,检查整个输出是否安全且无偏见。这些通常由根据人类偏好训练的单独奖励模型进行评估。

最终的奖励信号是准确度有用性无害性分数的加权组合。

现在,训练数据包括:

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

5 模型蒸馏

在 DeepSeek 团队能够创建性能良好的 DeepSeek R1 后,他们进一步将更大的模型提炼为性能更高的小型模型,供社区使用,蒸馏过程的工作原理如下:

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/75690.shtml

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

相关文章

OpenGL绘制文本

一&#xff1a;QPainter绘制 在 OpenGL 渲染的窗口中&#xff08;如 QOpenGLWidget&#xff09;&#xff0c;通过 QPainter 直接绘制文本。Qt 会自动将 2D 内容&#xff08;文本、图形&#xff09;与 OpenGL 内容合成。在paintGL()里面绘制&#xff0c;如果有其他纹理&#xf…

从零构建大语言模型全栈开发指南:第二部分:模型架构设计与实现-2.1.3前馈网络(FFN)与激活函数(GELU)优化

👉 点击关注不迷路 👉 点击关注不迷路 👉 点击关注不迷路 文章大纲 2.1.3 前馈网络(FFN)与激活函数(GELU)优化1. 前馈网络(FFN)的架构设计与数学原理1.1 FFN在Transformer中的核心作用2. GELU激活函数的数学特性与优化2.1 GELU的数学形式与近似计算3. 逐行代码实现…

React 中的错误边界(Error Boundaries),如何使用它们捕获组件错误

大白话React 中的错误边界&#xff08;Error Boundaries&#xff09;&#xff0c;如何使用它们捕获组件错误 在 React 里&#xff0c;错误边界就像是一个“小卫士”&#xff0c;专门负责在组件出现错误时挺身而出&#xff0c;避免整个应用因为一个小错误就崩溃掉。接下来我会详…

数据库DBA认证,选哪个认证合适?

从 Oracle、MySQL 到 云数据库&#xff0c;结合市场认可度、考试难度及职业回报&#xff0c;为你精选高性价比认证。 一、企业级数据库认证&#xff08;传统场景&#xff09; 1. Oracle认证 认证等级考试代码核心内容费用适合人群OCA1Z0-082SQL基础、数据库安装与配置$245零基…

力扣刷题-热题100题-第24题(c++、python)

234. 回文链表 - 力扣&#xff08;LeetCode&#xff09;https://leetcode.cn/problems/palindrome-linked-list/description/?envTypestudy-plan-v2&envIdtop-100-liked 常规法 数组是连续的存储空间&#xff0c;可以根据索引到达任意位置&#xff0c;链表只能一个个的顺…

调用通义千问实现语音合成并将合成的音频通过扬声器播放

1. 作者介绍 郭建东&#xff0c;男&#xff0c;西安工程大学电子信息学院&#xff0c;2024级研究生 研究方向&#xff1a;机器视觉与人工智能 电子邮件&#xff1a;1229963266qq.com 高金年&#xff0c;男&#xff0c;西安工程大学电子信息学院&#xff0c;2024级研究生&…

Ubuntu软件包离线下载安装

1、下载软件包tcpd&#xff0c;并在/var/cache/apt/archives目录中查看。 rooteducoder:~# apt-get install -d tcpd Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed:tcpd …

您的数据是如何出现在暗网上的?

暗网是互联网上的一个隐秘角落&#xff0c;人们可以在那里保持匿名。暗网经常与深网混淆&#xff0c;但它们并不完全相同。 深网是指网络上所有未被搜索引擎索引的内容。这包括电子邮件帐户、私人数据库和付费服务等。这并不违法&#xff0c;只是无法通过简单的 Google 搜索找…

原型模式及其应用

引言 原型模式&#xff08;Prototype Pattern&#xff09;是一种创建型设计模式&#xff0c;它允许通过复制现有对象来创建新对象&#xff0c;而无需通过构造函数来创建。这种模式通过克隆现有对象来创建新对象&#xff0c;从而避免了复杂的初始化过程。本文将探讨原型模式的好…

thinkphp漏洞再现

Thinkphp5x远程命令执行及getshell 1、开环境 2、使用工具攻击 开启工具 输入地址&#xff0c;点击漏洞检测 存在漏洞之后&#xff0c;选择漏洞&#xff0c;执行命令 3、也可以执行远程命令 执行命令 ?sindex/think\app/invokefunction&functioncall_user_func_array&…

Day16 -实例:Web利用邮箱被动绕过CDN拿真实ip

本想测试一下全局ping&#xff0c;刚好注册的时候收到了邮件&#xff0c;刚好去做一下复现。 原理&#xff1a;主动让对方站点给我们发邮件&#xff08;注册、修改密码、订阅推送等&#xff09;我们查看邮件原文&#xff0c;原文里存在真实的邮件站点ip 特点&#xff1a;邮件…

vue3 数据监听(watch、watchEffect)

1、watch 1.1基本使用 作用&#xff1a;数据监听 语法&#xff1a; watch(监听的数据, (改变后的数据, 改变前的数据) > { console.log(newVal, oldVal); }) 注意点&#xff1a;watch写法上支持一个或者多个监听源&#xff0c;这些监听源必须只能是getter/effect函数…

网盘解析工具更新,解决了一些bug

解析工具v1.2.1版本更新&#xff0c;本次是小版本更新&#xff0c;修复了一些bug。 之前小伙伴反应的网盘进入文件后不能返回上一级&#xff0c;现在这个bug修复了&#xff0c;已经可以点击了。 点击资源后会回到资源那一级目录&#xff0c;操作上是方便了不少。 增加了检查自…

推荐1款简洁、小巧的实用收音机软件,支持手机和电脑

聊一聊 没想到现在还有人喜欢听广播。 我一直以为听广播必须要用那种小广播机才可以。 原来手机或电脑上也是可以的。 今天给大家分享一款可以在电脑和手机上听广播的软件。 软件介绍 龙卷风收音机 电台广播收音机分电脑和手机两个版本。 电脑端无需安装&#xff0c;下载…

六十天前端强化训练之第三十一天之Webpack 基础配置 大师级讲解(接下来几天给大家讲讲工具链与工程化)

欢迎来到编程星辰海的博客讲解 看完可以给一个免费的三连吗&#xff0c;谢谢大佬&#xff01; 目录 一、Webpack 核心概念解析 二、实战&#xff1a;多资源打包配置&#xff08;含完整代码&#xff09; 三、配置深度解析&#xff08;重点部分说明&#xff09; 四、效果演示…

机器学习——Bagging、随机森林

相比于Boosting的集成学习框架&#xff0c;Bagging(Bootstrap Sampling&#xff0c;自助聚集法&#xff0c;又称为自助采样)作为一种自助聚集且并行化的集成学习方法&#xff0c;其通过组合多个基学习器的预测结果来提高模型的稳定性和泛化能力。其中随机森林是Bagging学习框架…

【蓝桥杯】每日练习 Day13

前言 今天做了不少题&#xff0c;但是感觉都太水了&#xff0c;深思熟虑之下主播决定拿出两道相对不那么水的题来说一下&#xff08;其实还是很水&#xff09;。 两道问题&#xff0c;一道是日期问题&#xff08;模拟&#xff09;&#xff0c;一道是区间合并问题。 日期差值 …

HTML输出流

HTML 输出流 JavaScript 中**「直接写入 HTML 输出流」**的核心是通过 document.write() 方法向浏览器渲染过程中的数据流动态插入内容。以下是详细解释&#xff1a; 一、HTML 输出流的概念 1. 动态渲染过程 HTML 文档的加载是自上而下逐行解析的。当浏览器遇到 <script&…

理解文字识别:一文读懂OCR商业化产品的算法逻辑

文字识别是一项“历久弥新”的技术。早在上世纪初&#xff0c;工程师们就开始尝试使用当时有限的硬件设备扫描并识别微缩胶片、纸张上的字符。随着时代和技术的发展&#xff0c;人们在日常生活中使用的电子设备不断更新换代&#xff0c;文字识别的需求成为一项必备的技术基础&a…

开源模型应用落地-语音转文本-whisper模型-AIGC应用探索(五)

一、前言 在上一节中&#xff0c;学习了如何使用vLLM来部署Whisper-large-v3-turbo模型。不过&#xff0c;在实际使用时&#xff0c;模型一次只能处理30秒的音频。今天&#xff0c;将结合实际业务&#xff0c;介绍如何处理一段完整的音频&#xff0c;并生成相应的字幕文件。 相…