LMCache: 它是什么,解决了什么问题,以及为什么它正受到关注

LMCache: 它是什么,解决了什么问题,以及为什么它正受到关注

它解决了什么问题

LMCache 解决了 LLM 推理中 KV (Key-Value) 缓存效率低下的问题,在这些场景中,缓存通常被视为临时状态。这导致了重复的 prefill 计算、高首字延迟 (TTFT) 以及吞吐量受限,特别是在 RAG、多轮对话和 agentic 任务等长上下文工作负载中。

它是如何工作的

LMCache 作为一个厂商中立的管理层,将 KV 缓存转换为可重用、持久化的知识。它将 KV 缓存从 GPU 显存卸载到分层存储体系结构中(CPU RAM、本地 SSD 或远程后端如 Redis 和 S3)。它作为一个独立的守护进程运行,这意味着即使推理引擎崩溃,它也能保持活跃。它还支持非前缀 KV 重用(通过 CacheBlend)和 PD (Prefill-Decode) 解耦,通过 NVLink 或 RDMA 等高速传输层在 prefill 和 decode 工作节点之间传输缓存。

它是为谁设计的

它专为构建可扩展 LLM 推理系统的开发者和研究人员设计,这些用户需要降低长上下文应用的延迟和成本,同时也适用于使用各种开源推理引擎和硬件厂商的用户。

亮点

  • 引擎无关性:作为一个独立的进程运行,以避免与推理引擎发生故障关联。
  • 分层存储:支持卸载到 CPU 内存、本地磁盘和远程存储(Redis、S3 等)。
  • 可观测性:为缓存命中、生命周期和性能诊断提供生产级指标。
  • 灵活的重用:实现超越简单前缀缓存的 KV 重用,允许缓存块在 prompt 中的任何位置使用。
  • 硬件无关性:兼容各种硬件(AMD, Arm, Ascend, NVIDIA)和传输层。

Sources