Token导航 LogoToken导航

AI 资讯 · CSDN

Kimi K3.1 Pro开源:CANN实现Day0推理支持与优化

更新 2026-11-06CSDN正文 1405字阅读约 5分钟

10月24日,Moonshot AI发布Kimi K3.1 Pro,并于11月4日正式开源。CANN完成Kimi K3.1 Pro的Day0支持与优化,助力开发者在昇腾平台上快速部署与体验。

承接Kimi K3积累,快速适配新架构

Kimi K3.1 Pro交错使用KDA与DSA:KDA通过状态递推处理序列;DSA在MLA基础上引入索引选择,由LI(Lightning Indexer)筛选Top-K历史位置,再由SFA(Sparse Flash Attention)读取对应KV完成稀疏注意力计算。模型继续通过Attention Residuals聚合跨层表示。
依托K3阶段的优化积累,K3.1 Pro复用FlashKDA/MegaKDA、AttnRes两阶段融合及MegaMoE/MC2等算子优化,结合混合并行、通信优化与多流编排,以及SuperKernel、图模式、编译缓存和NZ权重布局,并沿用DSpark投机推理与ReplaySSM状态回放机制,从计算、通信、调度和存储多个环节提升推理效率,支撑新架构的快速适配。
DSA融合与多流,减少解码等待
LI将相关性打分、头权重加权和Top-K选择融合执行,直接读取分页K缓存,减少中间结果写回与算子启动;SFA根据选出的索引读取主注意力KV,完成稀疏注意力计算。Prefill与Decode均支持LI的BF16和量化路径。
Indexer Prolog进一步通过三流协同,使Q投影与K归一化、Q量化与头权重投影并行执行,减少输入准备阶段的串行等待。
分层量化,降低缓存与搬运开销
DSA保留BF16投影计算。LI全量化采用MXFP8,按per-group方式对索引Q/K进行动态量化,group size为32,即每32个元素共享一个缩放因子。SFA的KVCache采用FP8,量化粒度为per-token-head-tile,tile size为128,即每个Token、每个Head内按128个元素分块量化。该策略降低索引数据与 KV缓存的存储、访存开销。
Prefill CP,兼顾长序列切分与负载均衡
本次支持CPxTP组合部署,沿序列维度切分长输入,并结合TP组内序列并行,降低单卡激活与中间张量占用。
针对DSA因果索引计算中"序列越靠后、历史越长"的负载差异,采用Zigzag布局,将首尾配对的两段序列分配到同一卡,平衡跨卡索引计算量,完成计算后恢复原有顺序。
基于CANNBot-DSL,支持FlashKDA CP
超长序列场景下,KDA的Prefill计算耗时随序列长度增长,影响首Token响应时延(TTFT)。仅采用TP按注意力头切分时,每张卡仍需处理完整序列。FlashKDA CP进一步沿序列维度切分输入,将长序列计算分摊到多张卡,旨在降低超长序列下的TTFT,同时减少单卡激活与中间张量占用。
本次基于CANNBot-DSL实现FlashKDA CP,各卡先并行预计算并通过AllGather交换状态摘要,再按序合成前序分片的状态贡献,得到各自分片的起始状态,随后并行完成本段计算。
性能表现:100K长序列场景下,解码时延低于10ms
得益于DSA稀疏Attention结构,并结合DSpark投机推理等优化,在昇腾950DT平台32卡部署、100K输入长度、Global Batch 32的场景下,模型平均Decode计算时延低于 10 ms/Token(仅统计模型耗时,DSpark接受长度=4)。
文章标签Kimi月之暗面

资讯来源:由AI资讯编辑整理自互联网公开内容,版权归原作者所有,未经许可,不得转载。