Kimi Linear 是首个在短/长/RL 三大场景全面超越 full attention 的混合线性注意力架构。核心模块 KDA 将 channel-wise 细粒度遗忘门与 delta rule 结合,配合 3:1 KDA-to-MLA 混合结构实现 75% KV cache 节约与 6.3× 解码加速(1M context)。48B 总参 / 3B 激活的 MoE 模型在 1.4T tokens 训练下全面超过纯 MLA baseline。
Softmax attention 在 agent / RL test-time scaling 场景下面临二次计算复杂度和线性增长 KV cache 的双重瓶颈。现有线性注意力(含 GDN)因有限状态容量在长上下文精确检索和表达力方面受限,而 scalar decay 过于粗粒度无法精确管理 RNN 记忆。
Kimi Delta Attention (KDA):在 Gated DeltaNet 的 scalar $\alpha_t$ 基础上引入 per-channel diagonal decay $\text{Diag}(\boldsymbol{\alpha}_t)$,使每个特征维度拥有独立遗忘率。核心递推:
$$S_t = (I - \beta_t k_t k_t^\top) \text{Diag}(\boldsymbol{\alpha}_t) S_{t-1} + \beta_t k_t v_t^\top$$
同时将 DPLR 低秩向量 $\mathbf{a} = \mathbf{b} = \sqrt{\beta} \cdot \mathbf{k}$ 绑定到 key,使 chunkwise 算法减少 4→2 二级分块矩阵运算 + 消除 3 次额外矩阵乘法,算子速度比通用 DPLR 提升 ~100%。
混合架构采用 layerwise 3:1 KDA-to-MLA 比例,MLA 层使用 NoPE(无显式位置编码),将位置信息完全委托给 KDA 的隐式数据依赖衰减。
核心技术壁垒:将 DPLR 低秩向量绑定到 $\mathbf{k}$($\mathbf{a}=\mathbf{b}=\sqrt{\beta}\mathbf{k}$)是 expressivity-efficiency Pareto 的关键——它保留了 fine-grained DPLR 的表达力,同时通过代数简化将 chunkwise kernel 的非 matmul FLOPs 减半,使 Tensor Core 利用率接近纯 matmul 操作。这个 constrained parameterization 是使 channel-wise gated delta rule 在实际硬件上可行的唯一已知路径。
| 指标 | Kimi Linear | MLA baseline | 提升 |
|---|---|---|---|
| MMLU-Pro | 51.0 | 47.2 | +3.8 |
| GPQA-Diamond | 62.1 | 57.1 | +5.0 |
| RULER (128K) | 84.3 | 81.3 | +3.0 |
| MRCR (128K) | 29.6 | 22.6 | +7.0 |
| TPOT @ 1M tokens | 1.84ms | 11.48ms | 6.3× |
| KV cache | 25% | 100% | 75% 节约 |
| Scaling law efficiency | — | — | 1.16× |

Paper's Figure 3, verbatim (caption: "Illustration of our Kimi Linear model architecture, which consists of a stack of blocks containing a token mixing layer followed by a MoE channel-mixing layer. Specifically, we interleave N KDA layers with one MLA layer for token mixing, where N is set to 3 in our implementation.").
该图展示了 Kimi Linear 的分层混合结构:每 3 个 KDA 层后接 1 个 MLA 层,所有层后接 MoE FFN(8/256 routed + 1 shared expert)。Layer 0 使用 dense FFN 保障训练稳定性。MLA 层采用 NoPE,位置编码完全由 KDA 层的 data-dependent diagonal decay 隐式提供。

