跳到主要内容
AI News HubLIVE
站内改写1 分钟阅读

用于混合和循环LLM服务的稀疏前缀缓存

文章摘要

一篇新论文介绍了稀疏前缀缓存,利用循环层从单一状态恢复的能力,通过在稀疏检查点存储精确的循环状态来优化LLM推理。一个O(NM)动态规划算法确定最佳检查点位置,在实际任务上优于标准启发式方法,减少了延迟。

来源arXiv Machine Learning作者: Mikhail Shirokikh, Sergey Nikolenko
用于混合和循环LLM服务的稀疏前缀缓存
报告错误

纠错通道尚未开通,可先复制下方文章信息留存。

查看更正说明
直接读正文

大型语言模型(LLM)推理中,前缀缓存是一种关键的延迟优化技术。然而,现有系统假设每令牌的键值(KV)缓存可以密集复用。状态空间模型(SSM)和循环层改变了问题结构:这些模型可以从单个存储的状态恢复,而不需要整个令牌历史。这种不对称性开启了一个新的设计点——在无复用和密集缓存之间:在稀疏的检查点位置存储精确的循环状态,并在缓存命中时从最深的存储检查点恢复,然后精确重新计算剩余后缀。

本文正式将稀疏前缀缓存定义为在重叠深度分布下的检查点放置问题,并提出了一个精确的O(NM)动态规划算法。在多个请求共享显著前缀(例如,针对同一长文档提出不同问题)的应用场景中,该方法在真实数据上持续改善了标准启发式方法所追踪的Pareto前沿。在QuALITY和System Prompts数据集上,基于分布感知的放置方法在每层组Pareto前沿上优于所有固定预算基线,并且匹配或超越了最强启发式方法(块缓存),同时使用的检查点数量通常更少。在低检查点预算下,当重叠分布最不均匀时,增益最大。

该方法在多个请求共享大量但不完全相同的前缀且这些前缀保留在缓存条目中时最为适用。它保持精确输出,不改变循环计算本身,也不需要新的循环更新内核。其适用于循环/SSM层,这些层的隐藏状态可以精确提取和恢复。对于混合模型,该方法可以与现有的KV缓存压缩技术结合使用。

此外,该方法的实现相对简单,因为不需要修改底层的循环计算方式,只需在检查点位置存储和恢复隐藏状态。这降低了部署门槛,使得在现有的推理系统中集成稀疏前缀缓存成为可能。论文中的实验表明,即使在较少的检查点预算下,该方法也能显著减少缓存未命中时的计算量,从而降低整体推理延迟。这对于需要处理大量具有公共前缀请求的服务(如多轮对话、文档问答等)尤其有价值。

展开要点与分析

文章情报

工程师进阶

要点

  • 现有前缀缓存假设密集的键/值重用,但状态空间模型可以从单一状态恢复。
  • 稀疏缓存在选定检查点存储循环状态,缓存命中时重新计算后缀。
  • 基于分布感知的检查点放置通过动态规划优于固定预算基线。
  • 方法保持精确输出,并与现有KV缓存压缩兼容。

要点与分析由自动化流程生成,可能有误,请结合原始来源核实。