☰ DSv4.1 Flash 架构导读

全部文档/系列目录

DeepSeek-V4.1 Flash:从两本书接上去

这一页写给这样的读者:读过《Build a Large Language Model (From Scratch)》和《Build a Reasoning Model (From Scratch)》,微积分和线代学过但计算细节忘了。所以不假设你记得 softmax 的导数、凸组合的定义、矩阵吸收的推导;每用一个概念,就在原地重新定义一遍,再用这一节自己的数字验算。

两本书带你到的地方是"一层标准的因果自注意力 + KV cache + 采样"。DeepSeek-V4.1 Flash 的技术报告则默认你已经知道 MLA 的潜在向量、滑动窗口、稀疏 Top-K 检索、跨层 KV 复用、FP4 量化、专家混合。中间那一段就是这九篇正文加一篇附录要补的:每补一个,都标出它对应两本书的哪一节,以及它在 KV 账单上省掉了多少字节。

全篇围绕技术报告的一句话展开:KV Cache 的成本是三个因子的乘积,而 V4.1 Flash 把三个因子各自压了一次。

三把旋钮

后面每一章只回答一个问题:这三个因子里的哪一个被动了,动了多少。

KV 字节 = 条目 x 条数 x 层数

条目 <- 1 章  GQA / MLA
        4.4 节 FP4
条数 <- 2 章  窗口 / 稀疏
        4.2 节 压缩比 m
层数 <- 3 章  CED
        4.3 节 跨层复用

写成公式就是报告里那行(第 1 章会把它逐项对上字节):

\[ \text{KV 总成本} =\underbrace{d_{\text{entry}}}_{\text{条目}} \times\underbrace{\frac{N}{m}}_{\text{条数}} \times\underbrace{L_{\text{eff}}}_{\text{层数}} . \]
结论

三个因子是乘法关系,所以任一项减半,总账单就减半;V4.1 Flash 的 890 B/token 是三项同时动手的结果,不是某一项特别神奇。

怎么读

章节

符号约定

符号含义V4.1 Flash 的取值
\(L\)主干层数40(20 Encoder + 20 Decoder)
\(E,\ D\)Encoder / Decoder 各自的层数各 20
\(d\)主干隐维 hidden dim5120
\(d_c\)KV 潜在向量维数(即 head_dim)512
\(H\)Q 头数(KV 只有一个共享潜在)64
\(W\)滑动窗口宽度128
\(K\)稀疏检索选中的条目数 idx_topk512
\(m\)序列压缩比Encoder 2 / Decoder 1
\(N\)上下文长度(token)最长约 1M
\(S\)每 token 的全局 KV 字节890 B

数学惯例下标从 1 开始,而报告与代码里的 layer_idx 从 0 开始。本篇正文一律用 1-based 层号 \(l\in\{1,\dots,40\}\)(第 1–20 层是 Encoder,第 21–40 层是 Decoder);介绍来源层时同时给出 0-based 下标,例如 layer_idx = 2, 8, 14, 20 就是第 3、9、15、21 层。