处理 20 万 token 的大型语言模型既昂贵又缓慢:上下文越长,成本飙升越快。清华大学和 Z.ai 的研究人员开发了 IndexCache 技术,可在稀疏注意力模型中减少高达 75% 的冗余计算,在 20 万 token 上下文长度下实现最高 1.82 倍的首 token 延迟加速和 1.48 倍的生成吞吐量提升。

DSA 架构的瓶颈

大语言模型依赖自注意力机制——模型计算上下文中每个 token 与所有前序 token 的关系来预测下一个 token。然而,自注意力有严重局限:计算复杂度随序列长度二次增长。对于需要扩展上下文窗口的应用(大型文档处理、多步代理工作流、长思维链推理),这种二次扩展导致推理速度缓慢和显著的内存成本。

稀疏注意力提供了解决方案:让每个查询只选择和关注最相关的 token 子集,而非计算每个 token 与所有前序 token 的关系。DeepSeek 稀疏注意力(DSA)是这一概念的高效实现,在模型每一层引入轻量级”闪电索引器”,对所有前序 token 评分并选择一小批供核心注意力机制处理。

但研究人员发现了遗留缺陷:DSA 索引器本身在每一层仍以二次复杂度运行。虽然索引器比主注意力过程计算成本低,但随着上下文长度增长,模型运行这些索引器的时间急剧增加,严重拖慢模型速度。

跨层冗余的关键发现

研究团队发现了 DSA 模型处理数据的关键特征:索引器选择的重要 token 子集在连续 transformer 层间保持惊人稳定。对 DSA 模型的实证测试表明,相邻层共享 70% 到 100% 的选定 token。

IndexCache 将模型层分为两类:少量全层保留索引器,主动评分 token 并选择最重要的缓存;其余层变为共享层,不执行索引,直接复用最近全层的缓存索引。

推理时,模型只需检查层类型。如果是全层,计算并缓存新索引;如果是共享层,跳过计算直接复制缓存数据。

两种部署方案

对于使用现成 DSA 模型的开发者,研究团队创建了无需训练的方法,通过”贪婪层选择”算法自动确定全层和共享层的最优位置,无需任何权重更新。实证表明,贪婪算法可安全移除 75% 的索引器,同时匹配原模型的下游性能。

对于预训练或重度微调自己基础模型的团队,研究提出训练感知版本,引入”多层蒸馏损失”,强制每个保留的索引器学习选择对所有后续层高度相关的共识 token 子集。

生产模型的实际加速

研究团队在 300 亿参数的 GLM-4.7 Flash 模型上测试 IndexCache。在 20 万上下文长度下,移除 75% 索引器将预填充延迟从 19.5 秒降至 10.7 秒,实现 1.82 倍加速。解码阶段,单请求吞吐量从每秒 58 token 提升到 86 token,实现 1.48 倍加速。服务器内存被请求完全饱和时,总解码吞吐量提升高达 51%。

对于企业团队,这些效率增益直接转化为成本节省。研究人员表示,IndexCache 在长上下文工作负载(如 RAG、文档分析、代理流水线)中收益最明显,部署成本降低至少约 20%,用户感知延迟有类似改善。

更值得注意的是,效率提升未牺牲推理能力。使用无训练方法移除 75% 索引器后,300 亿参数模型在长上下文基准测试中匹配原基线平均分,在复杂的 AIME 2025 数学推理基准上甚至超越原基线(92.6 vs 91.0)。

团队还在生产级 7440 亿参数 GLM-5 模型上进行了初步实验:移除 75% 索引器在 10 万 token 以上上下文中实现至少 1.3 倍加速,同时在长上下文任务上保持几乎相同的质量。

IndexCache 的 GitHub 补丁已可用于 vLLM 和 SGLang 等主流推理引擎,开发者可轻松集成到现有推理栈中。