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 等同於把整個公寓塞進儲物櫃,仍然還有空間走動」

Sources