FareedKhan-dev/kimi-k3-in-c
A 2.78-trillion-parameter Kimi K3 running inference on a single CPU in 8.24 GB of RAM. Portable C99: no BLAS, no framework, no GPU.
解決的問題
本專案提供 Kimi K3 推論引擎的可攜式 C99 實作,讓巨大的 2.78 兆參數模型能在消費級硬體上執行。透過從磁碟流式載入權重,解決了極端的記憶體需求問題,即使模型檢查點大小高達 1.56 TB,也能在僅有 8 GB 記憶體的機器上運行,無需依賴大量記憶體。
如何運作
引擎使用多種記憶體優化技術,將模型適配至有限的 RAM 中:
- 流式主幹(Streaming Trunk): 密集層(即「主幹」)被打包成單一檔案,並從磁碟流式載入,將記憶體需求變為可調節的「旋鈕」——更多 RAM 可提升速度,但不影響輸出品質。
- 專家快取(Expert Cache): 路由專家(1.45 TB)不會完全駐留在記憶體中;而是直接從壓縮的 4 位元形式中乘法展開,並透過 LRU 快取進行管理。
- 架構優化: 實作 KDA(固定記憶體注意力)與 MLA(多頭潛在注意力),以減少注意力機制的記憶體佔用。
- 零依賴: 引擎使用可攜式 C99 編寫,無需 BLAS、GPU 或重型 AI 框架,僅依賴 libm 與 OpenMP 實現平行處理。
適用對象
希望在本地 CPU 僅用硬體上執行超大型 MoE(專家混合)模型,而無需 GPU 集群的研究人員與開發者。
主要亮點
- 極致記憶體效率: 僅需 8.24 GB 的峰值 RSS 即可運行 2.78 兆參數模型。
- 位元級完全一致輸出: 無論運行在 8 GB 或 224 GB RAM 上,輸出結果完全相同。
- 可攜式 C99: 無需 GPU 或外部 AI 框架;使用 GCC 或 Clang 可快速建置。
- 靈活記憶體預設: 提供筆電、桌面、工作站、伺服器等預設,可根據可用系統記憶體優化效能。
相關
- 專案
- 專案
- Dispatch
- 專案
- 專案