vllm-project/vllm-metal

Community maintained hardware plugin for vLLM on Apple Silicon

vLLM Metal – Apple Silicon GPU で vLLM を実行する

概要

  • 人気の LLM サービングシステム vLLM が、MLX を計算バックエンドとして使い、Metal ベースのアテンションカーネルによって Apple Silicon Mac(M シリーズチップ)上でモデルを実行できるようにするプラグインです。
  • PyTorch 中心の vLLM コードベースと Apple の GPU スタックの間のギャップを埋め、両フレームワークに対して単一の低レベル変換パスを提供します。

主要コンポーネント

  • アップストリーム vLLM – API サーバー、リクエストスケジューラ、ページドブロックメモリマネージャを提供します。
  • mlx_lm – MLX/Metal 上で動作するトークンレベルのモデルレイヤーを提供します。
  • vllm-metal – リクエスト認識型アテンションパスを実装します。以下を含みます。
    • ページド varlen カーネル(デフォルトのアテンションバックエンド)。
    • 高速マルチヘッドアテンション(MHA)、GQA、MQA プリフィルのための M5 NAX テンソルユニット。
    • 投機的デコーディングのサポート。

最近のハイライト

  • v0.2.0(2026年4月):統合ページド varlen カーネルを搭載し、v0.1.0 と比較してファーストトークンレイテンシが約83倍高速、スループットが約3.6倍向上。
  • M5 NAX アクセラレーション(2026年8月):アテンションプリフィルを高速化。
  • Qwen‑3.8‑27B が mlx‑community/Qwen3.8-27B-8bit モデルを通じて Metal 上で動作し、270億パラメータのハイブリッド SDPA + GDN 線形モデルを単一の Mac に収めます。

対応環境

  • macOS 15(Sequoia)以降、Apple Silicon(M シリーズ)。Intel Mac や他の OS はサポートされていません。

対応モデル

  • 増え続ける LLM のリストは docs/supported_models.md に記載されています。README は、Metal 上で動作確認済みのモデルを示すマトリクスを参照しています。

インストール

  • 安定版(Homebrew)
    brew tap vllm-project/vllm-metal https://github.com/vllm-project/vllm-metal
    brew install vllm-project/vllm-metal/vllm-metal
    
    インストール後、vllm コマンドが直接動作します。仮想環境は不要です。
  • 開発ビルド(curl インストーラ)
    curl -fsSL https://raw.githubusercontent.com/vllm-project/vllm-metal/main/install.sh | bash
    source ~/.venv-vllm-metal/bin/activate
    
    これにより最新のコードが取得され、分離された Python 環境が作成されます。
  • 貢献 – Python コードや Metal カーネルを変更したい開発者向けに、リポジトリは開発セットアップガイド付きの CONTRIBUTING.md を提供しています。

使用方法

  1. 上記のようにインストールします。
  2. 標準の vllm コマンドを実行します(例:vllm serve --model <model-id>)。プラグインはサポートされている Mac で自動的に Metal バックエンドを選択します。
  3. 詳細な使用方法、設定オプション、利用可能な GPU メモリに基づくパフォーマンスチューニングのレシピについては、ドキュメント リンクを参照してください。

詳細情報

まとめ vLLM Metal は、Apple Silicon 上で大規模言語モデルをローカルにサービングすることを実用的にし、Metal 最適化カーネルによる大幅な高速化を提供しながら、使い慣れた vLLM API とスケジューリングロジックを再利用します。

関連

  • Dispatch
  • プロジェクト
  • Dispatch
  • プロジェクト
  • プロジェクト