TurboFieldfare:在 M 系列 Mac 上以 2 GB RAM 執行 Gemma 4 26B
TurboFieldfare 使得在任何 Apple Silicon Mac 上執行 Gemma 4 26B-A4B 模型成為可能,包括僅有 8 GB RAM 的基礎機型,透過將活躍記憶體佔用降低至約 2 GB。它透過僅在記憶體中保留共享核心與 KV 快取,並即時從 SSD 串流所需的 MoE(Mixture of Experts)權重來實現此目標。
以 SSD 為後端的專家串流架構
TurboFieldfare 透過為路由專家實作自訂串流機制,繞過將整個 14.3 GB 模型載入 RAM 的需求。
記憶體管理與 I/O
在每個 transformer 層,引擎使用常駐權重計算 attention 與 router。CPU 會利用 router 的前 8 名專家 ID,針對 16 格 LFU(Least Frequently Used)快取進行規劃。若所需的專家不在快取中,則引擎會執行受限的平行 pread 呼叫,將它們載入 Metal 可見的緩衝區。為了最大化效能,Metal 會在 SSD 讀取進行時,同時計算常駐的共享專家分支。
權重量化與布局
為了進一步縮小記憶體佔用,引擎使用特定的量化格式:
- Weights: MLX affine 4-bit(group 64)用於 embeddings、attention、shared-experts 與 routed-experts。
- Router: 8-bit 量化。
- KV Cache: FP16 儲存,對 25 個層使用滑動視窗方式,對 5 個全注意力層使用線性儲存。
效能基準測試
吞吐量會因硬體世代與可用系統 RAM 而有顯著差異,這會影響 OS 頁面快取保留專家的能力。
| 硬體 | 測量的解碼速度 |
|---|---|
| M2 MacBook Air (8 GB RAM) | 5.1–6.3 tok/s |
| M4 Mac mini (16 GB RAM) | ≅5 tok/s |
| M5 Pro (24 GB RAM) | 31–35 tok/s |
| M4 Max (64 GB RAM) | ≅48 tok/s |
擁有較大 RAM(例如 64 GB)的使用者報告顯著更高的速度,因為 OS 頁面快取能將整個 12 GB packed_experts 集合保留在記憶體中,實質上消除 SSD 延遲。
實作與工具
TurboFieldfare 是一個針對模型的執行環境,使用 Swift 6.2 與 Metal 4 編寫,而非像 llama.cpp 或 MLX 這類通用框架的包裝器。它提供多種互動介面:
- Native Mac App: 用於模型安裝與聊天的 SwiftUI/AppKit 應用程式。
- CLI: 用於指令聊天與原始補全的命令列介面。
- OpenAI-Compatible Server: 支援 Chat Completions 與功能工具的回環伺服器。
- Streaming Installer: 一個將 Hugging Face 檢查點直接重新打包成
.gturbo格式的工具,透過 range 請求避免需要在磁碟上存放完整的來源檢查點。
技術需求
要執行 TurboFieldfare,需要以下環境:
- Hardware: Apple Silicon Mac(arm64)。
- OS: macOS 26 搭配 Metal 4。
- Development Tools: Xcode 26 與 Swift 6.2 或更新版本。
- Storage: 約 14.3 GB 的可用空間以安裝模型。
社群見解與分析
使用者之間的技術討論突顯了關於 SSD 串流在大型語言模型(LLM)可行性的幾個關鍵點:
- Comparison to mmap: 雖然
llama.cpp能透過mmap在低 RAM 下執行大型模型,TurboFieldfare 則特別將 SSD 讀取與推論活動同步,以最小化延遲。 - SSD Wear: 使用者提出持續讀取權重可能對 SSD 壽命的影響,但來源未提供具體的退化資料。
- Hardware Evolution: 從 M2 到 M5 的效能躍升顯示,記憶體頻寬提升與更快的 SSD 正使本地推論大型模型變得越來越實用。
「在 2GB 中運行 26B 等同於把整個公寓塞進儲物櫃,仍然還有空間走動」