• 榜单数据10-19 11:33
  • 论文数据10-16 13:30
  • 周报10-18 20:50

核心公式与训练机制

阅读约 35 分钟AI 生成已核查 · 已审核审核人 负责人

专题章节

⑥ 核心公式推导 · 梁文锋 Insight

核心公式推导:把「低成本 × 极致效率」拆到公式层

这是全站最硬核的一章。DeepSeek 的每一项招牌技术,最终都折算成梁文锋反复强调的「每 token 成本」。每节按 直觉 → 推导(LaTeX) → 假设与局限 → 对应的理念 组织;冗长推导用可折叠块收起。公式与数字均以对应官方论文为准,研究档案 research/02-技术模型公式-dossier.md 的 B1–B8 仅作索引、不作为权威来源;B9–B11(CSA+HCA / mHC / FP4 QAT)为 V4 一代,直接取自 DeepSeek-V4 技术报告 arXiv:2606.19348。

[V3 总览图](#overview)[B1 · MLA](#mla)[B2 · DeepSeekMoE](#moe)[B3 · 无辅助损失](#auxfree)[B4 · MTP](#mtp)[B5 · GRPO](#grpo)[B6 · Scaling Law](#scaling)[B7 · R1-Zero](#r1zero)[B8 · FP8](#fp8)[V4 一代](#v4gen)[B9 · CSA+HCA](#csa-hca)[B10 · mHC](#mhc)[B11 · FP4 QAT](#fp4)

0 · 记号总表与 V3 架构总览

全章记号:(\mathbf{h}t) 第 (t) 个 token 的隐藏输入;(d) 模型宽度;(n_h) 头数;(d_h) 每头维度;(l) 层数;(N_r/N_s) 路由/共享专家数;(K_r) 激活路由专家数;(\pi\theta) 策略。B9–B11(V4 一代)追加记号:(n) 序列长度;(m/m’) CSA / HCA 沿序列维的压缩率;(c) 压缩后每条 KV 的维度;(k) 稀疏注意力保留的条目数;(n_{\text{win}}) 滑窗长度;(n_{\text{hc}}) mHC 残差流扩张因子;(B_l) 第 (l) 层的残差映射矩阵。

  本章速记
  • MLA 降推理显存(KV cache ≈ MHA 的 1.76%);MoE + 无辅助损失 降激活算力并让专家更专业化;

  • MTP 稠密化训练信号、并可做投机解码;FP8 降训练算力(相对 loss 误差约 0.25% 以内,论文验证口径);

  • GRPO 去掉与策略同规模的价值网络,用「组内相对优势」省显存、稳训练;Scaling Law 在论文 FLOP 记账口径下用 (M) 取代 (N) 把算力花在刀刃上;R1-Zero 表明纯 RL 可在预训练 V3-Base 上强化并显化长链推理(非从零”涌现”)。

  • V4 一代(B9–B11,2026)把「省」推进到长上下文的推理侧:CSA + HCA 从压头维度改为压序列维(1M 上下文下相对 V3.2 仅 27% FLOPs / 10% KV cache,Flash 为 10%/7%),B9 并把它与 NSA、DSA 连成一条稀疏注意力三代的脉络;mHC 把残差映射约束到双随机矩阵流形换取深堆叠的数值稳定;FP4 QAT 把 MoE 专家权重与 indexer QK 路径降到 FP4(当前硬件上只省显存与访存,不省峰值算力)。

B1 · MLA:多头潜在注意力(Multi-head Latent Attention)

● 直觉

标准 MHA 推理时必须缓存每 token、每层、每头的 K、V,缓存元素数 (2 n_h d_h l),这是长序列/大 batch 的显存瓶颈。GQA/MQA 靠让多头共享 K/V 减小缓存,但以性能为代价。MLA 的核心假设:K、V 在不同头之间强相关,可用一个低秩潜向量联合表示——「既减缓存、又不降性能」。

对每个 token,先把隐藏态下投影成一个压缩潜向量 (\mathbf{c}_t^{KV}),推理时只缓存它;用时再上投影恢复各头的 K、V: [ \mathbf{c}_t^{KV} = W^{DKV},\mathbf{h}_t,\qquad \mathbf{k}_t^{C} = W^{UK},\mathbf{c}_t^{KV},\qquad \mathbf{v}_t^{C} = W^{UV},\mathbf{c}_t^{KV} ](\mathbf{c}_t^{KV}\in\mathbb{R}^{d_c}),(d_c \ll d_h n_h);(W^{DKV}) 为下投影,(W^{UK},W^{UV}) 为上投影。

◈ 关键技巧:矩阵吸收——推理时根本不必显式算 K、V

因为上投影 (W^{UK}) 可被吸收进查询侧的 (W^{Q})、(W^{UV}) 可被吸收进输出侧的 (W^{O}),所以推理时只需缓存 (\mathbf{c}_t^{KV})(每层 (d_c) 个元素),而无需缓存展开后的 K、V。这正是 MLA「省缓存」却「不降表达力」的机器。

展开:矩阵吸收的等式链(前提 → 变换 → 数值例 → 失效条件 → 论文证据)

前提:注意力只通过内积用到 K、只通过加权求和用到 V;而 (\mathbf{k}_{j,i}^{C}=W^{UK}_i\mathbf{c}j^{KV})、(\mathbf{v}{j,i}^{C}=W^{UV}_i\mathbf{c}_j^{KV}) 都是潜向量 (\mathbf{c}_j^{KV}) 的线性函数((W^{UK}_i,W^{UV}_i) 为第 (i) 头对应的上投影分块)。

变换 ①((W^{UK}) 吸收进查询侧):内容通道的打分按结合律重排—— [ \mathbf{q}{t,i}^{C\top}\mathbf{k}{j,i}^{C} = \big(W^{UQ}_i\mathbf{c}_t^{Q}\big)^{\top}\big(W^{UK}_i\mathbf{c}_j^{KV}\big) = \mathbf{c}_t^{Q\top}\underbrace{\big(W^{UQ\top}_i W^{UK}i\big)}{\text{离线预乘};=;\tilde{W}^{Q}_i}\mathbf{c}_j^{KV} ](W^{UK}) 被并入查询侧投影 (\tilde{W}^{Q}_i),推理时对缓存的 (\mathbf{c}j^{KV}) 直接算分,无需展开出 (\mathbf{k}{j,i}^{C})。

变换 ②((W^{UV}) 吸收进输出侧):加权求和同样可外提((a_{t,j,i}) 为 softmax 注意力权重)—— [ \mathbf{o}{t,i}=\sum{j} a_{t,j,i},\mathbf{v}{j,i}^{C}=\sum_j a{t,j,i},W^{UV}_i\mathbf{c}_j^{KV},\qquad \mathbf{u}_t=\sum_i W^{O}i\mathbf{o}{t,i}=\sum_i \underbrace{\big(W^{O}_i W^{UV}i\big)}{=;\tilde{W}^{O}i}\Big(\sum_j a{t,j,i},\mathbf{c}_j^{KV}\Big) ](W^{UV}) 被并入输出投影 (\tilde{W}^{O}_i),注意力对 (\mathbf{c}_j^{KV}) 直接加权,V 也无需展开。

数值例:V2 每层每 token 只缓存 (\mathbf{c}_t^{KV}) 与共享 (\mathbf{k}_t^{R}) 共 (512+64=576) 个元素;若显式展开 K、V 需 (2 n_h d_h=32768)——吸收技巧把「缓存什么」与「是否展开」彻底解耦。

失效条件:吸收依赖「线性可重排」。一旦把 RoPE 直接旋到 (\mathbf{k}_t^{C}) 上,(W^{UK}) 会与位置相关的旋转矩阵夹在中间、不再可交换(矩阵乘不满足交换律),吸收失效——这正是要解耦 RoPE、单开一路共享位置键 (\mathbf{k}_t^{R}) 的原因。

论文证据:[1] §2.1.2–2.1.3、式(9)-(19)、表 1。

对查询也做低秩压缩(仅为省训练时激活显存,不影响 KV cache): [ \mathbf{c}_t^{Q} = W^{DQ},\mathbf{h}_t,\qquad \mathbf{q}_t^{C} = W^{UQ},\mathbf{c}_t^{Q} ]

展开:解耦 RoPE(Decoupled RoPE)——为什么要单独开一路

矛盾:RoPE 对 K、Q 是「位置相关」的旋转。若把 RoPE 直接加在 (\mathbf{k}_t^{C}) 上,则 (W^{UK}) 会与「依赖当前生成位置」的旋转矩阵耦合,无法再被吸收进 (W^{Q})(矩阵乘不满足交换律),于是推理时不得不为所有前缀 token 重算 K,效率大跌。

解法:额外引入一小段「专门承载位置」的多头查询 (\mathbf{q}{t,i}^{R}\in\mathbb{R}^{d_h^R}) 与一个所有头共享的键 (\mathbf{k}t^{R}\in\mathbb{R}^{d_h^R}): [ \mathbf{q}t^{R} = \operatorname{RoPE}(W^{QR}\mathbf{c}t^{Q}),\qquad \mathbf{k}t^{R} = \operatorname{RoPE}(W^{KR}\mathbf{h}t) ] [ \mathbf{q}{t,i} = [\mathbf{q}{t,i}^{C};,\mathbf{q}{t,i}^{R}],\qquad \mathbf{k}{t,i} = [\mathbf{k}{t,i}^{C};,\mathbf{k}t^{R}] ] [ \mathbf{o}{t,i} = \sum{j=1}^{t}\operatorname{Softmax}j!\left(\frac{\mathbf{q}{t,i}^{\top}\mathbf{k}{j,i}}{\sqrt{d_h + d_h^R}}\right)\mathbf{v}{j,i}^{C},\qquad \mathbf{u}t = W^{O}[\mathbf{o}{t,1};\dots;\mathbf{o}_{t,n_h}] ]「内容通道走低秩压缩、位置通道单开一路带 RoPE」,拼接后做注意力。推理时缓存 (\mathbf{c}_t^{KV}) 与共享的 (\mathbf{k}_t^{R}),合计 ((d_c + d_h^R),l) 个元素。

每 token KV cache 对比(核心卖点)

  注意力机制每 token 缓存元素数能力

    MHA\(2 n_h d_h l\)强
    GQA(\(n_g\) 组)\(2 n_g d_h l\)中
    MQA\(2 d_h l\)弱
    MLA\((d_c + d_h^R)\,l \approx \tfrac{9}{2} d_h l\)更强

DeepSeek-V2 取 (d_c = 4 d_h,\ d_h^R = \tfrac{d_h}{2}),故 MLA 缓存 (\approx \tfrac{9}{2} d_h l)——相当于只有 2.25 组的 GQA,却比 MHA 更强。数值直觉:V2 配置 (n_h=128,\ d_h=128,\ d_c=512,\ d_h^R=64),MHA 每层每 token 缓存 (2\times128\times128=32768),MLA 仅 (512+64=576),约为 MHA 的 1.76%;对 DeepSeek 67B(GQA)整体降 KV cache 93.3%。

▲ 权衡与局限

权衡:把「多头独立 K/V」压成一个共享潜向量,是用一点表达自由度换巨量显存;论文消融显示压缩损失被「可训练上投影 + 解耦 RoPE」补偿。局限:① 结构更复杂、实现门槛高;② 训练时若不做重算(V3 对 MLA 上投影做 recomputation)激活显存不小;③ 矩阵吸收使部署 kernel 需专门适配(社区早期复现 MLA 推理有难度)。 ● 对应理念

①低成本 + ②极致效率。MLA 是「算力/显存受限下仍能扩大模型与上下文」的关键一环——正是梁文锋「成本领先直接转化为定价权」的物理基础(见 ⑦)。

B2 · DeepSeekMoE:细粒度专家 + 共享专家隔离

● 直觉(两个核心思想)

FFN 输出=共享专家恒激活 + 路由专家按门控加权: [ \mathbf{h}t’ = \mathbf{u}t + \sum{i=1}^{N_s}\operatorname{FFN}^{(s)}i(\mathbf{u}t) + \sum{i=1}^{N_r} g{i,t},\operatorname{FFN}^{(r)}i(\mathbf{u}t) ] [ g{i,t} = \begin{cases} s{i,t}, & s{i,t}\in \operatorname{Topk}\big({s_{j,t}\mid 1\le j\le N_r},,K_r\big)\[2pt] 0, & \text{否则}\end{cases},\qquad s_{i,t} = \operatorname{Softmax}_i!\big(\mathbf{u}_t^{\top}\mathbf{e}i\big) ](s{i,t}) 为 token 对第 (i) 个专家的亲和度,(\mathbf{e}_i) 为专家质心,(\operatorname{Topk}) 取前 (K_r) 高分。(V3 改用 Sigmoid 亲和度并对入选分归一化,见 B3。)

展开:原始负载均衡辅助损失(为何需要、怎么起作用)

不做约束会路由坍塌(少数专家被过度使用)。专家级均衡损失: [ \mathcal{L}{\mathrm{ExpBal}} = \alpha_1 \sum{i=1}^{N_r} f_i P_i,\quad f_i = \frac{N_r}{K_r T}\sum_{t=1}^{T}\mathbb{1}(\text{token }t\text{ 选中专家 }i),\quad P_i = \frac{1}{T}\sum_{t=1}^{T} s_{i,t} ]

直觉:(f_i) 是专家 (i) 的实际被选频率,(P_i) 是其平均软亲和度,二者乘积求和 → 惩罚「既高频又高分」的过热专家,把负载推平。V2 还叠加设备级 (\mathcal{L}{\mathrm{DevBal}})、通信级 (\mathcal{L}{\mathrm{CommBal}}),并做设备受限路由(每 token 至多落在 (M) 台设备)。

▲ 局限(引出 V3 的改进)

辅助损失是「性能 vs 均衡」的拉锯:系数太大 → 干扰主损失梯度、损害质量;太小 → 均衡不住。这正是 V3 提出「无辅助损失均衡」(B3)的动机。 ● 对应理念

①低成本(总参数大但激活少)+ ③工程与算法协同。MoE 让「总参数大、激活少」,与 MLA「KV cache 极小」叠加,是「出口管制降规格卡下仍能训大模型」的必然选择(见 ⑤)。

B3 · V3 无辅助损失负载均衡(Auxiliary-Loss-Free)

● 直觉

给每个专家加一个路由偏置 (b_i):它由负载控制器在每个训练步末动态更新(非梯度学习),且只影响 Top-K「选谁」、不进入专家权重 / 最终加权。这样既能把负载推平,又不像辅助损失那样往主损失里注入干扰梯度——「既均衡、又不牺牲性能」。

V3 门控先用 Sigmoid 亲和度,再对入选专家归一化得门控值: [ s_{i,t} = \operatorname{Sigmoid}!\big(\mathbf{u}t^{\top}\mathbf{e}i\big),\qquad g{i,t} = \frac{g’{i,t}}{\sum_{j=1}^{N_r} g’_{j,t}} ]

关键:把偏置 (b_i) 只加到 Top-K 判定里,而不进入 (g_{i,t}) 的分子来源: [ g’{i,t} = \begin{cases} s{i,t}, & s_{i,t}+b_i \in \operatorname{Topk}\big({s_{j,t}+b_j\mid 1\le j\le N_r},,K_r\big)\[2pt] 0, & \text{否则}\end{cases} ]被选中与否由 (s_{i,t}+b_i) 排序决定,但选中后仍用原始 (s_{i,t}) 加权。

◈ 动态调整规则(非梯度)

每个训练步结束后监控各专家在整批上的负载:过载则 (b_i \leftarrow b_i-\gamma),欠载则 (b_i \leftarrow b_i+\gamma)((\gamma) 为偏置更新速度)。这是一个启发式控制器,把「选择」这一离散决策的分布往均匀方向推,而完全不碰主损失的梯度。

为什么比辅助损失更好:① 偏置只改排序不改加权,不注入干扰梯度;② 它是批级(batch-wise)而非序列级均衡,约束更松,允许专家更充分专业化(V3 在 Pile 分域实验证实)。V3 仅保留一个系数极小的补充序列级均衡损失 (\mathcal{L}_{\mathrm{Bal}}=\alpha\sum_i f_i P_i) 防单序列极端失衡。

▲ 局限

偏置更新是启发式(对 (\gamma) 与监控窗口敏感),理论保证弱于带损失的优化;批级均衡在小 batch/在线服务下的稳定性需额外注意。

B4 · MTP:多 token 预测(Multi-Token Prediction)

● 直觉

每个位置不仅预测下一个 token,还顺序预测其后 (D) 个 token;与「并行独立头」不同,V3 保留完整因果链(第 (k) 深度用第 (k-1) 深度的表征)。好处:稠密化训练信号 + 让表征「预规划」未来。

第 (k) 个 MTP 模块:把上一深度表征与「第 (i+k) 个 token 的 embedding」拼接后线性投影,再过一个 Transformer 块、共享输出头: [ \mathbf{h}i^{\prime k} = M_k\big[\operatorname{RMSNorm}(\mathbf{h}i^{k-1});,\operatorname{RMSNorm}(\operatorname{Emb}(t{i+k}))\big] ] [ \mathbf{h}{1:T-k}^{k} = \operatorname{TRM}k(\mathbf{h}{1:T-k}^{\prime k}),\qquad P_{i+k+1}^{k} = \operatorname{OutHead}(\mathbf{h}_i^{k}) ]

训练目标:每个深度一个交叉熵,取平均并乘权重 (\lambda): [ \mathcal{L}{\text{MTP}}^{k} = -\frac{1}{T}\sum{i=2+k}^{T+1}\log P_i^{k}[t_i],\qquad \mathcal{L}{\text{MTP}} = \frac{\lambda}{D}\sum{k=1}^{D}\mathcal{L}_{\text{MTP}}^{k} ]

◈ 与推理加速的关系

训练时 MTP 主要为提升主模型质量;推理时可丢弃 MTP 模块让主模型独立工作,或复用它们做投机解码(speculative decoding)降时延。V3 报告第二个 token 接受率约 85–90%,可显著提高 TPS。 ▲ 局限

MTP 增加训练计算与实现复杂度;投机解码实际加速依赖草稿 token 接受率与硬件;(D) 太大收益递减(V3 取 (D=1))。

B5 · GRPO:组相对策略优化(最重点)

● 直觉

PPO 需要一个与策略同等规模的价值网络 (V_\psi) 来估基线,显存/算力昂贵;而 LLM 的奖励往往只在最后一个 token 给出,逐 token 学准价值函数很难。GRPO 的一招:对同一问题采样一组输出,用「组内平均奖励」当基线,直接去掉价值网络。这是 DeepSeekMath 首次提出、R1 发扬光大的核心。

展开:先回顾 PPO(重要性采样比、clip、优势、KL 惩罚)

PPO 的裁剪代理目标(token 级): [ \mathcal{J}{PPO}(\theta) = \mathbb{E}{q\sim P(Q),,o\sim \pi_{\theta_{old}}(O\mid q)}; \frac{1}{|o|}\sum_{t=1}^{|o|}\min!\Big[\rho_t(\theta),A_t,\ \operatorname{clip}\big(\rho_t(\theta),,1-\varepsilon,,1+\varepsilon\big),A_t\Big] ]重要性采样比 (\rho_t(\theta)=\pi_\theta(o_t\mid q,o_{<t})/\pi_{\theta_{old}}(o_t\mid q,o_{<t}));(A_t) 由 GAE 基于奖励与价值网络 (V_\psi) 估计。

为防奖励过优化,标准做法在每个 token 奖励里加 KL 惩罚: [ r_t = r_\varphi(q,o_{\le t}) - \beta,\log\frac{\pi_\theta(o_t\mid q,o_{<t})}{\pi_{ref}(o_t\mid q,o_{<t})} ]

痛点:价值网络 (V_\psi) 通常与策略同规模 → 巨大显存与算力;而奖励稀疏(多在末 token),价值函数难训准。

GRPO 完整目标——对同一 (q) 从旧策略采样一组 (G) 条输出 ({o_1,\dots,o_G}),用这组奖励统计量做基线: [ \begin{aligned} \mathcal{J}{GRPO}(\theta) = \ &\mathbb{E}{q\sim P(Q),,{o_i}{i=1}^{G}\sim \pi{\theta_{old}}(O\mid q)}\ &\frac{1}{G}\sum_{i=1}^{G}\frac{1}{|o_i|}\sum_{t=1}^{|o_i|}\Big{ \min!\big[\rho_{i,t},\hat{A}{i,t},\ \operatorname{clip}(\rho{i,t},1-\varepsilon,1+\varepsilon),\hat{A}{i,t}\big] - \beta,\mathbb{D}{KL}!\big[\pi_\theta,|,\pi_{ref}\big]\Big} \end{aligned} ](\rho_{i,t}=\pi_\theta(o_{i,t}\mid q,o_{i,<t})/\pi_{\theta_{old}}(o_{i,t}\mid q,o_{i,<t}))。注意 GRPO 把 KL 直接放进损失(而非塞进奖励)。

KL 用 Schulman(2020) 的 k3 估计量(单样本、恒非负;其期望等于 KL,且在两分布接近等常见条件下方差通常更小)。记 (u=\dfrac{\pi_{ref}(o_{i,t}\mid q,o_{i,<t})}{\pi_\theta(o_{i,t}\mid q,o_{i,<t})}),则单样本逐点估计量为: [ \widehat{D}{k3}(o{i,t}) = u-\log u-1 ]这是单样本估计量,不是分布 KL 的逐点精确等式。

只有它的期望(在 on-policy 采样下)才等于分布 KL: [ \mathbb{E}{o\sim\pi\theta}\big[\widehat{D}{k3}\big] = \mathbb{D}{KL}!\big[\pi_\theta,|,\pi_{ref}\big] ]用 (\pi_{\theta_{old}}) 轨迹做多步更新时此式为近似;只有 on-policy 或做了正确的重要性重加权时,才有上述精确期望。

组内相对优势归一化(结果监督)——对每条输出的所有 token 赋同一个归一化优势: [ \hat{A}_{i,t} = \tilde{r}_i = \frac{r_i - \operatorname{mean}(\mathbf{r})}{\operatorname{std}(\mathbf{r})} ](\mathbf{r}={r_1,\dots,r_G})。过程监督版则对每个推理步给奖励,并把某 token 的优势设为其后续各步归一化奖励之和。

展开:三段推导(组基线的来历 · KL 的 k3 无偏估计 · clip 的分段行为)

前提:策略梯度里任何与动作无关(action-independent)的基线 (b) 都不改变期望梯度、只降方差——因为它对期望梯度的贡献恒为零: [ \mathbb{E}{o\sim\pi\theta}\big[\nabla_\theta\log\pi_\theta(o)\cdot b\big] ;=; b,\nabla_\theta!\sum_o \pi_\theta(o) ;=; b,\nabla_\theta 1 ;=; 0 ]用到 (\nabla_\theta\log\pi_\theta=\nabla_\theta\pi_\theta/\pi_\theta) 与概率归一化 (\sum_o\pi_\theta(o)=1):常数 (b) 可提到梯度外,剩下的归一化项梯度为零。

因此关键前提是 (b) 不能依赖当前样本 (o_i)——否则 (b) 也会被 (\nabla_\theta) 作用,上式不再为零,基线就不再”只降方差”。

  \[ \underbrace{\hat{A}_{i,t}=\frac{r_i-\operatorname{mean}(\mathbf{r})}{\operatorname{std}(\mathbf{r})+\epsilon}}_{\text{原始 GRPO:含自身样本的实用估计}}\qquad \underbrace{\bar r_{-i}=\frac1{G-1}\sum_{j\ne i} r_j}_{\text{留一:严格无偏基线,非原始写法}} \]分母加 \(\epsilon\) 保证数值稳定。失效条件·全同奖励组:一组输出全对或全错时 \(\operatorname{std}(\mathbf{r})\to 0\)、分子也为 0,优势退化为 \(\approx 0\)、该组无梯度(即「零优势浪费」,DAPO 用动态采样过滤)。

② KL 的 k3 无偏估计:记 (u=\dfrac{\pi_{ref}(o_{i,t}\mid\cdot)}{\pi_\theta(o_{i,t}\mid\cdot)}),估计量 (\hat{D}=u-\log u-1)。它对 (o\sim\pi_\theta) 无偏—— [ \mathbb{E}{\pi\theta}[u]=\sum_o \pi_\theta\cdot\frac{\pi_{ref}}{\pi_\theta}=\sum_o\pi_{ref}=1,\qquad \mathbb{E}{\pi\theta}[-\log u]=\mathbb{E}{\pi\theta}!\Big[\log\frac{\pi_\theta}{\pi_{ref}}\Big]=\mathbb{D}{KL}(\pi\theta|\pi_{ref}) ]故 (\mathbb{E}{o\sim\pi\theta}[\hat{D}]=1-1+\mathbb{D}{KL}=\mathbb{D}{KL})(此期望等式需 on-policy 采样);又因 (u-\log u-1\ge 0;(\forall u>0)),该估计恒非负,且在两分布接近等常见条件下方差通常比朴素 (-\log u) 更小。

③ clip 的分段行为:令 (\rho=\rho_{i,t}),逐段展开 (\min[\rho\hat{A},\operatorname{clip}(\rho,1-\varepsilon,1+\varepsilon)\hat{A}]):

    情形\(\rho\) 落点有效目标含义

      \(\hat{A}>0\)(好动作)\(\rho\le 1+\varepsilon\)\(\rho\hat{A}\)正常增大该 token 概率
      \(\rho>1+\varepsilon\)\((1+\varepsilon)\hat{A}\)(封顶)梯度截断,不奖励继续抬高
      \(\hat{A}<0\)(坏动作)\(\rho\ge 1-\varepsilon\)\(\rho\hat{A}\)正常压低该 token 概率
      \(\rho<1-\varepsilon\)\((1-\varepsilon)\hat{A}\)(封底)梯度截断,不再继续惩罚

数值例((\varepsilon=0.2)):(\hat{A}>0) 时 (\rho) 至多贡献到 (1.2);对一个初始概率极低的「探索 token」,(1.2\times) 的绝对增幅很小 → 对称 clip 压制探索、易熵坍塌,这正是 DAPO 用非对称 Clip-Higher((\varepsilon_{high}>\varepsilon_{low}))的动机。

论文证据:GRPO / KL 见 [2] 式(1)-(4)、§4.1;clip 分段与探索问题见 [3]。

▲ 假设、优势与局限(引出后续算法)

假设:① 能对同一 prompt 采样多条输出;② 组内相对比较能提供有效学习信号(与奖励模型「本就在同题对比上训练」的性质契合)。优势:省价值网络 → 显存/算力大降、实现更简单、训练更稳。局限:① 长度偏置(按 (1/|o_i|) 归一,长而错的回答惩罚不足)→ DAPO token-level loss / Dr.GRPO 常数归一;② 难度偏置(用 std 归一,给过易/过难题过大权重)→ Dr.GRPO 去 std;③ 零优势浪费(全对/全错组无梯度)→ DAPO 动态采样;④ 熵坍塌(对称 clip 压制探索)→ DAPO Clip-Higher;⑤ MoE 下逐 token 比方差大 → GSPO 序列级;⑥ reward hacking → R1 弃神经 RM、改规则奖励。详见 ⑧ 前沿·评价。

◆ 超参(DeepSeekMath-RL)

每题采样 64 条、(\beta)(KL)=0.04、策略 LR 1e-6、batch 1024、每次探索后仅更新一次。

B6 · Scaling Law(DeepSeek LLM):用 (M) 取代 (N)

● 直觉

经典近似 (C\approx 6ND) 忽略了注意力算力、且 (6N_2) 还含词表算力,会污染拟合。DeepSeek 改用非嵌入 FLOPs/token (M),在论文的 FLOP 记账口径与架构假设下把预算定义为 (C = M D)——「先把 Scaling Law 搞对,才能把算力花在刀刃上」。 [ 6N_1 = 72,n_{\text{layer}},d_{\text{model}}^2,\qquad M = 72,n_{\text{layer}},d_{\text{model}}^2 + 12,n_{\text{layer}},d_{\text{model}},l_{\text{seq}} ](M) 在 (6N_1) 基础上补上注意力项 (12 n_{\text{layer}} d_{\text{model}} l_{\text{seq}})。论文表 3:小模型上 (6N_1/M) 低至 0.43、(6N_2/M) 高至 1.32,误差可达 50%。

超参也随算力标度(先定超参再拟合配比): [ \eta_{\text{opt}} = 0.3118\cdot C^{-0.1250},\qquad B_{\text{opt}} = 0.2920\cdot C^{,0.3271} ]最优学习率随 (C) 降、最优 batch size 随 (C) 升。

最优模型/数据配比(IsoFLOP 拟合): [ M_{\text{opt}} = 0.1715\cdot C^{,a},\quad a = 0.5243;\qquad D_{\text{opt}} = 5.8316\cdot C^{,b},\quad b = 0.4757 ](a+b = 0.5243+0.4757 = 1)——因 (C=MD) 必然要求指数和为 1,是内部一致性校验。

展开:IsoFLOP 怎么取点 / 拟合 / 误差 / 架构依赖(\(C=MD\) 不是"无条件精确")

前提:先固定若干算力预算 (C)(即 IsoFLOP 等算力线)。在每条 (C=MD) 线上,模型越大则数据越少(反之亦然),存在一个使验证损失最小的最优切分。

变换 / 估计:沿每条 (C) 线训练一组不同 ((M,D)) 配比的模型,拟合出平滑的 IsoFLOP 曲线并取其最优点(而非简单套「抛物线最小点」),得该预算下的 ((M_{\text{opt}},D_{\text{opt}}));对多个 (C) 重复,再用幂律拟合出 (M_{\text{opt}}=0.1715,C^{0.5243})、(D_{\text{opt}}=5.8316,C^{0.4757})。论文实验规模:约 8 个算力预算(从 (10^{17}) 到 (3\times10^{20}) FLOPs)、每个预算约 10 个不同 ((M,D)) 配比,在约 100M-token 验证集上比较损失并取最优点。

数值例 / 自洽校验:(a+b=0.5243+0.4757=1)。这不是巧合,而是 (C=MD) 对指数的硬约束:(M_{\text{opt}}D_{\text{opt}}\propto C^{a+b}) 必须 (=C^{1})。它是内部一致性检验,而非「公式无条件精确」的证明。

失效条件:① 最优点由有限个配比点拟合而来(论文未报告误差条 / 置信区间),落点对拟合窗口敏感;② 系数((0.1715 / 5.8316)、(a / b))依赖 (M) 的 FLOP 记账口径、数据分布与架构——换架构(如 dense↔MoE)或换语料,系数会漂移;③ 未纳入「预算之外」的因素(同预算不同配比下最优超参空间也会移动)。所以本站把 (C=MD) 表述为「在论文 FLOP 记账与架构假设下成立」,而非绝对恒等式。

论文证据:[4] §3、式(1)-(4)、表 3、Fig.4(IsoFLOP 与 (M_{\text{opt}}!-!D_{\text{opt}}) 拟合)。

◈ 与 Chinchilla 的异同

相同:都用 IsoFLOP profile、都主张「模型与数据大致等比例扩张」((a\approx b\approx 0.5))。不同:① 度量——Chinchilla 用参数 (N),DeepSeek 用 (M)(含注意力、更准);② 数据质量越高,越应把新增算力分给「扩大模型」——这是 DeepSeek 的独特结论,也解释其「重数据质量 → 敢训大模型」的路线。 ▲ 局限

拟合未纳入「预算之外」的因素(同预算不同配比时最优超参空间会漂移);结论依赖其数据分布。

B7 · R1-Zero 现象 与 R1 多阶段流程

● 直觉

R1-Zero 表明:在已预训练的 V3-Base 上、不使用任何 reasoning SFT 轨迹,纯 RL(GRPO)也能强化并显化长链推理。不显式教「怎么解题」,只给可验证的正确激励,模型就自主强化出高级解题策略——梁文锋称之为「RL 的力量与美」的现实印证。注意措辞:这是”强化并显化”,不是”纯 RL 从零涌现推理”的证明(见下方因果口径)。 ▲ 因果口径(勿把”强化”读成”从零涌现”)

更严谨地说,RL 强化并显化了推理,而非”纯 RL 从零证明涌现”。原因有二:① 起点不是白板——V3-Base 已在 14.8T tokens 上预训练,语料中难免含推理 / 长 CoT 文本,base 模型本身即已带部分”aha”雏形;② 后续批判性研究指出 R1-Zero 式训练存在 base-model bias:把全部推理行为都归因给 RL 会高估其作用,也无法把”基座已有能力”与”RL 新增能力”完全剥离。[5];[6]

R1-Zero:奖励设计(刻意不用神经奖励模型)

  • 准确率奖励:数学题要求把答案放进指定格式(如 \boxed{})以便规则校验;代码题用编译器+测试用例判定。

  • 格式奖励:强制把思考过程放进 redacted_thinking 标签对中。

  • 为何不用神经 RM:大规模 RL 下神经 RM 易被 reward hacking,且重训 RM 增加成本、复杂化流程。

    ◆ 涌现的「aha moment」(论文原文片段)

Wait, wait. Wait. That’s an aha moment I can flag here.随训练推进,回答长度自发增长、出现自我验证/反思;中间版本冒出拟人化措辞,学会重新评估初始解法。arXiv:2501.12948 §2.2.4

R1:四阶段流程(冷启动 → 推理 RL → 拒绝采样 SFT → 全场景 RL)

  阶段做法目的

    ② 推理 RL沿用 R1-Zero 大规模 RL,聚焦数学/代码/科学/逻辑;新增语言一致性奖励抑制中英混杂(略降指标但更合人类偏好)
    ③ 拒绝采样 + SFT在收敛 RL 检查点拒绝采样约 600k 推理 + 200k 非推理(≈800k)重训把推理能力扩展到写作/事实 QA/自我认知/翻译
    ④ 全场景 RL再做一轮 RL 对齐有用性+无害性(推理域规则奖励、通用域奖励模型)兼顾能力与对齐

蒸馏:把 R1 的推理能力蒸到 6 个 dense 小模型(1.5B/7B/8B/14B/32B/70B,基于 Qwen/Llama),仅 SFT 不做 RL,即已显著超越同尺寸。

▲ 局限

R1-Zero 可读性差、中英混杂;仍需冷启动 SFT 才能「人类友好」——说明纯 RL 擅长「激发能力」但不擅长「对齐表达」,且可验证奖励目前主要覆盖数学/代码,开放域推理的奖励设计仍是瓶颈(追问见 ⑩)。

B8 · FP8 混合精度训练

● 直觉

把三大 GEMM(Fprop 前向、Dgrad 激活反传、Wgrad 权重反传)都放 FP8,理论上算力翻倍、激活可存 FP8 省显存;但对精度敏感的模块——embedding、输出头、MoE 门控、归一化、注意力算子——保持 BF16/FP32,主权重/权重梯度/优化器状态也存更高精度。

精度损失控制的两大要点

  • 细粒度量化:激活按 1×128 tile(每 token 每 128 通道)、权重按 128×128 block 分组缩放,使离群值只影响小分组,缓解 FP8 动态范围窄导致的上/下溢。

  • 提升累加精度:H800 上 FP8 GEMM 的 Tensor Core 累加只有约 14 bit(K 很大时相对误差可达 ~2%);V3 每累加 (N_C=128) 个元素就搬到 CUDA Core 做 FP32 累加(promotion),并在 CUDA Core 上顺带反量化 per-group 缩放因子。

    [ \mathbf{Y} ;=; \sum_{g}; s^{A}_g, s^{B}_g \cdot \underbrace{\big(\mathbf{A}^{\mathrm{FP8}}_g,\mathbf{B}^{\mathrm{FP8}}g\big)}{\text{每 } N_C=128 \text{ 元素 → CUDA Core FP32 累加}} ]示意:分组 (g) 的 FP8 乘积在 CUDA Core 上以 FP32 累加,再乘回该组的激活/权重缩放因子 (s^{A}_g,s^{B}_g)(细粒度反量化)。

    展开:从”示意求和式”到真实的 block/tile scale 布局

前提(上式是示意):上面的 (\mathbf{Y}=\sum_g s^A_g s^B_g(\mathbf{A}^{\mathrm{FP8}}_g\mathbf{B}^{\mathrm{FP8}}_g)) 只表达「分组反量化 + 累加」的思想,并非真实内存布局。

真实布局:① 激活按 (1\times128) tile——每个 token、每 128 个通道共享一个缩放因子 (s^A);② 权重按 (128\times128) block——每个 (128\times128) 子块共享一个 (s^B)。GEMM 沿收缩维 (K) 分块推进,不同 (tile, block) 对各自带独立 scale,所以「求和」实为「逐分组、各带不同 (s^A s^B) 的分块累加」。

变换(为何要 promotion):H800 的 FP8 Tensor Core 累加器仅约 14 bit 尾数,(K) 很大时定点累加相对误差可达 ~2%。V3 每累加 (N_C=128) 个元素,就把部分和搬到 CUDA Core 做 FP32 累加,并在此处乘回该组 (s^A s^B)(细粒度反量化): [ \mathbf{Y}=\sum_{k\text{-block}} s^{A}{(\cdot,k)},s^{B}{(k,\cdot)};\Big(\textstyle\sum_{\text{128 elems}}\mathbf{A}^{\mathrm{FP8}}\mathbf{B}^{\mathrm{FP8}}\Big)_{\text{FP32 in CUDA Core}} ]内层 128 元素的 FP8 乘积在 Tensor Core 出结果,外层按 (k)-block 搬到 CUDA Core 以 FP32 累加并施加 per-group scale。

数值例:离群值只会落在某一个 (1\times128) tile 或 (128\times128) block 内,其放大只污染该组的 (s),不会拉爆整行 / 整列的动态范围——这是细粒度量化压住 FP8 窄范围的关键。

失效条件:依赖硬件对「分块 + promotion」的支持(论文点名下一代 Blackwell 才原生支持 microscaling);tile / block 选得过大 → 离群值污染面变大,过小 → 反量化开销上升。

论文证据:[7] §3.3.1–3.3.2、Fig.6–7。

◈ 成效

相对 BF16 基线,FP8 训练的相对 loss 误差 < 0.25%,在训练随机性可接受范围内。口径说明:该数字是在约 V2-Lite 与 V2 两个尺度的模型上、约 1T tokens 的验证结果,并非 671B 全量 V3 与 BF16 的全程成对复现实验,勿据此外推为”671B 全量、全程无损”。这让「FP8 省算力」从纸面变成可上生产的现实——直接压低 V3 的训练成本。 ▲ 局限

FP8 需精心挑选「哪些算子保高精度」,且强依赖硬件(论文点名下一代 Blackwell 原生支持 microscaling);量化/反量化带来工程复杂度。

  我的看法 · 作者(AI)个人观点

把 B1–B8 串起来看,DeepSeek 的技术叙事其实只有一句话:把「省」做到算法与系统协同的极致。MLA 省显存、MoE 省激活、无辅助损失省「均衡的性能代价」、MTP 省监督信号的浪费、GRPO 省一个价值网络、FP8 省训练算力、Scaling Law 省「乱花算力的弯路」。这与梁文锋「成本第一」的商业判断是同一枚硬币——工程上的每一次「省」,都在市场上兑现为更低的每 token 定价。但要清醒:这些都是可被论文与开源复制的招数,所以真正的问题不在公式,而在「谁能持续产出下一个 MLA」——那属于组织与人才,不属于本页。(论据链与反面意见不在此重复,这条张力在 ⑩ Q1 完整辩证。) → 本条在 ⑩ 展开为 Q1(低成本,是可持续的壁垒吗?)

V4 一代(2026):B1–B8 之后,公式又往前走了一步

上面 B1–B8 里最新的一篇论文是 2025-01 的 R1。而 2026 年的 DeepSeek-V4 在架构与精度两条线上都换了零件:注意力从「压每个 token 内部的头维度」(MLA)转向「压序列维本身」(CSA / HCA);残差连接被 mHC 升级;低精度从预训练期的 FP8 推进到后训练期的 FP4 QAT。下面三节沿用与 B1–B8 完全相同的模板(前提 → 变换/估计 → 数值例 → 失效条件 → 论文证据)把这一代补齐。 ◆ 口径说明(先把证据强度说清)

DeepSeek-V4 系列是官方的 preview 版本模型(论文自述 “a preview version of the DeepSeek-V4 series”)——“preview” 修饰的是模型系列本身,不是”技术报告未定稿”。技术报告已发布,并已逐条印证下述全部数字:[8](据 arXiv 官方元数据,v1 公开于 2026-04-26;模型本身 2026-04-24 上线,二者相隔两天、几乎同步,见 ⑤ 模型谱系)。因此本三节的公式、超参与效率数字不再标”待正式技术报告核实”,一律直接引证该报告的对应章节。真正仍然成立的 hedge 只剩一条:后续正式版模型的架构参数与指标可能调整。 ◈ 三节速览

B9 CSA + HCA:把 KV 沿序列维压掉,再决定「压完之后要不要稀疏选择」——CSA 温和压缩后做稀疏,HCA 激进压缩但保持 dense,两类层交替堆叠。B10 mHC:把加宽后的残差流的搬运矩阵约束到双随机矩阵流形上,用「非扩张 + 乘法封闭」换深堆叠的数值稳定性。B11 FP4 QAT:把 MoE 专家权重与 indexer 的 QK 路径降到 FP4,是 B8 的直接续章。

B9 · 混合注意力 CSA + HCA:压序列维,而不是压头维度

● 直觉

上下文推到 100 万 token 时,注意力重新变成最主要的算力瓶颈。压它只有两个旋钮:压缩(把每 (m) 个 token 的 KV 合成一条,序列长度 (n\to n/m))与稀疏(每个 query 只看 top-(k) 条)。V4 没有在同一层里把两个旋钮都拧满,而是造了两种层交替堆叠:CSA=温和压缩((m=4))+ 稀疏选择;HCA=激进压缩((m’=128))但保持 dense、不做选择。

◈ 与 MLA 的关系(最容易混淆的一点)

MLA(B1)压的是每个 token 内部的头维度((2 n_h d_h \to d_c + d_h^R)),序列长度一条不少;CSA / HCA 压的是序列维本身((n \to n/m)),每条的维度不变。两者正交,可以叠加——V4 保留了低秩查询压缩((\mathbf{c}_t^{Q}=\mathbf{h}_t W^{DQ}) 仍在,还与 indexer 共用同一个潜向量),再在其上加序列维压缩。所以「MLA 被取代了」是误读:被取代的是「每 token 都留一条 KV」这个前提。

CSA:先压缩,再在压缩结果上做 DSA

先算两路 KV 候选与各自的压缩权重((H\in\mathbb{R}^{n\times d}) 为输入隐藏态序列,(c) 为头维): [ C^{a}=H,W^{aKV},\quad C^{b}=H,W^{bKV},\qquad Z^{a}=H,W^{aZ},\quad Z^{b}=H,W^{bZ} ]

再按权重把每 (m) 条合成一条((\odot) 为逐元素乘,(B^a,B^b) 为可学习的块内位置偏置): [ C^{\text{Comp}}{i}=\sum{j=mi}^{m(i+1)-1} S^{a}{j}\odot C^{a}{j};+;\sum_{j=m(i-1)}^{mi-1} S^{b}{j}\odot C^{b}{j} ](S^a,S^b) 由 (\operatorname{Softmax}_{\text{row}}\big([,Z^{a}+B^{a};,Z^{b}+B^{b},]\big)) 在两路共 (2m) 个元素上联合归一化得到。每条压缩项其实取自 (2m) 条原始 KV(两路窗口相邻重叠),但由于 (C^{b}) 用到的索引与上一块 (C^{a}) 用到的索引重叠,净压缩比仍是 (1/m)。

然后用 lightning indexer(与 V3.2 的 DSA 同源)在压缩后的条目上打分并取 top-(k): [ I_{t,s}=\sum_{h=1}^{n_h^{I}} w^{I}{t,h}\cdot\operatorname{ReLU}!\big(\mathbf{q}^{I}{t,h}\cdot K^{\text{IComp}}{s}\big),\qquad \mathcal{C}^{\text{SprsComp}}{t}=\Big{,C^{\text{Comp}}{s};\Big|;I{t,s}\in\operatorname{Topk}\big(I_{t,:}\big)\Big} ]只对在前的压缩块打分((s < \operatorname{Floor}(t/m))),严格保因果;indexer 查询 (\mathbf{q}^{I}{t}=\mathbf{c}^{Q}{t}W^{IUQ}) 由低秩潜向量升维而来。核心注意力随后以 MQA 方式进行——每条压缩条目同时充当 key 和 value。

HCA:压得更狠,但不做选择

\[ C=H\,W^{KV},\quad Z=H\,W^{Z};\qquad S=\operatorname{Softmax}_{\text{row}}(Z+B),\qquad C^{\text{Comp}}_{i}=\sum_{j=m'i}^{m'(i+1)-1} S_{j}\odot C_{j} \]压缩比 \(m'\gg m\),且不做重叠压缩,序列长度直接降到 \(n/m'\)。压完已经足够短,因此可以对全部压缩条目做 dense 注意力——省掉 indexer 与 top-\(k\) 这一整套机制。

◈ 为什么要"混合",而不是二选一

因为两者的失真方式恰好互补:CSA 压得轻、块内细节保留得多,但每个 query 只能看到 top-(k) 条——没被选中的历史就完全看不见;HCA 压得狠、块内细节被抹平,但它是 dense 的——整条序列每一块都参与。逐层交替堆叠,等于让模型在深度方向上轮流获得「看得细但看得少」与「看得全但看得粗」两种视野。此外两者都额外挂一条滑动窗口分支((n_{\text{win}}) 条未压缩的最近 KV)来补块内与局部依赖,并共用 attention sink——一组可学习的 sink logit (z’_h) 加进 softmax 分母,使每个头的总注意力可以不等于 1、甚至接近 0。

稀疏注意力三代:NSA → DSA → CSA / HCA

这三代在回答同一个问题——长序列下,每个 query 究竟该看哪些 KV——手里也是同一批零件:压缩(把多条 KV 合成一条)、选择(只看打分最高的若干条)、局部(无条件保住最近的一段)。差别只在于把这三个零件装配成什么形状。编年顺序与「研究 vs 产品」的区分见 ⑤ 第五节;这里只对齐机制与演进动因。

\[ o_t=\sum_{c}g_t^{c}\,\operatorname{Attn}\!\left(q_t,\tilde K_t^{c},\tilde V_t^{c}\right) \]\(c\) 遍历三条分支,\(g_t^{c}\) 为可学习门控,\(\tilde K_t^{c},\tilde V_t^{c}\) 为该分支重组后的键值。要点:三路都要算,门控只决定各占多少权重。

② DSA(V3.2-Exp 起 · 产品)——只留「选择」这一路。用轻量的 lightning indexer 逐 query 给每条 KV 打分 (I_{t,s}),取 top-(k) 后只对选中的条目做注意力: [ \mathcal{S}t=\operatorname{Topk}{s},I_{t,s},\qquad o_t=\operatorname{Attn}!\left(q_t,{k_s,v_s}_{s\in\mathcal{S}_t}\right) ](\mathcal{S}_t) 为被选中的 KV 下标集合。相比 NSA 少了并行三路与门控汇总,只剩「打分 → 选 → 算」一条链——实现与部署都简单得多。

③ CSA + HCA(V4,2026)——把这批零件重新装配。即本节上文:CSA 把「压缩」与「选择」串联(先用 (C^{\text{Comp}}) 压,再用 (I_{t,s}) 选);HCA 只留「重压缩」而放弃选择,压完直接 dense;两类层交替堆叠;滑窗则从并列的第三条分支降级为两者共用的补充分支。

◈ 三代之间的演进动因(三条)

▲ 谱系口径(勿读成「直接继承」)

三者属同一稀疏化方向的不同落地形态,但公开资料不足以证明 DSA 直接继承了 NSA 的具体机制——宜视为「同方向的后续产品实现」,而非「NSA 的产品化版本」。上面 ①② 两式是按各自公开材料对齐后的最简写法,用于说明机制差异,不代表署名意义上的继承关系。这条脉络的横向对比(含友商方案)另见 ⑧ E2。[9] · DeepSeek-V3.2-Exp 技术说明(DSA)· [8] §2.3]

