DeepSeek 稀疏注意力落地太贵,美团 LongCat 三招把它提速 3.6 倍且不掉点

LongCat Sparse Attention: Taming the Lightning via Streaming-aware Hierarchical Cross-Layer Indexing

Wen Zan, Jiaqi Zhang, Jianchao Tan, Hong Liu, Cunguang Wang, Xiang Li, Duyue Ma, Guanyu Wu, Yifan Lu, Fengcun Li, Yerui Sun, Peng Pei, Yuchen Xie, Xunliang Cai

cs.AI, cs.CL, cs.DC, cs.LG

2026-08-03

针对 DeepSeek 稀疏注意力的部署瓶颈,美团提出流式、跨层、分层三套索引优化,质量与全注意力持平,1M 上下文推理快 3.6 倍,并开源 69B 模型。

这篇在解决什么

长上下文是 agent 编程、长程任务这些场景的刚需,但标准自注意力是 O(L²),序列一长就扛不住。稀疏注意力让每个 query 只看一小部分 KV,关键是这一小部分要选得又准又便宜。DeepSeek 的稀疏注意力(DSA)用一个独立的 Lightning Indexer 给每个 query 逐 token 打分挑选,做到了和全注意力几乎无损,被 DeepSeek-V3.2、GLM-5 用进了生产。

美团的作者把 DSA 放到自己的加速器上 profile,发现它算得省,部署却被两个系统级瓶颈卡住。第一个叫「索引输出不连续」:逐 token 选出来的 KV 是散的,核心注意力算子得一条条 gather,HBM 带宽利用率只剩约 4.5%,训练反向的 scatter 写冲突更严重。第二个叫「索引器开销高」:Lightning Indexer 要给整个前缀打分,聚合下来还是 O(L²),在 1024K 上下文里占到单层延迟的 90%。那个本来用来省钱的索引器,在长上下文里反而成了单层最贵的部分。

方法

LSA 用三个互补、各打一个瓶颈的机制重组 DSA。

流式感知索引(SI)。作者先在全注意力模型上量注意力质量分布,发现 attention sink(开头几个 token,因 softmax 归一化吸收大量权重)加上局部滑窗,在长序列里稳定吃掉约 83% 的注意力质量。既然这部分是确定性的,就别让索引器动态选了,直接固定。他们把总预算 K=2048 切成三份:16 个 sink token + 1024 个滑窗 token + 1024 个动态稀疏 token。固定那部分在显存里连续,gather 变成合并读,HBM 吞吐就回来了。配套写了个 Hybrid Sparse Attention(HFA)kernel,把滑窗和稀疏两路扔到不同硬件流上重叠执行,再用 online-softmax 合并输出。

跨层索引(CLI)。作者量了相邻层的 Top-K token 集合,平均重合 57.4%,但用一层的索引去复用到邻层,还能覆盖邻层 93.2% 的注意力质量。于是把连续的层两两分组(N=2),每组第一层(owner)跑索引器,第二层直接复用它的结果,索引计算量砍半。关键一步是跨层蒸馏:训练时让 owner 的索引器去拟合组内所有层的注意力分布,而不是只拟合自己这一层。这一步不能省,消融里不蒸馏直接复用,128K 的 needle-in-a-haystack 准确率从 96% 掉到 70%。CLI 还延伸到推测解码的 MTP 层,3 个 MTP 步共享一个索引。

分层索引(HI)。这个免训练,纯推理期插件。两段式:先按 128-token 的页做粗筛,recall 出 top-1024 个候选页,再只在这些页里做细粒度逐 token 打分,把单 query 的选择复杂度从 O(L) 降到 O(L/P + M·P)。它只在 256K 以上才划算,更短的上下文里两段式自身开销大于收益,比扁平索引器还慢。

结果

质量上,在长上下文基准 HELMET,69B-A3B 的 LongCat-Flash-Lite 上 LSA 均分 59.02,全注意力 MLA 58.50,标准 DSA 58.60,三者基本持平。通用、推理、编码基准(MMLU、GPQA、AIME、HumanEval+ 等)也没有一贯的赢家。

注意力HELMET 均分(69B-A3B)
全注意力 MLA58.50
标准 DSA58.60
LSA59.02

效率数字(相对 DSA 基线,单层训练 / 端到端推理):

对比设置加速
vs DSA单层训练 @1024K前向 1.92×,反向 1.55×
vs DSA端到端 prefill1.42–3.60×
vs DSA端到端 decode1.25–1.40×
vs MLA单层训练 @1024K7.73×
HI 单独索引器 @1024K4.11×

和全注意力 MLA 比,1024K 训练单层快 7.73 倍,但 64K 以下 LSA 比 MLA 还慢,实际变长数据混合下的交叉点在 128K 左右。

为什么重要

这篇的价值在于把稀疏注意力从「质量无损但贵」变成又便宜又能落地。DSA 之前是质量保住了、部署账算不过来,索引器在长上下文里吃掉九成延迟。LSA 把索引开销摊薄到层间(SI+CLI)和单次扫描内(HI),换来的训练效率够美团用有限算力把 LongCat-2.0(1.6T-A48B)训到原生 1M 上下文。他们还把 LongCat-Flash-Lite-Sparse(69B-A3B,原生 1M 上下文)开了源,可以直接拿来跑。

对从业者最实在的两点:一是这套 recipe,固定滑窗占一半预算 + 跨层共享索引 + 分层粗筛,是通用的工程思路,不绑死美团架构,迁到别的稀疏注意力上大概率能用;二是一个 1M 上下文的 69B 开源模型本身就是能直接用的产物。

要泼的冷水:这些加速数字都是在美团自研加速器(国产 ASIC)上测的,4.5% 带宽利用率这个核心动机和 SI 的收益是硬件相关的,NVIDIA GPU 的访存模型不一样,收益未必原样照搬。

局限与存疑

作者自己点明的:LSA 只压注意力计算,不动 KV cache 体积,每个 token 照样要存一条 KV。KVP 分片和 host 内存 offload 只缓解单卡压力,降不了总存储。他们给的未来方向是和跨层注意力(CLA)或 DeepSeek-V4 的压缩稀疏注意力(CSA)这类正交手段结合。

此外还有几处要存疑。第一,560B 那个 LSA 比 MLA 高 1.73 分,作者自己承认主要是 LSA 输出更短、被截断的响应更少,不是真实能力提升,别当成 LSA 更强。第二,开源模型在 agentic 基准上的跳涨(SWE-Bench Verified 54→68、SWE-Bench Multilingual 38→59、τ²-Telecom 73→95)不是干净的注意力消融,稀疏版同时换了更新的长上下文训练语料,多少功劳归 LSA、多少归数据说不清。第三,CLI 取了最保守的 N=2,而同期工作 IndexCache 在标准 Transformer 上用 N=4 仍不掉点,说明美团的 shortcut-connected 架构对索引复用更敏感,也意味着收益上限被组大小卡着。第四,所有质量结论都靠现有长上下文基准撑着,这些基准能不能真正压满索引选择的质量,还得看更狠的检索任务。

术语

原文与代码

社区讨论

相关论文

全部论文解读