让大模型具备更长的上下文理解能力,已成为当前智能体、深度推理以及海量资料整合场景的核心需求。然而,实现这一目标并非易事:标准的全注意力机制计算量随序列长度呈平方级增长,一旦序列变长,算力和显存便迅速成为瓶颈,这始终是长上下文建模面临的三大难题。
本周,腾讯混元团队正式开源了 HiLS-Attention(分层地标稀疏注意力),提出了一种全新的分块稀疏注意力范式。该方法首次从数学层面同时解决了两个根本性问题:一是分块重要性估计的“表达力不足”,二是选择过程的“端到端不可导”,真正将稀疏注意力做到了“正确实现”。

计算量更少,效果反而更好;推理加速可达 13~15 倍,支持超长免训练外推。

从 345M 到 7B 参数规模的系统验证表明:HiLS-Attention 在短文本场景下,语言建模困惑度(PPL)与全注意力几乎完全一致;在 8K 训练条件下,可实现对 4M 上下文(512 倍)的免训练外推;在 512K 上下文下,prefill 与单步 decode 分别加速了 13.5 倍和 15.7 倍。
更值得注意的是,在部分长上下文检索任务上,该方法的效果甚至超越了全注意力本身——效率与效果之间长期存在的“二选一”困境,首次被同时打破。相关论文与代码已在 GitHub 上公开。


论文标题:Hierarchical Sparse Attention Done Right: Toward Infinite Context Modeling
论文链接:https://arxiv.org/pdf/2607.02980
代码链接:https://github.com/Tencent-Hunyuan/HiLS-Attention
一、长上下文的老大难:全注意力扛不动,稀疏注意力又“不准”
让大模型读得更长,几乎是当前所有智能体、深度推理、海量资料整合任务的刚需。但“读得长”对标准的全注意力(Full Attention)来说,始终面临三大难题:
- 计算量是平方级的:序列长度翻倍,算力需求翻四倍;
- 长度外推能力差:训练 8K,测试 32K 就开始崩溃;
- KV Cache 随长度线性膨胀,显存很快就不够用。
于是,学界和业界将目光投向了分块稀疏注意力(Chunk-wise Sparse Attention):把上下文划分成一个个分块,每个 query 只挑选最相关的 Top-K 个分块来计算注意力,多余的 KV cache 卸载到 CPU 内存,计算和显存开销都被控制在常数级别。这个思路看起来非常美好。
但现实是,迄今为止,没有任何一种分块稀疏注意力能真正追平全注意力。

图:最直接的证据——即便让 345M 模型在 RULER 任务上训练,现有分块稀疏注意力依然无法达到全注意力的水平。
问题的根源在哪?——分块选择不准确。
二、现有方法为什么会“选错分块”?
要选对分块,前提是能准确估计每个分块的“重要性”。

图:从最朴素的 block sparse attention 出发——一个分块的重要性,就是它内部所有 token 注意力质量的总和。
基于上图,形式上有:

按 Zc 从大到小取 Top-K,选出来的就是与全注意力完全一致的精确排序。问题在于:想精确算出 Zc,就得把 query 和分块里每一个 token 都做点积——这相当于又把全注意力算了一遍,稀疏的意义就荡然无存了。
那能不能不遍历每个 token,只用一个“浓缩”的表示就估出重要性?这正是所有高效稀疏注意力的共同目标:给每个分块构造一个摘要,让 query 与它做一次点积,就能近似出该分块的对数重要性。

现有方法是怎么构造的?最主流的是均值池化(mean pooling):直接对分块内所有 key 求平均作为摘要 key。稍作推导就会发现,它算出来的分数其实就是 token logit 的均值。

属于此类的有 NSA、InfLLM v2、MoBA 等;另一类方法(如 MiniMax 稀疏注意力)则改用 max logits 来近似。
但真正的目标是一个 LogSumExp,它的行为完全取决于分块内的 logit 分布,有两种极端形态:

这意味着:
- mean logits 只在“分块内注意力均匀分布”时才准确;
- max logits 只在“单个 token 独占注意力”时才准确。
然而真实场景中,logit 分布随 query、随 head、随数据剧烈变化,根本不会乖乖落在某一种极端。结果就是:无论用 mean 还是 max,都是在用一个只在极端情况下才成立的代里来硬凑 LogSumExp,从而系统性地低估或高估分块重要性,打乱排序,让真正关键的分块落选。
这一点在实验里看得非常清楚:在最简单的单针大海捞针任务上,使用均值池化的 NSA / DashAttention / InfLLM v2 在 8K 域内就已经明显掉点——因为大海捞针恰恰是“少数针 token 独占注意力”的高度集中分布,而均值池化会把这种尖峰稀释掉。
三、想用“参数化摘要”救场?先过端到端反传这一关
既然非参数化的 mean/max 表达力不够,那么很自然的想法是:给每个分块学习一个参数化的摘要,让它更有表达力地概括整块内容。
听起来有道理,但这里藏着一个被几乎所有现有方法忽略的致命断点:
现有方法即便用了参数化摘要,也只拿它来打分、选 Top-K。一旦 Top-K 的分块 ID 被“硬选”出来,摘要和打分就被丢弃了,不再参与后续的注意力计算。
这意味着什么?
意味着语言建模(LM)loss 的梯度,根本传不到摘要和选择分数上。
Top-K 选择是一个离散、不可导的操作。打分→排序→选 ID,这条链路梯度无法反传到摘要,LM loss 无法告诉摘要:“你这次把重要的分块排低了,下次该调高一点。”
于是摘要的学习变成了“盲训”——它学不会去抑制无关分块、抬高对预测真正有用的分块。选择过程没有被端到端优化,再有表达力的摘要也无济于事。
这就引出了两个研究问题:
RQ1. 数学表达能力足够的分块重要性估计。
RQ2. 分块摘要必须能跟着 LM loss 端到端训练。
把这两点同时做到,才算把稀疏注意力“做对”。
四、思路:HiLS-Attention——把分块选择变成可微分的“分层 softmax”
腾讯混元提出 HiLS-Attention(Hierarchical Landmark Sparse Attention,分层地标稀疏注意力)。它的核心,是把上面两个诉求拆成两个问题逐一攻破。
RQ1:用“一阶泰勒展开”构造表征能力足够的分块算分函数
一个直觉的想法是对 LogSumExp 进行一阶泰勒展开,观察其数学性质。研究团队发现,分块的对数重要性可以被近似成一个非常优雅的形式:

