ovg-project/kvcached

Virtualized Elastic KV Cache for Dynamic GPU Sharing and Beyond

解決的問題

LLM 服務引擎通常在啟動時為 KV 快取預留固定量的 GPU 記憶體,導致記憶體分割僵化,在執行多個模型或動態工作負載時 GPU 使用率低下。kvcached 透過實現彈性、需求驅動的 KV 快取配置,讓多個 LLM 能更靈活地共享 GPU 記憶體。

工作原理

它為 LLM 系統引入類似作業系統的虛擬記憶體抽象。透過將 GPU 虛擬位址與實體記憶體配置解耦,服務引擎可先預留虛擬記憶體,僅在快取實際使用時才以實體 GPU 記憶體進行背書。這使得記憶體能根據即時負載按需配置與回收。

適用對象

在資源受限環境中部署 LLM 的開發者與運維人員,需要在共享 GPU 上執行多個模型、實現無伺服器 LLM 部署,或與訓練、微調等其他 GPU 工作負載共置 LLM 推理。

主要特色

  • 彈性 KV 快取:根據實際需求動態配置與回收記憶體。
  • GPU 虛擬記憶體:透過執行時映射,將邏輯 KV 快取與實體記憶體解耦。
  • 引擎整合:作為插件支援主流服務引擎如 vLLM 和 SGLang。
  • 前綴快取:支援自動前綴快取(APC)與 RadixCache,實現跨請求複用。
  • 記憶體控制:包含 CLI 以強制執行記憶體限制。
  • 多模型支援:支援無需剛性分割的多個 LLM 同時部署。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案