1,700· 290 forks· C· Apache-2.0开发工具

用純 C 在 8GB 記憶體跑 2.78 萬億引數 Kimi K3

FareedKhan-dev/kimi-k3-in-c

無需 GPU/框架/BLAS,用 176KB 純 C99 引擎在單 CPU 8GB 記憶體推理 Kimi K3 2.78T 引數模型

成熟度維護活躍,最近提交 3 天前,當前 6 個 open issues,專案剛釋出(v0.1.0)

项目体检

许可 · Apache-2.0,允许商用(需保留版权声明和许可证副本)

活跃 · 新项目活跃维护中,v0.1.0 于 3 天前发布,2 位贡献者,最近提交 3 天前

解決什麼

主流大模型推理依賴昂貴 GPU 叢集和數百 GB 記憶體,讓個人開發者和資源受限場景難以實驗超大引數模型。該專案用純 C 實現 Kimi K3(2.78 萬億引數)推理引擎,通過四層最佳化將記憶體需求從理論上的數 TB 壓縮到 8GB,讓普通筆記本 CPU 也能執行萬億級模型。核心突破在於:將 1.56TB 檢查點通過 4-bit 量化、專家流式載入、線性注意力(KDA)和 MLA 壓縮技術,實現相同輸出在 8GB 到 224GB 任意記憶體預算下位元組級一致。

為何火

技術極客關注點:用 176KB 純 C 程式碼(無 BLAS/PyTorch/GPU 依賴)挑戰工程極限,證明通過精細記憶體管理和 SIMD 最佳化(AVX2)可在消費級硬體跑生產級模型。專案展示了四個遞進式最佳化——專家 4-bit 量化、KDA 常數記憶體注意力、MLA 頭壓縮、Trunk 流式載入——如何將理論不可能變為 8.24GB 實測峰值。對系統程式設計和深度學習交叉領域有教學價值,README 包含完整原理拆解和驗證路徑。

核心功能

  1. 極致記憶體最佳化:896 個專家(1.45TB)永不駐留記憶體,直接從 NVMe 以 4-bit 形式流式計算;93 層 Trunk 可配置駐留深度,剩餘層按需載入
  2. 多預設適配:提供 laptop(8GB)到 server(224GB)五檔預設,同一模型不同記憶體配置產生完全相同輸出
  3. 純 C99 實現:零依賴外部庫,所有矩陣運算、注意力機制、專家路由用手寫 AVX2 SIMD 核心,可移植到任意 x86-64 Linux
  4. LRU 專家快取:智慧快取熱點專家權重,通過 trace 分析最佳化命中率
  5. 增量生成:支援流式輸出和完整執行報告(記憶體峰值、token 速度、快取統計)

安裝

前置要求:

  • 1.7TB 可用儲存(1.56TB 檢查點 + 109GB 打包 Trunk)
  • 支援 AVX2/FMA 的 x86-64 CPU
  • 8GB+ 記憶體(更多更快但輸出相同)

步驟:

# 1. 克隆倉庫
git clone https://github.com/FareedKhan-dev/kimi-k3-in-c.git
cd kimi-k3-in-c

# 2. 編譯(通用 AVX2 或針對本機最佳化)
make portable  # 或 make native

# 3. 下載 Kimi K3 檢查點(需梯子訪問 Hugging Face)
# 按 README Full setup 章節說明下載 1.56TB 模型檔案

# 4. 執行推理
./bin/k3 ~/k3model --trunk ~/k3trunk --preset laptop \
         --tok ~/k3model --prompt "你的提示詞" --gen 20

適合誰

  • 系統程式設計學習者:想理解 LLM 推理底層實現(記憶體對映、SIMD、快取策略)的開發者
  • 資源受限研究者:需在無 GPU 環境實驗超大模型的學術機構或個人
  • 極客挑戰者:對"用最少資源跑最大模型"感興趣的工程師
  • 不適合:生產環境(速度慢,laptop 預設 32 秒/token)、需要中文文件的初學者、無法承擔 1.56TB 下載成本的使用者

社群評價

暫無足量社群公開討論,以下為基於專案本身的中立評估:

該專案在技術實現上展現了教科書級的系統最佳化思路,README 詳盡到可作為深度學習推理工程的案例教材。四層最佳化策略(量化、線性注意力、頭壓縮、流式載入)邏輯清晰且有實測資料支撐。但實用性存在明顯侷限:1.56TB 檢查點下載門檻極高,國內使用者需梯子且儲存成本不菲;32 秒/token 的速度僅適合研究而非應用;作為 base 模型缺少對話模板,需額外適配才能實際互動。專案價值更多在教育和技術驗證,而非替代現有推理框架。

選型對比

維度kimi-k3-in-cllama.cppvLLM
依賴零依賴純 C需 C++ 編譯鏈Python + CUDA
記憶體下限8GB(CPU)~16GB(量化)需 GPU 視訊記憶體
速度極慢(32s/token)中等快(GPU 加速)
適用場景學習/極限挑戰通用 CPU 推理生產部署

取捨:若追求極致資源利用和程式碼可讀性選本專案;需平衡效能和易用性選 llama.cpp;生產環境必選 vLLM 等 GPU 方案。

已知坑

  1. 儲存剛需:1.56TB 檢查點無法繞過,SSD 空間不足會卡在下載階段
  2. 國內網路:Hugging Face 需梯子,建議用海外伺服器中轉下載
  3. 速度預期:即使 server 預設(127GB 記憶體)也只能到 10 秒/token,不適合即時互動
  4. 平臺限制:僅支援 Linux x86-64,macOS 和 Windows 需虛擬機器或 WSL2
  5. Base 模型特性:輸出是續寫而非對話,需自行實現 chat template 才能問答
  6. 除錯門檻:純 C 程式碼無高階除錯工具,出問題需手動 gdb 排查
  7. AVX2 硬性要求:老舊 CPU(2013 年前)無法執行,make portable 也需 AVX2 支援

來源: GitHub 倉庫 + README 技術文件

安装方式:make