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

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

它解決了什麼

Mooncake 透過將 prefill 與 decoding 叢集分離(PD 解耦)來改善傳統 LLM 服務的低效率。它透過建立一個解耦的 KVCache 池,解決了 CPU、DRAM 與 SSD 等硬體資源未被充分利用的問題,從而在長上下文情境下提升吞吐量與記憶體效率,克服傳統方法在滿足延遲服務等級目標(SLO)上的困難。

工作原理

Mooncake 實作了一個以 KVCache 為核心的架構,主要由以下三個元件組成:

  1. Transfer Engine (TE): 高效能資料傳輸框架,提供統一介面以在不同儲存與網路環境間搬移張量。它使用 RDMA、拓撲感知路由與多 NIC 帶寬聚合,實現遠高於一般 TCP 的資料傳輸速度。
  2. Mooncake Store: 建立於 Transfer Engine 之上的分散式鍵值快取儲存引擎。它在叢集間管理可重複使用的 KV 快取與模型權重,採用多層階層(DRAM 與 SSD/NVMe),提供與引擎重啟無關的彈性儲存。
  3. Mooncake EP 與 Process Group (PG): 這兩者擴展系統以支援大規模 Mixture-of-Experts(MoE)推論,提供容錯的專家平行分派,並且具備相容 PyTorch 的分散式 process‑group 後端,能在節點失效時恢復服務而不必重新啟動整個系統。

目標對象

Mooncake 針對大型 LLM 服務的開發者與營運者(例如 Kimi)以及推論引擎維護者(如 vLLM、SGLang、TensorRT‑LLM)設計,協助他們在高流量、長上下文的 AI 應用中最大化吞吐量與資源利用率。

重點特色

  • 高效能傳輸: 在 8×400 Gbps RoCE 網路中達到最高 190 GB/s 帶寬,遠快於 TCP。
  • PD 解耦: 將 prefill 與 decoding 分離,以最佳化資源使用與吞吐量。
  • 多層儲存: 結合 DRAM 與 SSD/NVMe,打造龐大且彈性的 KVCache 池。
  • 容錯 MoE: 支援專家平行推論,能在失效節點旁路,維持服務可用性。
  • 廣泛生態系整合: 已整合至 vLLM、SGLang、TensorRT‑LLM 與 PyTorch 生態系。

Sources