Kapitsa 引擎特性與 Flint 模型支援

Kapitsa 是一款專為 Apple Silicon 架構(從 M1 到 M6 晶片)優化的開源推理引擎,旨在讓 MacBook 能夠執行 Qwen 與 Nemotron 等大型語言模型。該引擎透過自訂的 Metal kernels,針對不同晶片型號與模型進行個別優化。

Recursive 於近期發布了名為 Flint 的新模型,宣稱其專為 32GB 以上記憶體的 Mac 編程場景最佳化,效能可超越 Qwen 的 35B 稀疏 MoE 模型並接近 Qwen 27B 稠密模型。Kapitsa 團隊隨後加入對 Flint 的支援,並在低於 M5 世代的晶片上達成了最先進(SOTA)的解碼與預填充效能。

M4 Pro 硬體上的基準測試數據

測試環境為搭載 M4 Pro 晶片、48GB 記憶體的 MacBook Pro 16 (2024),執行 macOS 27.0.1,並處於插電與高效能模式。模型採用 Recursive 官方建議的採樣參數(溫度 1.0, top_p 0.95, top_k 20),且測試過程中未使用任何投機解碼技術,因為 Flint 目前尚無草稿模型。

在短上下文的生成速度測試中,Kapitsa 達到每秒 127.9 token,與 Recursive 自家引擎 rec 的 126.6 token/s 幾乎持平(差異僅 1%),兩者均比 llama.cpp 的 79.6 token/s 快約 1.6 倍。在記憶體使用方面,Kapitsa 峰值記憶體為 23.3 GB,低於 rec 的 27.9 GB 與 llama.cpp 的 26.9 GB。

長上下文處理與預填充效能比較

隨著上下文長度增加,Kapitsa 的生成速度優勢逐漸擴大。在 128K token 的長上下文下,Kapitsa 的生成速度為每秒 45.7 token,較 rec 快 1.30 倍,較 llama.cpp 快 1.9 倍。

在預填充(Prefill)階段,Kapitsa 在所有測試長度下均比 rec 快 1.1 至 1.2 倍。與 llama.cpp 相比,llama.cpp 在短提示詞(4K token 以內)的處理速度略快 1-8%,但在 16K token 以上時 Kapitsa 開始領先,並在 128K token 時達到 1.5 倍的優勢。

對於緩存後的後續對話回合,Kapitsa 產生首個 token 的時間為 0.13 秒,遠低於 rec 的 0.41 秒與 llama.cpp 的 0.23 秒,顯示其在多輪對話啟動速度上有顯著優化。

投機解碼技術開發與未來規劃

Kapitsa 團隊利用 8 台 H200 GPU 訓練了一個專為 Flint Q4 設計的 KFlash 投機解碼樹狀草稿模型。內部測試顯示,該技術能在不損失準確率的前提下,將目前的生成速度提升 1.4 倍,團隊預期最終能達到約 1.5 倍的加速效果,預計於下週發布。

開發者指出,Flint 模型在回答前會先進行推理,因此所有引擎的生成速度數據都包含了推理 token 的計數。目前測試僅限於單一 M4 Pro 設備,尚未在 M5 系列晶片上運行 Flint,且 M5+ 晶片的預填充功能尚未優化完成。

Kapitsa 提供 kapitsa bench 指令,允許使用者提交他們在其他裝置上的基準測試結果以貢獻給專案。團隊目前急需 M5 Max、M5 Pro 與 M5 Ultra 等裝置的測試數據,以驗證 Flint 在新世代晶片上的加速效果。