内容提要
DeepSeek-V4.1-Flash主干552B参数、40层,另有196B Engram表。核心是压缩KV cache:全局KV降至890字节/token,约为V4-Flash的四分之一,磁盘缓存仅八分之一。前20层为encoder,后20层为decoder,decoder全局KV由第20层投影共享。prefill每token激活8B、只算20层,decode为16B。引入CSA2共享池、Single-Pass mHC、Engram、DSpark与视觉通路。
延伸解读
KV cache 压缩:从显存到磁盘的连锁收益
文章指出 V4.1-Flash 将每 token 全局 KV 从 3514 字节压到 890 字节,约为四分之一;磁盘上的 persistent KV 因只存全局 KV 且滑窗 KV 不再落盘,进一步降至八分之一。这意味着长上下文场景下,单机可服务的并发会话数可能提升,前缀缓存命中率对存储的占用也显著降低。但需注意,890 字节仅指全局 KV,每层滑窗 KV 仍固定占用约 2.7 MB,与上下文长度无关。
prefill 只算一半层:激活参数下降的代价与条件
由于 decoder 全局 KV 全部由第 20 层投影共享,prompt token 只需计算前 20 层,prefill 每 token 激活参数从 V4-Flash 的 13B 降至 8B。但文章也说明,为补全 decoder 每层的滑窗 KV,最后 128 个 token 仍需过 decoder,且严格重建需回放约 2560 个 token,V4.1 只回放 128 个并接受近似。因此,prefill 计算量减半的收益在 prompt 长度远大于 128 时成立,短 prompt 下相对节省有限。
CSA2 共享池:四种层模式如何分工
40 层主干中,只有第 2、8、14、20 层为 Full 模式,自行生成全局 KV 并写入共享池;第 24、28、32、36 层为 Reindex 模式,复用 KV 但用自己的 indexer query 在候选池内重选 top-512;其余 30 层为 Reuse 模式,直接读取共享的 KV 和索引。这种设计将全局 KV 的生成次数从 V4 的每层一次压缩到 4 次,是显存和磁盘占用下降的结构性原因。
参数与激活的分离:总参翻倍,prefill 激活反降
V4.1-Flash 主干参数 552B,另有 Engram 表 196B,总参数接近 V4-Flash 的两倍;但 prefill 每 token 激活参数从 13B 降至 8B,decode 为 16B。文章解释,prefill 只过 20 层且不算 LM head,而 decode 需过全部 40 层并计算 logits。这种分离意味着模型容量大幅增加,但 prefill 阶段的计算开销反而降低,有利于 agent 场景下长输入的处理。
Q&A
DeepSeek-V4.1-Flash 的模型结构是怎样的?
主干 552B 参数,40 层,上下文 1M,能读图像。另有 196B 参数放在两张 Engram 查找表里。前 20 层为 encoder,后 20 层为 decoder。decoder 的全局 KV 全部由 encoder 的最终输出投影得到。
DeepSeek-V4.1-Flash 的 KV cache 压缩效果如何?
每 token 的全局 KV cache 压到 890 字节,约为 V4-Flash 的四分之一;磁盘上的 persistent KV cache 约为八分之一。1M 上下文时全局 KV 仅 0.87 GiB。
DeepSeek-V4.1-Flash 的 prefill 和 decode 激活参数量分别是多少?为什么不同?
prefill 时每 token 激活 8B,decode 时 16B。因为 prompt 里的 token 只需要算前 20 层,而 decode 要过全部 40 层。
DeepSeek-V4.1-Flash 的 40 层具体如何排布?
第 0-19 层为 encoder,第 20-39 层为 decoder。第 0、1 层纯滑窗;第 2、8、14、20 层为 Full 模式;第 24、28、32、36 层为 Reindex 模式;其余为 Reuse 模式。另有 3 层 DSpark 草稿层。
DeepSeek-V4.1-Flash 相比 V4-Flash 有哪些主要改进?
主干参数从 284B 增至 552B,另有 Engram 196B;层数从 43 减至 40;全局 KV 从 3514 B/token 降至 890 B/token;prefill 激活参数从 13B 降至 8B;引入 CSA2 共享池、Single-Pass mHC、Engram、DSpark 和视觉通路。
DeepSeek-V4.1-Flash 的 890 字节全局 KV 是怎么算出来的?
一条 main KV 为 512 个 4 bit 数加 32 字节 scale,共 288 字节;一条 indexer K 为 128 个 4 bit 数加 4 字节 scale,共 68 字节。每 token 摊到 2.5 条(encoder 1.5 条 + decoder 1 条),合计 356×2.5=890 字节。