vllm-metal v0.28.0 リリースノート / 新機能紹介

vllm-metal は vLLM の高度なスケジューリングとメモリ管理を Apple Silicon エコシステムに統合し、Mac ユーザーが OpenAI 互換のサーバーを実行できるようにします。このサーバーはリクエストの重なりを効率的に処理できます。vLLM の V1 スケジューラとページ化 KV キャッシュを MLX と Metal で実行することで、vllm-metal はローカルモデル実行をスケーラブルなサービング問題に変換します。

コアアーキテクチャと統合

vllm-metal は上流の vLLM 用のプラグインとして機能し、以下のコンポーネントを利用しています:

  • vLLM フロントエンド: V1 スケジューラ、ページ化 KV ブロック管理、チャンク化プレフィル、サンプリング、ツールコール解析とストリーミングを備えた OpenAI 互換サーバーを提供。
  • MLX 実行: mlx_lm をモデル実装に使い、Apple Silicon の統合メモリ上で MLX でハードウェア実行を行う。
  • カスタム Metal カーネル: vllm-metal は mlx_lm のトークン単位のレイヤー(RMSNorm、線形、MoE、MLP)を再利用しますが、標準的なアテンションをページ化可変長 Metal カーネルに置き換えます。このカーネルは vLLM の統合 Triton カーネルの移植版であり、各クエリトークンのリクエスト所有権を特定するために cu_seqlens に対するバイナリサーチを実装しています。

メモリ管理とページ化 KV キャッシュ

vllm-metal は --gpu-memory-utilization フラグを使ってメモリガードを実装し、予測可能な推論予算を設定することで、macOS および他のアプリケーションに余裕を持たせます。システムは起動時にウォームアップパスを実行して重みと活性化を考慮した後、残りの予算を固定された KV キャッシュに割り当てます。

スループットを最適化するために、vllm-metal は パックされたクエリ と ページ化 KV ストレージ を使用しています:

  • パックされたクエリ: mlx_lm のパディングバッチとは異なり、vllm-metal はすべてのスケジュールされたクエリトークンを単一の [total_q, H, D] トランスフォーマーにパックします。これにより、最も長いリクエストにパディングする必要なく、プレフィルとデコードの混合ステップを1回のモデルフォワードで処理できます。
  • ページ化 KV: KV キャッシュは固定サイズのページに格納され、リクエストごとのブロックテーブルでアドレス指定されます。これにより、リクエストの成長に伴って連続バッファの再形状を必要とせずに済みます。

パフォーマンスベンチマーク

同時サービングとレイテンシ

M5 Pro(64 GB メモリ)上で SiliconBench エージェント分割(100件のマルチターンプロンプト、各々約4.6Kの入力トークン)を使用した場合、vllm-metal はいくつかの点で優れたパフォーマンスを示しました:

  • Qwen3.8-27B: 同時実行数 2 および 4 の場合、vllm-metal は最小の最初のトークン到達時間(TTFT)とエンドツーエンドレイテンシを達成しました。
  • Gemma 4 E4B: 同時実行数 16 までスイープした場合でも、vllm-metal は低TTFTを維持しました。
  • Qwen3.6-35B-A3B: 同時実行数 4 の場合、vllm-metal のスループットとエンドツーエンドレイテンシは RAM キャッシュを使用した oMLX と同等でしたが、vllm-metal は TTFT で顕著な優位性を示しました。

マルチトークン予測(MTP)

Gemma 4 E4B に対して、vllm-metal は MTPアシスタントモデルによる推測的デコードをサポートしています。同時実行数 1 の場合、MTP は壁時計時間(wall time)を15%削減し、出力スループットを20%向上させました(MTPなしの生成と比較)。

M5 ハードウェアアクセラレーション

M5 Mac では、vllm-metal は自動的に NAX アテンションカーネル を使用します。このカーネルは、対応するプレフィルバッチに対して GPU のテンソルハードウェアを利用し、タイル化アテンションよりも高速なプレフィル時間を実現します。

v0.28.0 での新機能

v0.28.0 リリースでは、以下の主要な機能が導入されています:

  • モデルサポート: Qwen3.5、Qwen3.6、Qwen3.8、Qwen3-Next ファミリーからの GGUF チェックポイントおよびハイブリッドアテンションモデルをサポート。
  • 推測的デコード: Gemma 4 MTP、別々のドラフトモデル、プロンプト検索 n-gram の3つの方法をサポート。
  • 高度なサービング: LoRAアダプター、構造化出力、MLXリングバックエンドを介した複数 Mac 間のパイプライン並列処理。
  • 実験的機能: 視覚言語モデル、テキスト埋め込み、再ランキング、音声からテキストへの変換のサポート。
  • プレフィックスキャッシュ: Qwen3.5スタイルのハイブリッドモデルでは、align モードをサポート。ブロック境界で GDN 再帰状態を保存し、キャッシュされたプレフィックスから再開できるようにします。

インストールと使用方法

vllm-metal は macOS 15 以降を必要とし、Homebrew でインストールできます:

brew tap vllm-project/vllm-metal https://github.com/vllm-project/vllm-metal
brew install vllm-project/vllm-metal/vllm-metal

vllm serve コマンドを使用して OpenAI 互換サーバーを起動でき、モデルとメモリ利用予算を指定します。

Sources