Flash-MoE:純粋なC/MetalでMacBook Pro上で397BパラメータのQwenモデルを実行

技術実装
Flash-MoEは、60のトランスフォーマーレイヤーを持つ3970億パラメータのMixture-of-ExpertsモデルであるQwen3.5-397B-A17Bを実行します:45のGatedDeltaNet(線形アテンション)+ 15の標準フルアテンション。各レイヤーには512のエキスパートがあり、トークンごとにK=4が活性化され、1つの共有エキスパートが追加されます。隠れ次元は4096です。
パフォーマンスベンチマーク
- 4ビットエキスパート、FMAカーネル: 4.36トークン/秒、優れた品質、完全なツール呼び出し、ディスク上209GB(現在最良)
- 4ビットエキスパート、ベースライン: 3.90トークン/秒、優れた品質
- 2ビットエキスパート、OS信頼: 5.74トークン/秒、良好な品質、ディスク上120GB(JSON/ツール呼び出しが壊れる)
- 2ビットピークシングルトークン: 7.05トークン/秒、良好な品質(ツール使用には不向き)
注:2ビット量子化はJSON出力で"name"の代わりに\name\を生成するため、ツール呼び出しが信頼できません。4ビットが本番構成です。
ハードウェア要件
- マシン: Apple M3 Max搭載MacBook Pro
- チップ: 16コアCPU(12P + 4E)、40コアGPU、16コアANE
- メモリ: 48 GB統合(〜400 GB/s帯域幅)
- SSD: 1TB Apple Fabric、17.5 GB/sシーケンシャル読み取り(測定値)
- macOS: 26.2(Darwin 25.2.0)
主要技術
SSDエキスパートストリーミング
エキスパート重み(4ビットで209GB)は、GCDディスパッチグループによる並列pread()を介してNVMe SSDからオンデマンドで読み込まれます。レイヤーごとにK=4の活性化エキスパートのみがロードされます(各〜6.75MB)。OSページキャッシュはカスタムキャッシュなしでキャッシングを管理し(「OSを信頼する」原則)、自然に〜71%のヒット率を達成します。
FMA最適化デカントカーネル
4ビットデカント行列-ベクトル乗算の内部ループは、数学を(ニブル * スケール + バイアス)* xからfma(ニブル, スケール*x, バイアス*x)に再配置します。スケール*xとバイアス*xを事前計算することで、GPUの融合乗算加算ユニットがデカント+乗算を1命令で実行でき、素朴な定式化より12%高速なパフォーマンスをもたらします。
Metalコンピュートシェーダー
手書きのMetalカーネルには以下が含まれます:
- 4ビットおよび2ビットデカント行列-ベクトル乗算(タイル化、SIMD削減、共有入力キャッシュ、FMA最適化)
- 融合SwiGLU活性化
- RMS正規化(2パス:二乗和削減 + 適用)
- フルアテンションレイヤーのためのバッチGPUアテンション(Q@K^T、softmax、scores@V)
- GPU RoPE(QデインターリーブとK正規化と融合)
- MoE結合 + 残差 + sigmoidゲート(融合カーネル)
遅延GPUエキスパート計算
CMD3(エキスパートフォワードパス)は待機せずに送信されます。GPUはCPUが次のレイヤーを準備している間にそれを実行します。結合 + 残差 + 正規化もGPU上で行われ、次のレイヤーのアテンション投影に直接供給されます。
線形アテンションのためのAccelerate BLAS
GatedDeltaNet再帰は、64ヘッド × 128×128状態行列更新のためにcblas_sscal、cblas_sgemv、cblas_sgerを使用し、スカラーコードより64%高速なパフォーマンスを達成します。
パイプラインパフォーマンス
4ビットでのレイヤー平均:4.28ms
- CMD3(前)→ CMD1:アテンション投影 + デルタネット [1.22ms GPU]
- CPU:結果フラッシュ [0.01ms CPU]
- CMD2:o_proj + 正規化 + ルーティング + 共有 [0.55ms GPU]
- CPU:softmax + topKルーティング [0.003ms]
- I/O:並列pread K=4エキスパート [2.41ms SSD]
- CMD3:エキスパートフォワード + 結合 + 正規化 [0.04msエンコード、遅延]
アーキテクチャ制約
Apple Siliconでは、SSD DMAとGPU計算は同じメモリコントローラーを共有し、有益にオーバーラップできません。GPUのデカントカーネルは〜418 GiB/sで帯域幅飽和しています。小さなバックグラウンドSSD DMAでさえ、メモリコントローラー調停を介して不均衡なGPU遅延スパイクを引き起こし、シリアルパイプラインを必要とします。
📖 完全なソースを読む: HN AI Agents
👀 See Also

SecureContext: Claude Codeにおける永続メモリとトークン削減のためのMCPプラグイン
SecureContextは、Claude Codeセッション間でMemGPTスタイルの永続性を提供し、ターゲットを絞ったコンテキストリコールにより入力トークンを約87%削減し、セキュリティサンドボックスを通じて認証情報を隔離するオープンソースのMCPプラグインです。

Claude Toolbox拡張機能にメッセージレベルのブックマークと全文検索が追加
Claude ToolboxはChrome拡張機能で、個別のメッセージをブックマークしたり、会話全体を全文検索したり、TXTやJSONでエクスポートできます。無料枠では2件の会話まで対応。有料版は月額5ドルまたは49ドルの永続ライセンスです。

Claudeコードのためのマルチエージェントアーキテクチャを用いた「研究チーム・イン・ザ・ボックス」フレームワーク
開発者がClaude Code向けのマルチエージェント研究フレームワークを作成しました。このフレームワークはOpus 4.6を活用し、research-clabというプラグインを通じて専門エージェントを調整します。ガイド付きのQ&Aプロセスで展開され、11のスキル、エージェント定義、複雑な研究プロジェクトを管理するための構造化ディレクトリを含んでいます。

AMD R9700上でVS Code Copilotを使用してQwen3.6-35B-A3B-UD-Q5_K_XLをローカル実行
あるユーザーが、Qwen3.6-35B-A3B-UD-Q5_K_XL を AMD R9700 1枚と Vulkan を使って llama.cpp で動作させ、最小限のプロンプトで完全なウェブサイトと Playwright テストを生成した事例をシェアしています。