什么是块状稀疏注意力(Block-Sparse Attention)?
块状稀疏注意力(Block-Sparse Attention)是一类把注意力计算按块(block)粒度裁剪、只对少数重要键值块做精确计算的长上下文推理加速方法。它针对的是注意力二次复杂度带来的算力与显存瓶颈,代表实现包括 Block Sparse Flash Attention(BSFA)与 Prism。
块状稀疏注意力(Block-Sparse Attention)是一类面向长上下文大语言模型(Large Language Model, LLM)推理的注意力加速方法:它把键(key)与值(value)序列切分成固定大小的块,只对其中少数被判定为「重要」的块执行精确的注意力计算,其余块直接跳过,从而在保持模型输出质量的前提下降低计算量与显存搬运量。它要解决的问题是:注意力机制的复杂度随序列长度呈二次增长,当上下文扩展到数万乃至数十万 token 时,注意力成为推理的主要瓶颈。
为什么重要
现代大语言模型越来越多地被用于推理任务与多文档任务,这些场景要求模型处理很长的上下文。但标准注意力需要为每个查询(query)与全部键计算相似度,计算量与内存访问量随序列长度平方增长,在长上下文下形成严重的计算瓶颈。
在块状稀疏注意力出现之前,常见的应对思路有两类。一类是直接对注意力做近似或稀疏化,例如只保留固定模式(如滑动窗口、局部加全局)的连接;另一类是先估计哪些位置重要、再只计算这些位置。后者在工程上遇到的核心困难是「选择开销」:如果为了判断哪些块重要而先做一遍粗粒度注意力,或者退回到逐 token 的搜索与打分,那么选择本身的开销就可能吃掉稀疏化省下来的收益。arXiv:2602.08426 的摘要即指出,块稀疏注意力对长上下文预填充(pre-filling)很有前景,但高效识别相关块仍是瓶颈,已有方法通常用粗粒度注意力作为块重要性的代理,却往往诉诸昂贵的 token 级搜索或打分,导致显著的选择开销。
因此,块状稀疏注意力的价值主张不只是「少算」,而是「以足够低的代价决定少算哪些」,并且不破坏模型质量。
工作机制
不同论文的具体设计不同,但可以归纳出若干共同环节。
- 分块。把键值序列按固定块大小切分,注意力计算与跳过都以块为单位进行,这样既便于在 GPU 上做规整的内存访问,也便于用矩阵运算批量处理。
- 块重要性判定。为每个查询选出 top-k 个最重要的值块。判定方式是该领域的主要分歧点:有的方法先预测重要性再算分数,有的方法直接计算精确的查询—键相似度。
- 阈值与跳过。把每个块的最高分与一个标定过的阈值比较,低于阈值的块被剪枝,其对应的计算与内存搬运一并跳过。
- 核函数实现。为了真正拿到加速,通常需要写成自定义的 CUDA 核函数,并作为 FlashAttention 的直接替换(drop-in replacement)接入现有推理栈。
以 arXiv:2512.07011 提出的 Block Sparse Flash Attention(BSFA)为例,该论文称其与「先预测重要性再计算分数」的方法不同:BSFA 直接计算精确的查询—键相似度,为每个查询选出 top-k 个最重要的值块;通过把每块的最高分与标定阈值比较,对被剪枝的块跳过约 50% 的计算与内存搬运。该论文称这是一种免训练(training-free)方法,只需在一个小数据集上做一次性的阈值标定,用来学习每一层、每一个注意力头的注意力分数分布,并提供了可作为 FlashAttention 直接替换的 CUDA 核函数实现。
arXiv:2602.08426 提出的 Prism 则从另一个角度切入。该论文把标准粗粒度注意力(用均值池化得到)的不准确追溯到一个理论根因:均值池化与旋转位置编码(Rotary Positional Embedding, RoPE)之间的相互作用。论文证明均值池化相当于一个低通滤波器,会在高频维度上引起破坏性干涉,从而对局部位置信息(例如斜线模式)形成「盲区」。为此,Prism 提出一种免训练的频谱感知(spectral-aware)方法,把块选择分解为高频与低频两个分支,并通过基于能量的温度标定,从池化表示中直接恢复被衰减的位置信号,使块重要性估计完全在块级别完成,从而提升效率。
典型例子
arXiv:2512.07011 给出了 BSFA 的具体评测设置与结果。该论文称,在 Llama-3.1-8B 上,BSFA 在 LongBench 上取得最高 1.13 倍的端到端加速,精度下降 1.1%;在 Needle-in-a-Haystack 检索任务上取得最高 1.24 倍加速,精度下降 1%;注意力核函数本身的加速最高达 1.38 倍。论文称其与五种近期的稀疏注意力基线做了对比,包括 SpargeAttention、MInference、FlexPrefill、XAttention 与 BLASST,并在 Qwen2.5-7B 以及 A6000 与 H100 GPU 上验证了该方法。该论文被 NeurIPS 2026 接收。
arXiv:2602.08426 给出的评测结论是:Prism 在保持与全注意力相当(accuracy parity)的精度同时,带来最高 5.1 倍的加速。该论文被 ICML 2026 接收。
需要说明的是,上述数字均出自各自论文的摘要,是作者在特定模型、特定数据集与特定硬件上的报告结果,并非跨方法、跨环境的统一基准。
边界与常见误解
第一,块状稀疏注意力不是「免费」的近似。它用跳过部分块来换取速度,代价是这部分被跳过的注意力连接不再参与计算。arXiv:2512.07011 报告的精度下降为 1.1%(LongBench)与 1%(Needle-in-a-Haystack),arXiv:2602.08426 则称 Prism 达到与全注意力相当的精度。这些是各自论文在各自设置下的结论,不能推广为「块稀疏注意力不损失精度」。
第二,容易被误解成一种统一的行业标准做法。实际上「块状稀疏注意力」是一类方法的统称,不同论文在块重要性如何判定、是否需要标定、是否需要训练上分歧明显。例如 BSFA 强调直接计算精确的查询—键相似度并做一次性阈值标定,Prism 则强调均值池化在 RoPE 下存在高频盲区、需要频谱分解来修正。把其中任何一家的机制当作整类方法的定义都是不准确的。
第三,加速比高度依赖场景。论文报告的端到端加速(1.13 倍、1.24 倍)明显低于核函数自身的加速(1.38 倍),也低于 Prism 报告的最高 5.1 倍,这说明端到端收益受模型、序列长度、批大小、硬件与任务类型影响很大,核函数层面的加速不能直接等同于用户可感知的推理提速。
第四,实现门槛不低。要真正获得收益,通常需要自定义 CUDA 核函数并作为 FlashAttention 的替换接入,这意味着对推理框架的改动、对硬件的依赖(如论文中使用的 A6000 与 H100),以及对阈值标定数据集的依赖。免训练不等于免配置。
第五,块大小本身是一个权衡参数:块越大,跳过的粒度越粗,可能误伤重要的局部信息;块越小,选择开销与调度开销越高。arXiv:2602.08426 关于均值池化与 RoPE 相互作用的分析,正是这一权衡在位置信息层面的一个具体体现。