ボデガ推論エンジン:Apple Siliconの統一メモリ向けLLM推論最適化

Bodegaは、Apple Siliconの統一メモリアーキテクチャに特化して設計された推論エンジンで、MLX上でMetalレイヤーに近い最適化を施し、2.5年以上かけて構築されました。これは、Macハードウェア上でLLMを実行する際に開発者が直面する根本的なスループット制限に対処するものです。
Apple Siliconが異なる最適化を必要とする理由
Apple Siliconは、CPU、GPU、ニューラルエンジンが単一のオンチップバスを介して1つの物理的なメモリプールを共有する統一メモリを使用しています。これは、NVIDIAなどの個別GPUが、PCIeで接続された別々のVRAMとシステムRAMプールを持つこととは根本的に異なります。メモリ帯域幅は、M1 Maxの約400 GB/sからM3 Ultraの約800 GB/sまで幅があり(ダイ間のペナルティにより実際のスループットは単一ダイ性能の1.6〜1.8倍に低下)、実効性能に影響を与えます。
主なアーキテクチャ上の影響:
- デコードはメモリ帯域幅に制限される - 各トークンは共有バスからモデルの重みをロードする必要がある
- プレフィルは計算に制限される - 行列と行列の乗算におけるGPUのTFLOPSが支配的
- メモリバスはすべてと共有される - KVキャッシュ、モデルの重み、OS、アプリケーションがすべて同じ400〜800 GB/sの帯域幅を競合する
このアーキテクチャにより、vLLMやllama.cppのバッチ処理実装をMLXに直接移植することは効果的ではなく、それらは異なるメモリアーキテクチャ向けに設計されているためです。
Bodegaが構築するもの
開発者は、vLLMの継続的バッチ処理、投機的デコード、チャンク化されたプレフィル、プレフィックスキャッシュなどのコア内部構造を研究し、その後、MLXとAppleの統一メモリモデル向けにすべてのコンポーネントを再構築しました。
継続的バッチ処理に関する核心的な洞察: 単一のシーケンスに対して単一のトークンを生成することは、行列とベクトルの乗算のためにモデルの重み全体をロードすることになり、400 GB/s以上の帯域幅を持つハードウェアでは非効率的です。解決策は、重み × 単一ベクトルではなく、重み × ベクトルの行列を使用して、複数のシーケンスを同時に実行することです。
KVキャッシュ管理は、分離されたVRAMシステムと比較してキャッシュブロックの削除が異なるコスト影響を持つ統一メモリ向けに再設計されました。
実用的な影響
開発者は、2つのM3 Ultra(256GBと512GB)、M4 Max 128GB、M1 Max 64GBを含む複数のApple Silicon構成でテストを行ったと報告しています。特定された共通の上限は、一度に1つのリクエストでGPUがほとんどアイドル状態の単一ユーザースループットです。
リポジトリには、簡単なcurlスクリプトでセットアップして検証できるベンチマークが含まれています。
📖 Read the full source: r/LocalLLaMA
👀 See Also

Tessera: 複数のClaude Codeセッションを管理するためのオープンソースGUIワークスペース
Tesseraは、Claude Codeのセッションを複数同時に管理できるオープンソースのGUIです。Git worktree分離、カンバンタスク管理、ライブ差分、エージェントアクティビティの確認を備えています。

ClaudeClaw:メッセージングプラットフォーム向け永続的AIエージェントのための無料Claudeコードプラグイン
ClaudeClawは、Slack、WhatsApp、TelegramでClaudeを永続的なエージェントとして実行する、無料のオープンソースMITライセンスのClaude Codeプラグインです。Node.js 20+、Claude Code、独自のAnthropic APIキーが必要で、Anthropicのsandbox-runtimeによるOSレベルのサンドボックス分離を備えています。

リーンコラブの紹介:長時間実行LLMタスクのためのマルチエージェントオーケストレーター
Lean Collabは、調整された並列サブエージェントを使用して長時間実行されるLLMタスクを管理するために設計されたオープンソースのオーケストレーターです。

TinyFish Web Agent、Webタスクベンチマークで競合を上回る
TinyFishのウェブエージェントは、困難なウェブタスクにおいて81.9%の成功率を達成し、OpenAI Operatorの43.2%といった競合を大きく上回りました。