Paper's Figure 1, verbatim (caption: "(a) Performance vs. acceleration. With strict fair comparisons with 1.4T training tokens, on MMLU-Pro (4k context length, red stars), Kimi Linear leads performance (51.0) at similar speed. On RULER (128k context length, blue circles), it is Pareto-optimal, achieving top performance (84.3) and 3.98× acceleration. (b) Time per output token (TPOT) vs. decoding length.").
Figure 1a 展示 Kimi Linear 在 MMLU-Pro 和 RULER 两个维度均为 Pareto 最优;1b 展示 TPOT 随序列长度增长中 KDA 的 O(1) per-token 特性 vs MLA 的 O(n) 增长。
modeling_kimi.py:KimiDeltaAttention) #modeling_kimi.py:KimiMLAAttention) #代码来源:https://huggingface.co/moonshotai/Kimi-Linear-48B-A3B-Instruct/blob/main/modeling_kimi.py
| 符号 | 含义 | 维度 |
|---|---|---|
| $S_t$ | 关联记忆状态 | $\mathbb{R}^{d_k \times d_v}$ |
| $\boldsymbol{\alpha}_t$ | Per-channel 遗忘门 | $[0,1]^{d_k}$ |
| $\beta_t$ | Scalar 学习率 | $[0,1]$ |
| $\mathbf{P}_{[t]}^r$ | Chunk 内累积状态转移矩阵 | $\mathbb{R}^{d_k \times d_k}$ |
| $\mathbf{H}_{[t]}^r$ | Chunk 内 KV 贡献累积 | $\mathbb{R}^{d_k \times d_v}$ |
| $\gamma_{[t]}^r$ | 累积衰减 $\prod_{k=1}^r \alpha_{[t]}^k$ | $\mathbb{R}^{d_k}$ |
| $\mathbf{w}_t, \mathbf{u}_t$ | WY 表示的辅助校正向量 | $\mathbb{R}^{d_k}, \mathbb{R}^{d_v}$ |
| # | 检查项 | 结果 |
|---|---|---|
| 1 | 维度一致性(Eq.1 $d_k \times d_v$ 输出验证) | ✓ $(I - \beta kk^\top)$ 是 $d_k \times d_k$,$\text{Diag}(\alpha)$ 是 $d_k \times d_k$,$S$ 是 $d_k \times d_v$,$kv^\top$ 是 $d_k \times d_v$ |
| 2 | Chunk 边界一致性($S_{[t+1]} = S_{[t]}^C$) | ✓ Eq.8 的输出作为下一 chunk 的初始状态 |
| 3 | WY 表示正确性(Eq.3 与 Eq.4-5 可逆性) | ✓ 论文引用 Comba [40] 证明,UT 变换通过前代消去法避免显式逆 |
| 4 | DPLR 特殊化(Eq.1 → 通用 DPLR with $a=b=\sqrt{\beta}k$) | ✓ §6.2 推导完整 |
| 5 | 数值稳定性(fine-grained decay 除法精度) | ✓ §3.2 讨论了 $K/\Gamma$ 的精度问题及 KDA 绑定如何缓解 |
| 6 | 参数量验证(3B activated / 48B total) | ✓ config.json: 256 experts × 3 × 2304×1024 + overhead ≈ 48B; 8 activated + shared ≈ 3B |
MLA: $L = 2.3092 \times C^{-0.0536}$; Kimi Linear: $L = 2.2879 \times C^{-0.0527}$。两者 exponent 接近 (-0.054 vs -0.053),但 KDA 的 prefactor 更低,表明相同 FLOPs 下 loss 更低。~1.16× compute efficiency 意味着 KDA 可用 86% 的计算达到相同 loss。论文坦言未对 KDA 单独调参,实际增益可能更大。
| 模块 | 每层参数 | 层数 | 小计 |
|---|---|---|---|
| KDA attention | ~39M | 20 | 780M |
| MLA attention | ~29M | 7 | 203M |
| MoE FFN (256 experts) | ~1.82B | 26 | 47.3B |
| Dense FFN (layer 0) | ~64M | 1 | 64M |
| Embedding + LM head | 377M × 2 | — | 754M |
| Total | ~49B | ||
| Activated | ~3.5B |
与论文声称的 48B total / 3B activated 基本一致(差异来自 LayerNorm、bias、gate 权重等小项)。

Paper's Figure 5, verbatim (caption: "The fitted scaling law curves for MLA and Kimi Linear.").
5 个模型尺度 (653M–1.7B activated) 在相同 FLOPs 下,Kimi Linear 的 loss 曲线始终低于 MLA。拟合显示 ~1.16× compute efficiency 优势。值得注意的是所有超参使用 MLA 的最优值,未针对 KDA 调优。

Paper's Figure 4, verbatim (caption: "Results on synthetic tasks: palindrome, multi query associative recall, and the state tracking.").
在 Palindrome(逆序复制)、MQAR(多查询关联回忆)、Stack(LIFO 栈模拟)三个任务上,KDA 在所有序列长度 (256–2048) 取得最高精度且收敛最快。Mamba2(仅乘性衰减无 delta rule)在所有任务完全失败——证明 delta rule 的自校正机制是精确检索的必要条件,而 fine-grained gating 进一步提升了记忆利用效率。

