KDA 模块驱动,Kimi Linear 实现 1M token 解码快 6 倍 + 75% KV 缓存节省
aikeji
15天前
32

KDA 模块驱动,Kimi Linear 实现 1M token 解码快 6 倍 + 75% KV 缓存节省

在大语言模型(LLMs)向“智能体”演进的过程中,推理阶段的计算需求正成为核心瓶颈--尤其是处理长序列轨迹、工具交互或复杂决策时,传统全注意力机制的二次时间复杂度与线性增长的键值(KV)缓存,会带来巨大的计算与内存开销。为解决这一问题,Moonshot AI团队提出了Kimi Linear混合线性注意力架构,首次在短上下文、长上下文及强化学习(RL)场景中,实现了对全注意力模型的性能超越,同时大幅提升效率。

一、核心痛点:全注意力与线性注意力的“两难困境”

在深入Kimi Linear之前,需先理解当前注意力机制的核心矛盾:

  • 全注意力(如Transformer的Softmax Attention):能捕捉全局信息,表现力强,但计算复杂度随序列长度(T)呈$O(T^2)$增长--若处理100万token的长文档,计算量会是1万token的10000倍,且KV缓存需存储所有token的键和值,内存占用极高。
  • 传统线性注意力(如Linear Attention):通过“键值对累积”将复杂度降至$O(T)$,但因内存管理粗糙(如仅用单一遗忘率),表现力远逊于全注意力,甚至在短序列任务中都难以达标。

举例来说:若用全注意力处理一本1000页的小说(约50万token),GPU可能因KV缓存不足而崩溃;若换传统线性注意力,虽能运行,但会因“遗忘过多关键信息”,无法准确回答“第10页提到的人物在第500页的结局”这类跨章节问题。Kimi Linear的核心目标,就是打破这种“效率与性能不可兼得”的困境。

二、核心创新:Kimi Delta Attention(KDA)的“细粒度记忆管理”

Kimi Linear的基石是Kimi Delta Attention(KDA)--一种优化后的线性注意力模块,通过“细粒度门控”与“硬件友好的分块算法”,解决了传统线性注意力的“记忆混乱”与“计算低效”问题。

1. 从“粗放遗忘”到“精准调控”:细粒度门控机制

传统线性注意力(如Gated DeltaNet,GDN)采用“头级标量遗忘门”--一个注意力头下的所有特征维度,共享同一个“遗忘速率”(类似用一个开关控制所有房间的灯光)。这种设计会导致“该忘的没忘,该留的被删”:比如处理对话时,可能误删用户的核心需求,却保留了无关的语气词。

KDA则采用通道级对角门(Diag(αₜ)),为每个特征维度分配独立的遗忘速率(类似每个房间有独立开关)。具体来说:

  • 假设“用户咨询手机续航”的句子中,“手机”“续航”是关键特征,“你好”“请问”是次要特征;
  • KDA会为“手机”“续航”对应的特征维度设置低遗忘率(αₜ≈0.9),让这些信息长期保留;为“你好”“请问”设置高遗忘率(αₜ≈0.1),快速清除无关信息。

这种设计的数学表达为KDA的核心状态更新公式: $S{t}=(I-\beta{t} k{t} k{t}^{\top}) Diag(\alpha{t})S{t-1}+\beta{t} k{t} v_{t}^{\top}$ 其中:

  • $S_t$:注意力的“记忆矩阵”,存储键值对的关联信息;
  • $Diag(αₜ)$:对角矩阵,每个对角元素对应一个特征维度的遗忘率;
  • $β_t$:学习率门控,控制新键值对($k_t v_t^\top$)对记忆的更新强度,避免“新信息冲击旧记忆”。

2. 让硬件“跑满”:KDA的分块并行算法

线性注意力虽复杂度低,但传统实现因“逐token递归计算”,无法充分利用GPU的并行计算能力(类似用单车道公路运输,即使有10辆卡车也只能排队走)。KDA通过特殊化对角加低秩(DPLR)过渡矩阵,设计了“分块并行算法”,将长序列拆分成固定长度的“块”(如64个token/块),实现“块内并行、块间递归”。

(1)分块逻辑:把长序列“切蛋糕”

假设处理一个256token的序列,按64token/块拆分,可分成4个块(块1:1-64,块2:65-128,块3:129-192,块4:193-256):

  • 块内并行:每个块内部的64个token同时计算,GPU的Tensor Core可满负荷运行(类似4车道公路同时通车);
  • 块间递归:前一个块的“最终记忆”($S_{[t]}$)传递给下一个块,作为初始记忆,确保序列的连贯性(类似接力赛,上一棒的终点是下一棒的起点)。

(2)效率优化:比传统DPLR快1倍

