MacBook 上の 397B MoE:4.4 t/s Flash-MoE エンジン
April 03, 2026
カテゴリ:
実用的なオープンソースプロジェクト
Flash-MoE:MacBook で 397B パラメータを 4.4+ トークン/秒で実行
MacBook Pro で 3970億パラメータの Mixture-of-Experts (MoE) モデル を 4.4+ トークン/秒のプロダクション品質の出力 で実行することを想像してみてください。それこそが Flash-MoE が達成していることです - Python なし、フレームワークなし、純粋な C/Objective-C と手動調整の Metal シェーダーのみです。
ビースト:Qwen3.5-397B-A17B
これは理論ではありません。このプロジェクトは 209GB の 4-bit 量子化モデル を SSD からストリーミングしつつ、以下の性能を発揮します:
| 設定 | 速度 | 品質 | ディスク |
|---|---|---|---|
| 4-bit FMA カーネル | 4.36 t/s | 優秀 | 209GB |
| 4-bit ベースライン | 3.90 t/s | 優秀 | 209GB |
| 2-bit エキスパート | 5.74 t/s | 良好* | 120GB |
*2-bit は JSON/ツール呼び出しの信頼性を損ないます
ハードウェア現実確認
MacBook Pro M3 Max:48GB 統一メモリ、40コア GPU、17.5GB/s SSD。データセンターは不要です。
画期的な手法
1. SSD エキスパートストリーミング + 「OS を信頼せよ」
各レイヤーごとに K=4 のアクティブエキスパートのみロード(それぞれ ~6.75MB)
OS ページキャッシュが LRU を処理(自然に 71% ヒット率)
GCD ディスパッチグループによる並列 pread()
カスタムキャッシュ不要
教訓:カスタム Metal LRU、LZ4 圧縮、mmap はすべて劣悪な性能でした。
2. FMA 最適化デ量子化カーネル (+12% 速度向上)
// 従来:(nibble * scale + bias) * x
// 改善後:fma(nibble, scale*x, bias*x)
3. 遅延 GPU パイプライン
CMD3(エキスパート fwd) → [DEFERRED]
CMD1: attention プロジェクション
CPU: ルーティング + pread エキスパート
CMD2: 結合 + norm
→ 次のレイヤー
4. 手書き Metal カーネル
- 4-bit/2-bit デ量子化 matvec(タイル、SIMD、共有キャッシュ)
- 融合 SwiGLU、RMS norm、MoE 結合
- バッチ GPU attention (Q@Kᵀ, softmax, scores@V)
- GPU RoPE + デインターリーブ
5. BLAS 加速リニアアテンション
GatedDeltaNet は cblas_sgemv/sger を使用 - スカラーコードより 64% 高速。
破棄されたもの(58 実験)
| 失敗した手法 | 影響 | 理由 |
|---|---|---|
| LZ4 圧縮 | -13% | 展開 > キャッシュ節約 |
| GPU LUT デ量子化 | -2% | レジスタ直列化 |
| エキスパート予測 | -18% | キャッシュ汚染 |
| mmap エキスパート | -5x | ページフォルトオーバーヘッド |
プロダクション準備完了
cd metal_infer && make
./infer --prompt "Explain quantum computing" --tokens 100
./chat # インタラクティブ TUI + ツール呼び出し
安全性:6GB の固定メモリフットプリントで、OS + ページキャッシュに 42GB を残します。メイン開発マシンで OOM リスクなし。
論文
完全な技術詳細 は 90 以上の実験と 24 時間の人間+AI 開発ストーリーをカバーしています。これは 最先端の Apple Silicon 推論 です - オープンソース、実戦テスト済み、ハードウェア限界を押し広げています。
スター:3.2k | フォーク:371 - コミュニティは本物のイノベーションを見抜きます。
オリジナル記事:
オリジナルを表示