発生日:2026年8月11日
Cuaの研究者らは、Apple Silicon上のmacOS仮想マシン内で`llama.cpp`がより高速なMetalカーネルを利用できるようにする実験的な互換レイヤーを公開した。M1 Ultraを使ったテストでは、この変更により、未変更のゲストで同じワークロードを実行した場合と比べて7倍から16倍の性能向上が得られ、一部の結果はベアメタルに近い速度となった。
AppleのVirtualization.frameworkは、ホストGPUを基盤とする仮想グラフィックスデバイスをゲストに提示する。ゲストは仮想化対応ドライバーを通じてMetal処理を送り、ホストはハードウェアの制御を維持する。これは準仮想化であり、物理PCIやVFIOのパススルーではない。
標準状態のTahoe仮想マシンでは、デバイスは保守的な機能プロファイルを報告していた。すなわち、おおむねApple 5世代のGPUファミリー、スレッドグループメモリの上限32KB、SIMDグループ行列の非対応という内容だった。アプリケーションは使用するコードパスを選ぶためにこれらの機能を照会するため、研究者らが仮想デバイスで新しいカーネルを実行できることを確認したにもかかわらず、`llama.cpp`は古いカーネルを選択していた。
研究者らのシムは単一のゲストプロセス内で動作し、選択されたMetal照会を横取りして、報告されるAppleファミリーとスレッドグループメモリの値を変更する。ワークロードはAppleの既存の仮想GPU経路上に残り、カーネルを変更したり、物理GPUを割り当てたりすることはない。設定が欠けているか不正な形式の場合、プロセスは標準の動作に戻る。追加するMetal機能は、それぞれ個別に検証する必要がある。
TinyLlama 1.1Bのプロンプト処理は標準ゲスト比で11.08倍、トークン生成は16.36倍に向上した。プロンプト速度はベアメタルの98%に達した。Googleの6.98GBのGemma 4 12B QAT Q4_0モデルでは、プロンプト処理が7.20倍、生成が14.54倍となり、それぞれベアメタル性能の99.59%と94.82%に達した。
64GiBのゲストで行ったテキスト専用のMuse Glimmer 30Bテストでは、プロンプト処理が7.55倍、生成が8.87倍に向上した。このテストでは、Ollama、マルチモーダル射影、投機的ドラフティングを使わずに`llama.cpp`を使用した。プロジェクトには、再現用のソース、ビルドスクリプト、機能プローブ、生ログが含まれている。
主なベンチマーク環境は、48コアGPUとmacOS 26.6.1を搭載した1台のM1 Ultraで、仮想CPU 8基と16GiBのメモリを備えたTahoe 26.5.2ゲストを使用した。結果は、各行につき10サンプルの中央値だった。
今回の公開は、生のハードウェアアクセスだけでなく、報告される機能も仮想化環境での推論を制約し得ることを示している。他のチップ、ゲスト、Metalプログラムでも同等の向上が得られることを立証するものではない。Cuaはこの成果を研究版と位置付け、通知されるプロファイルの変更がどの範囲で正確性と有益性をともに維持できるかを確認するため、より広範なテストを呼びかけている。
著者らは、非公開の機能プロファイルやレイトレーシングのオーバーライドを含む、より広範な実験的フックを意図的に削除し、テスト対象の推論経路に必要な機能に結び付いた、より小規模な仕組みだけを残した。この限定的な範囲により、主張を再現可能にする一方、一般的な仮想化グラフィックスについて今回のリリースから言えることは限定される。