展开:混合注意力的算账(前提 → 估计 → 数值例 → 失效条件 → 论文证据)

前提:注意力的两笔开销要分开记账——KV cache 大小 (\propto)(需要存的条目数 × 每条维度),单 token 推理 FLOPs (\propto) 每个 query 实际参与打分的条目数。压缩比 (m) 同时打到这两笔上(条目数从 (n) 变 (n/m));而稀疏 top-(k) 只打到第二笔——被淘汰的条目仍必须留在 cache 里,否则下一个 query 就选不到它。这条区分正是「(27%) FLOPs」与「(10%) KV」两个数字不相等的原因。

估计:对一层 CSA,每个 query 参与打分的条目数从 (n) 降到 (\min!\big(k,;n/m\big)+n_{\text{win}});在 (n=10^{6},\ m=4,\ k=1024,\ n_{\text{win}}=128) 时约 1152 条,已与序列长度基本脱钩。对一层 HCA 则为 (n/m’+n_{\text{win}}\approx) 7940 条——仍随 (n) 线性增长,但斜率只有 (1/128)。KV cache 侧另有两个乘数:RoPE 维度存 BF16、其余维度存 FP8(相对纯 BF16 存储约减半),indexer 的 QK 路径更进一步走 FP4(见 B11)。

数值例(V4-Pro 与 V4-Flash 的实际配置):V4-Pro 为 61 层、(d=7168),前 2 层用 HCA、其后 CSA 与 HCA 逐层交替;CSA 取 (m=4)、indexer 头数 (n_h^{I}=64)、indexer 头维 (c^{I}=128)、attention top-(k=1024);HCA 取 (m’=128);两者共用 (n_h=128)、(c=512)、(d_c=1536)、输出投影分 (g=16) 组、每组中间维 (d_g=1024)、滑窗 (n_{\text{win}}=128)。V4-Flash 为 43 层、(d=4096)、(n_h=64)、top-(k=512)、(g=8)、(d_c=1024),且前 2 层用纯滑动窗口注意力。结果:1M 上下文下相对 DeepSeek-V3.2,V4-Pro 只需 27% 的单 token 推理 FLOPs(按等效 FP8 FLOPs 计)与 10% 的 KV cache;激活参数更少的 V4-Flash 更激进,为 10% FLOPs / 7% KV cache。若换成更常见的 BF16 GQA8(头维 128)作基线,1M 下 KV cache 约为其 2%。

