MacBook 上の 397B MoE:4.4 t/s Flash-MoE エンジン

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)
GPU の融合乗算加算により、デ量子化 + 乗算を 1 命令 で実行。

3. 遅延 GPU パイプライン

CMD3(エキスパート fwd) → [DEFERRED]
CMD1: attention プロジェクション
CPU: ルーティング + pread エキスパート
CMD2: 結合 + norm
→ 次のレイヤー
4-bit で レイヤーあたり平均 4.28ms

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 - コミュニティは本物のイノベーションを見抜きます。

オリジナル記事: オリジナルを表示

この記事を共有