模型 / 資料集
kvcache-ai/Mooncake avatar
kvcache-ai/Mooncake

Mooncake:Kimi 背後的 KV 快取中心化服務平台

Mooncake是Moonshot AI提供的領先的LLM服務Kimi的服務平台。

6,578 個 Star1,222 個 ForkC++Apache-2.0

秒懂

它是什麼?
以原始碼為依據,介紹 Mooncake 的 Transfer Engine、Store 與 EP/PG 元件、SGLang 與 vLLM 整合,以及 README 未說明的部分。
適合誰用?
適合工作內容與 Mooncake README 所列範圍相符,且能維護其依賴、設定與權限的團隊;不適合把文件未承諾的相容性、效能或安全結果當成既定事實。先在隔離環境執行「pip install mooncake-transfer-engine」,保存版本、輸入、輸出、錯誤與清理結果,再依這個專案的實際表現決定是否納入正式流程。
可以商用嗎?
可以。Apache-2.0 是寬鬆授權:你可以使用、修改並販售以它為基礎的軟體,只需保留著作權與授權聲明。
還在維護嗎?
有在維護。儲存庫最近一次提交在 1 天前。
用什麼語言寫的?
主要是 C++(依據 GitHub 的語言統計)。

以上回答依據專案的 GitHub 資料(最近同步於 2026年9月15日)與我們的分析,不構成法律意見。

開源專案深度解析

Kimi 背後的服務平台(kvcache-ai-mooncake-deep-analysis-1)

README 開篇將 Mooncake 定義為 Kimi 的服務平台,Kimi 是 Moonshot AI 提供的 LLM 服務,同時將其描述為大規模 LLM 推論與訓練的基礎設施專案。核心想法是 KV 快取中心化的分離式架構:prefill 與 decode 叢集彼此分離,GPU 叢集中原本利用不足的 CPU、DRAM 與 SSD 資源被彙整成分離式 KV 快取池。README 稱在真實工作負載下,此架構讓 Kimi 在符合服務水準目標的前提下多處理 75% 的請求。該數字是對 Kimi 生產工作負載的陳述,README 未提供獨立基準。

針對 Mooncake,第 1 節應連同專案識別字 kvcache-ai-mooncake-deep-analysis 來閱讀。README 明確可核對的入口是「pip install mooncake-transfer-engine」。執行時記錄命令版本、設定檔位置、輸入內容、標準輸出與錯誤訊息;若該步驟需要外部服務或特定權限,也把實際回應和清理結果分開保存。這些記錄能把文件描述與本機結果對上,未被 README 說明的行為則保留為未知。

在 Mooncake 的情境中,評估重點是這個入口是否產生預期的專案輸出,以及失敗時是否能指出具體原因。不要用倉庫星數替代測試,也不要把其他工具的慣例套到 kvcache-ai-mooncake-deep-analysis。

第 1 節的實作核對可再觀察 Mooncake 的輸出檔、服務日誌或終端回應,並將成功與失敗案例分開。若 README 沒有指定預設值,便以實際設定明確記錄,而不是推測 kvcache-ai-mooncake-deep-analysis 的行為。

Mooncake 第 1 節的核對紀錄還應包含執行環境、輸入大小、完成時間與退出狀態。對 kvcache-ai-mooncake-deep-analysis 而言,這些欄位可用來比較兩次執行是否真的走過相同路徑;若輸出只在畫面短暫出現,應另存終端記錄,若產生檔案則記錄相對路徑與檔案內容摘要。

Transfer Engine:資料移動核心(kvcache-ai-mooncake-deep-analysis-2)

Transfer Engine(TE)被描述為 Mooncake 的核心,是高效能資料傳輸框架,為跨儲存、網路與加速器環境的批次資料移動提供統一介面。README 列出對多個 RDMA 網卡以聚合頻寬的支援、依據來源與目標位置(如 NUMA 親和性)的拓撲感知路徑選擇,以及傳輸失敗時自動改用替代路徑。在 40 GB 資料量下,README 報告在 4×200 Gbps 與 8×400 Gbps RoCE 網路中分別達到最高 87 GB/s 與 190 GB/s,約為 TCP 的 2.4 倍與 4.6 倍。TE 也涵蓋 TCP、RDMA、AWS EFA、NVMe-oF、NVLink、HIP、Barex、CXL 與 Ascend 系列傳輸。頻寬數字為原文所載,README 除網路類型外未說明測試配置。

針對 Mooncake,第 2 節應連同專案識別字 kvcache-ai-mooncake-deep-analysis 來閱讀。README 明確可核對的入口是「pip install mooncake-transfer-engine」。執行時記錄命令版本、設定檔位置、輸入內容、標準輸出與錯誤訊息;若該步驟需要外部服務或特定權限,也把實際回應和清理結果分開保存。這些記錄能把文件描述與本機結果對上,未被 README 說明的行為則保留為未知。

第 2 節的實作核對可再觀察 Mooncake 的輸出檔、服務日誌或終端回應,並將成功與失敗案例分開。若 README 沒有指定預設值,便以實際設定明確記錄,而不是推測 kvcache-ai-mooncake-deep-analysis 的行為。

