BaseRT: Best-in-Class LLM Inference on Apple Silicon via Native Metal
本論文は、Apple Silicon向けのネイティブMetal推論ランタイムであるBaseRTを紹介しており、これはチップ固有の最適化を活用することで、llama.cppやMLXといった既存のフレームワークを最大1.56倍上回る、大規模言語モデルにおける記録的なスループットを実現しています。
原論文は CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) でライセンスされています。 これは以下の論文のAI生成解説です。著者が執筆または承認したものではありません。技術的な正確性については原論文を参照してください。 免責事項の全文を読む
ビッグアイデア:カスタム・レースカーの製作
想像してみてください。あなたは、非常に特定のコース(Apple SiliconチップであるM3やM4など)を走るための、専用のレースカー(大規模言語モデル、またはLLM)を運転したいと考えています。
現在、ほとんどの人は「汎用アダプター」や「レンタカー・キット」(llama.cppやMLXといった既存のソフトウェア)を使って、これらの車を運転しています。これらのキットは多くの異なるコースでも動作するため非常に優れていますが、この特定の「Appleコース」に対して完璧にチューニングされているわけではありません。余計な重りがあり、不要な手順があり、ショートカットを知らないドライバーが運転しているような状態です。
BaseRTは、Appleコースのためだけに設計された、新しいカスタムメイドのレースカーです。Base Computeのチームは、重いアダプターを取り除き、コース特有のカーブやルールに完全に一致するように、ゼロから車両を構築しました。その結果、劇的に速く走ることができるようになりました。
問題点:なぜ既存のソフトウェアは「遅い」のか?
この論文は、AIをMac上で動かすための既存のソフトウェアが、まるで寄り道が多い配送トラックのようであると主張しています。
- 「仲介者」の問題: ほとんどのソフトウェアは、コンピュータのグラフィックスチップ(GPU)と通信するために、「フレームワーク」という名の「仲介者」を使用しています。この仲介者は、あらゆるタスクの前にマネージャーがクリップボードでチェックを行うような、余計なステップを追加してしまいます。
- 「メモリ」の問題: Appleのコンピュータには、CPUとGPUが同じ大きなRAMプールを共有する「ユニファイドメモリ」という特別な機能があります。既存のソフトウェアは、これらをあたかも別々の部屋にあるかのように扱い、データの移動を不必要に往復させてしまっています。
解決策:BaseRTの仕組み
BaseRTは仲介者を排除し、脳(CPU)と筋肉(GPU)の間にダイレクトな高速道路を建設します。彼らが用いた4つの主要なトリックは以下の通りです。
「データ駆動型」の設計図:
あらゆる異なるAIモデル(Qwen、Lama、Gemmaなど)に対して新しい指示セットを書き直す代わりに、BaseRTは単一の柔軟な設計図を使用します。これは、テレビのブランドごとに異なるリモコンを用意する必要があるのではなく、向けているテレビを自動的に検知してボタンを瞬時に切り替える「ユニバーサルリモコン」のようなものです。これにより、再構成のためにエンジンを止めることなく、スムーズに走行を続けられます。「停車ゼロ」のループ:
AIに文章を書かせるとき、AIは一度に一単語ずつ生成します。古いソフトウェアでは、コンピュータは新しい単語が生成されるたびに、そのための「駐車スペース(メモリ割り当て)」を探さなければなりません。BaseRTは、レースが始まる前にすべての駐車スペースをあらかじめ確保しておきます。AIが話し始めると、駐車場を探すために止まることは一度もなく、ただ走り続けます。これにより、メモリ管理による「交通渋滞」を排除します。「フュージョン(融合)」キッチン:
通常、AIは材料(行列演算、アテンション、正規化など)を別々の鍋で調理し、その間で食べ物を移動させなければなりません。BaseRTは、これらのステップを一つの巨大な鍋へと融合させます。材料を一度の動作でまとめて調理することで、食べ物を移動させる時間を節約します。「カスタム・ドライバー」:
このソフトウェアは、自分がどのAppleチップ(M1、M2、M3など)で動作しているかを正確に把握しています。エンジンの大きさに合わせてドライビングスタイルを調整し、燃料の一滴一滴から最大限のパワーを引き出します。
結果:レースの勝者は誰か?
チームはBaseRTを、2つの最大の競合相手である llama.cpp(最も人気のあるオープンソース・ランナー)および MLX(Apple公式のフレームワーク)と比較テストしました。
- スピード: BaseRTは、ほぼすべてのテストにおいて最も速い結果を出しました。
- 小規模なモデルでは、
llama.cppよりも最大 1.56倍速く なりました。 - 複雑なAIの脳を持つ大規模な「混合エキスパート(Mixture-of-Experts)」モデルでは、初期プロンプトの処理において最大 1.78倍速く なりました。
- 小規模なモデルでは、
- 「小型モデル」のスイートスポット: 最大の勝利は小型モデルで見られました。これは、小型モデルにおいては「オーバーヘッド(管理業務に費やされる時間)」が総時間の大きな割合を占めるためです。この無駄を削ぎ落とすことで、BaseRTは劇的な差を生み出しました。
- 「大型モデル」の現実: 非常に大規模なモデルでは、スピードは主にデータの移動速度(帯域幅)によって制限されます。完璧なエンジンを持っていても、道路の制限速度を超えることはできません。しかし、BaseRTはここでもさらなるスピードを絞り出すことに成功しており、従来のソフトウェアが道路を効率的に活用できていなかったことを証明しました。
なぜこれが重要なのか?(「エッジ」へのシフト)
この論文は、AIが遠く離れたクラウドサーバーではなく、あなた自身のデバイス(ノートPCやスマートフォン)上で動作する未来に向かっていることを示唆しています。
- プライバシー: あなたのデータがコンピュータの外に出ることはありません。
- スピード: インターネット経由でリクエストをやり取りするのを待つ必要がありません。
- コスト: 単語ごとに月額料金を支払う必要はありません。ハードウェアに一度支払えば済みます。
BaseRTは、適切なソフトウェアを使用すれば、Apple SiliconがローカルでのAI実行において、私たちが考えていた以上に強力であることを証明しています。
BaseRTが「できないこと」(制限事項)
この論文は、このツールがまだ何ではないのかについても正直に述べています。
- シングルユーザー専用: これは一度に一人のユーザーがAIを使用することを想定して設計されています。何百人もの人が同時に質問を投げるような負荷(サーバーロード)には対応していません。
- Apple専用: これはMacやiPadでのみ動作します。現時点ではWindows、Android、またはNVIDIAのグラフィックスカードでは動作しません。
- 「視覚」はまだ未実装: 現在はテキストモデルを扱っており、画像を「見る」ことができるモデルには対応していません。
まとめ
著者たちは、Appleコンピュータ上でAIを動かす際の不要な荷物をすべて取り除いたカスタムエンジン(BaseRT)を構築しました。そうすることで、ハードウェアのフルスピードの可能性を解き放ち、ローカルAIをかつてないほど速く、プライベートで、効率的なものにしました。GitHubでぜひ自分で試してみてください。
自分の分野の論文に埋もれていませんか?
研究キーワードに一致する最新の論文のダイジェストを毎日受け取りましょう——技術要約付き、あなたの言語で。