DeepSeek系列模型技术报告的阅读笔记

DeepSeek系列模型技术报告的阅读笔记

之前仔细阅读了DeepSeek系列模型的主要技术方面内容与发展脉络,以下是DeepSeek系列模型技术报告的笔记,有错误的地方欢迎指正!

文章目录

  • DeepSeek系列模型技术报告的阅读笔记
    • GQA
    • Deepseek MoE
      • Abstract
      • Introduction
      • Preliminaries: Mixture-of-Experts for Transformers
      • DeepSeekMoE Architecture
        • Fine-Grained Expert Segementation
        • Shared Expert Isolation
        • Load Balance Consideration
      • Experiments
        • Experimental Setup
        • Results
    • DeepseekMath
      • PPO算法
      • GRPO算法
        • Outcome Supervision RL with GRPO
        • Process Supervision RL with GRPO
        • Iterative RL with GRPO
    • Deepseek V2
      • Abstract
      • Introduction
      • Architecture
        • Basic Architecture
      • Multi-Head Latent Attention: Boosting Inference Efficiency
        • Preliminaries: Standard Multi-Head Attention
        • Low-Rank Key-Value Joint Compression
        • Decoupled Rotary Position Embedding
      • Alignment
        • Supervised Fine-Tuning
        • Reinforcement Learning
    • Deepseek V3
      • Astract
      • Introduction
      • Architecture
      • Basic Architecture
        • Multi-Head Latent Attention
        • DeepSeekMoE with Auxiliary-Loss-Free Load Balancing
        • Multi-Token Prediction
      • Infrastructures
        • DualPipe and Computation-Communication Overlap
        • FP8 Mixed Precision Framework
    • DeepSeek-R1
      • Abstract
      • Introduction
      • Approach
        • DeepSeek-R1-Zero: Reinforcement Learning on the Base Model
        • DeepSeek-R1: Reinforcement Learning with Cold Start
        • Distillation: Empower Small Models with Reasoning Capability

GQA

论文:GQA: Training Generalized Multi-Query Transformer Models from Multi-Head Checkpoints

Deepseek LLM中用到的注意力机制

在K部分的尺度变化为:

GQA overview

之后分组注意力:

GQA comparison

Deepseek MoE

论文:DeepSeekMoE: Towards Ultimate Expert Specialization in Mixture-of-Experts Language Models

单位:DeepSeek-AI

作者:Damai Dai et. al.

Abstract

问题:传统的 MoE 架构,如GShard,激活N个专家模型中的Top K个,面临专家模型专业性缺失的问题,例如:无法做到每个专家都获得了不重叠和集中的知识 (换句话说,专家模型太泛化,不够像不同领域的专家)

方法:DeepSeekMoE,专业化专家模型

两种主要的策略:

  1. 精细地切分专家模型到 m ⋅ N m\cdot N mN个规模,同时激活 m ⋅ K m\cdot K mK个模型,以允许更灵活地组合已激活的专家
  2. K s K_s Ks个专家隔离并作为共享的路由专家模型,以捕获通用的知识、减少专家模型冗余

结果:

  1. 从2B参数的模型规模开始,比GShard 2.9B模型规模、计算开销更小;
  2. DeepSeekMoE 2B 的性能几乎接近同类2B全连接层结构的模型性能
  3. 当使用DeepSeekMoE 145B模型时,效果远超GShard,在18.2-28.5%的计算量上表现出同Deepseek 67B相当的效果

Introduction

过去的MoE模型:Gshard, Switch Transformers

传统的MoE模型结构:传统的 MoE 架构用 MoE 层替换 Transformer 中的前馈网络 (FFN);每个 MoE 层由多个专家组成,每个专家在结构上与标准 FFN 相同,每个token都分配给一名或两名专家

因结构缺陷引发的问题:

  1. 知识混淆: 专家数量有限 -> 分配给特定专家的令牌可能会涵盖不同的知识,造成知识混淆;同时,不同类型的知识混合在一块也无法进行区分与分别利用
  2. 知识冗余: 分配给专家的token可能依赖常识 -> 不同专家收敛到相同的共享知识,导致模型规模与参数上的冗余

方法:DeepSeek-MoE

包括了两种主要的策略:

  1. 细粒度的专家细分 (Fine-Grained Expert Segmentation): 在保持参数不变的前提下通过切割FFN的中间隐含维度进一步细分专家,同时在相同计算开销时激活更多的细粒度专家以实现灵活且适应性强的已激活专家组合 -> 不同的细粒度专家更精细地分解、学习到多样化知识,并保持高度的专业性
  2. 共享专家隔离 (Share):分离出某些专家作为共享专家,这些专家始终处于激活状态,旨在在不同环境中捕获和整合共同知识,将常识压缩到这些共享的专家中以令其他路由专家之间的冗余将得到缓解 -> 确保每个路由的 Expert 通过专注于独特的方面来保持专业化

Preliminaries: Mixture-of-Experts for Transformers

标准的Transformer堆叠L层Transformer块,T为序列长度,第 l l l层Transformer块的表示为:

u 1 : T l = S e l f A t t n ( h 1 : T l − 1 ) + h 1 : T l − 1 \bold{u}^l_{1:T}=SelfAttn(\bold{h}^{l-1}_{1:T})+\bold{h}^{l-1}_{1:T} u1:Tl=SelfAttn(h1:Tl1)+h1:Tl1

h t l = F F N ( u t l ) + u t l \bold{h}^l_t=FFN(\bold{u}^l_t)+\bold{u}^l_t htl=FFN(utl)+utl

经典的MoE结构:用MoE层替换FFN,描述为:

h t l = ∑ i = 1 N ( g i , t F F N i ( u t l ) ) + u t l \bold{h}^l_t=\sum^N_{i=1}(g_{i,t}FFN_i(\bold{u}^l_t))+\bold{u}^l_t htl=i=1N(gi,tFFNi(utl))+utl