它由两部分组成:
- 一个相关项,其中是分块的摘要 key,本质是分块内 key 的一次“注意力加权求和”;
- 一个偏置项,恰好是这个分布的熵(entropy)。它会自适应地在两种极端间插值——分布越均匀越接近,越集中越趋近 0。
关键就在这个熵偏置。它正好补上了 mean/max logits 各自缺失的那一半信息:mean 丢掉了集中度,max 丢掉了分散度,而熵偏置把两种 regime 一次性统一了进来,让代里分数在任意分布下都能贴合真实重要性。
这个摘要怎么算?给每个分块末尾追加一个特殊的摘要 token(landmark token),用它学习所有潜在可能对分块感兴趣的 query 的中心,再用对分块内做一次注意力,得到和。每个分块只需,整条序列总成本,彻底摆脱了平方级的全注意力。
RQ2:如何让分块摘要跟着 LM loss 端到端训练?
光有好摘要还不够——要解决那个致命断点:让梯度真正流到摘要上。
HiLS 的做法是把注意力权重分层因式分解成两级 softmax:

图:先按摘要算每个分块应该分摊多少饼,再由分块内 token 继续分饼。

- 分块内(intra-chunk)softmax:在每个被选中的分块内部,决定 token 之间的相对权重;
- 分块间(inter-chunk)softmax:用代里质量决定每个分块整体能分到多少注意力。
关键在于:代里质量直接出现在前向的注意力权重里。这样一来,LM loss 的梯度就能顺着前向计算图,一路反传到摘要 key 和地标 token 上——模型会被“逼着”去给对预测更有用的分块打更高的分、把无关分块压下去。
断点被打通了。分块选择第一次成为了在 LM 目标下端到端可学习的过程,而且训练和推理全程都是真稀疏(native sparse training)。
一个反直觉的彩蛋:它不只是“模仿”全注意力,还更准
研究团队最初是想让 HiLS 去逼近“全注意力诱导的分块选择”(即朴素 BSA)。但实验给了惊喜:
HiLS 不仅追平了朴素 BSA,还在长上下文检索上反超了全注意力本身。
原因可能在于压缩本身能去噪。全注意力有个固有毛病:只要一个 token 的 logit 不是负无穷,它就会分到一点点注意力质量。上下文越长,这些无关 token 的微小噪声越积越多,反而污染了检索信号。而 HiLS 把多个 key 压缩成一个摘要 key 时,不对齐的噪声相互抵消,共享的语义信号被保留,于是检索反而更干净——这正是它在变量追踪(VT)这类多跳任务上能比全注意力高出多达 50% 的根源。
五、实验:从 345M 到 7B,全面验证
在 345M → 1.4B → 7B 三个尺度上做了系统验证,结论高度一致:
- 短文本不掉点:345M 与 1.4B 从零训练时,HiLS 在各上下文长度、各训练阶段的 PPL 与全注意力几乎重合,8K 处持平甚至略低;
- 超长外推效果炸裂:仅用 8K 训练,外推到 4M(512 倍)仍保持 90%+ 大海捞针准确率,远超全注意力;
- 低成本改造存量模型:把 OLMo3-7B 这类全注意力模型转成 HiLS,只要续训 50B token 即可实现切换。短程任务不掉点,长序列任务 LongBench 在 in-domain 长度甚至能超越全注意力基线,无缝继承 HiLS 的外推能力,在 out-of-domain length 显著碾压 YaRN 等各类 baseline;
- 推理还更快:512K 上下文下,prefill 快 13.5×、单步 decode 快 15.7×。
稀疏注意力长期以来的“效率—性能”二选一困境,被第一次同时打破了。
六、写在最后
回头看这条逻辑链其实很清晰:
- 稀疏注意力的瓶颈是分块选错;
- 选错的根源是 mean/max logits 系统性失准;
- 想用参数化摘要补救,又卡在端到端反传断点上;
- HiLS 用泰勒线性化(提出足够表达力的估分函数)+ 分层 softmax(把代里分数送进前向计算),一举解决了表达力和可微分两个问题。
HiLS 证明了:稀疏注意力可以同时提升效率和效果。效果提升的根源或许在于压缩导致去噪,带来更纯净的检索表征。
这,才是把分层稀疏注意力“Done Right”的样子。
