⏱️ 30 秒速览
KDA(Kimi Delta Attention)是 Moonshot(月之暗面)提出的一种线性注意力机制:它不像标准 Transformer 那样让每个新词回头看所有历史词,而是把历史压缩进一块固定大小的"记忆状态"里,边读边更新。这样计算量随文本长度只线性增长,而不是平方增长。
纯线性注意力记性不够好,所以实际模型采用混合(hybrid)架构:大部分层用 KDA 快速处理,周期性插入少量"全注意力"层负责精确回忆。按官方论文(arXiv 2510.26692)的数据,这套组合在相同训练配方下效果反超全注意力,同时 KV cache 省最多 75%、1M 上下文解码提速最高 6 倍;在 Kimi K3 中官方称解码提速最高 6.3 倍。
🧱 背景:注意力为什么会成为瓶颈
痛点从哪来
标准 Transformer 的注意力机制,本质是"每生成一个新词,都要和前面所有词算一遍相关性"。文本有 n 个词,总计算量就是 n×n 量级——业内叫 O(n²) 复杂度(读作"平方级复杂度",意思是文本长 10 倍,计算量涨 100 倍)。
还有第二个隐形成本:KV cache(键值缓存)。生成时为了不重复计算,模型要把每个历史词的中间结果(Key 和 Value 两组向量)全存在显存里。上下文越长,这块缓存越大——100 万 token 的上下文,光缓存就能吃掉大量显存,直接限制了并发和速度。
开会做记录有两种方式:全注意力像逐字速记——每说一句话都要翻遍前面全部记录找关联,会开得越久翻得越慢,笔记本也越堆越厚;线性注意力像只维护一页"会议要点"——每听一句就更新这一页,永远只有一页,翻阅速度恒定。代价是:三小时前某句原话的措辞,可能已经被要点覆盖掉了。
这条路线的发展脉络
早期线性注意力(2020 年前后)证明了"O(n) 是可能的",但语言能力明显落后;Mamba、DeltaNet 等状态空间/循环路线(2023-24)大幅缩小差距;Kimi Linear 论文(2025 年 10 月)官方宣称首次在公平对比下全面超过全注意力——注意这是 Moonshot 自己的实验结论,详见限制一节。到 2026 年 7 月的 Kimi K3,这套架构正式承载旗舰模型。
🧩 核心概念逐个拆
搞懂 KDA 需要四块积木,我们按"读者下一个自然会问什么"的顺序来。
积木一:线性注意力 = 把注意力变成一个 RNN
线性注意力(Linear Attention)
大白话:不再保存每个历史词,而是维护一个固定大小的矩阵 S(可理解为"记忆板")。每读一个新词,就往记忆板上写一点新信息;要用历史时,直接查记忆板,不回头翻原文。
为什么快:每步只操作固定大小的 S,与文本长度无关,所以总计算量 O(n)、生成时显存占用恒定——这正是 KV cache 不膨胀的原因。
这个"边读边更新一块固定状态"的模式,其实就是经典 RNN(循环神经网络)的思路。所以你会看到论文里把这类模型叫 finite-state RNN——有限状态的循环模型。问题随之而来:板子就这么大,写满了怎么办?
积木二:Delta 规则——"先擦再写"
Delta Rule(增量规则)
大白话:往记忆板写新内容前,先看看板上有没有关于"同一个 key"的旧内容,把旧的擦掉一部分,再写新的。写入的是"新旧之差"(delta),而不是无脑叠加。
解决什么:朴素线性注意力只加不擦,信息越叠越糊。Delta 规则让记忆板"可修正",同一话题的新信息能覆盖旧信息。
积木三:Gated DeltaNet——再加一个"遗忘阀门"
Gated DeltaNet(门控增量网络)
大白话:在"先擦再写"之外,再装一个遗忘门(gate):每一步都让整块记忆按一定比例自然衰减——不重要的旧信息随时间淡出,给新信息腾地方。NVIDIA 2024 年提出,是 KDA 的直接前身。
局限在哪:它的遗忘是按注意力头(head)为单位的——一整个头共用一个衰减比例,想保留头里某些信息、丢弃另一些,做不到。
积木四:混合架构——线性层打工,全注意力层查档案
Hybrid Attention(混合注意力)
大白话:模型几十层里,大部分层用线性注意力(快),每隔几层插一个全注意力层(记性好)。日常处理靠线性层,需要"精确回忆原文第 3 段说了什么"时靠全注意力层。
为什么必须混合:固定大小的记忆状态在"精确回忆(recall)"类任务上有天然上限(详见第 8 节),少量全注意力层正好补这个短板。Kimi Linear 采用 KDA 与 MLA(DeepSeek 系的省显存全注意力变体)的层间混合。
🔬 KDA 究竟改了什么
有了上面四块积木,KDA 的创新一句话就能说清:
KDA = Gated DeltaNet 的细粒度门控升级版——遗忘不再"整头一刀切",而是每个通道(channel,即向量的每一维)各自决定忘多少、忘多快。官方论文称之为 finer-grained gating,让有限的记忆状态被更高效地利用。
还是那页"会议要点":Gated DeltaNet 相当于规定"整页笔记每小时统一淡化 10%";KDA 则允许"决策事项那几行永不褪色、寒暄闲聊几分钟就淡掉"。同一页纸,后者显然能装下更多真正有用的东西。
工程上如何做到不变慢
细粒度门控听起来会增加计算,论文的解法有两点(均来自 官方摘要):
- 专用 DPLR 变体:状态转移矩阵采用 Diagonal-Plus-Low-Rank(对角+低秩)结构的特化版本,比通用 DPLR 计算量大幅降低,同时更贴近经典 delta 规则的行为;
- 分块(chunkwise)算法:把序列切块后在块内并行、块间递推,充分吃满 GPU 硬件效率。KDA 的 kernel 已开源(GitHub: MoonshotAI/Kimi-Linear)。
-75%
KV cache 用量最多可减少(Kimi Linear 论文)
6.3×
Kimi K3 官方称的百万上下文解码提速上限
🚀 在 Kimi K3 中的落地
2026 年 7 月 16 日发布的 Kimi K3,是 KDA 第一次进入旗舰级模型(此前 Kimi Linear 只是 48B 的研究验证模型)。K3 的整体配置(来源:MarkTechPost 2026-07-16,一手信息见 Moonshot 官方博客):
16/896
MoE 每次激活的专家数(Stable LatentMoE)
2.5×
相对 K2 的整体 scaling 效率提升(官方)
KDA 在其中负责"长上下文不爆炸";与它配套的还有两个架构组件(均为官方说法):AttnRes(Attention Residuals)在深度方向选择性检索各层表征,称带来约 25% 训练效率提升、额外成本低于 2%;Quantile Balancing / Per-Head Muon / SiTU 等则解决极稀疏 MoE 的路由与优化问题。这些超出本文主题,点到为止。
效果如何(官方基准,注意甄别)
官方口径:K3 整体仍落后于最强闭源模型(Claude Fable 5、GPT-5.6 Sol),但在 Program Bench、SWE Marathon、BrowseComp、OmniDocBench 等基准领先,FrontierSWE 和 HLE-Full 落后于 Fable 5。值得注意的细节:BrowseComp 得分 91.2 是在 300K token 触发上下文压缩的配置下取得的,不压缩时反而是 90.4——说明百万级上下文的实际使用仍需上下文管理策略配合。
以上分数全部来自 Moonshot 自家评测套件与选定 harness(KimiCode / Claude Code / Codex 不一),发布还不满 48 小时,暂无独立第三方复测。判断真实水平请等 LMArena 等第三方榜单更新。
🛠️ 怎么用(上手)
路线 A:直接调用 Kimi K3 API(用它,不改它)
K3 兼容 OpenAI SDK,换个 base_url 即可。示例代码来自 MarkTechPost 报道(与官方文档口径一致):
from openai import OpenAI
import os
client = OpenAI(api_key=os.environ["MOONSHOT_API_KEY"],
base_url="https://api.moonshot.ai/v1")
completion = client.chat.completions.create(
model="kimi-k3",
reasoning_effort="max", # K3 只支持 max;不要再传 K2.x 的 thinking 参数
messages=[{"role": "user", "content": "用一句话介绍 Kimi K3。"}],
)
print(completion.choices[0].message.content)
参数规矩:temperature、top_p、n 是固定的,直接省略;max_completion_tokens 默认 131072,上限 1048576。
多轮/工具调用:必须把完整的 assistant 消息原样传回,不能裁剪。
算账先看缓存命中率:定价不按上下文长度分级——缓存命中输入 $0.30/M、未命中 $3.00/M、输出 $15.00/M。官方称编码类负载缓存命中率可超 90%,成本大头取决于你的 prompt 结构是否缓存友好(稳定前缀放前面,可变内容放后面)。
路线 B:研究或自部署 KDA(改它、学它)
- 开源 kernel 与模型:MoonshotAI/Kimi-Linear 提供 KDA kernel、vLLM 集成,以及 48B 预训练/指令微调 checkpoint,可直接跑通"混合线性注意力"全流程。
- vLLM 部署注意:KDA 的循环状态让前缀缓存(prefix caching)逻辑与全注意力不同——不能像 KV cache 那样按 token 块随意复用。Moonshot 为此向 vLLM 贡献了专门实现,自部署请用官方集成而非自己魔改。
- K3 本体权重:官方宣布 7 月 27 日放出(Latent Space AINews);推理采用 MXFP4 权重 + MXFP8 激活的量化感知训练,官方建议 64+ 加速卡的超节点配置——个人设备跑不动 K3,学架构请用 48B 的 Kimi Linear。
🎯 什么场景真正受益
KDA 的收益全部来自"长"——上下文越长、输出越长,相对全注意力的优势越大;几千 token 的短对话里体感差别不大。官方列举并被报道的典型场景:
- 仓库级编码 Agent:整个代码仓 + 长会话历史塞进上下文,长时间自主工作。KDA 的恒定解码速度意味着会话越长优势越明显,官方报告的案例是"长会话、极少人工干预"。
- 研究复现:官方案例:复现 I-Love-Q 关系研究,一次性读 20+ 篇论文、产出 3000+ 行 Python——1M 上下文 + 自动缓存是前提。
- 深度研究报告:官方案例:一份 42 年跨度的 ASIC 行业研究,2800+ 次抓取、11000+ 页材料进上下文。
- RL 训练效率:论文强调的一个容易被忽略的点——强化学习后训练要生成大量长轨迹,解码提速 6 倍直接换成 RL 迭代速度。这也是"Agentic RL"时代线性注意力重新火起来的深层原因。
一句话判断:你的负载是否"读得多、写得长、会话久"?是,混合线性注意力的成本/速度优势是数量级的;否,它对你只是个透明的实现细节。
⚖️ 对比与选型:长上下文的四条技术路线
| 路线 | 代表 | 思路 | 强项 | 弱项 |
| 全注意力 + 省显存变体 | MLA(DeepSeek)、GQA | 不改 O(n²),压缩 KV cache | 精确回忆无损,生态最成熟 | 长度上来后依然又慢又贵 |
| 稀疏/滑窗注意力 | 滑动窗口、NSA 等 | 只看部分历史 | 实现简单,短程任务几乎无损 | 窗口外信息直接不可见 |
| 纯线性/状态空间 | Mamba、RWKV、DeltaNet | 固定状态,O(n) | 速度和显存最优 | 精确回忆(recall)有硬上限 |
| 混合线性(本文主角) | KDA+MLA(Kimi)、Gated DeltaNet-2 等 | 多数层线性 + 少数全注意力层 | 速度接近纯线性,回忆能力大体保住 | 架构/推理栈更复杂,生态尚新 |
怎么选:做应用——你其实不用选,选模型即可,架构是厂商的事;真正要看的是价格、长上下文实测质量和缓存命中率。做训练/研究——2026 年的社区共识是混合路线最务实:《A Systematic Analysis of Hybrid Linear Attention》系统实验发现,语言建模能力对线性:全注意力比例不敏感,但精确回忆能力随全注意力层占比明显变化,比例低于 3:1(即全注意力层多于四分之一)时 recall 提升显著;Hazy Research 的 BASED 论文更早指出了"状态大小 ↔ 回忆能力"这条根本取舍曲线。同期还有 Gated DeltaNet-2(把"擦"和"写"解耦)等平行探索,说明这个方向远未收敛。
🕳️ 常见坑与限制
坑 1:固定状态 ≠ 无限记忆。学界已明确:固定大小的循环状态做"精确关联回忆"有理论上限(
BASED 论文称之为 recall-throughput tradeoff)。表现出来就是:大海捞针式的"逐字找回 50 万 token 前的一句话",混合模型依赖那少数几层全注意力,极端场景仍可能不如纯全注意力稳。对 Agent 工程的含义:
关键信息别指望模型"记得",该外置到记忆系统/文件的照样外置。
坑 2:"超过全注意力"目前主要是厂商自证。Kimi Linear 论文说"公平对比下首次超越 full attention",实验设计和评测都由 Moonshot 完成;K3 的基准同样是自家套件、发布未满 48 小时。社区独立复现之前,措辞上应保持"官方宣称"。
坑 3:推理基础设施的隐性差异。KDA 的循环状态让 prefix caching、投机解码等常规优化都要专门适配(Moonshot 已给 vLLM 提交了实现)。自部署时如果用了未适配的推理栈,可能出现缓存失效、吞吐不升反降的情况。K2.x 的调用习惯(thinking 参数、自定 temperature)在 K3 上会直接报错。
坑 4:教程时效。线性注意力领域 2024-2026 迭代极快,DeltaNet → Gated DeltaNet → KDA → GDN-2 一年多连跳数代。读到不带日期的"线性注意力不行"或"线性注意力已解决一切"的文章,先查发布时间——2025 年 10 月(Kimi Linear)之前和之后的结论差别很大。