内容提要
DeepSeek注意力结构历经六轮迭代:MHA为基线,GQA减少KV头数,MLA将KV低秩压缩至576维latent,DSA用indexer选top-2048条以节省算力,CSA每4个token压缩并做块级检索,HCA压缩率达128且免检索,CSA2跨层共享KV并降至FP4。核心是逐代削减KV cache或注意力计算量,KV cache从V1的480KiB降至V4.1的890B。
延伸解读
KV cache 的五个旋钮:理解迭代的关键
文章将注意力开销归结为五个可调量:KV 头数、条目维度、存的条目数、看的条目数、层数与精度。MHA 到 CSA2 的每一代都针对其中一个或几个量进行削减。例如 GQA 砍头数,MLA 砍条目维度,DSA 砍看的条目数,CSA/HCA 砍存的条目数,CSA2 则首次砍层数并降低精度。理解这五个旋钮,就能把握七代结构演进的逻辑主线。
省显存与省算力:MLA 和 DSA 的分工
文章特别澄清了两个常见误解:MLA 省的是显存和 decode 访存,并不省 FLOPs,其 absorb 路径下内积维数反而从 192 涨到 576;DSA 省的是注意力计算量,核心注意力从 82 GFLOP/token 降至 168 MFLOP,但 KV cache 一字节没省,还多了 indexer 的 128 B FP8 键。两者互补,分别解决“存”和“算”的问题。
CSA2 的架构级改动:跨层共享与 CED
CSA2 并非 CSA 的小改版,它动了层间共享、CED 和存储精度三个维度。40 层主干中只有 4 层 Full、4 层 Reindex,其余 30 层 Reuse,直接复用共享的 compress_kv 和 topk_idxs。配合 CED,decoder 的全局 KV 由 encoder 末态投影,prefill 只需跑前半段。这些改动使每 token 全局 KV 降至 890 B,是 V1 的 1/437。
从注意力到检索系统:趋势与代价
文章指出,注意力层的演化方向是从内部省(头数、维度)到序列上省(看的、存的条目数),再到跨层共享、编码器/解码器分工和按 bit 抠存储。代价是结构越来越像带索引、缓存层级和精度分级的检索系统,而非单纯的矩阵乘法。CSA 的 K=V 单头 MQA、HCA 的低分辨率粗读等设计,都体现了这种权衡。
Q&A
DeepSeek 的注意力结构从 V1 到 V4.1 经历了哪几代?
经历了六轮迭代:MHA → GQA → MLA → DSA → CSA / HCA → CSA2。MHA 是基线,GQA 减少 KV 头数,MLA 将 KV 低秩压缩至 576 维 latent,DSA 用 indexer 选 top-2048 条以节省算力,CSA 每 4 个 token 压缩并做块级检索,HCA 压缩率达 128 且免检索,CSA2 跨层共享 KV 并降至 FP4。
MLA 注意力相比 GQA 主要节省了什么?
MLA 将 K、V 联合压缩成一个低秩 latent(512 维),并额外缓存 64 维共享 RoPE key,每 token 每层只缓存 576 个数。相比 GQA 按组存完整 K/V,MLA 大幅降低了 KV cache 大小,但计算量并未减少(甚至可能增加)。
DSA 注意力是如何减少计算量的?
DSA 使用 lightning indexer 为每个 query 从全部缓存中选出 top-2048 个最重要的 token,主注意力只对这 2048 条计算,从而将核心注意力 FLOPs 从 82 GFLOP/token 降至约 168 MFLOP(约 1/488)。但 KV cache 大小不变,仍为每 token 每层 576 维。
CSA 和 HCA 在压缩策略上有什么不同?
CSA 每 4 个 token 压缩成一条 512 维条目,并使用块级 indexer 选 top-1024 个块进行检索;HCA 每 128 个 token 压缩成一条,压缩率更高,因此无需 indexer,直接看全部压缩条目。两者在 V4 中按层交错使用,CSA 精读稀疏检索,HCA 粗读全看。
CSA2 在 V4.1-Flash 中引入了哪些新优化?
CSA2 主要做了三件事:跨层共享 KV 和索引(Full、Reindex、Reuse 三种模式),将每 token 全局 KV cache 降至 890 B;使用 CED(Causal Encoder-Decoder)让 decoder 的全局 KV 从 encoder 末态投影,减少 prefill 计算;并将存储精度从 FP8 压缩到 FP4。
DeepSeek 各代模型的 KV cache 大小变化趋势如何?
KV cache 逐代大幅下降:V1-7B(MHA)为 480 KiB/token,V1-67B(GQA)为 380 KiB/token,V3(MLA)为 68.6 KiB/token,V4-Pro(CSA/HCA)约 5.4 KiB/token,V4.1-Flash(CSA2)仅 890 B/token,相比 V1 降低了约 437 倍。