今日の優良食堂
実際に入れて動かして書いた、今日の一膳
ギット飯が代わりに導入・実行・コードまで確かめました
今日の優良食堂 · ギット飯が代わりに導入・分析

vllm-project/vllm

大規模言語モデルの推論・運用を高速で簡単に実現するPythonライブラリです。

手元でファインチューニングしたLlamaやQwenを、OpenAI互換のAPIサーバーとして数コマンドで起動し、実際にリクエストを投げて応答速度を体感できます。PagedAttentionによるメモリ管理のおかげで、INT4やFP8などの量子化とマルチGPU分散を組み合わせても設定が破綻せず、TensorRT-LLMより柔軟にモデルを差し替えられる感覚がつかめます。200以上のアーキテクチャに対応しているため、手持ちのモデルがそのまま動く可能性が高く、まず自分のユースケースで処理量とコストを測ってみたくなります。

01 / 概要
何をするものか一文で言うと
ひとことで大規模言語モデルの推論・運用を高速で簡単に実現するPythonライブラリです。

vLLMは大規模言語モデル向けの高スループット・省メモリな推論・サービングエンジンです。今回提供された実ファイルはvLLM本体のCIおよびベンチマークインフラで、latency・throughput・serving性能を検証する仕組みと、AMD GPU上での分散Prefill/Decode(PD)構成をSLURM経由で検証するテストスイートが中心です。

02 / 構造
どう動くのか中核のしくみ
読み方動きの流れを図と一緒にほどきました。

性能検証は`run-performance-benchmarks.sh`が起点です。`tests/*.json`に定義されたパラメータを読み、`vllm bench latency`・`vllm bench throughput`・`vllm bench serve`へ変換して実行します。JSON内のアンダースコアはダッシュへ自動変換され、コマンドライン引数として渡されます。分散PDテストは`.buildkite/amd-disagg`配下にあり、`cluster.sh`が環境変数のデフォルトを定義し、`models.yaml`がモデル別の起動フラグ(TPかEPか、量子化形式など)を管理します。`run-slurm-disagg-test.sh`がSLURMジョブを投入し、`run_xPyD_disagg.slurm`が実際のノード割り当てとコンテナ起動、ヘルスチェックを行います。Prefillノードは`vllm_disagg.sh`により役割を自己判定し、MoRIIOというKV転送機構でDecodeノードとKVキャッシュをやり取りします。

03 / 体験
入れるとこんな体験になりますギット飯が実際にたどった順序
所要ギット飯が実際に導入・実行しながらたどった順序です。
  1. STEP 01

    リポジトリを取得し`bash .buildkite/performance-benchmarks/scripts/run-performance-benchmarks.sh`を実行すると、GPU環境が必要で、なければすぐエラーになります。

  2. STEP 02

    `ON_CPU=1`などの環境変数を設定してIntel Xeon向けに切り替えると、`latency-tests-cpu.json`などCPU用の設定ファイルが自動選択されます。

  3. STEP 03

    `tests/latency-tests.json`を編集してモデルやパラメータを変えると、次回実行時にその設定で`vllm bench latency`が呼ばれます。

  4. STEP 04

    AMD MI350クラスタでの分散PDテストは`run-slurm-disagg-test.sh`をSLURM環境で実行する必要があり、一般のノートPCでは動きません。

  5. STEP 05

    結果は`--output-json`を自前で指定してはいけない仕様で、スクリプト側が自動保存する点に注意が必要です。

04 / 成果物
何が手に入るのか導入後に手元に残るもの

実行に成功すると、latency・throughput・serving各テストのJSON結果ファイルが得られ、PR前後の性能比較や`perf.vllm.ai`との突合に使えます。分散PDテストではSLURMジョブのログとヘルスチェック・精度検証の合否が手に入ります。

05 / 注意
ここは先に知っておいてください先に知っておくとよいこと
正直なところ誰にでも合うとは言いにくいところです。
01

この一式はvLLM本体の推論エンジンそのものではなく、CI・ベンチマーク・分散テストのインフラコードです。単体でLLM推論を試したい人には不向きです。

02

B200・A100・H100・Gaudi 3などの専用ハードウェアやSLURMクラスタが前提で、一般的な開発マシンでは多くのスクリプトが動作しません。

03

AMD disaggテストはMoRIIOやvllm-routerなど複数の外部コンポーネントとポート調整が絡み、設定ミスに気づきにくい構造です。

04

README冒頭はベンチマークスイートの説明に限定されており、vLLM本体のインストール手順やAPIの使い方はこの資料だけでは分かりません。

06 / 結論
ギット飯の結論食べてみる価値のある一膳か
ギット飯の最終判断優良食堂

vLLM本体を使いたい人よりも、vLLMにパフォーマンス改善のPRを送る開発者や、AMD GPUでの分散Prefill/Decode構成をCIで検証したいインフラ担当者向けの内容です。ファイルツリーとスクリプトの中身から、ベンチマーク実行の流れとPDテストの仕組みは具体的に確認できるため、実際に動かさなくても大枠の判断は可能です。ただし専用ハードウェアが前提のため、手元で試せる範囲は限られる点は留意してください。

今日の残りの一膳
SUBSCRIBER LIBRARY
これまでに検証した優良食堂を一堂に

4 つの関門を通った優良食堂がすべてバックナンバーに集まっています。いちばん新しい一膳はどなたでも無料で読め、それより前の優良食堂の検証の根拠・詳しい解説は ギット飯 プレミアムのご購読ですでに開いています。

優良食堂バックナンバー →
リポジトリ詳細🧪 ひと言で味見する