IndexCache— 清华联合智谱推出的稀疏注意力加速技术

千浩大大_9958

千浩大大_9958

2026-03-21

438人浏览

原创

indexcache 是什么

indexcache 是由清华大学与智谱(z.ai)联合研发的一种面向稀疏注意力机制的推理加速技术,专为优化 deepseek 提出的稀疏注意力(dsa)架构中索引器计算冗余问题而设计。其核心思想是利用相邻 transformer 层间 top-k token 选择的高度一致性(重叠率达 70%–100%),通过跨层索引缓存与复用策略,显著削减重复索引计算。该方法将模型层划分为“全量层”(执行完整索引计算并缓存结果)与“共享层”(跳过自身索引器,直接复用最近全量层输出),从而在不改动模型结构的前提下,消除约 75% 的索引器运算开销。实测表明,在 200k 长上下文场景下,预填充阶段提速达 1.82 倍,解码阶段提速 1.48 倍,且模型性能几乎无损。该技术已在 30b 参数 dsa 模型及 744b 参数 glm-5 大模型上完成端到端验证。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

IndexCache— 清华联合智谱推出的稀疏注意力加速技术

Deepseek Reasoner Lite Agent
Deepseek Reasoner Lite Agent

你是DeepSeek-R1-Agent,一个高效的内容创作者。

下载

IndexCache 的主要功能

  • 跨层索引复用机制:基于相邻层 top-k token 集合高达 70%–100% 的重合率,使共享层可安全复用全量层已生成的索引,彻底规避冗余计算。
  • 大幅压缩索引器负载:仅需保留原索引器总量的 25%,即可维持原始模型精度与响应质量。
  • 高效推理加速能力:在 200K 上下文长度下,实现预填充吞吐提升 1.82 倍、单 token 解码延迟降低 1.48 倍,显著缩短用户首 token 等待时间。
  • 零显存增量开销:复用逻辑仅依赖一个轻量级条件分支判断,完全复用 DSA 原有显存分配,无需额外 GPU 内存。
  • 双模部署支持:提供“无训练即插即用”方案(基于校准数据贪心搜索最优层配置)与“训练感知优化”方案(引入多层蒸馏损失协同训练索引器)。
  • 工业级兼容性:已深度集成至 SGLang 与 vLLM 推理框架,并在 DeepSeek-V3.2、GLM-5 等主流大模型上完成生产环境验证。

IndexCache 的技术原理

  • 层间索引相似性实证发现:研究团队通过对 DSA 模型各层索引器输出进行热力图可视化分析,确认相邻层所选 top-k token 具备极强一致性,重叠比例稳定处于 70% 至 100% 区间,揭示大量索引计算本质为低效重复。
  • 分层角色动态划分机制:将模型各层按功能区分——全量层(Full Layer)保留原始索引器,负责实时计算并更新缓存索引;共享层(Shared Layer)则完全禁用本地索引器,直接调用最近全量层缓存结果驱动稀疏注意力计算。
  • 自适应模式生成策略:针对已训练模型,采用基于小规模校准集的贪心搜索算法,逐层评估转换为共享层对最终输出的影响,保留关键层为全量层;对于新训练任务,则设计多层蒸馏损失函数,引导每个全量层索引器同步适配其后多个共享层的 token 选择需求。
  • 轻量化推理流程重构:推理时每层仅引入一次 if/else 判断,依据预设层角色表决定执行索引计算或索引复用,全程不修改模型权重、不新增参数、不扩展显存占用。

IndexCache 的关键信息与使用前提

  • 研发单位:清华大学与智谱(Z.ai)联合攻关成果。
  • 目标痛点:解决 DSA 架构在超长上下文(如 200K tokens)下索引器成为性能瓶颈的问题——该模块在此场景下占据预填充总耗时的 81%。
  • 理论基础:建立在相邻层索引高度重合(70%–100%)这一实证规律之上,以跨层复用替代重复计算。
  • 加速收益:仅保留 25% 索引器资源,即可达成预填充 1.82×、解码 1.48× 的端到端加速。
  • 精度表现:模型质量基本保持不变,部分任务(如长文本摘要、代码补全)甚至呈现轻微正向波动。
  • 验证规模:已在 30B 参数 DSA 模型与 744B 参数 GLM-5 超大规模模型上完成全链路验证。
  • 硬件依赖:需 NVIDIA GPU(推荐 H100/A100),但对显存无额外要求,复用 DSA 原有内存布局。
  • 软件生态:原生支持 SGLang 和 vLLM 推理引擎,提供开箱即用补丁,可快速适配 DeepSeek-V3.2、GLM-5 等主流稀疏注意力模型。
  • 迁移门槛:无训练方案适用于任意已发布的 DSA 模型,仅需少量校准样本(数百条 prompt)运行贪心搜索即可生成最优层配置。

IndexCache 的核心优势

  • 极致推理提速:200K 上下文下预填充速度提升 1.82 倍、单步解码延迟下降 1.48 倍,显著改善高延迟敏感型应用体验。
  • 零精度折损:剔除 75% 索引计算后,模型各项评测指标(如 MMLU、GSM8K、HumanEval)均保持基线水平,部分场景反超原始 DSA。
  • 零显存膨胀:全部优化通过单个条件分支实现,不引入任何新参数或缓存结构,显存占用与标准 DSA 完全一致。
  • 无缝集成能力:提供 SGLang/vLLM 官方兼容补丁,无需修改模型定义、不调整训练流程,可一键启用。
  • 部署灵活可调:支持“免训练部署”与“联合训练优化”两种路径,同时允许用户按需调节全量层占比(如 1/3、1/4、1/5),平衡速度与精度。
  • 大规模落地验证:已在 744B 参数 GLM-5 模型上完成千卡级集群压测,具备面向企业级 AI 服务的规模化部署能力。

