69 + 24 的混合堆叠

为什么 K3 不把 93 层全换成线性注意力——线性层与 softmax 层各自补什么,Gated MLA 在其中的角色,以及混合比例这个旋钮怎么拧。

作者 David更新于 5 篇(共 13 篇)

69 + 24 的混合堆叠

上一章末尾留了个问题:既然 KDA 又省缓存又快,为什么不把 93 层全用它?

这一章回答它。答案很朴素:因为线性注意力做不到精确回看,而精确回看是不能丢的能力。

两种层,两种记忆

把 K3 的 93 层拆成三类:

类型层数记忆形态缓存开销
KDA69固定大小的矩阵状态与序列长度无关
Gated MLA24完整 KV 缓存(经 MLA 低秩压缩)随长度线性增长
dense1————

两种记忆的分工,用一个类比说最清楚:

  • KDA 像是「读完一章后写的笔记」——高度压缩、抓住要点、随时可查,但你没法用它复述原文的第 37 行写了什么。
  • softmax 注意力像是「原书本身」——想查哪一行就翻到哪一行,代价是你得一直背着这本书。

一个只有笔记的模型,会在「把上下文里那段配置原样复制出来」这类任务上翻车;一个只有原书的模型,背不动 100 万字。K3 的选择是:大部分层做笔记,少数层背原书。

为什么是 Gated MLA 而不是普通注意力

那 24 层若用朴素 MHA,KV 缓存会立刻把前面省下的额度吃回去。所以 K3 在这些层上叠了两重优化:

  • MLA(Multi-head Latent Attention)——DeepSeek-V2 引入的做法:把 K 和 V 压进一个低秩的潜向量再缓存,用时再解开。这是「出路二」里压缩率最高的一类。
  • 门控(Gated)——在注意力输出上加一道可学习的门,调节这一层实际往主干里注入多少信息。

组合起来的效果是:保留精确检索能力,同时把这条路上的缓存开销压到最低

混合比例怎么定

69:24 约等于 2.9 : 1,也就是「大约每 3 层 KDA 配 1 层 MLA」。

这个数字不是 K3 拍出来的——它继承自 Kimi Linear 论文的实验结论。那篇论文用 3:1 的 KDA:MLA 混合,得到「KV 缓存降约 75%、1M 上下文解码吞吐最高约 6 倍」的结果。K3 基本沿用了这个配比,只是层数放大到 93。

3:1 的直观解释:设混合前所有层都缓存 KV,混合后只有 1/4 的层还在缓存,缓存量自然降到约 1/4——这正是「降低约 75%」的来源。这个数字如此干净,说明收益的主要来源就是「有多少层不再缓存」,而不是什么复杂的二阶效应。

排布位置也是个变量

比例定了,还有一个问题:这 24 层 softmax 该放在哪?均匀插空,还是集中在某一段?

技术报告与模型卡对 K3 的具体排布没有给出逐层清单,本专栏不做推测。可以确定的是,这属于同一族设计里的一个真实旋钮——同期的 DeepSeek V4 就在论文里写明了自己的排法:前两层之后,两种压缩注意力一层隔一层交替(详见那个专栏),说明「放哪里、怎么排」是各家要明确设计的一环。

这是本专栏里少数几处「资料到此为止」的地方。逐层排布可以从公开权重的配置文件里读出来,但那属于独立复现的范畴,不是转述官方材料。等有第三方把这份逐层结构整理出来并交叉验证,本页会补上。

小结

  • 93 层 = 69 KDA(固定状态,不占缓存)+ 24 Gated MLA(精确检索,缓存已被 MLA 压过)+ 1 dense。
  • 混合的理由是能力互补:线性层管「概要」,softmax 层管「原文」。
  • 约 3:1 的比例直接对应「缓存降到约 1/4」。

注意力这条线还差最后一块:K3 在层与层之间还加了一条旁路。👉 Attention Residuals

参考文献

  • [1] Moonshot AI. “Kimi Linear: An Expressive, Efficient Attention Architecture.” 2025. arXiv:2510.26692. —— 3:1 混合比例与 75% / 6× 的实验数据。
  • [2] Hugging Face 模型卡:moonshotai/Kimi-K3 —— 69 + 24 + 1 的层数构成。
  • [3] DeepSeek-AI. “DeepSeek-V2.” 2024. arXiv:2405.04434. —— MLA 的原始出处。

本页目录