DeepTech深科技 03月01日
可降低GPU内存的推理框架面世:韩国团队通过卸载键值缓存节约英伟达GPU内存,实现18.95倍注意力解码加速
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

InfiniteHiP是一款大模型推理框架,能将KV缓存置于主机内存,显著降低GPU内存压力,实现超长上下文推理,且在多个方面表现优异。

🎯InfiniteHiP能在推理中置KV缓存于主机内存,降GPU内存压力

🚀它实现了7.24倍的端到端解码加速,性能提升显著

💪采用多种优化策略,解决长上下文推理的多项挑战

🌟有效解决超长泛化问题,性能随上下文长度增加而提升

原创 罗以 2025-02-28 18:51 北京

DeepSeek 通过工程手段实现了 GPU 的良好利用,这一做法似乎引起了全球 AI 研究人员的共鸣。



DeepSeek 通过工程手段实现了 GPU 的良好利用,这一做法似乎引起了全球 AI 研究人员的共鸣。


近日,来自韩国科学技术院和 DeepAuto.ai 公司的研究人员,研发出一款名为 InfiniteHiP 的大模型推理框架。


InfiniteHiP 能在推理过程中将键值(KV,Key - Value)缓存置于主机内存,从而能够显著降低 GPU 内存压力。这一框架能在单个英伟达 L40s 48GB GPU 上处理多达 300 万个 tokens,并且不会永久丢失上下文信息。利用这一框架,研究人员在 100 万个 tokens 上下文中实现了 18.95 倍的注意力解码加速,并且完全无需额外训练。


同时,这一框架还能高效地利用长上下文,通过模块化分层 tokens 修剪算法,能够动态地消除不相关的上下文 tokens,从而能够提高模型效率。