Paper's Figure 6, verbatim (caption: "The training and test accuracy curves for Kimi Linear@1.4T and MLA@1.4T during Math RL training. Kimi Linear consistently outperforms the full attention baseline by a sizable margin during the whole RL process.").
在 RLVR 数学训练中,Kimi Linear 的训练集/测试集精度增长率持续高于 MLA,AIME 2025 和 MATH500 上差距随训练逐步扩大。这表明 KDA 的高效长序列处理在 RL 长 trajectory 场景具有结构性优势。

Paper's Figure 7, verbatim (caption: "(a) The prefilling time of MLA (full attention), hybrid GDN-H and our Kimi Linear. (b) The time per output token (TPOT) for MLA, GDN-H and Kimi Linear during decoding.").
Prefill 阶段 KDA 引入的额外开销相对 GDN-H 几乎可忽略。Decode 阶段 KDA/GDN-H 维持 O(1) TPOT 而 MLA 为 O(n):在 1M tokens 处达到 6.3× 加速 (1.84ms vs 11.48ms)。
| Benchmark | MLA | GDN-H | Kimi Linear | Δ vs MLA |
|---|---|---|---|---|
| RULER (128K) | 81.3 | 80.5 | 84.3 | +3.0 |
| MRCR | 22.6 | 23.9 | 29.6 | +7.0 |
| HELMET-ICL | 88.0 | 85.5 | 90.0 | +2.0 |
| RepoQA | 63.0 | 63.0 | 68.5 | +5.5 |
| Average (8 tasks) | 52.2 | 51.2 | 54.5 | +2.3 |
GDN-H 在长上下文退化至 MLA 以下,而 Kimi Linear(仅 scalar→channel gating 差异)反而超越 MLA——证明 channel-wise decay 对长程记忆管理的临界重要性。
| Step | 论据 | 证据 | 逻辑衔接 |
|---|---|---|---|
| 1 | Softmax attention 在长序列 decode 场景有 O(n) KV cache + O(n) TPOT 瓶颈 | 已知事实 + Fig.7b MLA 曲线 | 建立痛点 |
| 2 | 线性注意力通过有限状态 RNN 实现 O(1) decode,但受限于记忆容量导致表达力不足 | Mamba2 在合成任务完全失败 (Fig.4) | 说明 vanilla 线性注意力不够 |
| 3 | Delta rule 提供自校正记忆(在线梯度下降视角),但 scalar gating 对记忆管理过于粗粒度 | GDN-H 在长上下文退化至 MLA 以下 (Table 5) | 动机:需要 fine-grained gating |
| 4 | KDA 引入 per-channel $\text{Diag}(\boldsymbol{\alpha}_t)$ 实现每维度独立遗忘率 + 绑定 DPLR $a=b=\sqrt{\beta}k$ 保持硬件效率 | Fig.2 kernel 速度 2× > DPLR; §6.2 推导 | 方法核心 + 效率保证 |
| 5 | 3:1 混合比 + NoPE MLA 是 Pareto 最优配置 | Table 1 ablation: 3:1 最低 val PPL; NoPE 长上下文优势 | 架构设计验证 |
| 6 | 全流程验证:pretrain→SFT→long-context→RL 四阶段全面超过 MLA | Tables 3-5 + Fig.6 | 全面性证据 |
| 7 | 6.3× decode 加速 + 75% KV cache 节约使 1M context serving 实际可行 | Fig.7b 实测 TPOT | 实用性论证 |
chunk_kda, fused_recurrent_kda)use_qk_l2norm_in_kernel=True — Q、K 的 L2 归一化融合在 KDA kernel 内部(modeling_kimi.py:KimiDeltaAttention.forward),避免额外 kernel launch 且保证数值稳定性。代码中 q_conv1d 和 k_conv1d 的 activation='silu' 对应论文的 Swish 激活。fused_kda_gate(g, self.A_log, self.head_dim, g_bias=self.dt_bias) 将低秩 gate 投影与 log-domain decay 计算融合为单个 CUDA op(fla/ops/kda/gate.py),对应论文中 $f(\mathbf{W}_\alpha^\uparrow \mathbf{W}_\alpha^\downarrow x)$ 的高效实现。A_log 初始化为 log(Uniform(1,16)),对应 Mamba 风格的对数空间衰减参数化。mode = 'fused_recurrent' if q_len <= 64 else self.mode(modeling_kimi.py line in KimiDeltaAttention.forward)——短序列(decode)使用纯递推模式避免 chunk overhead,长序列使用 chunkwise 并行。DPLR $a=b=\sqrt{\beta}k$ 绑定的实现难点在于:chunkwise 算法的 WY 表示(Eq.3-5)要求在 $O(C^2 d)$ 内完成辅助向量 $w, u$ 的前代求解,而 general DPLR 的 $a \neq b$ 需要 4 组独立的二级分块矩阵运算。绑定后 $w$ 和 $u$ 共享内积 $k_i^\top \text{Diag}(\gamma^{i\to r}) k_r$,使计算量减半且 memory bandwidth 需求降低。这一简化直接决定了 KDA kernel 能否在 A100/H100 上达到接近 roofline 的效率——没有此绑定,fine-grained decay 的 chunkwise kernel 将被非 matmul 操作主导,无法超越 FlashAttention-2 的 prefill 性能。
| Stage | Goal | Data (tokens + mix) | LR schedule | Context | Techniques |
|---|---|---|---|---|---|
| Pre-training | Language modeling | 1.4T tokens, shared data mix | WSD (warmup-stable-decay) | 4,096 | MuonClip optimizer, all models same recipe |
| Mid-training (context extension) | [论文未披露] | [论文未披露] | [论文未披露] | up to 1M | [论文未披露具体长上下文训练细节] |
| SFT | Instruction following | Curated: general knowledge + reasoning (math/code) + Chinese | [论文未披露] | [论文未披露] | Same recipe across all models |
| RL (RLVR) | Math reasoning | In-house math training set from [50], moderate difficulty | [论文未披露] | [论文未披露] | Same algorithm + hyperparams as MLA baseline |
| Quantization-aware training | [论文未披露] | [论文未披露] | [论文未披露] | — | [论文未披露] |
最难复现的训练 trick: NoPE on MLA layers — 去除全注意力层的位置编码,完全依赖 KDA 层的 data-dependent decay 提供位置信息。这不是常规做法(RoPE 是 MLA 标配),需要从零开始训练以建立正确的位置-注意力耦合。论文显示 NoPE 在长上下文显著优于 RoPE 变体 (Table 5: 54.5 vs 51.8 avg),但此设计在其他架构上是否 transferable 不明。
| 配置 | GPU 需求 | KV cache/token | Max concurrency @ 128K |
|---|---|---|---|
| BF16 | ~4× H100 80GB (48B params) | 8 KB/token (仅 7 MLA layers) | ~2,500 requests |
| FP8 (weights) | ~2× H100 | ~8 KB/token (KV 仍 BF16) | ~5,000 requests |
| [FP4 not disclosed] | [论文未披露] | — | — |
代码来源:https://huggingface.co/moonshotai/Kimi-Linear-48B-A3B-Instruct/blob/main/modeling_kimi.py
见 §3 中的 KDA 数据流 Mermaid 图。关键维度:
见 §3 中的 MLA 数据流 Mermaid 图。关键维度(from config.json):
mla_use_nope=true — 不对 Q/K 应用 RoPE(尽管 config 中保留了 rope 参数兼容性)N/A — 模型使用标准 Pre-Norm residual connection(x = residual + layer(norm(x))),无 mHC / Highway / DenseNet 变体。
| 代码构件 | 对应图 | 关键实现细节 |
|---|---|---|
KimiDeltaAttention | A3 | chunk_kda/fused_recurrent_kda 切换阈值 q_len=64 |
KimiMLAAttention | A4 | use_nope=True 跳过 RoPE;q_lora_rank=None(无 Q 压缩) |
KimiSparseMoeBlock | A5 | sigmoid gating + bias correction + group topk |
KimiDecoderLayer | A2 | is_kda_layer() 决定 attention 类型 |
KimiLinearModel | A1 | first_k_dense_replace=1 → layer 0 无 MoE |
KimiDynamicCache | — | conv_states + recurrent_states (KDA) / key_cache + value_cache (MLA) |
FusedRMSNormGated | A3 output | sigmoid gate 融合到 RMSNorm 内 |
ShortConvolution(kernel=4, silu) | A3 input | depthwise conv on Q/K/V 各自独立 |