g i , t = { s i , t s i , t ∈ T o p K ( { s j , t ∣ 1 ≤ j ≤ N } , K ) 0 o t h e r w i s e g_{i,t}=\begin{cases}s_{i,t}&s_{i,t}\in TopK(\{s_{j,t}|1\leq j\leq N\},K)\\ 0 & otherwise\end{cases} gi,t={si,t0si,tTopK({sj,t∣1jN},K)otherwise

s i , t = S o f t m a x i ( u t l ⊤ e i l ) s_{i,t}=Softmax_i(\bold{u}^{l\top}_t \bold{e}^l_i) si,t=Softmaxi(utleil)

N N N为专家数量, g i , t g_{i,t} gi,t表示为第 i i i个专家的阈值并且是稀疏的, s i , t s_{i,t} si,t表示为token到专家的关联性, T o p K ( ⋅ ) TopK(\cdot) TopK()表示为前 K K K个关联性最高的分数并代表了第 t 个标记和所有 N 个专家计算的分数, e i l \bold{e}^l_i eil表示第 l l l层第 i i i个专家的中心

DeepSeekMoE Architecture

DeepSeekMoE-v1

Fine-Grained Expert Segementation

通过减少FFN的中间隐藏层为原来的 1 m \frac{1}{m} m1,切片每个专家FFN到m个更小的专家,因此公式描述为:

h t l = ∑ i = 1 m N ( g i , t F F N i ( u t l ) ) + u t l \bold{h}^l_t=\sum^{mN}_{i=1}(g_{i,t}FFN_i(\bold{u}^l_t))+\bold{u}^l_t htl=i=1mN(gi,tFFNi(utl))+utl

g i , t = { s i , t s i , t ∈ T o p K ( { s j , t ∣ 1 ≤ j ≤ m N } , m K ) 0 o t h e r w i s e g_{i,t}=\begin{cases}s_{i,t}&s_{i,t}\in TopK(\{s_{j,t}|1\leq j\leq mN\},mK)\\ 0 & otherwise\end{cases} gi,t={si,t0si,tTopK({sj,t∣1jmN},mK)otherwise

s i , t = S o f t m a x i ( u t l ⊤ e i l ) s_{i,t}=Softmax_i(\bold{u}^{l\top}_t \bold{e}^l_i) si,t=Softmaxi(utleil)

Shared Expert Isolation

单独利用 K s K_s Ks个专家实现共享专家隔离,公式描述为:

h t l = ∑ i = 1 K s F F N i ( u t l ) + ∑ i = 1 m N ( g i , t F F N i ( u t l ) ) + u t l \bold{h}^l_t=\sum^{K_s}_{i=1}FFN_i(\bold{u}^l_t)+\sum^{mN}_{i=1}(g_{i,t}FFN_i(\bold{u}^l_t))+\bold{u}^l_t htl=i=1KsFFNi(utl)+i=1mN(gi,tFFNi(utl))+utl

g i , t = { s i , t s i , t ∈ T o p K ( { s j , t ∣ 1 ≤ j ≤ m N } , m K − K s ) 0 o t h e r w i s e g_{i,t}=\begin{cases}s_{i,t}&s_{i,t}\in TopK(\{s_{j,t}|1\leq j\leq mN\},mK - K_s)\\ 0 & otherwise\end{cases} gi,t={si,t0si,tTopK({sj,t∣1jmN},mKKs)otherwise

s i , t = S o f t m a x i ( u t l ⊤ e i l ) s_{i,t}=Softmax_i(\bold{u}^{l\top}_t \bold{e}^l_i) si,t=Softmaxi(utleil)

Load Balance Consideration

Expert-Level Balance Loss: 其中 α 1 \alpha_1 α1为专家级平衡超参数, N ′ N' N ( m N − K s ) (mN-K_s) (mNKs) K ′ K' K ( m K − K s ) (mK-K_s) (mKKs) 1 ( ⋅ ) \mathbb{1}(\cdot) 1()为指示函数

L E x p B a l = α 1 ∑ i = 1 N ′ f i P i L_{ExpBal} = \alpha_1\sum^{N'}_{i=1}f_iP_i LExpBal=α1i=1NfiPi

f i = N ′ K ′ T ∑ t = 1 T 1 ( Token  t selects Expert  i ) f_i=\frac{N'}{K'T}\sum^T_{t=1}\mathbb{1}(\text{Token} \ t \ \text{selects Expert} \ i) fi=KTNt=1T1(Token t selects Expert i)

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

Device-Level Balance Loss: 其中 α 2 \alpha_2 α2为设备级平衡超参数,将所有路由到的专家分组为 D D D个,表示为 { ϵ 1 , ϵ 2 , ⋯ , ϵ D } \{\epsilon_1,\epsilon_2,\cdots,\epsilon_D\} {ϵ1,ϵ2,,ϵD},则每组在一个设备上,则损失函数为:

L D e v B a l = α 2 ∑ i = 1 D f i ′ P i ′ L_{DevBal}=\alpha_2\sum^D_{i=1}f'_iP'_i LDevBal=α2i=1DfiPi

f i ′ = 1 ∣ ϵ i ∣ ∑ j ∈ ϵ i f j f'_i=\frac{1}{|\epsilon_i|}\sum_{j\in \epsilon_i}f_j fi=ϵi1jϵifj

P i ′ = ∑ j ∈ ϵ i P j P'_i=\sum_{j\in \epsilon_i}P_j Pi=jϵiPj

Experiments

Experimental Setup

采样自Deepseek AI公司自建的多语言语料库, 100B个token,训练BPE

训练工具:HAI-LLM (幻方自家的训练平台),包含了张量并行、ZeRO数据并行、PipeDream管道并行

显卡:H800、A100集群节点 (有NVLink、NVSwitch连接节点)

优化器:AdamW

对齐方式:SFT

下游任务验证:

  1. 语言建模 (Language Modeling)
  2. 语言理解与推理 (Language Understanding and Reasoning)
  3. 阅读理解 (Reading Comprehension)
  4. 代码生成 (Code Generation)
  5. 闭卷问答 (Close-Book Question Answering)
Results
  1. DeepSeekMoE 与 MoE 模型的上限紧密结合
  2. DeepSeekMoE 在路由专家中表现出较低的冗余
  3. 共享专家无法被路由专家取代
  4. DeepSeekMoE 更准确地获取知识
  5. 在 2T 令牌上训练 DeepSeekMoE 16B,并展示其可与 DeepSeek 7B 和 LLaMA2 7B 相媲美的出色性能,计算量仅为 40% 左右
  6. 将 DeepSeekMoE 扩展到 145B 参数时,DeepSeekMoE 145B 仍然保持了与 GShard 架构相比的巨大优势,并表现出与 DeepSeek 67B 相当的性能

DeepseekMath

论文:DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open Language Models
作者:Zhihong Shao et. al.
单位:Deep Seek AI et. al.

该论文中讲解了GRPO

PPO算法

PPO是一种演员-评论家算法

优化的替代目标:

J P P O ( θ ) = E [ q ∼ P ( Q ) , o ∼ π θ o l d ( O ∣ q ) ] 1 ∣ o ∣ ∑ t = 1 ∣ o ∣ min ⁡ [ π θ ( o t ∣ q , o < t ) π θ o l d ( o t ∣ q , o < t ) A t , c l i p ( π θ ( o t ∣ q , o < t ) π θ o l d ( o t ∣ q , o < t ) , 1 − ϵ , 1 + ϵ ) A t ] J_{PPO}(\theta)=\mathbb{E}[q\sim P(Q), o\sim \pi_{\theta_{old}}(O|q)]\frac{1}{|o|}\sum^{|o|}_{t=1}\min[\frac{\pi_\theta(o_t|q,o_{<t})}{\pi_{\theta_{old}}(o_t|q,o_{<t})}A_t,clip(\frac{\pi_\theta(o_t|q,o_{<t})}{\pi_{\theta_{old}}(o_t|q,o_{<t})},1-\epsilon, 1+\epsilon)A_t] JPPO(θ)=E[qP(Q),oπθold(Oq)]o1t=1omin[πθold(otq,o<t)πθ(otq,o<t)At,clip(πθold(otq,o<t)πθ(otq,o<t),1ϵ,1+ϵ)At]

其中 π θ \pi_{\theta} πθ π θ o l d \pi_{\theta_{old}} πθold为当前与旧的策略模型, q q q o o o分别为从问题数据集与旧策略中采样得到的问题与输出, ϵ \epsilon ϵ为剪枝先骨干的超参数, A t A_t At为优势函数

优势函数由GAE进行计算,基于奖励 { r ≥ t } \{r_{\geq t}\} {rt}和可学习的值函数 V ϕ V_{\phi} Vϕ,通过KL散度计算:

r t = r ϕ ( q , o ≤ t ) − β log ⁡ π θ ( o t ∣ q , o < t ) π r e f ( o t ∣ q , o < t ) r_t=r_{\phi}(q,o_{\leq t}) - \beta\log\frac{\pi_{\theta}(o_t|q, o_{<t})}{\pi_{ref}(o_t|q,o_{<t})} rt=rϕ(q,ot)βlogπref(otq,o<t)πθ(otq,o<t)

其中 r ϕ r_{\phi} rϕ为奖励模型, π r e f \pi_{ref} πref为参考模型,用于初始化SFT模型, β \beta β为KL惩罚系数

问题:由于 PPO 中采用的价值函数通常是另一个与策略模型大小相当的模型,因此它带来了大量的内存和计算负担

GRPO算法

与PPO的区别:

GRPO vs PPO

优化目标:

J G R P O ( θ ) = E [ q ∼ P ( Q ) , { o i } i = 1 G ∼ π θ o l d ( O ∣ q ) ] 1 G ∑ i = 1 G 1 ∣ o i ∣ ∑ t = 1 ∣ o i ∣ { min ⁡ [ π θ ( o i , t ∣ q , o i , < t ) π θ o l d ( o i , t ∣ q , o i , < t ) A ^ i , t , c l i p ( π θ ( o i , t ∣ q , o i , < t ) π θ o l d ( o i , t ∣ q , o i , < t ) , 1 − ϵ , 1 + ϵ ) A ^ i , t ] − β D K L [ π θ ∣ ∣ π r e f ] } J_{GRPO}(\theta)=\mathbb{E}[q\sim P(Q), \{o_i\}^G_{i=1}\sim \pi_{\theta_{old}}(O|q)]\frac{1}{G}\sum^G_{i=1}\frac{1}{|o_i|}\sum^{|o_i|}_{t=1}\{\min[\frac{\pi_{\theta}(o_{i,t}|q,o_{i,<t})}{\pi_{\theta_{old}}(o_{i,t}|q,o_{i,<t})}\hat{A}_{i,t},clip(\frac{\pi_{\theta}(o_{i,t}|q,o_{i,<t})}{\pi_{\theta_{old}}(o_{i,t}|q,o_{i,<t})},1-\epsilon, 1+\epsilon)\hat{A}_{i,t}]-\beta\mathbb{D}_{KL}[\pi_{\theta}||\pi_{ref}]\} JGRPO(θ)=E[qP(Q),{oi}i=1Gπθold(Oq)]G1i=1Goi1t=1oi{min[πθold(oi,tq,oi,<t)πθ(oi,tq,oi,<t)A^i,t,clip(πθold(oi,tq,oi,<t)πθ(oi,tq,oi,<t),1ϵ,1+ϵ)A^i,t]βDKL[πθ∣∣πref]}

其中 ϵ \epsilon ϵ β \beta β为超参数, A ^ i , t \hat{A}_{i,t} A^i,t为相关输出奖励的优势, D K L [ π θ ∣ ∣ π r e f ] = π r e f ( o i , t ∣ q , o i , < t ) π θ ( o i , t ∣ q , o i , < t ) − log ⁡ π r e f ( o i , t ∣ q , o i , < t ) π θ ( o i , t ∣ q , o i , < t ) − 1 > 0 \mathbb{D}_{KL}[\pi_\theta||\pi_{ref}]=\frac{\pi_{ref}(o_{i,t}|q,o_{i,<t})}{\pi_\theta(o_{i,t}|q,o_{i,<t})}-\log{\frac{\pi_{ref}(o_{i,t}|q,o_{i,<t})}{\pi_\theta(o_{i,t}|q,o_{i,<t})}}-1 > 0 DKL[πθ∣∣πref]=πθ(oi,tq,oi,<t)πref(oi,tq,oi,<t)logπθ(oi,tq,oi,<t)πref(oi,tq,oi,<t)1>0

Outcome Supervision RL with GRPO

形式上,对于每个问题 q q q,一组输出 { o 1 , o 2 , ⋯ , o G } \{o_1,o_2,\cdots,o_G\} {o1,o2,,oG}从旧策略模型 π θ o l d \pi_{\theta_{old}} πθold中采样。然后使用奖励模型对输出进行评分,相应地产生 G G G奖励 r = { r 1 , r 2 , ⋯ , r G } \bold{r}=\{r_1,r_2,\cdots,r_G\} r={r1,r2,,rG}。随后,通过减去组平均值并除以组标准差来归一化这些奖励。结果监督在每个输出 o i o_i oi 的末尾提供归一化奖励,并将输出中所有token的优势 A ^ i , t \hat{A}_{i,t} A^i,t设置为归一化奖励,即 A ^ i , t = r ~ i = r i − m e a n ( r ) s t d ( r ) \hat{A}_{i,t}=\widetilde{r}_i=\frac{r_i-mean(\bold{r})}{std(\bold{r})} A^i,t=r i=std(r)rimean(r),然后通过GRPO中定义的目标来优化策略

Process Supervision RL with GRPO

过程监督,在每个推理步骤结束时提供奖励。形式上,给定问题 q q q G G G采样输出 { o 1 , o 2 , ⋯ , o G } \{o_1,o_2,\cdots,o_G\} {o1,o2,,oG},使用过程奖励模型对输出的每一步进行评分,产生相应的奖励: R = { { r 1 i n d e x ( 1 ) , ⋯ , r 1 i n d e x ( K 1 ) } , ⋯ , { r G i n d e x ( 1 ) , ⋯ , r G i n d e x ( K G ) } } \bold{R}=\{\{r^{index(1)}_1,\cdots,r^{index(K_1)}_1\},\cdots,\{r^{index(1)}_G,\cdots,r^{index(K_G)}_G\}\} R={{r1index(1),,r1index(K1)},,{rGindex(1),,rGindex(KG)}},其中 i n d e x ( j ) index(j) index(j) 是第 j j j步的结束标记索引, Ki 是第 i 个输出中的总步数。用平均值和标准差对这些奖励进行归一化,即 r ^ i i n d e x ( j ) = r i i n d e x ( j ) − m e a n ( R ) s t d ( R ) \hat{r}^{index(j)}_i=\frac{r^{index(j)}_i-mean(\bold{R})}{std(\bold{R})} r^iindex(j)=std(R)riindex(j)mean(R) 。随后,过程监督将每个token的优势计算为以下步骤的归一化奖励之和,即 A ^ i , t = ∑ i n d e x ( j ) ≥ t r ~ i i n d e x ( j ) \hat{A}_{i,t}=\sum_{index(j)\geq t}\widetilde{r}^{index(j)}_{i} A^i,t=index(j)tr iindex(j),然后通过GRPO中定义的目标来优化策略。

Iterative RL with GRPO

随着强化学习训练过程的进行,旧的奖励模型可能不足以监督当前的策略模型。因此,进一步探索了 GRPO 的迭代 RL。如下 所示,在迭代 GRPO 中,根据策略模型的采样结果为奖励模型生成新的训练集,并使用包含 10% 历史数据的重放机制持续训练旧的奖励模型。然后,将参考模型设置为策略模型,并使用新的奖励模型不断训练策略模型。

GRPO Algorithm

Deepseek V2

论文:DeepSeek-V2: A Strong, Economical, and Efficient Mixture-of-Experts Language Model

单位:Deepseek AI

Abstract

Deepseek V2,基于MoE架构,总共236B,对于每个token激活21B,支持最大128K的上下文长度

结构的提升:Multi-head Latent Attention (MLA),Key-Value缓存压缩

同Deepseek 67B比较:5.76倍生成速度、42.5%的训练成本节省、93.3%的kv cache节约

预训练语料量:8.7T个token

微调方式:SFT+RL

Introduction

问题:

  1. 过去的LLM改进是以更大的训练计算资源和推理吞吐量的潜在降低为代价,阻碍 LLM 的广泛适应与使用
  2. Multi-Head Attention的Key-Value (KV) cache对 LLM 的推理效率构成重大障碍
  3. 已有的GQA、MQA都是在尝试减少 KV 缓存,这些方法通常会牺牲性能

方法:在Transformer架构上优化了attention机制与FFN,提出了Multi-head Latent Attention (MLA)和DeepSeekMoE

  1. MLA是一种利用低秩key-value联合压缩 (low rank key-value joint compression) 的注意力机制
  2. Transformer中的FFN替换为DeepseekMoE,包含fine-grained expert segmentation和shared expert isolation

数据集:8.1T个token的多源预训练语料库,1.5M个对话场景用于SFT

对齐方式:SFT + GRPO进行模型对齐

Architecture

基于Transformer架构,具体模块如下:

DeepSeek-V2 MoE & MLA

Basic Architecture

t t t个token的FFN输入为 u t \bold{u}_t ut,计算的输出 h t ′ \bold{h}'_t ht为:

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 ) \bold{h}'_t=\bold{u}_t+\sum^{N_s}_{i=1}FFN^{(s)}_i(\bold{u}_t)+\sum^{N_r}_{i=1}g_{i,t}FFN_i^{(r)}(\bold{u}_t) ht=ut+i=1NsFFNi(s)(ut)+i=1Nrgi,tFFNi(r)(ut)

g i , 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_{i,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} gi,t={si,t0si,tTopK({sj,t∣1jNr},Kr)otherwise

s i , t = S o f t m a x i ( u t ⊤ e i ) s_{i,t}=Softmax_i(\bold{u}^{\top}_t\bold{e}_i) si,t=Softmaxi(utei)

Multi-Head Latent Attention: Boosting Inference Efficiency

Preliminaries: Standard Multi-Head Attention

embedding维度为 d d d,头数为 n h n_h nh,单头注意力维度为 d h d_h dh,在注意力层中第 t t t个token的注意力输入为 h t ∈ R d \bold{h}_t\in \mathbb{R}^d htRd,首先分别乘以三个矩阵得到 q t \bold{q}_t qt k t \bold{k}_t kt v t ∈ R d n n h \bold{v}_t\in \mathbb{R}^{d_nn_h} vtRdnnh,通过三个矩阵 W Q W^Q WQ, W K W^K WK, W V ∈ R d h n h × d W^V\in\mathbb{R}^{d_hn_h\times d} WVRdhnh×d,有:

q t = W Q h t \bold{q}_t=W^Q\bold{h}_t qt=WQht

k t = W K h t \bold{k}_t=W^K\bold{h}_t kt=WKht

V t = W V h t \bold{V}_t=W^V\bold{h}_t Vt=WVht

对于多头注意力,则为:

[ q t , 1 ; q t , 2 ; ⋯ ; q t , n h ] = q t [\bold{q}_{t,1};\bold{q}_{t,2};\cdots;\bold{q}_{t,n_h}]=\bold{q}_t [qt,1;qt,2;;qt,nh]=qt

[ k t , 1 ; k t , 2 ; ⋯ ; k t , n h ] = k t [\bold{k}_{t,1};\bold{k}_{t,2};\cdots;\bold{k}_{t,n_h}]=\bold{k}_t [kt,1;kt,2;;kt,nh]=kt

[ v t , 1 ; v t , 2 ; ⋯ ; v t , n h ] = v t [\bold{v}_{t,1};\bold{v}_{t,2};\cdots;\bold{v}_{t,n_h}]=\bold{v}_t [vt,1;vt,2;;vt,nh]=vt

o t , i = ∑ j = 1 t S o f t m a x j ( q t , i ⊤ k j , i d h ) v j , i \bold{o}_{t,i}=\sum^t_{j=1}Softmax_j(\frac{\bold{q}^\top_{t,i}\bold{k}_{j,i}}{\sqrt{d_h}})\bold{v}_{j,i} ot,i=j=1tSoftmaxj(dh qt,ikj,i)vj,i

u t = W O [ o t , 1 ; o t , 2 ; ⋯ ; o t , n h ] \bold{u}_t=W^O[\bold{o}_{t,1};\bold{o}_{t,2};\cdots;\bold{o}_{t,n_h}] ut=WO[ot,1;ot,2;;ot,nh]

其中 q t , i , k t , i , v t , i ∈ R d n \bold{q}_{t,i},\bold{k}_{t,i},\bold{v}_{t,i}\in \mathbb{R}^{d_n} qt,i,kt,i,vt,iRdn W O ∈ R d × d h n h W^O\in \mathbb{R}^{d\times d_hn_h} WORd×dhnh

Low-Rank Key-Value Joint Compression

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

k t C = W U K c t K V \bold{k}^C_t=W^{UK}\bold{c}^{KV}_t ktC=WUKctKV

v t C = W U V c t K V \bold{v}^C_t=W^{UV}\bold{c}^{KV}_t vtC=WUVctKV

c t K V ∈ R d c \bold{c}^{KV}_t\in\mathbb{R}^{d_c} ctKVRdc, W D K V ∈ R d c × d W^{DKV}\in\mathbb{R}^{d_c\times d} WDKVRdc×d是一个向下投影矩阵, W U K , W U V ∈ R d h n h × d c W^{UK},W^{UV}\in \mathbb{R}^{d_hn_h\times d_c} WUK,WUVRdhnh×dc是向上投影K、V的矩阵, d c ( < < d h n h ) d_c(<<d_hn_h) dc(<<dhnh) 表示KV压缩的维度

在推理过程中,MLA仅使用包含 d c l d_cl dcl个元素的KV Cache c t K V c^{KV}_t ctKV l l l为层数。

进一步利用低秩压缩分解 q q q,有:

c t Q = W D Q h t \bold{c}^Q_t=W^{DQ}\bold{h}_t ctQ=WDQht

q t C = W U Q c t Q \bold{q}^C_t=W^{UQ}\bold{c}^Q_t qtC=WUQctQ

其中, c t Q ∈ R d c ′ \bold{c}^Q_t\in\mathbb{R}^{d'_c} ctQRdc d c ′ ( < < d h n h ) d'_c (<<d_hn_h) dc(<<dhnh) q q q压缩的维度, W D Q ∈ R d c ′ × d W^{DQ}\in\mathbb{R}^{d'_c\times d} WDQRdc×d W U Q ∈ R d h n h × d c ′ W^{UQ}\in \mathbb{R}^{d_hn_h\times d'_c} WUQRdhnh×dc

MLA Comparison

Decoupled Rotary Position Embedding

RoPE紧耦合将导致 W U K W^{UK} WUK无法被 W Q W^Q WQ吸收,因为与当前生成的标记相关的 RoPE 矩阵将位于 W Q W^Q WQ W U K W^{UK} WUK 之间,并且矩阵乘法不遵循交换定律

[ 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 ) [\bold{q}^R_{t,1};\bold{q}^R_{t,2};\cdots;\bold{q}^R_{t,n_h}]=\bold{q}^R_t=RoPE(W^{QR}\bold{c}^Q_t) [qt,1R;qt,2R;;qt,nhR]=qtR=RoPE(WQRctQ)

k t R = R o P E ( W K R h t ) \bold{k}^R_t=RoPE(W^{KR}\bold{h}_t) ktR=RoPE(WKRht)

q t , i = [ q t , i C ; q t , i R ] \bold{q}_{t,i}=[\bold{q}^C_{t,i};\bold{q}^R_{t,i}] qt,i=[qt,iC;qt,iR]

k t , i = [ k t , i C ; k t R ] \bold{k}_{t,i}=[\bold{k}^C_{t,i};\bold{k}^R_t] kt,i=[kt,iC;ktR]

o t , i = ∑ j = 1 t S o f t m a x j ( q t , i ⊤ d h + d h R ) v j , i C \bold{o}_{t,i}=\sum^t_{j=1}Softmax_j(\frac{\bold{q}^\top_{t,i}}{\sqrt{d_h+d^R_h}})\bold{v}^C_{j,i} ot,i=j=1tSoftmaxj(dh+dhR qt,i)vj,iC

u t = W O [ o t , 1 ; o t , 2 ; ⋯ ; o t , n h ] \bold{u}_t=W^O[\bold{o}_{t,1};\bold{o}_{t,2};\cdots;\bold{o}_{t,n_h}] ut=WO[ot,1;ot,2;;ot,nh]

W Q R ∈ R d h R n h × d c ′ W^{QR}\in \mathbb{R}^{d^R_hn_h\times d'_c} WQRRdhRnh×dc W K R ∈ R d h R × d W^{KR}\in\mathbb{R}^{d^R_h}\times d WKRRdhR×d R o P E ( ⋅ ) RoPE(\cdot) RoPE()表示应用RoPe矩阵, [ ⋅ ; ⋅ ] [\cdot;\cdot] []表示拼接操作

因此,Deepseek-V2只要求 ( d c + d h R ) l (d_c+d^R_h)l (dc+dhR)l个元素的KV cache

Alignment

Supervised Fine-Tuning

数据集:共1.5M个样本作为指令调优数据集,1.2M 个用于有用的实例、0.3M个用于安全目的,并提高了数据质量

训练细节:2个epoch微调,学习率 5 × 1 0 − 6 5\times 10^{-6} 5×106

IFEval作为指令遵循评估

Reinforcement Learning

训练算法:GRPO

训练策略:

  1. 训练一个推理奖励模型 R M r e a s o n i n g RM_{reasoning} RMreasoning用于代码与推理任务,优化策略模型: r i = R M r e a s o n i n g ( o i ) r_i=RM_{reasoning}(o_i) ri=RMreasoning(oi)
  2. 人类偏好对齐:利用多奖励框架,包有用性奖励模型 R M h e l p f u l RM_{helpful} RMhelpful、安全性奖励模型 R M s a f e t y RM_{safety} RMsafety、规则约束的奖励模型 R M r u l e ( O i ) RM_{rule}(O_i) RMrule(Oi),有: r i = c 1 ⋅ R M h e l p f u l ( o i ) + c 2 ⋅ R M s a f e t y ( o i ) + c 3 ⋅ R M r u l e ( o i ) r_i=c_1 \cdot RM_{helpful(o_i)}+c_2\cdot RM_{safety}(o_i)+c_3\cdot RM_{rule}(o_i) ri=c1RMhelpful(oi)+c2RMsafety(oi)+c3RMrule(oi)

Deepseek V3

论文:DeepSeek-V3 Technical Report

单位:DeepSeek AI

Astract

DeepSeek V3,规模671B,激活模型37B

技术点:

  1. MLA
  2. DeepSeek MoE
  3. 辅助无损策略:auxiliary-loss-free strategy
  4. 多令牌预测训练目标
  5. DualPipe算法
  6. GRPO + SFT对齐

训练时间:2.788M H800 GPU小时

Introduction

模型结构:DeepSeek-MoE + MLA

预训练策略:auxiliary-loss-free策略,FP8混合精度训练框架

并行算法:DualPipe算法

两阶段上下文预训练:

  • 第一阶段:32K上下文拓展
  • 第二阶段:128K上下文拓展
  • 数据量:14.8T 高质量多样化Token

后训练:

  • 从DeepSeek-R1系列模型中蒸馏推理能力
  • 基本思想:SFT + RL (GRPO)

Architecture

Basic Architecture

沿用V2架构,MLA + DeepSeek MoE

DeepSeek V3

Multi-Head Latent Attention

基本不变。

c t K V = W D K V h t \bold{c}^{KV}_t=W^{DKV}\bold{h}_t ctKV=WDKVht (需要caching)

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

k t R = R o P E ( W K R h t ) \bold{k}^R_t=RoPE(W^{KR}\bold{h}_t) ktR=RoPE(WKRht) (需要caching)

k t , i = [ k t , i C ; k t R ] \bold{k}_{t,i}=[\bold{k}^C_{t,i};\bold{k}^R_t] kt,i=[kt,iC;ktR]

v t C = W U V c t K V \bold{v}^C_t=W^{UV}\bold{c}^{KV}_t vtC=WUVctKV

对于Attention queries,使用低秩压缩:

c t Q = W D Q h t \bold{c}^Q_t=W^{DQ}\bold{h}_t ctQ=WDQht

[ q t , 1 C ; q t , 2 C ; ⋯ ; q t , n h C ] = q t C = W U Q c t Q [\bold{q}^C_{t,1};\bold{q}^C_{t,2};\cdots;\bold{q}^C_{t,n_h}]=\bold{q}^C_t=W^{UQ}\bold{c}^Q_t [qt,1C;qt,2C;;qt,nhC]=qtC=WUQctQ

[ 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 ) [\bold{q}^R_{t,1};\bold{q}^R_{t,2};\cdots;\bold{q}^R_{t,n_h}]=\bold{q}^R_t=RoPE(W^{QR}\bold{c}^Q_t) [qt,1R;qt,2R;;qt,nhR]=qtR=RoPE(WQRctQ)

q t , i = [ q t , i C ; q t , i R ] \bold{q}_{t,i}=[\bold{q}^C_{t,i};\bold{q}^R_{t,i}] qt,i=[qt,iC;qt,iR]

o t , i = ∑ j = 1 t S o f t m a x j ( q t , i ⊤ d h + d h R ) v j , i C \bold{o}_{t,i}=\sum^t_{j=1}Softmax_j(\frac{\bold{q}^\top_{t,i}}{\sqrt{d_h+d^R_h}})\bold{v}^C_{j,i} ot,i=j=1tSoftmaxj(dh+dhR qt,i)vj,iC

u t = W O [ o t , 1 ; o t , 2 ; ⋯ ; o t , n h ] \bold{u}_t=W^O[\bold{o}_{t,1};\bold{o}_{t,2};\cdots;\bold{o}_{t,n_h}] ut=WO[ot,1;ot,2;;ot,nh]

DeepSeekMoE with Auxiliary-Loss-Free Load Balancing

基本的DeepSeekMoE:跟v2有点区别,先sigmoid之后算分数

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 ) \bold{h}'_t=\bold{u}_t+\sum^{N_s}_{i=1}FFN^{(s)}_i(\bold{u}_t)+\sum^{N_r}_{i=1}g_{i,t}FFN_i^{(r)}(\bold{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^{N_r}_{j=1}g'_{j,t}} gi,t=j=1Nrgj,tgi,t

g i , 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'_{i,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} gi,t={si,t0si,tTopK({sj,t∣1jNr},Kr)otherwise

s i , t = S i g m o i d ( u t ⊤ e i ) s_{i,t}=Sigmoid(\bold{u}^{\top}_t\bold{e}_i) si,t=Sigmoid(utei)

辅助无损负载均衡 (Auxiliary-Loss-Free Load Balancing)

效果:在负载均衡和模型性能之间实现更好的权衡

为每个专家引入bias b i b_i bi,添加到 s i , t s_{i,t} si,t,以确定前 K K K个路由: g i , t ′ = { s i , t s i , t + b i ∈ T o p K ( { s j , t + b j ∣ 1 ≤ j ≤ N r } , K r ) 0 o t h e r w i s e g^{'}_{i,t}=\begin{cases}s_{i,t} & s_{i,t} + b_i \in TopK(\{s_{j,t}+b_j|1\leq j\leq N_r\},K_r)\\ 0 & otherwise\end{cases} gi,t={si,t0si,t+biTopK({sj,t+bj∣1jNr}Kr)otherwise

其中 b i b_i bi仅用于路由,在每个步骤结束后,如果相应的专家超载了,将偏差衰减 γ \gamma γ,若负载不足,则增加 γ \gamma γ,为 b i b_i bi更新速度的超参数

互补序列辅助损失 (Complementary Sequence-Wise Auxiliary Loss)

基于DeepSeek MoE的平衡损失推导而出。

L B a l = α ∑ i = 1 N r f i P i L_{Bal}=\alpha\sum^{N_r}_{i=1}f_iP_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_rT}\sum^T_{t=1}\mathbb{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^{N_r}_{j=1}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_{t=1}s^{'}_{i,t} Pi=T1t=1Tsi,t

更多的技巧:

  1. 节点有限路由:使用受限路由机制来限制训练期间的通信成本
  2. 无token丢失:DeepSeek-V3 在训练期间不会掉落任何标记
Multi-Token Prediction

设定了多token预测 (MTP) 目标,将预测范围扩展到每个位置的多个后续token。

MTP

作用:

  1. 提高数据效率,使训练信号更加稠密
  2. MTP 可能使模型能够预先规划其表示形式,以便更好地预测后续的token

与传统的MTP不同:按顺序预测额外的 Token,并在每个预测深度保留完整的因果链

MTP模块:使用 D D D个序列模块预测 D D D个额外的token,第 k k k个MTP模块包含了共享的嵌入层 E m b ( ⋅ ) Emb(\cdot) Emb()、共享的输出头 O u t H e a d ( ⋅ ) OutHead(\cdot) OutHead(),一个Transformer块 T R M k ( ⋅ ) TRM_k(\cdot) TRMk(),一个拼接矩阵 M k ∈ R d × 2 d M_k\in \mathbb{R}^{d\times 2d} MkRd×2d

对于第 i i i个输入token为 t i t_i ti,在第 k k k个预测深度时,首先联合第 i i i个token在第 ( k − 1 ) (k-1) (k1)个深度的表示 h i k − 1 ∈ R d h^{k-1}_i\in \mathbb{R}^d hik1Rd以及第 ( i + k ) (i+k) (i+k)个token的嵌入 E m b ( t i + k ) ∈ R d Emb(t_{i+k})\in \mathbb{R}^d Emb(ti+k)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 ) ) ] \bold{h}^{'k}_i=M_k[RMSNorm(\bold{h}^{k-1}_i);RMSNorm(Emb(t_{i+k}))] hik=Mk[RMSNorm(hik1);RMSNorm(Emb(ti+k))]

k k k为1时,为main model的表示

联合的 h i ′ k \bold{h}^{'k}_i hik作为第 k k k深度的Transofmrer块输入,输出当前深度的 h i k \bold{h}^k_i hik h 1 : T − k k = T R M k ( h 1 : T − k ′ k ) \bold{h}^k_{1:T-k}=TRM_k(h^{'k}_{1:T-k}) h1:Tkk=TRMk(h1:Tkk)

其中 T T T为输入的序列长度, i : j i:j i:j表示切片操作。最后将 h i k \bold{h}^k_i hik作为输入,通过共享输出头计算第 k k k个额外预测的token的概率分布 p i + 1 + k k ∈ R V p^k_{i+1+k}\in \mathbb{R}^V pi+1+kkRV,其中 V V V为词表长度: p i + k + 1 k = O u t H e a d ( h i k ) p^k_{i+k+1}=OutHead(h^k_i) pi+k+1k=OutHead(hik)

输出头 O u t H e a d ( ⋅ ) OutHead(\cdot) OutHead()线性地映射输出并应用 S o f t m a x ( ⋅ ) Softmax(\cdot) Softmax()计算预测的第 k k k个token概率分布

维持预测因果链的原理与 EAGLE 相似,但通过MTP改善训练

MTP训练目标:交叉熵, L M T P k = CrossEntropy ( p 2 + k : T + 1 k , t 2 + k : T + 1 ) = − 1 T ∑ i = 2 + k T + 1 log ⁡ P i k [ t i ] L^k_{MTP}=\text{CrossEntropy}(p^k_{2+k:T+1},t_{2+k:T+1})=-\frac{1}{T}\sum^{T+1}_{i=2+k}\log P^k_i[t_i] LMTPk=CrossEntropy(p2+k:T+1k,t2+k:T+1)=T1i=2+kT+1logPik[ti]

T T T表示为输入长度, t i t_i ti表示预测的第 i i i个位置的token, p i k [ t i ] p^k_{i}[t_i] pik[ti] t i t_i ti对应的概率分布。最后,引入权重因子 λ \lambda λ计算MTP的额外训练目标: L M T P = λ D ∑ k = 1 D L M T P k L_{MTP}=\frac{\lambda}{D}\sum^D_{k=1}L^k_{MTP} LMTP=Dλk=1DLMTPk

MTP推理:可直接丢弃MTP模块,通过主模型推理

Infrastructures

对这块外行就没细看了,截了技术示意图跟示例。

DualPipe and Computation-Communication Overlap

这里涉及的并行计算算法,如图示所示:

DualPipe

例子:

Example 1

FP8 Mixed Precision Framework

FP8 Mixed Precision

Fine-Grained Quantization:

fine-grained quantization method

DeepSeek-R1

论文:DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning

单位:DeepSeek AI

Abstract

R1-Zero:纯强化学习训练的模型,展现了可观的推理能力

R1:在强化学习之前进行多阶段训练与引入冷启动数据

Introduction

问题:

  1. 有效测试时间扩展的挑战仍然是研究界的一个悬而未决的问题
  2. 已有方法都没有达到与 OpenAI 的 o1 系列模型相当的一般推理性能。

目标:探索 LLM 在没有任何监督数据的情况下发展推理能力的潜力,专注于它们通过纯 RL 过程的自我进化。

技术路线:DeepSeek-V3-Base作为基础模型,GRPO作为RL训练框架

DeepSeek-Zero出现的问题:低可读性、语言混淆

方法:DeepSeek-R1

  1. 数千条冷启动数据微调DeepSeek-V3-Base模型
  2. 应用基于推理的RL (DeepSeek-R1Zero)
  3. 在RL过程中接近收敛后,对RL的检查点进行拒绝采样创建新的SFT数据,结合来自DeepSeek-V3的监督数据(如写作、事实QA、自我认知等),重新训练DeepSeek-V3-Base模型
  4. 此后再次进行额外的RL过程,考虑所有场景的提示词

此后,探索了DeepSeek-R1以蒸馏更小的模型

Approach

DeepSeek-R1-Zero: Reinforcement Learning on the Base Model

强化学习

优化目标:

J G R P O ( θ ) = E [ q ∼ P ( Q ) , { o i } i = 1 G ∼ π θ o l d ( O ∣ q ) ] 1 G ∑ i = 1 G ( min ⁡ [ π θ ( o i ∣ q ) π θ o l d ( o i ∣ q ) A i , c l i p ( π θ ( o i ∣ q ) π θ o l d ( o i ∣ q ) , 1 − ϵ , 1 + ϵ ) A i ] − β D K L ( π θ ∣ ∣ π r e f ) ) J_{GRPO}(\theta)=\mathbb{E}[q\sim P(Q), \{o_i\}^G_{i=1}\sim \pi_{\theta_{old}}(O|q)]\frac{1}{G}\sum^G_{i=1}(\min[\frac{\pi_{\theta}(o_{i}|q)}{\pi_{\theta_{old}}(o_{i}|q)}A_{i},clip(\frac{\pi_{\theta}(o_{i}|q)}{\pi_{\theta_{old}}(o_{i}|q)},1-\epsilon, 1+\epsilon)A_{i}]-\beta\mathbb{D}_{KL}(\pi_{\theta}||\pi_{ref})) JGRPO(θ)=E[qP(Q),{oi}i=1Gπθold(Oq)]G1i=1G(min[πθold(oiq)πθ(oiq)Ai,clip(πθold(oiq)πθ(oiq),1ϵ,1+ϵ)Ai]βDKL(πθ∣∣πref))

其中 ϵ \epsilon ϵ β \beta β为超参数, A ^ i , t \hat{A}_{i,t} A^i,t为相关输出奖励的优势, D K L ( π θ ∣ ∣ π r e f ) = π r e f ( o i ∣ q ) π θ ( o i ∣ q ) − log ⁡ π r e f ( o i ∣ q ) π θ ( o i ∣ q ) − 1 > 0 \mathbb{D}_{KL}(\pi_\theta||\pi_{ref})=\frac{\pi_{ref}(o_{i}|q)}{\pi_\theta(o_{i}|q)}-\log{\frac{\pi_{ref}(o_{i}|q)}{\pi_\theta(o_{i}|q)}}-1 > 0 DKL(πθ∣∣πref)=πθ(oiq)πref(oiq)logπθ(oiq)πref(oiq)1>0

对于每组奖励 { r 1 , r 2 , ⋯ , r G } \{r_1,r_2,\cdots, r_G\} {r1,r2,,rG},有: A i = r i − m e a n ( { r 1 , r 2 , ⋯ , r G } ) s t d ( { r 1 , r 2 , ⋯ , r G } ) A_i=\frac{r_i-mean(\{r_1,r_2,\cdots,r_G\})}{std(\{r_1,r_2,\cdots,r_G\})} Ai=std({r1,r2,,rG})rimean({r1,r2,,rG})

奖励建模

基于规则的两种奖励,没有应用process neural reward model或outcome neural reward model

  • 准确奖励:准确率奖励模型评估响应是否正确
  • 格式奖励:将它的思考过程放在 <think></think>标签之间

训练模板

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:

顿悟时刻

aha moment

缺陷:糟糕的可读性,语言混淆

DeepSeek-R1: Reinforcement Learning with Cold Start

两个问题:

  1. 通过纳入少量高质量数据作为冷启动,是否可以进一步提高推理性能或加速收敛?
  2. 我们如何训练一个用户友好的模型,该模型不仅产生清晰连贯的思维链 (CoT),而且还展示了强大的通用能力?

来源:X

冷启动数据微调

  • 数据获取:以长 CoT 的 few-shot prompting 为例,直接提示模型通过反射和验证生成详细的答案,以可读格式收集 DeepSeek-R1-Zero 输出,并通过人工标注者进行后处理来提炼结果
  • 冷启动特点:
    • 高可读性:在为 DeepSeek-R1 创建冷启动数据时,我们设计了一个可读的模式,在每个响应的末尾包含一个摘要,并过滤掉对读者不友好的响应。在这里,我们将输出格式定义为 |special_token|<reasoning_process>|special_token|<summary>,其中推理过程是查询的 CoT,摘要用于总结推理结果
    • 可能性:通过使用人类先验仔细设计冷启动数据的模式,我们观察到与 DeepSeek-R1-Zero 相比性能更好

面向推理的强化学习

  • 目的:增强在推理密集型任务上的推理能力
  • CoT中混淆不同语言 -> 引入语言一致性奖励,计算目标语言词在 CoT 中的比例 -> 可能损失推理性能,但显著提升了可读性

拒绝采样与有监督微调

  • 目的:整合来自其他域的数据,以增强模型在编写、角色扮演和其他通用任务方面的能力
  • 推理数据:600k,通过RL训练的拒绝采样获取,将RL多次生成的答案投喂到DeepSeek-V3进行判断
  • 非推理数据:200K,Deepseek pipeline,复用Deepseek-v3 SFT部分数据。对于特定的非推理任务,调用DeepSeek-V3在回答问题之前生成CoT。

适用于所有场景的强化学习

  • 目的:对齐人类偏好
  • 使用奖励信号与多元化提示分布的组合训练模型
  • 对于推理数据:利用基于规则的奖励引导学习过程
  • 对于通用数据:采用奖励模型来捕捉复杂而细微的场景中的人类偏好
Distillation: Empower Small Models with Reasoning Capability

拒绝采样DeepSeek-R1的800K数据进行微调,见上图所示的过程。

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

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

相关文章

【VUE】第二期——生命周期及工程化

目录 1 生命周期 1.1 介绍 1.2 钩子 2 可视化图表库 3 脚手架Vue CLI 3.1 使用步骤 3.2 项目目录介绍 3.3 main.js入口文件代码介绍 4 组件化开发 4.1 组件 4.2 普通组件注册 4.2.1 局部注册 4.2.2 全局注册 1 生命周期 1.1 介绍 Vue生命周期&#xff1a;就是…

Spring-framework源码编译

版本统一&#xff08;搭配其他版本会遇到不可知错误&#xff09;&#xff1a; 1&#xff09;spring 5.2.X&#xff08;5.5.26&#xff09; 2&#xff09;JDK8 3&#xff09;Gradle:5.6.4 可以在gradle-wrapper.properties中修改 https\://services.gradle.org/distribution…

使用 Deepseek + kimi 快速生成PPT

前言 最近看到好多文章和视频都在说&#xff0c;使用 Deepseek 和 kimi 能快速生成精美的 ppt&#xff0c;毕竟那都是别人说的&#xff0c;只有自己尝试一次才知道结果。 具体操作 第一步&#xff1a;访问 deepseek 我们访问 deepseek &#xff0c;把我们想要输入的内容告诉…

火绒终端安全管理系统V2.0--纵深防御体系(分层防御)之规则拦截层

火绒终端安全管理系统V2.0--多层次主动防御系统。 率先将单步防御和多步恶意监控相结合&#xff0c;监控百个防御点&#xff08;包含防火墙&#xff09;&#xff0c;有效阻止各种恶意程序对系统的攻击和篡改&#xff0c;保护终端脆弱点。 ✅ 内容拦截层&#xff08;Content-B…

如何在WPS中接入DeepSeek并使用OfficeAI助手(超细!成功版本)

目录 第一步&#xff1a;下载并安装OfficeAI助手 第二步&#xff1a;申请API Key 第三步:两种方式导入WPS 第一种:本地大模型Ollama 第二种APIKey接入 第四步&#xff1a;探索OfficeAI的创作功能 工作进展汇报 PPT大纲设计 第五步&#xff1a;我的使用体验(体验建议) …

力扣35.搜索插入位置-二分查找

class Solution:def searchInsert(self, nums: List[int], target: int) -> int:# 初始化左右指针left, right 0, len(nums) - 1# 当左指针小于等于右指针时&#xff0c;继续循环while left < right:# 计算中间位置mid (left right) // 2# 如果中间元素等于目标值&…

云计算专业必考三大证书,助你抢占职业发展先机!【云计算认证学习资料分享(考试大纲、培训教材、实验手册等等)】

随着云计算技术的飞速发展和广泛应用&#xff0c;云计算行业对专业人才的需求也日益旺盛。拥有权威的云计算认证&#xff0c;不仅能够证明你的技术实力&#xff0c;更能为你的职业发展增添砝码&#xff0c;赢得高薪offer&#xff01; 本文将为大家介绍云计算专业最值得考的三大…

Redis - 核心原理深度解析:线程模型、持久化与高可用性

文章目录 概述一、Redis线程模型演进1. 经典单线程模型&#xff08;Redis 4.0前&#xff09;2. 多线程优化演进 二、数据持久化机制1. AOF&#xff08;Append Only File&#xff09;2. RDB&#xff08;Redis Database&#xff09;3. 混合持久化&#xff08;Redis 4.0&#xff0…

腾讯云对象存储服务(COS)

腾讯云对象存储服务&#xff08;COS&#xff09; 安全、可扩展、低成本的云存储解决方案 腾讯云 对象存储服务&#xff08;COS&#xff0c;Cloud Object Storage&#xff09; 是一种高可靠、高性能、可扩展的云存储服务&#xff0c;专为海量非结构化数据&#xff08;如图片、…

K8S学习之基础十:k8s中初始化容器和主容器

init容器和主容器 init容器和主容器的区别 初始化容器不支持 Readinessprobe&#xff0c;因为他们必须在pod就绪之前运行完成每个init容器必须运行成功&#xff0c;下一个才能够运行 # 定义两个初始化容器&#xff0c;完成后再运行主容器 vi pod-init.yaml apiVersion: v1 …

Baklib驱动企业知识资产增值

企业级知识中台构建指南 在数字化转型进程中&#xff0c;Baklib作为新一代知识中台解决方案&#xff0c;为企业提供了系统性知识管理框架。其核心架构由统一元数据标准、智能分类引擎及多维度权限体系构成&#xff0c;通过API接口与企业现有CRM、ERP系统无缝对接&#xff0c;实…

rnmapbox

图层样式 sourceID: 用于样式化数据的来源。 minZoomLevel和maxZoomLevel: 图层解析和显示的最小和最大缩放级别。 rasterOpacity: 绘制图像时的透明度。 rasterHueRotate: 应用于栅格图像的色调旋转。 rasterBrightnessMin和rasterBrightnessMax: 栅格图像的最小和最大亮度…

【FPGA开发】Verilog-数据截断实现四舍五入效果、模块化改造、对比Matlab验证,Modelsim覆盖率

目录 实现目标直接截断低位考虑四舍五入模块化实现四舍五入功能Matlab对比验证程序Testbench编写Modelsim查看验证覆盖率&#xff08;简易&#xff09; 实现目标 由于FPGA以定点数运算为主&#xff0c;随着数字信号处理的流程增加&#xff0c;数据位宽会逐渐变大&#xff0c;有…

100天精通Python(爬虫篇)——第115天:爬虫在线小工具_Curl转python爬虫代码工具(快速构建初始爬虫代码)

文章目录 一、curl是什么&#xff1f;二、爬虫在线小工具&#xff08;牛逼puls&#xff09;三、实战操作 一、curl是什么&#xff1f; 基本概念&#xff1a;curl 支持多种协议&#xff0c;如 HTTP、HTTPS、FTP、SFTP 等&#xff0c;可用于从服务器获取数据或向服务器发送数据&a…

2025年渗透测试面试题总结-字某某动-安全研究实习生(二面)(题目+回答)

网络安全领域各种资源&#xff0c;学习文档&#xff0c;以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具&#xff0c;欢迎关注。 目录 字某某动-安全研究实习生&#xff08;二面&#xff09; 1. 护网行动中的核心工作 2. 防护层级选择&…

如何记录日常笔记

如何使用Obsidian来记录日常的笔记吗&#xff1f;比如会议记录、读书笔记。 我认为&#xff0c;首先需要做好的就是建立一个单独的分类&#xff0c;比如设置会议记录的文件夹、读书笔记的文件夹&#xff0c;这样各个笔记相互不干扰。 而做日常记录&#xff0c;和我们进行卡…

软件信息安全性测试流程有哪些?专业软件测评服务机构分享

在数字化时代&#xff0c;软件信息安全性测试的重要性愈发凸显。尤其是对于企业来说&#xff0c;确保软件的安全性不仅是维护用户信任的关键&#xff0c;也是满足合规要求的必要条件。 软件信息安全性测试是指通过一系列系统化的测试手段&#xff0c;评估软件应用在受到攻击时…

UVC for USBCamera in Android

基于UVC 协议&#xff0c;完成USBCamera 开发 文章目录 一、目的&#xff1a;二、USBCamera 技术实现方案难点 三、误区&#xff1a;四、基础补充、资源参考架构图了解Camera相关专栏零散知识了解部分相机源码参考&#xff0c;学习API使用&#xff0c;梳理流程&#xff0c;偏应…

智慧社区解决方案介绍

1. 应用背景 智慧社区作为新经济时代的产物&#xff0c;利用互联网和物联网技术&#xff0c;改变了人们的生活方式&#xff0c;成为信息化、虚拟化新城市的重要组成部分。智慧社区的商业价值在于利用大数据技术对消费者进行细分&#xff0c;提供高附加值服务&#xff0c;预计零…

鸿蒙生态日日新,鸿蒙原生版支付宝下载量突破230万

鸿蒙生态日日新PLOG&#xff1a;鸿蒙原生版支付宝下载量突破230万&#xff0c;持续迭代性能提升15%&#xff0c;越来越好用&#xff1b;掌上生活、美柚等多款应用功能更新。