TurboFieldfare完全解説:26BパラメータのGemma 4を2GB RAMで動かすSwift+Metal推論エンジン

26Bモデルが8GB MacBook Airで動く——その衝撃 2026年7月29日、独立系iOS/MetalエンジニアのAndrey MikhaylovがリリースしたTurboFieldfareがHacker Newsで1位(218ポイント)を獲得した。このプロジェクトが注目を集めた理由は単純明快だ:26BパラメータのGemma 4 26B-A4B命令チューニングモデルを、最も安価な8GB MacBook Airで約2GBのメモリ消費で動作させるという、従来の常識を覆す成果を達成したからだ。 筆者もこれまでGemma 4をローカルで動かす実践ガイドやGemma 4 12Bガイドを公開してきたが、26B MoEモデルのローカル実行は「最低でも16-18GBの空きメモリが必要」という壁が常に存在していた。TurboFieldfareはこの前提を根本から覆す。 TurboFieldfareのGitHubレポジトリはdrumih/turbo-fieldfareで公開されており、コードはApache 2.0ライセンス(モデル重みはGoogle Gemma規約に従う)。 なぜ2GBで動くのか——MoEとSSDストリーミングの巧妙な設計 Gemma 4 26B-A4Bの構造 Gemma 4 26B-A4BはMixture-of-Experts (MoE) アーキテクチャを採用している。「A4B」は Active 4 Billion の略であり、26Bの総パラメータのうち、各トークンに対して実際に活性化されるのは約15%(約3.88B) に過ぎない。残りの85%のパラメータ(エキスパート重み)は、トークンごとにルーターが選択したエキスパートだけが使われる。 従来のOllamaやLM Studioなどの推論フレームワークは、この「活性化率15%」という特性を無視し、全14.3GBの重みをRAMにロードしていた。24GB以上のMacなら問題ないが、16GB以下のマシンではメモリプレッシャーが発生し、快適な動作は期待できない。 TurboFieldfareの3つの革新 TurboFieldfareはこの「15%しか使わないのに100%をRAMに乗せる」という非効率に、3つの技術で挑戦する: 常駐コアの最小化:全モデルのうち、共有コア(1.35GB)とFP16 KVキャッシュ(4Kコンテキスト分) のみをRAMに常駐させる。ここに約2GBが使われる。 SSDからのエキスパートストリーミング:ルーターが選択したtop-8エキスパートの重みを、必要になった瞬間にSSDからストリームする。各トランスフォーマー層には16スロットのLFU(Least Frequently Used)キャッシュが用意され、同一エキスパートが連続して選択された場合の読み取りを最適化する。測定によると、同一エキスパートが次のトークンでも再選択される確率は約41%、2トークン以内では約57%に達する。 GPU/CPUのオーバーラップ実行:Metalが常駐重みを使ってアテンションとルーター演算を実行している間に、CPUがルーターのtop-8エキスパートIDを元にキャッシュミスを計算し、並列pread呼び出しで欠落エキスパートをMetal可視バッファに読み込む。Metalが共有エキスパートの演算を終えた時点でルーティング先のエキスパート重みが準備完了しており、待ち時間ゼロで合成演算に移行する。 この設計により、mmapを使ったナイーブな実装(約0.50 tok/s)から8〜12倍の改善(4-6 tok/s) を達成している。開発者は103件の実験結果をレポジトリ内で公開しており、mmap、madvise、F_RDADVISE、Markovエキスパート予測器、ディスク再配置など失敗した試行も含めた「実験ノート」そのものが貴重な知見となっている。 パフォーマンスベンチマーク TurboFieldfareの実測値はハードウェアによって大きく変わる。ボトルネックがメモリ帯域幅からSSDスループットに移行する点が特徴的だ。 ハードウェア デコード速度 (tok/s) 備考 M2 MacBook Air (8GB) 5.1 – 6.3 8GBマシンの限界。非同期タスクには十分実用的 M5 Pro (24GB) 31 – 35 十分なRAMによりページキャッシュが効き、実質的なディスクI/Oが減少 M4 Max (64GB) ~48 (コミュニティ報告) ほとんどのエキスパートがページキャッシュに常駐 重要なのは、「未使用RAM=ディスクキャッシュ」という点だ。 マシンに余剰RAMがあれば、TurboFieldfareはOSのページキャッシュを活用して実質的なディスク読み取りを最小化する。一方、RAMが逼迫している環境ではトークン速度が生のSSD速度に近づく。 ...

July 31, 2026 · 21 min · 4057 words · Appwright