[Paper] LLMCache:层级式缓存策略以加速 Transformer 推理中的复用

发布: (2025年12月19日 GMT+8 02:18)
6 min read
原文: arXiv

Source: arXiv - 2512.16843v1

概述

该论文介绍了 LLMCache,一种层级缓存系统,通过在新输入与先前见过的输入在语义上相似时复用中间激活,来加速 transformer 模型的推理。LLMCache 可以在任意 transformer 层工作且与模型无关,承诺在不牺牲准确性的前提下显著降低延迟,使其在实时和大规模部署中具有吸引力。

关键贡献

  • 逐层缓存框架,适用于仅编码器(如 BERT)和仅解码器(如 GPT‑2)架构。
  • 语义指纹:一种轻量级方法,用于检测新输入是否“足够接近”已缓存的输入,从而复用隐藏状态。
  • 自适应驱逐策略,在缓存新鲜度与内存压力之间取得平衡,防止陈旧激活影响模型质量。
  • 模型无关设计:无需对底层 Transformer 权重或训练流水线进行任何修改。
  • 实证验证,在三个基准(SQuAD、WikiText‑103、OpenBookQA)上显示最高 3.1× 加速,且 < 0.5 % 准确率下降

方法论

  1. 指纹生成 – 对于每个输入序列,LLMCache 计算一个紧凑的“语义指纹”(例如,从第一层 token 嵌入的低维投影中得到的短哈希)。
  2. 相似性查找 – 将指纹与缓存中已有的条目进行比较。如果匹配度超过可配置的相似性阈值,系统将新输入视为近似重复。
  3. 激活复用 – 不重新计算每一层,LLMCache 从最深的匹配层检索缓存的隐藏状态,并从该点继续前向传播。
  4. 缓存管理 – 自适应驱逐策略监控使用频率、最近程度以及新鲜度分数(基于缓存激活与当前模型参数的差距),决定丢弃哪些条目。
  5. 集成 – 缓存逻辑包装在标准 Transformer 前向传播周围,只需一个薄插件层;无需重新训练或对模型进行特定修改。

结果与发现

模型 / 任务基准延迟 (ms)LLMCache 延迟 (ms)加速比准确率 Δ
BERT‑Base (SQuAD)48163.0×–0.3 %
GPT‑2 (WikiText‑103)62203.1×–0.4 %
BERT‑Large (OpenBookQA)71282.5×–0.5 %
  • 缓存命中率 在 38 % 到 62 % 之间,取决于数据集的冗余程度,证实了许多真实世界的输入具有足够的语义重叠,可从复用中获益。
  • 内存开销 在单个 GPU 上,缓存 10 k 条目时保持在 1 GB 以下,远低于典型的生产预算。
  • 消融研究 表明,64 位指纹维度在命中率与冲突风险之间提供了最佳折中。

实际意义

  • 实时服务(聊天机器人、代码助手、搜索)可以在每次请求上节省数十毫秒,从而提升吞吐量并降低云成本。
  • 边缘部署(移动或物联网设备)因缓存减少了昂贵的矩阵乘法次数,获得在本地运行更大语言模型的可行路径。
  • 批处理流水线(例如文档摘要)可以在相似文档之间复用激活值,显著缩短总体推理时间,而无需修改模型。
  • 框架集成——作者发布了一个兼容 PyTorch 的库,只需在现有推理服务器(如 TorchServe、FastAPI)中添加一个装饰器即可使用,降低了采纳门槛。

限制与未来工作

  • 缓存效果依赖于输入的冗余度;高度多样的流(例如随机查询)会导致命中率低,从而限制加速效果。
  • 当前的指纹方案是静态的;动态的、学习得到的相似度度量可以捕获更丰富的语义。
  • 模型更新(例如微调)下的缓存一致性尚未充分研究——未来工作可以探索自动失效或版本化缓存。
  • 扩展到多 GPU 或分布式环境会引入同步开销;本文将分布式缓存一致性留作未解挑战。

总体而言,LLMCache 为开发者提供了一种务实、模型无关的工具,能够在不牺牲准确性的前提下进一步提升 Transformer 推理性能,是性能工程工具箱中的一项引人注目的补充。

作者

  • Harsh Vardhan Bansal

论文信息

  • arXiv ID: 2512.16843v1
  • 分类: cs.CL, cs.AI
  • 发布时间: 2025年12月18日
  • PDF: 下载 PDF
Back to Blog

相关文章

阅读更多 »