(来源:arXiv


总的来说,InfiniteHiP 让预训练大模型能够实现超长的上下文推理。在不降低质量的前提下,能让模型超越了其原始上下文长度限制,同时可以通过高效的键值缓存卸载克服 GPU 的内存限制。


作为一种无需训练的解决方案,对于任何基于 Transformer 的预训练大模型来说,InfiniteHiP 都能充当一种直接的替代方案,因为它不仅可以在模型层面和硬件层面提供更快的推理速度,还能够延长上下文的可用长度。


从赫赫有名的注意力机制说起


对于基于 Transformer 的生成式大模型来说,扩展上下文长度至关重要。但是,对于大模型来说,处理非常长的上下文窗口却是一个重大挑战。一方面这会导致推理速度减慢,另一方面这会导致内存成本增加。此外,对于大多数已有的预训练大模型来说,它们往往无法超越其原始训练序列长度。


之所以存在这一难题,得从注意力机制说起。注意力机制——是模型的基本组成部分。注意力机制能够计算每个输入 token 与所有之前 token 之间的关系,随着输入序列长度的增加,这会导致计算成本和内存成本呈显出指数级增长。


键值缓存,则是注意力机制引起的另一个问题。在模型生成内容的过程中,此前计算的注意力键和值,会缓存在 GPU 内存之中,以供在必要时进行重用。但是,键值缓存大小会随着上下文长度出现线性变化,从而会给长上下文推理带来挑战。


此前,人们已经提出各种方法来降低注意力机制的高成本。在这些方法之中,有一种名为 FlashAttention(FA2)的方法,它是一种用于加速 Transformer 模型注意力计算的技术,通过避免将整个注意力得分矩阵写入全局 GPU 内存,以此来降低内存消耗和带宽利用率。然而,FA2 并没有降低计算成本。


为了减轻键值缓存的内存负担,业内人士做出了不少努力。比如,一种名为“KV 缓存驱逐”的方法,通过选择性地“遗忘”此前上下文来节省 GPU 内存。


然而,这些方法都会永久地删除此前上下文,而这些上下文很有可能还会被用到。


此前,有研究人员提出了 HiP 注意力机制,它能将不常访问的“冷 token”卸载到更大、更便宜的主机内存中,仅在需要使用时将它们提取回 GPU,同时只将那些需要经常访问的“热 token”保留在 GPU 上。


尽管上述优化起到一定作用,但是上下文扩展的所面临的另一个问题仍然存在:即预训练大模型无法处理超过其训练上下文长度的输入。


由于注意力机制是排列不变的,于是人们开始利用旋转位置嵌入(RoPE,Rotary Positional Embeddings)等位置嵌入方法来模拟 tokens 的时间顺序。


然而,由于大模型通常在固定长度的序列上进行预训练,因此当遇到更长的上下文提示时,它们无法适应那些没有见过的位置。


为了解决这一问题,人们采用了长上下文微调的方法,即在一组较长的输入上针对模型进行微调。然而,进行微调特别是针对长序列进行微调,既需要高昂的训练成本,也需要高质量的训练数据。


正因此,超长泛化(OOL,out-of-length)能力变得越来越重要。超长泛化指的是:在没有训练的情况下,预训练模型的能力远远超出其预训练极限。而作为一款长上下文大模型框架,InfiniteHiP 综合了上述所有方法的优点。


实现 7.24 倍的端到端解码加速


具体来说,为了减轻注意力的计算负担,研究人员基于 InfiniteHiP 提出一种模块化稀疏注意力新方案,该方案能够最大限度地减少不太重要的上下文的计算量。


为了优化键值缓存卸载,InfiniteHiP 通过基于 LRU 的缓存策略,增强了 HiP 注意力的卸载策略。(注:LRU 是 Least Recently Used 的缩写,中文意思为“最近最少使用”,这是一种常用的置换算法。)


基于大模型内部的注意力模式,InfiniteHiP 能够在不同组件之内,通过仔细应用各种 RoPE 调整策略来实现超长泛化。


InfiniteHiP 的另一个独特之处,在于它对修剪模块的创新使用。对于修剪模块来说,它能够通过采用一种新颖的模块化分层修剪算法,以便有选择性地丢弃不太重要的输入 token。


每个剪枝模块都能将输入序列划分为长度为固定值的块,同时也能并行识别出每个块中注意力得分最高的近似 token。而只有最重要的前 K 个块(其中 K 为常数)会被传递到下一个模块,其余的则会被丢弃。


通过堆叠多个剪枝模块,InfiniteHiP 能够针对块稀疏注意力掩码加以迭代优化。(注:块稀疏注意力掩码的英文是 Block Sparse Attention Mask,这是一种在处理长序列数据时用于优化注意力机制的技术,它通过将输入序列划分为较小的块(blocks),并在这些块内应用稀疏注意力,从而减少计算复杂度和内存消耗。)


(来源:arXiv


尽管 InfiniteHiP 是基于前人所提出的 HiP 打造而来,但它引入了几个关键性改进:


其一,与 HiP 框架基于启发式的分层修剪相比,InfiniteHiP 的分层修剪模块实现了更高的准确性。


其二,由于并行性得到增强,每个模块内的修剪算法速度明显变得更快。


其三,InfiniteHiP 采用模块化设计的方案,故能针对修剪阶段的缓存进行细粒度控制,从而能够实现更快的解码。


在 SGLang 大模型服务框架上,研究人员证明了 InfiniteHiP 的有效性。实验结果显示:在 3M token 上下文上,InfiniteHiP 能够实现 7.24 倍的端到端解码加速。


如下表所示,与表现最佳的基线大模型相比,基于 InfiniteHiP 这一框架,让 Llama 3 的相对得分提高 7.17%,让 Mistral 0.2 的相对得分提高 3.19%。


(来源:arXiv


与表现最佳的基线大模型相比,InfiniteHiP 在上述两个模型中,通过稀疏注意力所处理的密钥 tokens 减少了四分之三,从而能够产生更好的解码延迟。


为了进一步展示 InfiniteHiP 的超长泛化能力,研究人员将 Bench 的英语多项选择得分,在不同上下文长度下与 Llama 3.1 8B 模型进行对比。


(来源:arXiv


结果发现:随着上下文长度的增加,InfiniteHiP 的性能持续提升。而那些不具备超长泛化能力的基线模型,在超出预训练上下文长度(128K)后,性能会显著下降。


同时,研究人员还针对其他短上下文大型语言模型进行了实验。在这些短上下文模型中,研究人员在扩展上下文环境下观察到了十分显著的性能提升。


例如:与 FA2 方法相比,当在 Gemma2 模型中使用 InfiniteHiP 时,其在英语多项选择任务中得到 24.45% 以上的性能提升,在英语问答任务中得到 22.03% 以上的性能提升。


(来源:arXiv


解决长上下文推理问题,能通过键值缓存卸载节约 GPU 内存


与此同时,研究人员分析了 InfiniteHiP 中各个组件的延迟情况以及它们所产生的影响。


具体来说,研究人员分析了 InfiniteHiP 在 100 万 tokens 上下文中的延迟情况,并将其与能够产生相似基准测试分数的基线模型进行比较。


研究人员先是测量了注意力方法的延迟,在进行 100 万 tokens 的预填充时,其发现 InfiniteHiP 分别比 FA2 快 20.29 倍,比 InfLLM 出快 6%,并且与 HiP 的延迟相近。


在进行 100 万 tokens 上下文的解码时,InfiniteHiP 分别比 FA2 方法快 19.85 倍、比 InfLLM 快 4.98 倍、比 HiP 快 92%。


当启用上下文扩展时,针对预计算的余弦向量和正弦向量进行额外内存读取会产生开销,而 InfiniteHiP 在预填充时的速度会减慢约 1.6 倍,在解码时会减慢 5%。


在启用上下文扩展的预填充过程中,InfiniteHiP 比 InfLLM 慢 50%,但是在解码过程中却明显更快,这是因为解码过程会受到内存的限制。在 3k tokens 的上下文窗口之下,InfiniteHiP 读取的上下文 tokens 数量,比 InfLLM 在 12k tokens 的上下文窗口下读取的要少。


与此同时,研究人员在一个密码密钥检索任务样本上,测量了启用键值缓存卸载时的解码延迟。


在 256K 上下文解码中,InfiniteHiP 比 InfLLM 快 3.64 倍。InfLLM 在执行其注意力核时,采用的是不访问 CPU 内存的方法,因此不得不牺牲前 k 个估计算法的精度,这就需要更大的块大小和上下文窗口大小,来维持模型在下游任务上的性能。


相比之下,InfiniteHiP 在注意力核执行期间访问 CPU 内存,这为算法设计提供了更大的灵活性,在下游自然语言理解任务表现更佳。


在下图中,研究人员展示了使用英伟达 RTX 4090(24GB)和英伟达 L40S(48GB)GPU 的方法的解码吞吐量。在英伟达 RTX 4090(24GB)上,与 SRT(SGlang Runtime with FlashInfer)的预估解码吞吐量相比,研究人员的方法在 1M 上下文长度下实现了 3.20 倍的吞吐量。在英伟达 L40S(48GB)GPU 上,研究人员的方法在 3M 上下文长度下比 SRT 高出 7.25 倍。


(来源:arXiv


在下图中,研究人员证明 InfiniteHiP 对于重要 tokens 具有更好的覆盖范围,这意味着关键 tokens 的注意力概率具有更高的召回率(recall)。更好的召回率表明,InfiniteHiP 比基线方法能够更紧密地遵循预训练的注意力模式。


(来源:arXiv


而在下图中,研究人员通过进行消融研究,找到了每种设置的延迟性能最优修剪模块组合。


(来源:arXiv


这些实验均说明:InfiniteHiP 是一个无需训练的大模型推理框架,它能够被用于高效的长上下文推理,支持超线性泛化和动态键值缓存卸载。


同时,它也有效解决了长上下文大模型推理中的三个主要挑战:不仅解决了长上下文的高效推理的问题,也解决了超长泛化的问题,并能在不“遗忘”此前上下文的同时,通过键值缓存卸载来节约 GPU 内存。



参考资料:

https://arxiv.org/pdf/2502.08910


运营/排版:何晨龙





01/ 加州初创公司打造量子光芯片,采用格芯45nm工艺,称已实现全球性能最高的光子量子比特


02/ 给废旧电池“打一针”可无损修复?复旦团队用AI设计有机锂载体分子,有望从源头解决电池大规模报废问题


03/ 特朗普摧毁美国科研系统,过去一个月发生了什么?


04/ 港科大学者研发液晶弹性体,能提起自重450倍的重物,可用于人造肌肉和仿生机器


05/ 科学家实现微纳机器人集群协同运动,为机器人大规模集群应用奠定基础



阅读原文

跳转微信打开

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

InfiniteHiP 大模型推理 长上下文 GPU内存
相关文章