
唐杰THU 7月14日更新:IndexCache 把稀疏注意力的索引计算省下来
追踪唐杰THU 7月14日最新微博,梳理 IndexCache 论文被 COLM 接收这一动态,并解释它如何通过跨层索引复用减少 DSA 稀疏注意力中的重复计算。
唐杰 THU 7 月 14 日的新微博,把关注点从模型发布转到一篇更底层的工程论文:团队论文 IndexCache: Accelerating Sparse Attention via Cross-Layer Index Reuse 已被大模型国际会议 COLM 接收。他在微博里给出的核心判断很直接:DSA 让注意力变快了,但每一层都重算索引仍然留下隐性的 O(L^2) 开销;IndexCache 的做法,是让相邻层复用相近的 token 选择结果,从而减少重复 indexer 计算。1
这不是一条单纯的论文喜报。它和唐杰 THU 近期反复提到的 GLM、长上下文、Coding 和长程任务是一条线:模型要做更长的任务,首先得把长上下文服务的成本压下来。
这条更新的重点
这条微博里最值得抓住的是一句话:DSA 的注意力主体变快了,indexer 还没有完全变便宜。
DSA 可以理解成一种稀疏注意力路线。普通注意力要让每个 token 和大量上下文互相比较,长度 L 一上去,计算量容易按 O(L^2) 膨胀。DSA 用一个轻量 indexer 先挑出更相关的 top-k token,把核心注意力从 O(L^2) 降到 O(Lk)。但论文指出,indexer 本身仍保留 O(L^2) 复杂度,而且每一层都要独立运行。2
IndexCache 针对的就是这笔容易被忽略的账。论文的观察是:连续层选出来的 top-k token 高度相似,并不是每一层都值得重新算一次索引。于是它把层分成两类:少数 Full layers 自己运行 indexer,多数 Shared layers 复用邻近 Full layer 的 top-k 索引。2
换句话说,它不是重新发明注意力,而是在问一个工程问题:既然相邻层大多在看同一批 token,为什么每层都要单独付一次找 token 的成本?
数字说明它改的是哪一段瓶颈
论文摘要给出了几组关键结果。它在 30B DSA 模型实验中移除了 75% 的 indexer 计算,质量退化可以忽略;相对标准 DSA,最高实现 1.82 倍 prefill 加速和 1.48 倍 decode 加速,并在生产规模 GLM-5 模型的初步实验中得到正向验证。2
这里的 prefill 指模型把长上下文先读进去、建好内部状态的阶段;decode 指模型逐 token 生成答案的阶段。对长文档、代码仓库、Agent 长任务来说,prefill 的成本尤其敏感,因为每次把大段上下文塞给模型,都要先付这笔读入成本。
| 观察点 | IndexCache 给出的做法 | 读者可以怎么理解 |
|---|---|---|
| DSA 主体注意力已从 O(L^2) 降到 O(Lk),但 indexer 仍可能按 O(L^2) 增长。2 | 不让每层都独立跑 indexer。 | 稀疏注意力不是只看 attention 主体,索引选择本身也会成为长上下文账单。 |
| 相邻层的 top-k token 选择高度相似。2 | 少数层计算索引,多数层复用索引。 | 如果几层都在看差不多的 token,重复寻找就是可优化项。 |
| 30B DSA 模型实验中,可移除 75% indexer 计算,并给出最高 1.82 倍 prefill、1.48 倍 decode 加速。2 | 把省下来的计算放在服务吞吐和长上下文延迟上。 | 这类优化对 1M 上下文、长程任务和高并发服务更有意义。 |
放回 GLM 线索里看
GLM-5.2 官方模型页也把这一方向写进了架构改进:其介绍中提到 IndexShare 会在每四个 sparse attention layers 之间复用同一个 indexer,并在 1M 上下文长度下把 per-token FLOPs 降低 2.9 倍。3
这和唐杰 THU 前面几条微博里的主题能接上:GLM-5.2 强调 Coding 与长任务,长任务又依赖更长上下文和更低服务成本。上次 6 月 29 日,他把 AI 时代的组织能力排成「认知 > 格局 > 技术 > 管理」;这次则是更具体的技术层更新:当模型想稳定处理 1M 级上下文,注意力架构里的每一笔重复计算都要被重新审视。1
对读者有什么用
如果你只是使用模型,这条更新的直接含义是:长上下文能力不只取决于「最大支持多少 token」,还取决于模型能不能以可接受的延迟和成本把这些 token 真正用起来。IndexCache 关注的就是这类背后的工程效率。
如果你在做模型部署或 Agent 应用,更值得看的不是「论文被接收」本身,而是它暴露出的优化方向:当上下文长度继续拉长,瓶颈可能不在一个显眼的大模块里,而在每层反复执行的小步骤里。把这些重复步骤找出来并复用,才是长程任务从演示走向稳定服务时必须补的账。
関連コンテンツ
- ログインするとコメントできます。
