前代 · CSA 与 HCA 怎么排
前代 V4 的两种压缩注意力其实是一层隔一层交替排的:V4-Flash 为 21 层 CSA 对 20 层 HCA,V4-Pro 为 30 对 31。本篇按论文与 config 更正初版的“3:1 与 4:1”,并和 K3、V4.1 的排法对照。
本篇描述的是前代 DeepSeek V4-Flash / V4-Pro 的设计。 V4.1-Flash 已不再混用两种注意力,改为纯 CSA2 加跨层共享。
更正:本篇初版题为《3:1 与 4:1》,依据一篇第三方拆解写成“V4-Pro 的 CSA:HCA 约 3:1、V4-Flash 约 4:1,HCA 集中在网络后 2/3”,并由此推论“小模型更依赖不被压坏的细节”。V4 论文与两个模型的 config.json 都显示并非如此 [1][2][3],初版的比例与推论一并撤回,本篇按一手资料重写。
实际的排布
V4 论文第 4.2.1 节的原话是:前两层之后,“CSA 与 HCA 以交替的方式使用”[1]。config.json 里的 compress_ratios 逐层列出了压缩率(4 为 CSA,128 为 HCA,0 为只有滑动窗口),数一下就是 [2][3]:
V4-Flash(43 层,层号从 0 数)
| 层 | 注意力 | 层数 |
|---|---|---|
| 0–1 | 只有滑动窗口 | 2 |
| 2、4、6……42 | CSA | 21 |
| 3、5、7……41 | HCA | 20 |
V4-Pro(61 层)
| 层 | 注意力 | 层数 |
|---|---|---|
| 0–1 | HCA | 2 |
| 2、4、6……60 | CSA | 30 |
| 3、5、7……59 | HCA | 29 |
合起来,V4-Flash 是 21 层 CSA 对 20 层 HCA,V4-Pro 是 30 层 CSA 对 31 层 HCA——都接近 1:1,而且从头到尾一层隔一层,不存在“HCA 集中在后段”的分布。两个模型唯一的结构差别在开头:Flash 以两层纯滑动窗口起步,Pro 以两层 HCA 起步 [1]。论文没有解释这个差别,也没有公开“交替”与其他排法的对比实验,本专栏不做推测。
初版为什么会错:数字来自二手拆解,而逐层排布本来就写在公开的 config.json 里,一查便知。K3 专栏在同一个问题上说过“逐层排布可以从公开权重的配置文件里读出来”——这一条对 DeepSeek 同样适用,只是初版没有照做。教训:能在权重配置里核对的结构数字,不要引用二手整理。
交替意味着什么
交替排布的直接含义是:在每一个深度上,细粒度的稀疏检索(CSA)和粗粒度的全局覆盖(HCA)都相邻出现。网络不是“浅层看细节、深层看全局”地分工,而是每隔一层就在两种视野之间切换一次。
这让前两篇讲的“互补的失败模式”在结构上落得很实:CSA 可能漏看的东西,下一层的 HCA 至少以模糊的形式看得到;HCA 抹平的细节,相邻的 CSA 有机会补回来。至于这种排法相对别的排法到底好多少,论文没有给数字。
和 K3、V4.1 对照
| Kimi K3 | V4-Flash | V4.1-Flash | |
|---|---|---|---|
| 混的是什么 | 线性注意力(KDA)+ softmax(Gated MLA) | 两种压缩率不同的 softmax(CSA、HCA) | 只有一种(CSA2),编码器压 2 倍、解码器不压 |
| 数量 | 69 : 24 | 21 : 20 | 38 层 CSA2(另有 2 层纯滑动窗口) |
| 排法 | 技术报告与模型卡未给逐层清单 | 逐层交替 | 分组:每组第一层产生或重选,其余层复用 |
| 差在哪 | 记忆机制不同 | 压缩粒度不同 | 不再混合,改为跨层共享 |
K3 的数据见 K3 专栏 [4],V4.1 的逐层安排见其报告第 4.2.1 节 [5]。这张表把三种思路摆得很清楚:
- K3 混的是两种不同的记忆机制:线性注意力从根上改掉缓存的增长阶,风险是表达力上限,要靠 softmax 层兜底。
- V4 混的是同一机制的两个压缩档位:不动 softmax 的本质,只在“喂给它多长的序列”上做文章。
- V4.1 干脆不混了:只留一个温和的压缩档位,把省缓存的主要手段换成“少数层产生、多数层共享”,再把缓存存成 FP4。
比例为什么是个真旋钮
这一节初版的结论仍然成立:这类配置不是随便定的,各家能公开的通常只是最终方案,中间的消融实验是核心资产。看到一个干净的配置时,要意识到它背后是一整张实验表。
只是这一次,“干净的数字”本身先要核对。V4 的真实配置是交替的 1:1;V4.1 则说明,这个旋钮在下一代可能被整个换掉——从“两种注意力各占多少”,变成“多少层自己存缓存”。
下一篇是前代档案的最后一篇:V4-Flash 那次重做后训练的正式版。👉 前代 · 0731:V4-Flash 正式版
参考文献
- [1] DeepSeek-AI. “DeepSeek-V4: Towards Highly Efficient Million-Token Context Intelligence.” 2026-04. arXiv:2606.19348 —— 第 2.3 节(交替的混合配置)、第 4.2.1 节(V4-Flash 前两层纯滑动窗口、V4-Pro 前两层 HCA,之后交替)。
- [2] Hugging Face:deepseek-ai/DeepSeek-V4-Flash 的 config.json ——
compress_ratios逐层取值。 - [3] Hugging Face:deepseek-ai/DeepSeek-V4-Pro 的 config.json ——
compress_ratios逐层取值。 - [4] Kimi Team. “Kimi Linear: An Expressive, Efficient Attention Architecture.” 2025-10. arXiv:2510.26692 —— 对照组 K3 所用的线性注意力混合路线。
- [5] DeepSeek-AI. “DeepSeek-V4.1-Flash: Pushing the Limits of KV Cache Compression.” 2026-09. arXiv:2609.19969 —— V4.1 的逐层模式安排,作对照。