Mooncake 第 2 節的核對紀錄還應包含執行環境、輸入大小、完成時間與退出狀態。對 kvcache-ai-mooncake-deep-analysis 而言,這些欄位可用來比較兩次執行是否真的走過相同路徑;若輸出只在畫面短暫出現,應另存終端記錄,若產生檔案則記錄相對路徑與檔案內容摘要。

Mooncake Store:分散式 KV 快取池(kvcache-ai-mooncake-deep-analysis-3)

Mooncake Store 是基於 Transfer Engine 建置的分散式鍵值快取儲存引擎。README 稱它在推論叢集中儲存與管理可重複使用的 KV 快取與模型權重,支援物件儲存、複製、淘汰與高頻寬傳輸,並描述跨 DRAM 與 SSD/NVMe 的多層快取層級、大物件條帶化、平行 I/O 與端到端零複製傳輸。Store 將 KV 快取儲存與推論引擎解耦,儲存節點可動態增刪,快取資料不因引擎重啟、升級或排程決策而遺失。應用可透過每物件策略控制放置與生命週期,包括副本數、偏好分段、軟固定與硬固定。README 未公佈 Store 自身的吞吐或容量數字。

針對 Mooncake,第 3 節應連同專案識別字 kvcache-ai-mooncake-deep-analysis 來閱讀。README 明確可核對的入口是「pip install mooncake-transfer-engine」。執行時記錄命令版本、設定檔位置、輸入內容、標準輸出與錯誤訊息;若該步驟需要外部服務或特定權限,也把實際回應和清理結果分開保存。這些記錄能把文件描述與本機結果對上,未被 README 說明的行為則保留為未知。

第 3 節的實作核對可再觀察 Mooncake 的輸出檔、服務日誌或終端回應,並將成功與失敗案例分開。若 README 沒有指定預設值,便以實際設定明確記錄,而不是推測 kvcache-ai-mooncake-deep-analysis 的行為。

Mooncake 第 3 節的核對紀錄還應包含執行環境、輸入大小、完成時間與退出狀態。對 kvcache-ai-mooncake-deep-analysis 而言,這些欄位可用來比較兩次執行是否真的走過相同路徑;若輸出只在畫面短暫出現,應另存終端記錄,若產生檔案則記錄相對路徑與檔案內容摘要。

EP 與 PG:MoE 推論的容錯(kvcache-ai-mooncake-deep-analysis-4)

Mooncake EP 與 Mooncake PG 將專案從資料移動擴展到大型 MoE 推論的分散式執行。Mooncake EP 在 DeepEP 風格的專家平行 dispatch 與 combine 操作中加入活躍 rank 感知,讓系統能繞過失效 rank 繼續服務。Mooncake PG 是 PyTorch 分散式程序群組後端,支援 all_gather 等標準集合通訊,可偵測失效 rank、向上層報告故障並在不重啟整個推論服務的情況下恢復 rank。README 稱 EP 的 API 與 DeepEP 低延遲模式大致一致。這些能力均為文字描述,README 未提供 EP 或 PG 的延遲或恢復時間測量。

針對 Mooncake,第 4 節應連同專案識別字 kvcache-ai-mooncake-deep-analysis 來閱讀。README 明確可核對的入口是「pip install mooncake-transfer-engine」。執行時記錄命令版本、設定檔位置、輸入內容、標準輸出與錯誤訊息;若該步驟需要外部服務或特定權限,也把實際回應和清理結果分開保存。這些記錄能把文件描述與本機結果對上,未被 README 說明的行為則保留為未知。

第 4 節的實作核對可再觀察 Mooncake 的輸出檔、服務日誌或終端回應,並將成功與失敗案例分開。若 README 沒有指定預設值,便以實際設定明確記錄,而不是推測 kvcache-ai-mooncake-deep-analysis 的行為。

Mooncake 第 4 節的核對紀錄還應包含執行環境、輸入大小、完成時間與退出狀態。對 kvcache-ai-mooncake-deep-analysis 而言,這些欄位可用來比較兩次執行是否真的走過相同路徑;若輸出只在畫面短暫出現,應另存終端記錄,若產生檔案則記錄相對路徑與檔案內容摘要。

生態系整合(kvcache-ai-mooncake-deep-analysis-5)

README 記錄了與多個推論與訓練技術棧的整合。SGLang 將 Mooncake 用作通訊與儲存後端,用於 PD 分離式服務、透過 HiCache 的多層 KV 快取、彈性專家平行、多模態 encode-prefill-decode 分離,以及面向分散式 RL 的 RDMA 權重傳輸。vLLM 透過 MooncakeConnector 與 MooncakeStoreConnector 整合 Mooncake,用於分離式 prefill-decode 服務與叢集級 KV 快取池。更新紀錄也提到 TensorRT-LLM、LMDeploy、vLLM-Ascend、LMCache、NIXL、checkpoint-engine、TorchSpec 等。這些條目是專案自身的陳述,README 未提供第三方驗證。