IndexCache 的项目地址

IndexCache 的同类竞品对比

对比维度 IndexCache 原生 DSA Full Attention Anchor 方法
**核心机制** 跨层复用索引器输出的 top-k 索引 每层独立运行轻量级索引器 依赖全注意力锚点层复用索引
**计算开销** 去除 75% 索引器,预填充加速 1.82 倍 200K 上下文下索引器占 81% 预填充时间 需保留全注意力层,计算成本较高
**适用场景** 完全消除全注意力的 DSA 架构 标准 DSA 部署 需全注意力作为锚点的架构
**实现复杂度** 一个 if/else 分支,零额外显存 标准实现 需设计锚点层策略
**训练要求** 支持无训练部署或训练感知优化 需完整训练 通常需联合训练
**生产验证** 744B GLM-5 验证 DeepSeek-V3 生产应用 多为中小规模实验

IndexCache 的应用场景

  • 长文档智能解析:适用于科研论文精读、法律文书比对、金融尽调报告分析等需处理超长文本的任务,首 token 延迟降低 1.82 倍,大幅提升交互效率。
  • 复杂逻辑推理:支撑数学定理推导、多跳代码生成、因果链建模等需深度思维链展开的任务,解码加速 1.48 倍,加快中间步骤生成节奏。
  • 智能体(Agent)系统构建:赋能多轮工具调用、自主任务拆解与动态规划类 agentic 工作流,显著降低长上下文下的推理成本,增强 Agent 决策实时性。
  • RAG 增强生成系统:高效整合 Web-scale 检索返回的海量片段,在知识密集型问答、行业专家助手等场景中实现低延迟、高质量内容生成。
  • 实时对话服务平台:适配客服对话机器人、个人AI助手等高并发在线服务,提升 QPS 吞吐并降低单位请求推理成本,优化终端用户体验。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

deepseek

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
C语言变量命名
C语言变量命名

c语言变量名规则是:1、变量名以英文字母开头;2、变量名中的字母是区分大小写的;3、变量名不能是关键字;4、变量名中不能包含空格、标点符号和类型说明符。php中文网还提供c语言变量的相关下载、相关课程等内容,供大家免费下载使用。

2023.06.20

3369

3

c语言入门自学零基础
c语言入门自学零基础

C语言是当代人学习及生活中的必备基础知识,应用十分广泛,本专题为大家c语言入门自学零基础的相关文章,以及相关课程,感兴趣的朋友千万不要错过了。

2023.07.25

2368

9

c语言运算符的优先级顺序
c语言运算符的优先级顺序

c语言运算符的优先级顺序是括号运算符 > 一元运算符 > 算术运算符 > 移位运算符 > 关系运算符 > 位运算符 > 逻辑运算符 > 赋值运算符 > 逗号运算符。本专题为大家提供c语言运算符相关的各种文章、以及下载和课程。

2023.08.02

1300

5

c语言数据结构
c语言数据结构

数据结构是指将数据按照一定的方式组织和存储的方法。它是计算机科学中的重要概念,用来描述和解决实际问题中的数据组织和处理问题。数据结构可以分为线性结构和非线性结构。线性结构包括数组、链表、堆栈和队列等,而非线性结构包括树和图等。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.08.09

1258

4

c语言random函数用法
c语言random函数用法

c语言random函数用法:1、random.random,随机生成(0,1)之间的浮点数;2、random.randint,随机生成在范围之内的整数,两个参数分别表示上限和下限;3、random.randrange,在指定范围内,按指定基数递增的集合中获得一个随机数;4、random.choice,从序列中随机抽选一个数;5、random.shuffle,随机排序。

2023.09.05

1376

5

c语言const用法
c语言const用法

const是关键字,可以用于声明常量、函数参数中的const修饰符、const修饰函数返回值、const修饰指针。详细介绍:1、声明常量,const关键字可用于声明常量,常量的值在程序运行期间不可修改,常量可以是基本数据类型,如整数、浮点数、字符等,也可是自定义的数据类型;2、函数参数中的const修饰符,const关键字可用于函数的参数中,表示该参数在函数内部不可修改等等。

2023.09.20

2258

7

c语言get函数的用法
c语言get函数的用法

get函数是一个用于从输入流中获取字符的函数。可以从键盘、文件或其他输入设备中读取字符,并将其存储在指定的变量中。本文介绍了get函数的用法以及一些相关的注意事项。希望这篇文章能够帮助你更好地理解和使用get函数 。

2023.09.20

3660

8

c数组初始化的方法
c数组初始化的方法

c语言数组初始化的方法有直接赋值法、不完全初始化法、省略数组长度法和二维数组初始化法。详细介绍:1、直接赋值法,这种方法可以直接将数组的值进行初始化;2、不完全初始化法,。这种方法可以在一定程度上节省内存空间;3、省略数组长度法,这种方法可以让编译器自动计算数组的长度;4、二维数组初始化法等等。

2023.09.22

16935

6

c语言中null和NULL的区别
c语言中null和NULL的区别

c语言中null和NULL的区别是:null是C语言中的一个宏定义,通常用来表示一个空指针,可以用于初始化指针变量,或者在条件语句中判断指针是否为空;NULL是C语言中的一个预定义常量,通常用来表示一个空值,用于表示一个空的指针、空的指针数组或者空的结构体指针。

2023.09.22

549

3

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
腾讯元宝使用手册
腾讯元宝使用手册

共0课时 | 0人学习

DeepSeek手册
DeepSeek手册

共0课时 | 0人学习