LMCache: 它是什麼、解決什麼問題以及為什麼受到關注

LMCache: 它是什麼、解決什麼問題以及為什麼受到關注

它解決了什麼問題

LMCache 解決了 LLM 推論中 KV (Key-Value) 快取效率低下的問題,在這些場景中,快取通常被視為暫時性的狀態。這會導致重複的 prefill 計算、高首字延遲 (TTFT) 以及吞吐量受限,特別是在 RAG、多輪對話和 agentic tasks 等長文本工作負載中。

運作方式

LMCache 作為一個與供應商無關的管理層,將 KV 快取轉換為可重複使用的持久化知識。它將 KV 快取從 GPU 記憶體卸載到分層儲存層級(CPU RAM、本地 SSD 或遠端後端如 Redis 和 S3)。它以獨立的守護進程 (daemon process) 運作,這意味著即使推論引擎崩潰,它仍能保持活躍。它還支援非前綴 KV 重用(透過 CacheBlend)和 PD (Prefill-Decode) 解耦,透過 NVLink 或 RDMA 等高速傳輸層在 prefill 和 decode 工作節點之間傳輸快取。

適用對象

它專為開發者和研究人員設計,這些開發者和研究人員正在構建可擴展的 LLM 推論系統,需要降低長文本應用的延遲和成本,以及使用各種開源推論引擎和硬體供應商的人員。

重點特性

  • 引擎無關性:以獨立進程運作,以避免與推論引擎發生連帶失效 (fate-sharing)。
  • 分層儲存:支援卸載到 CPU 記憶體、本地磁碟和遠端儲存 (Redis, S3 等)。
  • 可觀測性:提供生產級別的指標,用於快取命中率、生命週期和效能診斷。
  • 靈活的重用:實現了超越簡單前綴快取的 KV 重用,允許快取的區塊在提示詞 (prompt) 的任何位置使用。
  • 硬體無關性:相容於各種硬體 (AMD, Arm, Ascend, NVIDIA) 和傳輸層。

Sources