C
ChaoBro

Full Attention 的反击:RTPurbo 用几百步训练把全注意力模型变成稀疏模型

Full Attention 的反击:RTPurbo 用几百步训练把全注意力模型变成稀疏模型

长上下文推理的瓶颈全在注意力机制上。KV cache 随上下文线性增长,注意力计算随上下文平方增长——百万 token 的输入算一次 prefill,显卡风扇能起飞。

现有的解决方案要么是原生稀疏训练(从头训练一个稀疏注意力模型,成本极高),要么是启发式 token 驱逐(推理时随便扔掉一些 token,精度看运气)。RTPurbo 这篇论文(arXiv:2605.16928,周彦柯等,2026年5月16日)说:都不用。

三个观察

第一,只有少数注意力头真正需要完整的长上下文处理能力。 大部分头在长距离检索上根本就是无效的——它们关注的模式很短、很局部。真正做检索的只是少数几个"retrieval heads"。

第二,长距离检索主要由一个低维子空间控制。 论文证明,用一个 16 维的 token indexer 就能高效检索相关 token。16 维,不是 128 维,更不是全维度。

第三,有用 token 的预算强烈依赖于 query 本身。 有些问题只需要看几个关键 token,有些需要扫描一大段。所以动态 top-p 选择比固定 top-k 稀疏化更合适——让模型自己决定要看多少。

RTPurbo 怎么做

基于这三个观察,RTPurbo 的方案是:只为 retrieval heads 保留完整的 KV cache,其余头用一个轻量级的 token indexer 做稀疏注意力。

关键突破是:这个转换只需要几百步训练。不需要从预训练就开始稀疏化,不需要重建数据管线。拿一个已经训好的全注意力模型,微调几百步就行。

效果

长上下文基准和推理任务上,精度几乎无损。1M 上下文的 prefill 速度提升 9.36 倍,decode 速度提升 2.01 倍。

9 倍是什么概念?如果原来百万 token 的 prefill 要 30 秒,现在大概 3 秒。对需要处理长文档、长代码库、长对话的应用来说,这不是"优化",是可用性从"不行"到"行"的跃迁。

为什么值得在意

过去几年,稀疏注意力的研究走了一条很重的路:设计复杂的稀疏模式、从头训练、做各种 trade-off。RTPurbo 说:模型本身已经够稀疏了,你只需要把它"揭示"出来。

这让我想到剪枝研究的类似轨迹——早期大家觉得剪枝需要重新训练或者复杂的稀疏约束,后来发现大部分模型有巨大的冗余,简单的后训练剪枝就能工作。稀疏注意力可能也在走这条路。

当然,论文只测了几个模型。RTPurbo 在不同架构、不同训练阶段的模型上效果如何,还需要更多验证。但方法论本身足够简单——如果这个观察成立,现有的全注意力模型群可能都可以通过几百步微调获得稀疏推理能力。

我比较关心的是:16 维 indexer 的 16 是超参数还是理论推导出来的?论文说是经验结果,那在不同模型上这个维度会不会变?如果每个模型都需要调这个数,工程成本就上去了。

主要来源:

  • arXiv:2605.16928, Full Attention Strikes Back: Transferring Full Attention into Sparse within Hundred Training Steps, Yanke Zhou et al., 2026-05-16