DeepSeek V4 结构速览
本文最后更新于 2026年8月16日
本文是对 DeepSeek V4 结构的粗略笔记。
要解决的问题
长上下文推理有两个主要瓶颈:
- KV cache 显存随长度线性增长。MLA 虽然比 MHA/MQA 省得多,但到 1M 长度依然扛不住。
- attention 计算量。即使有 DSA(DeepSeek Sparse Attention,V3.2 引入),长上下文下的计算仍然是大头。
核心设计
V4 的 attention 由3个组件组合而成:
- 跨 token 压缩 KV cache(省 4x ~ 128x):
- c4a:约 4 倍压缩。一个压缩 token 是 8 个原始 token 的加权和,步长 4(相邻压缩 token 之间有重叠)。
- c128a:约 128 倍压缩。一个压缩 token 是 128 个原始 token 的加权和,步长 128(不重叠)。
- DSA 稀疏注意力(把计算量卡住):c4a 压缩后 1M 上下文仍有 250k 条压缩 token,所以用 lightning indexer 选出 top-k(k=512,Pro 为 1024)条来算注意力。c128a 压缩后 1M 上下文最多只有 8192 条,直接对全部条目做 full attention 即可(等价于 top-k=8192)。
- 128 的短滑窗(保住局部性):作用在未压缩的 token 上。特别是 c128a 下,query 在压缩边界之前可能一条压缩 token 都看不了(causality),滑窗保证它至少能看到本地信息。
CSA(c4a 路线)
CSA 层的完整算子图如下。输入 hidden 为
C4A Compressor
compressor 的结构:当前块和上一块各自做投影(
Lightning Indexer
沿用 V3.2 DSA 的 lightning indexer,QK 通路全程 FP4:query 侧从
HCA(c128a 路线)
HCA 层没有 indexer:压缩比 128 使得 1M 上下文也只有至多 8192
条压缩条目,直接对”滑窗 128 条 + 全部压缩条目”做稠密注意力(MQA
形式,K=V,含 attention sink)。其余结构(潜向量维度、64 头、逐头
RMSNorm、Inverse RoPE)与 CSA 一致,RoPE 锚点位置为
KV cache 账
- DeepSeek V3.2 风格的 KV cache:每层每 token 存 MLA latent
B + indexer B = 1408 B,61 层共约 83.9 GiB / 序列 - DeepSeek V4-Pro:每层 CSA 存压缩 KV
条 + indexer 条 = 320 MiB,每层 HCA 只存 条 = 8 MiB,共约 9.62 GiB / 序列,省了约 8.7x
主要参考 vLLM 的博客 DeepSeek V4 in vLLM: Efficient Long-context Attention、DeepSeek V4 技术报告和https://zhuanlan.zhihu.com/p/2036707452293535593