失效条件:① 为严格保因果,query 只能看自己之前的压缩块,因此它访问不到自己所在块内的其他 token——这不是可选优化而是结构性缺口,必须由滑窗分支填补,(n_{\text{win}}) 给小了会直接掉局部依赖;② 压缩是带权求和,块内被抹平的信息不可恢复,(m’) 越大越省、也越糊;③ top-(k) 是硬选择,indexer 打分不准就等于”选错即看不到”,论文为此专门给 indexer 安排 warmup(先用 dense 注意力训前 1T tokens,再在 64K 序列长度上引入稀疏,并先单独热身 indexer);④ 上面所有效率倍数都是 1M 上下文口径——短、中长度文本下压缩与稀疏的相对收益小得多,论文正因如此把 top-(k) 相对 V3.2 调小以改善中短文本效率;⑤ 混合结构使不同层的 KV cache 尺寸、命中与淘汰策略各不相同(还要叠加滑窗层的独立策略),推理侧必须维护异构 KV cache——复杂度并没有消失,而是从模型搬到了系统。

论文证据:[8] §2.3(式 9–27,含 CSA 压缩、lightning indexer、共享 KV 的 MQA、分组输出投影、滑窗分支与 attention sink)、§2.3.4(效率讨论与 GQA8 基线对比)、§4.2.1(两个模型的逐项配置)、§4.2.2(稀疏注意力的引入节奏)、Fig.3(CSA 架构)/ Fig.4(HCA 架构)。

