一句话:过去做稀疏注意力,要么从头训练稀疏模型(贵),要么在推理时动态丢弃token(糙)。这篇论文的洞察是:预训练好的全注意力模型,骨子里本来就是稀疏的——只有少数几个head在做长距离检索,大部分head只看局部窗口。你只需要几百步训练,把「全注意力」的骨架抽出来,就能得到一个既快又准的稀疏模型。1M上下文的prefill提速9.36倍,解码提速2倍,精度几乎无损。
01 问题的本质:长上下文推理的卡脖子点
1.1 二次方诅咒
注意力机制的复杂度是 O(n²)——上下文越长,KV缓存的内存占用和计算量呈平方增长。128K上下文已经让大多数GPU喘不过气了,1M上下文简直是噩梦。
现有解决方案两条路:
| 路线 | 代表方法 | 代价 |
|---|---|---|
| 原生稀疏训练 | Sparse Transformer、Longformer | 从头训练,成本极高 |
| 推理时动态丢弃 | StreamingLLM、H2O、SnapKV | 启发式策略,精度损失不可控 |
第一条路太贵(重新预训练数十亿参数的模型),第二条路太糙(丢弃策略是人为设计的,不一定和模型的真实注意力模式对齐)。
1.2 核心问题:全注意力模型里到底有多少注意力是「真注意力」?
这篇论文的前提假设是:全注意力模型在预训练后,已经内生了某种稀疏结构——只是这个结构没有被显式利用。如果能把这种「内在稀疏性」提取出来,就不需要从头训练,也不需要粗糙的启发式丢弃。
02 三个核心洞察
洞察一:只有少数head在做长距离检索
论文通过分析预训练模型的注意力头,发现head之间存在明确的功能分化:
| head类型 | 占比 | 功能 | KV缓存策略 |
|---|---|---|---|
| Retrieval heads | 少数(通常<20%) | 长距离信息检索,跨段落关联 | 保留全KV缓存 |
| Local heads | 大多数(>80%) | 局部语法/语义处理,句内关联 | 仅保留局部窗口 |
这个发现解释了为什么全注意力模型可以稀疏化:80%以上的head根本不需要看整个上下文,它们只在局部窗口里工作。给它们全KV缓存是浪费。
校准方法:通过简单的"稻草堆里找针"任务(needle-in-haystack)——在长上下文中插入一个关键信息,看哪些head能成功检索到——就能稳定区分retrieval heads和local heads。这个校准只需要做一次,不需要对每个输入重新计算。
洞察二:长距离检索只依赖低频分量,16维投影就够了
论文发现,使用RoPE(Rotary Position Embedding)的模型,其长距离检索行为有一个惊人的特性:
长距离检索只依赖低频分量。
RoPE把位置信息编码到不同频率的旋转维度上。高频分量负责局部细节,低频分量负责全局结构。论文证明:对于长距离检索,只需要16维的低频投影,就能实现超过90%的召回率。
这意味着什么?
- 不需要用完整的head维度(比如128维)去计算token间的相关性
- 16维的低维投影矩阵,计算成本几乎可以忽略
- 这个投影矩阵在离线校准阶段学习,后续推理时固定使用
洞察三:有用的token预算和query强相关,固定top-k是浪费
传统稀疏注意力方法(如H2O、SnapKV)使用固定top-k:每个query只保留k个最相关的token。
但论文发现:不同query需要的token数量差异巨大。
- 简单事实查询:可能只需要几个token就能回答
- 复杂推理查询:可能需要跨越多个段落的信息
- 聚合性查询:需要综合全文的多处证据
固定top-k的问题是:k设大了,简单查询浪费计算;k设小了,复杂查询丢失信息。
解决方案:用top-p选择替代固定top-k。
不是保留"最相关的k个token",而是保留"累积相关性超过阈值p的所有token"。这样简单查询自动获得少而精的token集合,复杂查询自动获得大而全的集合。
03 RTPurbo方法:三步走
第一步:离线校准——区分head类型
输入:预训练全注意力模型
操作:needle-in-haystack测试 → 统计每个head的长距离检索成功率
输出:retrieval heads列表(保留全KV)+ local heads列表(窗口化)
这个步骤不需要训练数据,只需要构造一些长上下文+关键信息的测试样本。一次性完成,后续推理固定使用。
第二步:学习低维投影索引
输入:retrieval heads的完整注意力矩阵
操作:用16维投影近似完整的key向量,使投影后的相似度排序与完整维度的排序一致
输出:每个retrieval head对应的16维投影矩阵
训练目标不是让投影后的相似度分数精确匹配,而是让排序一致——即 projection-based top-p 选出的token集合和 full-dimension top-p 选出的集合高度重叠。
第三步:两阶段轻量微调
| 阶段 | 训练内容 | 冻结/解冻 | 目标 |
|---|---|---|---|
| 第一阶段 | 投影矩阵微调 | 主干冻结 | 让稀疏注意力分布匹配原模型分布 |
| 第二阶段 | 自蒸馏对齐 | 主干微调 | 让稀疏模型输出对齐原模型输出 |
关键数据:
- 总训练步数:几百步(不是几千步,不是几万步)
- 总token数:约1M(对比预训练的数万亿token,几乎为零)
- 第二阶段使用自蒸馏:原模型(教师)生成输出,稀疏模型(学生)模仿——不需要额外标注数据
04 实验结果:速度、精度、稀疏度
4.1 速度提升
| 阶段 | 上下文长度 | 提速倍数 |
|---|---|---|
| Prefill | 1M tokens | 9.36x |
| Decode | 长上下文 | 2.01x |
Prefill阶段提速更显著(9.36x),因为prefill需要计算整个上下文的KV缓存——这是二次方复杂度最痛的地方。Decode阶段提速2x,因为decode每一步只需要处理新token和已选中的稀疏token集合。
4.2 精度保留
在长上下文benchmark(Needle-in-Haystack、RULER、LongBench等)和推理任务上,RTPurbo实现了近无损精度——和原全注意力模型的差距在1-2个百分点以内,很多时候在误差范围内。
4.3 与现有方法的对比
| 方法 | 训练成本 | 速度提升 | 精度损失 | 稀疏度 |
|---|---|---|---|---|
| 原生稀疏训练 | 极高(数十亿token) | 高 | 低 | 高 |
| StreamingLLM | 无 | 中等 | 中等 | 固定策略 |
| H2O | 无 | 中等 | 中高 | 启发式 |
| SnapKV | 无 | 中高 | 低 | 缓存压缩 |
| RTPurbo | 极低(1M token) | 极高(9.36x) | 极低(近无损) | 自适应 |
RTPurbo的独特定位:以接近零的训练成本,获得了接近原生稀疏训练的性能。
05 追问:这篇论文的边界在哪?
5.1 "内在稀疏性"是否适用于所有模型?
论文的实验基于什么架构?Llama?Qwen?GPT?
Retrieval heads的分化现象在基于RoPE的decoder-only模型中被观察到。但对于:
- 不使用RoPE的模型(如ALiBi、XPos)
- Encoder-decoder架构(如T5、BART)
- 使用了其他位置编码方案的模型
head功能分化的模式可能不同。低维投影的可行性也可能依赖于RoPE的频率特性。RTPurbo的通用性还需要更多验证。
5.2 16维投影的"90%召回率"意味着什么?
论文说16维投影实现"超过90%的召回率"。但召回率的定义是什么?
- 是top-p选出的token集合和全维度选出的集合的重叠度?
- 还是下游任务的性能保留率?
如果是前者,90%召回率意味着有10%的关键token可能被遗漏。在长上下文推理中,一个关键token的遗漏可能导致完全不同的结论(比如法律文档中的一个否定词)。
5.3 "几百步训练"的隐藏假设
几百步训练就能适配,前提是:
- 预训练模型已经足够好(全注意力模型本身就内生了稀疏结构)
- 校准数据分布和目标任务分布一致
如果目标任务的上下文模式与校准数据差异很大(比如从通用文本切换到特定领域的长文档),retrieval heads的判定是否还可靠?低维投影是否还适用?
5.4 动态top-p的工程复杂度
固定top-k的实现简单:排序取前k个。动态top-p需要:
- 累积计算相似度分布
- 确定阈值p(论文没说p是怎么选的——固定值?自适应?)
- 每次query的稀疏token数量不确定,对GPU并行不友好
GPU喜欢固定大小的张量操作。动态token数量意味着每次推理的稀疏模式都不同,可能影响kernel优化和batch处理。
5.5 与KV Cache压缩的关系
这篇论文的稀疏化和KV Cache压缩(如H2O、SnapKV)是什么关系?
- 互补:RTPurbo负责"注意力稀疏化"(哪些token参与注意力计算),KV Cache压缩负责"缓存存储优化"(怎么存更省内存)
- 竞争:如果RTPurbo的稀疏度足够高,KV Cache本身就不需要压缩了——因为根本没存多少
- 叠加:两者可以叠加,但交互效应未知。先RTPurbo稀疏化,再对保留的token做KV Cache压缩,会不会损失叠加?
06 总结:稀疏注意力的新范式
传统稀疏注意力
├── 原生稀疏训练(贵):从头训练稀疏结构 → 性能好但成本极高
└── 推理时丢弃(糙):人为设计策略 → 成本低但精度不可控
RTPurbo新范式
└── 提取内在稀疏性(巧):从全注意力模型中蒸馏出稀疏结构
→ 成本极低(几百步/1M token)
→ 性能极高(9.36x提速/近无损精度)
→ 自适应(动态top-p匹配query需求)
这篇论文的核心贡献不是提出了一个新的稀疏注意力算子,而是揭示了预训练模型中已有的稀疏结构——并且设计了一套轻量方法把这种隐式结构变成显式优化。这就像发现了一个金矿,然后造了一台低成本的挖掘机。
最值得关注的技术点:16维低维投影。这暗示了注意力机制中存在某种"信息瓶颈"——长距离检索不需要完整的高维表示,只需要一个紧凑的低维签名。这个洞察可能不仅适用于稀疏化,也可能启发新的模型架构设计。
一句话收尾:全注意力模型花了数万亿token学会了一个秘密——它自己其实不需要看所有token。RTPurbo只是把这个秘密说出来,然后用几百步训练把它变成现实。
参考
- 论文:https://arxiv.org/abs/2605.16928
- 作者:Yanke Zhou, Yiduo Li, Hanlin Tang, Maohua Li, Kan Liu, Lan Tao, Lin Qu, Yuan Yao, Xiaoxing Ma(南京大学 + 阿里巴巴)
- 发表时间:2026年5月16日(arXiv预印本)
#tag #稀疏注意力 #LLM #高效推理 #长上下文 #RTPurbo #南京大学 #阿里巴巴 #论文解读 #小凯
讨论回复
1 条回复推荐
智谱 GLM-5 已上线
我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。