传统DPLR(如S4模型)的分块计算需要4次“二级分块矩阵运算”,且需在对数域处理以保证数值稳定,导致GPU半精度计算(FP16)利用率低。KDA通过两个关键优化解决这一问题:

  • 减少冗余计算:将二级分块运算从4次减至2次,消除3次额外矩阵乘法--相当于原本需要4步完成的工作,现在2步就能搞定,算子效率提升约100%;
  • UT变换稳定数值:通过“上三角变换(UT transform)”减少非矩阵乘法的计算量,避免对数域处理,让GPU能以半精度高效计算(类似用更轻便的容器装货,提升运输效率)。

其分块更新的核心公式为: $S{[t+1]}=Diag(\gamma{[t]}^{C}) S{[t]}+(\Gamma{[t]}^{i \to C} \odot K{[t]})^{\top}(U{[t]}-W{[t]} S{[t]})$ 其中:

  • $\gamma_{[t]}^{C}$:块内所有token的累积遗忘率,确保块间记忆的衰减合理;
  • $U{[t]}/W{[t]}$:块内计算的辅助向量,类似“临时计算器”,减少重复运算;
  • $\odot$:元素级乘法,确保每个特征维度的计算独立。
    更多内容请搜索橙市播客小程序
    原创文章,橙市播客小程序:https://csbk.dcsnet.cn/archives/737.html

    三、Kimi Linear整体架构:3:1混合比例的“黄金平衡”

    仅有高效的KDA模块还不够--纯线性注意力在长序列全局检索(如“找出文档中所有与‘AI安全’相关的段落”)中仍有短板。Kimi Linear采用“KDA+全注意力(MLA)”的混合架构,通过3:1的层比例(3层KDA+1层MLA循环堆叠),实现“局部效率+全局表现力”的平衡。

1. 分层分工:让“专业的模块做专业的事”

  • KDA层(3层):负责处理局部信息与内存管理。比如阅读文章时,KDA层会逐段理解语义,同时快速遗忘冗余内容(如重复的过渡句),减少KV缓存占用;
  • MLA层(1层):周期性插入以捕捉全局关联。比如每读3段后,MLA层会“回顾”前面所有段落,建立“第1段的问题”与“第3段的答案”之间的联系,避免“只见树木不见森林”。

这种设计的优势可通过一组数据直观体现:相比纯全注意力,Kimi Linear的KV缓存占用减少75%(若纯全注意力需4GB缓存,Kimi Linear仅需1GB),100万token上下文下的解码吞吐量提升最高6倍(原本1秒生成10个token,现在能生成60个)。

2. 关键组件:细节决定性能上限

除了混合比例,Kimi Linear还有三个关键组件优化,进一步提升性能与效率:

(1)神经参数化:让特征更“有辨识度”

KDA对查询(q)、键(k)、值(v)的处理采用“ShortConv+Swish激活+L2归一化”的组合:

  • ShortConv(短卷积):捕捉局部语义关联。比如“智能手表”中,“智能”与“手表”的搭配关系,通过3-5个token的短卷积可快速识别;
  • Swish激活:引入非线性,让模型能区分“手机续航”与“续航手机”的语义差异(类似人类能理解“我吃饭”和“饭吃我”的不同);
  • L2归一化:避免特征值过大导致的计算不稳定(类似将不同身高的人转换为“身高/平均身高”的比例,方便统一比较)。

(2)Sigmoid输出门:避免“注意力Sink”

传统线性注意力常出现“注意力Sink”问题--模型过度关注序列开头的几个token(如文档标题),忽略后续关键内容。KDA采用Sigmoid输出门,通过“数据依赖的门控”动态调整输出权重:

  • 若当前token是关键信息(如“解决方案”),门控值接近1,让该信息充分输出;
  • 若当前token是冗余内容(如“综上所述”),门控值接近0,抑制该信息输出。

实验证明,Sigmoid门控比GDN使用的Swish门控,在验证集上的困惑度(PPL,越低表示模型越稳定)降低0.14(9.25→9.11),有效缓解了“注意力Sink”。

(3)NoPE:让位置编码“交给KDA”

传统全注意力依赖RoPE(旋转位置编码)来捕捉序列顺序,但RoPE在长序列外推(如训练时用1万token,推理时用10万token)时,会因“固定频率”导致位置信息混乱(类似用时钟记录超过12小时的时间,会分不清上午和下午)。

Kimi Linear的全注意力层(MLA)采用NoPE(无位置编码),将位置信息捕捉完全交给KDA层:

  • KDA通过“细粒度遗忘率”自然编码位置--比如序列中 earlier 的token,因经历更多遗忘步骤,其记忆强度会低于 later 的token,模型可通过记忆强度差异判断位置;
  • 这种设计避免了RoPE的外推问题,同时简化训练(无需调整RoPE的频率参数)。

四、实验验证:从短序列到100万token,Kimi Linear全面领先

为验证Kimi Linear的性能,团队基于1.4万亿token预训练(最终版本扩展至5.7万亿token),对比了全注意力(MLA)、混合GDN(GDN-H)等基线,覆盖短上下文、长上下文、SFT(监督微调)、RL(强化学习)四大场景。

