Kimi K3论文:Kimi Linear
Kimi Linear 是 Kimi 团队(Moonshot AI)公开的一篇注意力架构技术报告。它想回答一个老问题:线性注意力号称能把注意力的时间复杂度从 降到 、把不断增长的 KV cache 压成一个固定大小的状态,可它长期在语言建模上打不过标准的 softmax attention,哪怕在短序列上也是。这篇工作提出的 Kimi Delta Attention(KDA,Kimi 增量注意力)配上一个 3:1 的混合结构,第一次在公平对比下,于短上下文、长上下文和强化学习(RL)三种场景里全面追平甚至超过 full attention,同时把 100 万 token 上下文的解码吞吐做到约 6 倍、KV cache 省掉约 75%。
一句话概括:把 Gated DeltaNet 里「每个头共用一个标量遗忘门」换成「每个通道一个独立遗忘门」,再为这种细粒度门设计一套硬件高效的分块并行算法,最后用 3 层 KDA 配 1 层全注意力,堆成一个 48B 总参数、3B 激活参数的 MoE 模型。
这也是关于 Kimi 新一代架构的两篇技术报告里的第一篇。第二篇《Attention Residuals》改的是残差连接,直接建立在本文的 Kimi Linear 之上(那篇的实验模型就是「Kimi Linear 48B + AttnRes」)。KDA 是理解这两篇的地基,所以先读这篇。
1. 背景:线性注意力为什么一直打不过 softmax
标准 self-attention 有两个众所周知的代价:注意力矩阵是 的,KV cache 随序列长度线性增长。当模型越来越多地被当成 agent 用、要处理很长的轨迹、工具调用记录,尤其是 RL 阶段在推理时要生成很长的序列时,这两个代价直接卡住吞吐、上下文长度和实时性。
线性注意力(linear attention)给了一条原理上很干净的出路。它把 softmax 换成一个正的特征映射 ,于是
括号从「先算 」挪到「先算 」, 的显式相似度矩阵就消失了,计算对序列长度变成线性,推理时只需要维护一个固定大小的矩阵状态,不再有随长度增长的 KV cache。代价是表达力:把整段历史压进一个固定大小的状态,就注定在「精确复制」「大海捞针式检索」这类任务上吃亏。
过去几年把线性注意力往上拉的两条主线是 门控 / 衰减(gating / decay)和 delta rule(增量更新规则)。它们把线性注意力在中等长度序列上推到了接近 softmax 的水平,但纯线性结构受限于有限状态容量这件事没有变,长序列建模和上下文检索在理论上就困难。于是混合架构(hybrid)成了务实的折中:大部分层用便宜的线性注意力,少数几层保留全注意力来兜住全局信息流。Kimi Linear 走的就是这条路,但把线性那部分换成了更强的 KDA,并且做了大规模、对齐条件的公平评测。
2. 从线性注意力到 gated delta rule
要讲清楚 KDA 改了什么,得先把它的三个前身摆到一起看。它们都可以写成「维护一个矩阵状态 、每步更新、再用 query 读出」的循环形式,区别只在状态怎么更新。一个很有用的视角是把这个状态看成一块快权重(fast weight)联想记忆:它在线地存 key→value 的映射,而每一步更新相当于对某个目标做一步梯度下降。
线性注意力最朴素:
它等价于对目标 做梯度上升,也就是不停地强化最近的 key–value 对,从不遗忘。问题也在这:没有任何删除旧记忆的机制,状态无界增长,长上下文里互相干扰。
DeltaNet 换了个目标。它把每步更新看成对一个重建损失做在线梯度下降:
以学习率 走一步,得到经典的 delta rule:
直观上,它不是盲目累加,而是先看当前 key 在旧状态里已经存了什么、和真实 value 差多少,再朝着 去修正。这个 rank-1 的更新等价于一个广义 Householder 变换,能做硬件友好的分块并行。
Gated DeltaNet(GDN) 再加一个标量遗忘门 :
这个 相当于对快权重做 weight decay,给记忆一个「寿命」,缓解长上下文里的干扰。它和 Mamba2 一样,用的是每个头一个标量的粗粒度衰减。
3. KDA:把标量遗忘门换成通道级遗忘门
KDA 的核心改动就一句话:把 GDN 那个作用在整个头上的标量遗忘门 ,换成一个每维独立的对角门 。 更新规则变成
区别看起来很小,含义却不小。GDN 的标量 只能决定「这一步整体记多少、忘多少」;KDA 的 让状态的每一个特征维度都有自己的遗忘速率,可以精细地「留住这几维、冲掉那几维」。这种细粒度做法和 Gated Linear Attention(GLA)的对角门是一脉的,只是 KDA 把它嵌进了 delta rule。有限状态的容量就那么大,能否更精确地决定往里写什么、擦掉什么,直接决定了这块记忆好不好用。
论文在几个合成任务上验证了这件事:在 palindrome(倒序复述)、MQAR(多查询联想召回)和 stack(状态跟踪)上,KDA 的准确率随序列变长始终高于 GDN,且收敛更快;而只有乘性衰减、没有 delta rule 的 Mamba2 在这套设置下几乎全挂。这说明「细粒度衰减 + delta rule」两者叠加才是关键。
神经参数化。 每个头的输入是这样算出来的():
几个值得记的点: 过一个短卷积(ShortConv)抓局部依赖,再做 L2 归一化保证特征值稳定;通道级衰减 用一个低秩投影(rank 等于头维度)加一个衰减函数 参数化,成本可控;输出前还有一个 head-wise RMSNorm 和一个数据相关的 sigmoid 输出门,用来缓解 attention sink。消融显示 sigmoid 输出门明显优于 swish 门,短卷积也确有贡献。
4. 高效的分块并行算法与它和 DPLR 的关系
细粒度门虽好,但很容易把算子拖慢,KDA 有一半的功夫花在「怎么让它跑得快」。
它其实是 DPLR 的一个受限特例。 一般的 gated delta rule 可以推广成对角加低秩(Diagonal-Plus-Low-Rank,DPLR)的转移矩阵 。DPLR 表达力更强,但计算贵、并行差。KDA 把公式 (1) 改写成
对应到 DPLR 就是令 ——关键在于 、 都被绑定到同一个 上。一般 DPLR 里 、 是相互独立的,这一步绑定让 KDA 避开了 DPLR 最贵的那部分计算,同时保持和经典 delta rule 一致。
分块并行。 KDA 把序列切成长度 的块,块内用矩阵乘法并行、块间用递归传状态。它借用 WY 表示把一连串 rank-1 更新压成一个紧凑矩阵,再用 UT 变换减少非矩阵乘法的 FLOPs(这些操作对张量核不友好)。相比一般 DPLR,KDA 把二级分块的矩阵计算从 4 次减到 2 次,还省掉了大约 3 次矩阵乘法;一般 DPLR 为了处理累积衰减的倒数带来的数值不稳定,要在全精度下做二级分块,而 KDA 靠 的绑定直接绕开了这个瓶颈。最终 KDA 算子的速度比 DPLR 快了约一倍。
成本。 训练时单头的 FLOPs 约为 ,对序列长度线性;而全注意力单头是 ,是平方的。推理时 KDA 维护固定大小 的状态,与序列长度无关,prefill 用 FLOPs 密集的分块核、解码切到更省的递归核。
5. Kimi Linear 架构:3:1 混合 + NoPE
纯线性注意力在极端长上下文的精确检索上仍然不够,所以 Kimi Linear 是个混合模型:每 3 层 KDA 配 1 层全注意力,全注意力用的是 MLA(Multi-Head Latent Attention,多头潜在注意力)。选择「按层混合」(整层要么 KDA 要么 MLA)而不是「按头混合」,是因为前者对训练基础设施更简单、更稳定。消融里 3:1 是训练和验证困惑度最优的比例:比它更稀疏(如 7:1)验证集变差,更密(如 1:1)推理开销上升,纯全注意力(0:1)反而最差。这个 3:1 结构让长序列生成时的 KV cache 最多省掉约 75%,同时靠那 1/4 的全注意力层维持全局信息流。
骨干沿用 Moonlight 的 MoE 设计:48B 总参数、3B 激活参数,每次从 256 个路由专家里激活 8 个再加 1 个共享专家,首层用稠密层保证训练稳定。
NoPE:把位置信息全交给 KDA。 Kimi Linear 的所有全注意力(MLA)层都不加位置编码(No Position Encoding,NoPE),位置信息和近因偏置完全由 KDA 层承担。这样做有两个实际好处:不带位置编码的 MLA 在推理时可以退化成高效的 MQA;长上下文训练也省去了调 RoPE 频率、YaRN 外推那一套。当然前提是 KDA 本身要能编码位置——下一节说明它为什么能。
6. 为什么 NoPE 行得通:KDA 相当于可学习的位置编码
RoPE 之所以有效,是因为它把「第 个 query 和第 个 key 的相对位置」编码成一串旋转矩阵的累乘。论文指出,gated delta rule 可以写成一个形式上很像的表达式:
中间那串转移矩阵 的累乘,扮演的正是 RoPE 里旋转矩阵累乘的角色。区别是 RoPE 的旋转是固定的、正交的,而 KDA 的转移矩阵是数据相关、可学习的,放松了 RoPE 的正交约束,因此原则上更强,也更不容易像 RoPE 那样因固定频率而在训练没见过的长度上过拟合。更进一步,RoPE 的一大优点是给不同维度分配不同旋转频率、做到细粒度的位置刻画;标准 GDN 只有每头一个标量衰减,缺这种逐维度的多样性——这恰恰是 KDA 引入通道级门的另一个动机。换句话说,把标量门换成通道级门,不只是让记忆更精细,也让 KDA 更像一个逐维度、可学习的位置编码器,从而能替 MLA 扛起编码位置的责任。
7. 效果
论文的主要卖点是公平对比:Kimi Linear、全注意力 MLA、以及混合 GDN(GDN-H)三者共享同样的架构规模、参数量和训练配方,都在 1.4T token 上训练。
- 短上下文预训练与 SFT。 Kimi Linear 在几乎所有类别上都领先,排序稳定为 Kimi Linear > GDN-H > MLA。例如预训练后 MMLU-Pro 达到 51.0(MLA 47.2、GDN-H 47.9),SFT 后 GPQA-Diamond 达到 62.1(MLA 57.1)。
- 长上下文。 在 128k 的一组长上下文 benchmark 上,Kimi Linear 平均分最高(54.5),RULER 达到 84.3、RepoQA 68.5,都明显领先。有意思的是,长上下文里 GDN-H 反而掉到 MLA 之后,而 Kimi Linear 始终居首。
- RL。 用同样的数学 RL 训练,Kimi Linear 的训练/测试准确率增长都比 MLA 快、差距还越拉越大,说明它在推理密集的长文本生成上更吃得开 RL。
- scaling law。 在计算最优训练下,Kimi Linear 相比 MLA 有约 1.16 倍的计算效率优势。
- 效率。 相比全注意力 MLA,Kimi Linear 在 512k 序列上 prefill 快约 2.3 倍、1M 上快约 2.9 倍;解码阶段 1M 上下文下每 token 时间(TPOT)约 6 倍于 MLA,KV cache 省约 75%——省下来的显存还能换成更大的 batch,进一步抬高吞吐。
上面这些数字来自论文的 Table 3–5 和图 1、图 7。涉及密集表格里的具体分数,建议对着原文再核一遍。
8. 局限与讨论
- 它没有抛弃全注意力,而是留了 1/4。 纯线性注意力在精确复制和极端长上下文检索上仍有短板,Kimi Linear 靠 3:1 的混合把这块补上,本质上是「压缩即智能」的线性路线和「保留全 KV」的全注意力路线之间的折中。
- 线性 vs 稀疏注意力。 论文把稀疏注意力当作另一条效率路线来对比:稀疏注意力细粒度检索更强,但要保留整份 KV cache 来做 token 选择,理论表达力上限仍是全注意力;线性注意力靠固定状态泛化,配上 delta rule 能有更强的理论表达力。两者不互斥,未来可以结合。
- 对基础设施有要求。 细粒度门和 delta rule 让算子更复杂,需要专门的 kernel 才能跑出理论速度;好在论文开源了 KDA kernel 和 vLLM 集成,且接口和现有全注意力管线兼容。
- 混合模型对位置编码敏感。 已有工作发现混合模型对 RoPE base 频率的调整很敏感,会影响长度外推;Kimi Linear 用 NoPE + KDA 承担位置信息的方式绕开了这个坑。
总的来说,KDA 把「细粒度门控」和「delta rule」这两条线拧到了一起,再用一套受限 DPLR 的分块算法让它跑得动,最后靠 3:1 混合和 NoPE 在公平对比下证明了线性注意力可以是 full attention 的直接替代品。要理解建立在它之上的《Attention Residuals》,这篇是必读的前置。
参考
- Kimi Team. Kimi Linear: An Expressive, Efficient Attention Architecture. Technical Report, 2025. arXiv:2510.26692
- Yang et al. Gated Delta Networks: Improving Mamba2 with Delta Rule. ICLR 2025. arXiv:2412.06464
- Yang et al. Gated Linear Attention Transformers with Hardware-Efficient Training. ICML 2024. arXiv:2312.06635
- Schlag et al. Linear Transformers Are Secretly Fast Weight Programmers. ICML 2021. arXiv:2102.11174
- Dao & Gu. Transformers are SSMs (Mamba2). 2024. arXiv:2405.21060