您启用了稀疏注意力机制。您的模型在 128K 词元长度下仍然性能瓶颈严重。问题在于索引器——而 PIVOT 无需改动您的模型权重即可解决此问题。
内容摘要
- 稀疏注意力机制的索引器会对每个查询的所有 L 个词元进行评分 → 复杂度仍为 O(L²)
- PIVOT 将邻近的查询分组(这些查询选择的顶部 k 个词元重叠率约 90%),每组仅执行一次代理扫描 → 复杂度降为 O(L²/g)
- 结果:在 DeepSeek-V3.2 和 GLM-5.1 模型上,索引器速度提升 4 倍,端到端延迟降低 1.6 倍
- 无需训练:在推理阶段直接插入现有的动态稀疏注意力模型中即可使用
- 两种模式:PIVOT-复用(速度最快)和 PIVOT-精炼(精度匹配稠密索引器)
问题所在
动态稀疏注意力机制本应加速长上下文推理。其流程为:对所有词元评分 → 选取顶部 k 个 → 仅关注这 k 个词元。复杂度从 O(L²) 降至 O(L·k)。
然而,对所有词元评分本身也是 O(L²) 复杂度。“索引器”需要对每个查询位置进行完整的 O(L) 扫描。若有 L 个查询,复杂度又回到了 O(L²)。在 100K 词元长度下,索引器主导了延迟。稀疏注意力机制沦为空谈。
工作原理
观察 1:相邻查询的顶部 k 个词元选择共享约 90% —— 它们处理的上下文几乎相同。
观察 2:索引器评分呈长尾分布——代理查询能产生可靠的候选集。
PIVOT 算法:
组 = [q_i, q_{i+1}, ..., q_{i+g-1}]
代理_q = 均值(组)
# 仅一次扫描,而非 g 次扫描
评分 = 代理_q · K[:i] # O(L)
C = 顶部-K(评分) # 候选集,K = 2 × top_k
# 逐查询精炼(PIVOT-精炼)
for q in 组:
精炼评分 = q · K[C] # O(K),而非 O(L)
最终索引[q] = 顶部-k(精炼评分)
索引器成本:O(L²) → O(L²/g)。当 g=8 时,完整扫描次数减少 8 倍。
代码展示
免责声明:本文内容来自互联网,该文观点不代表本站观点。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请到页面底部单击反馈,一经查实,本站将立刻删除。