LMCache/LMCache

LMCache: Supercharge Your LLM with the Fastest KV Cache Layer

解決的問題

LMCache 解決了 LLM 推理中 Key-Value (KV) 快取效率低下的問題,因為 KV 快取通常被視為暫時狀態。透過將 KV 快取轉換為可重用的持久知識,LMCache 縮短了首字回應時間 (TTFT) 並提高了吞吐量,特別是對於重複的 prefill 計算成為主要瓶頸的長上下文代理工作負載、多輪對話和 RAG 應用。

工作原理

LMCache 作為一個中立於廠商的管理層,位於推理引擎與儲存之間。它將 KV 快取作為獨立的守護進程進行管理,防止引擎崩潰時發生快取遺失。它採用分層儲存體系(CPU 記憶體、本地 SSD 以及 Redis 或 S3 等遠端後端)來跨不同的請求、對話和引擎實例卸載並重用快取。

除了簡單的前綴快取外,它還透過 CacheBlend 支援非前綴 KV 重用,以選擇性地重新計算 Token。它還支援 Prefill-Decode (PD) 解耦,透過 NVLink、RDMA 或 TCP 將 KV 快取從 prefill 工作節點傳輸到 decode 工作節點。

適用對象

需要優化長上下文或多輪互動效能,且不希望被特定推理引擎或硬體廠商綁定的構建可擴展 LLM 服務系統的開發人員與基礎設施提供商。

亮點

  • 引擎無關的部署:KV 快取由獨立的守護進程管理,確保即使推理引擎崩潰,快取依然存在。
  • 持久化分層儲存:將 KV 快取卸載到 CPU RAM、本地磁碟和遠端後端(如 Redis、S3),實現跨對話重用。
  • 可插拔後端:支援廣泛的傳輸與儲存提供商,包括 NVLink、RDMA、Redis 和相容 S3 的儲存。
  • 非前綴重用:可以重用提示詞中任何位置的快取 KV 區塊,而不僅僅是開頭部分。
  • 生產級可觀測性:提供有關快取命中、生命週期和效能診斷的詳細指標。
  • KV 轉換:為研究人員實現自定義壓縮與序列化提供靈活的介面。