▲ 局限与未知

局限:压缩与稀疏都是有损近似,代价往往体现在长上下文的细粒度检索上,而不体现在总体基准分数里;

参考来源

  1. [1]arXiv:2405.04434(在新窗口打开)arxiv.org · Abstract · 访问于 2026-10-18官方 · 非本人原话↩
  2. [2]arXiv:2402.03300(在新窗口打开)arxiv.org · Abstract · 访问于 2026-10-18官方 · 非本人原话↩
  3. [3]arXiv:2503.14476(在新窗口打开)arxiv.org · Abstract · 访问于 2026-10-18官方 · 非本人原话↩
  4. [4]arXiv:2401.02954(在新窗口打开)arxiv.org · Abstract · 访问于 2026-10-18官方 · 非本人原话↩
  5. [5]arXiv:2503.20783(在新窗口打开)arxiv.org · Abstract · 访问于 2026-10-18官方 · 非本人原话↩
  6. [6]DeepSeek-R1 技术报告(在新窗口打开)arxiv.org · 2025-01-22 · Abstract · 访问于 2026-10-18官方 · 非本人原话↩
  7. [7]arXiv:2412.19437(在新窗口打开)arxiv.org · Abstract · 访问于 2026-10-18官方 · 非本人原话↩
  8. [8]arXiv:2606.19348(在新窗口打开)arxiv.org · Abstract · 访问于 2026-10-18官方 · 非本人原话↩
  9. [9]arXiv:2502.11089(在新窗口打开)arxiv.org · Abstract · 访问于 2026-10-18官方 · 非本人原话↩