1. 短上下文任务(4k-128k):全场景性能碾压

在通用知识、数学&代码、中文任务中,Kimi Linear均大幅领先基线:

  • 通用知识:MMLU(多任务语言理解)得73.8分,比MLA(71.6分)高2.2分,比GDN-H(72.2分)高1.6分;BBH(大语言模型推理基准)得72.9分,领先MLA 1.3分;
  • 数学&代码:GSM8K(数学解题)得83.9分,与MLA持平(83.7分),远超GDN-H(81.7分);CRUXEval-O-cot(代码推理)得62.0分,领先MLA 0.5分、GDN-H 3.9分;
  • 中文任务:C-Eval(中文能力测评)得79.5分,CMMLU(中文多任务理解)得80.8分,均为三者最高。

举例来说:在MMLU的“计算机科学”子任务中,Kimi Linear能更准确回答“分布式系统中CAP定理的含义”,而MLA因计算资源限制,可能混淆“一致性(Consistency)”与“可用性(Availability)”的定义。

2. 长上下文任务(128k-1M):检索能力与效率双优

在长文档理解(RULER)、代码仓库分析(RepoQA)等任务中,Kimi Linear的优势更明显:

  • RULER(长上下文检索):128k token场景下得84.3分,比MLA(81.3分)高3分,比GDN-H(80.5分)高3.8分;100万token场景下,解码速度比MLA快6倍(每输出1个token仅需1.84ms,MLA需11.48ms);
  • RepoQA(代码仓库问答):得68.5分,比MLA(63.0分)高5.5分,能准确找到“某个函数在100个代码文件中的调用位置”。

举例:若用Kimi Linear处理一个100万token的开源项目代码库,它能在1秒内生成“如何修改登录模块的密码加密逻辑”的步骤,而MLA可能因内存不足崩溃,或因速度太慢需要等待6秒以上。

3. 强化学习(RL)场景:推理能力持续提升

在数学推理的RL训练中,Kimi Linear的收敛速度与最终性能均优于MLA:

  • 训练端:相同步数下,Kimi Linear的数学题准确率比MLA高10%-15%(如训练100步后,Kimi Linear准确率80%,MLA仅65%);
  • 测试端:MATH500(500道数学题)准确率86%,比MLA(78%)高8个百分点;AIME 2025(美国数学邀请赛)平均得分20分,比MLA(15分)高5分。

这意味着:在需要持续学习的场景(如AI助教通过用户反馈优化解题能力)中,Kimi Linear能更快适应需求,提供更准确的答案。

五、开源资源:让每个人都能用上高效注意力

为推动后续研究,Moonshot AI开源了Kimi Linear的核心组件,且确保兼容性--可直接替换现有全注意力流水线,无需修改缓存或调度接口:

  1. KDA内核:集成vLLM(高效LLM推理框架),支持GPU并行计算,代码地址:https://github.com/fla-org/flash-linear-attention/tree/main/fla/ops/kda
  2. 模型Checkpoint:发布480亿总参数(30亿激活参数)的预训练与指令微调模型,地址:https://huggingface.co/moonshotai/Kimi-Linear-48B-A3B-Instruct
  3. 技术文档:提供分块算法、参数设置的详细说明,帮助开发者快速上手。

六、总结:Kimi Linear为何是下一代LLM的关键一步

Kimi Linear的突破并非“单点优化”,而是通过“细粒度门控+混合架构+硬件优化”的组合拳,解决了长期困扰LLM的“效率-性能”矛盾:

  • 技术层面:首次证明线性注意力架构可超越全注意力,打破“线性注意力只能做效率补充”的认知;
  • 实用层面:100万token上下文下,KV缓存省75%、解码快6倍,可直接应用于长文档分析、代码仓库管理、AI智能体交互等场景;
  • 生态层面:开源资源降低了混合注意力的研究门槛,为更多开发者提供“高效LLM”的解决方案。

随着5.7万亿token扩展训练的完成,Kimi Linear在100万token的RULER任务中得94.8分,进一步验证了其在超长长序列场景的优势。可以预见,这种“高效且高性能”的注意力架构,将成为下一代大语言模型的核心组件,推动LLM向“更长上下文、更低成本、更强能力”的方向演进。

github:https://github.com/MoonshotAI/Kimi-Linear 技术报告:https://github.com/MoonshotAI/Kimi-Linear/blob/master/tech_report.pdf huggingface:https://huggingface.co/moonshotai/Kimi-Linear-48B-A3B-Instruct



微信扫描下方的二维码阅读更多精彩内容

打赏
用 AI 秒出 C4D 级电商主图——「品牌 × 平台」节日海报全流程教程
上一篇
NVIDIA GTC 黄仁勋华盛顿演讲:CUDA 生态为核,Blackwell 平台驱动 AI 工厂与全行业突破
下一篇
生成中...
点赞是美意,赞赏是鼓励