針對 Mooncake,第 5 節應連同專案識別字 kvcache-ai-mooncake-deep-analysis 來閱讀。README 明確可核對的入口是「pip install mooncake-transfer-engine」。執行時記錄命令版本、設定檔位置、輸入內容、標準輸出與錯誤訊息;若該步驟需要外部服務或特定權限,也把實際回應和清理結果分開保存。這些記錄能把文件描述與本機結果對上,未被 README 說明的行為則保留為未知。

第 5 節的實作核對可再觀察 Mooncake 的輸出檔、服務日誌或終端回應,並將成功與失敗案例分開。若 README 沒有指定預設值,便以實際設定明確記錄,而不是推測 kvcache-ai-mooncake-deep-analysis 的行為。

Mooncake 第 5 節的核對紀錄還應包含執行環境、輸入大小、完成時間與退出狀態。對 kvcache-ai-mooncake-deep-analysis 而言,這些欄位可用來比較兩次執行是否真的走過相同路徑;若輸出只在畫面短暫出現,應另存終端記錄,若產生檔案則記錄相對路徑與檔案內容摘要。

安裝、trace 與工具(kvcache-ai-mooncake-deep-analysis-6)

安裝透過 pip 進行。mooncake-transfer-engine 套件包含 Transfer Engine、Mooncake Store 與 Mooncake EP 和 PG;CUDA 13.0 及以上版本使用 mooncake-transfer-engine-cuda13。README 指向從原始碼建置與部署的文件。它也發佈匿名化的請求 trace,包含到達時間、輸入與輸出 token 數以及重新對映的區塊雜湊,用於可重現的快取模擬,另提供 KV Cache Size Calculator 與 KV Cache Hit Rate Simulator。一組 AI 助手技能隨 .claude/skills 目錄提供,涵蓋故障排除、本地 CI 驗證與 API 用法。README 未指定支援的 Python 版本或作業系統。

針對 Mooncake,第 6 節應連同專案識別字 kvcache-ai-mooncake-deep-analysis 來閱讀。README 明確可核對的入口是「pip install mooncake-transfer-engine」。執行時記錄命令版本、設定檔位置、輸入內容、標準輸出與錯誤訊息;若該步驟需要外部服務或特定權限,也把實際回應和清理結果分開保存。這些記錄能把文件描述與本機結果對上,未被 README 說明的行為則保留為未知。

第 6 節的實作核對可再觀察 Mooncake 的輸出檔、服務日誌或終端回應,並將成功與失敗案例分開。若 README 沒有指定預設值,便以實際設定明確記錄,而不是推測 kvcache-ai-mooncake-deep-analysis 的行為。

Mooncake 第 6 節的核對紀錄還應包含執行環境、輸入大小、完成時間與退出狀態。對 kvcache-ai-mooncake-deep-analysis 而言,這些欄位可用來比較兩次執行是否真的走過相同路徑;若輸出只在畫面短暫出現,應另存終端記錄,若產生檔案則記錄相對路徑與檔案內容摘要。

論文、引用與授權條款(kvcache-ai-mooncake-deep-analysis-7)

Mooncake 獲得 FAST 2025 最佳論文獎,README 收錄了 FAST 25 引用、ACM Transactions on Storage 版本與 arXiv 技術報告。倉庫中繼資料將 SPDX 識別碼列為 Apache-2.0,但本文所用的授權條款摘錄不包含任何授權條款文字,因此無法從來源核實授權條款實際授予的內容。摘錄也未涉及擔保、支援或安全態勢。README 未描述貢獻流程、行為準則或安全回報管道。

針對 Mooncake,第 7 節應連同專案識別字 kvcache-ai-mooncake-deep-analysis 來閱讀。README 明確可核對的入口是「pip install mooncake-transfer-engine」。執行時記錄命令版本、設定檔位置、輸入內容、標準輸出與錯誤訊息;若該步驟需要外部服務或特定權限,也把實際回應和清理結果分開保存。這些記錄能把文件描述與本機結果對上,未被 README 說明的行為則保留為未知。

第 7 節的實作核對可再觀察 Mooncake 的輸出檔、服務日誌或終端回應,並將成功與失敗案例分開。若 README 沒有指定預設值,便以實際設定明確記錄,而不是推測 kvcache-ai-mooncake-deep-analysis 的行為。

Mooncake 第 7 節的核對紀錄還應包含執行環境、輸入大小、完成時間與退出狀態。對 kvcache-ai-mooncake-deep-analysis 而言,這些欄位可用來比較兩次執行是否真的走過相同路徑;若輸出只在畫面短暫出現,應另存終端記錄,若產生檔案則記錄相對路徑與檔案內容摘要。

編輯結論

適合工作內容與 Mooncake README 所列範圍相符,且能維護其依賴、設定與權限的團隊;不適合把文件未承諾的相容性、效能或安全結果當成既定事實。先在隔離環境執行「pip install mooncake-transfer-engine」,保存版本、輸入、輸出、錯誤與清理結果,再依這個專案的實際表現決定是否納入正式流程。

官方來源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
社群筆記

社群筆記