vLLMとは?高速LLM推論サーバーの仕組みと導入方法
オープンソースラボ編集部 ・ 2026年6月13日
vLLMは、自社インフラでLLM(大規模言語モデル)を本番運用するためのオープンソース推論エンジンです。2023年にUC Berkeleyが発表した「PagedAttention」という独自技術により、同じGPUハードウェアでも従来の推論フレームワークより圧倒的に多くのリクエストを同時に処理できます。Apache-2.0ライセンスで無料利用でき、GitHubスター数は82,712を超えるLLMインフラ界のデファクトスタンダードです。この記事では、vLLMの仕組み・特徴・導入方法・デメリットまで包括的に解説します。
vLLMとは?PagedAttentionで何が変わるのか
LLMの推論処理では、各トークンを生成するたびに「KVキャッシュ」と呼ばれる中間データをGPUメモリに保持する必要があります。従来のフレームワークでは、このキャッシュをリクエストごとに連続したメモリブロックとして確保するため、メモリの断片化が深刻でした。実際に使われるGPUメモリはせいぜい20〜40%程度で、残りは「将来のトークン用の予約」として無駄になっていました。
vLLMのPagedAttentionは、OSのページングメモリ管理をヒントに、KVキャッシュを固定サイズのブロックに分割して非連続メモリに格納します。これにより、GPUメモリを最大96%活用でき、スループットを最大24倍に向上させることが可能です。
また、vLLMは**継続的バッチ処理(Continuous Batching)**に対応しており、処理の完了したリクエストがあれば即座に新しいリクエストをバッチに追加します。従来のスタティックバッチングと比べ、GPUの遊休時間が大幅に減ります。
| 機能 | vLLM | 従来フレームワーク |
|---|---|---|
| KVキャッシュ効率 | 最大96% | 20〜40% |
| 最大スループット | 最大24倍向上 | ベースライン |
| バッチ処理方式 | 継続的バッチ | スタティックバッチ |
| OpenAI互換API | あり | 別途実装が必要 |
| 対応ハードウェア | NVIDIA / AMD / TPU | 主にNVIDIA |
vLLMの主な特徴と対応モデル
vLLMがLLMインフラのデファクトスタンダードとなった理由は、高い汎用性と完成度にあります。
広範なモデルサポート Llama 3、Qwen 2、Mistral、DeepSeek、Gemma、Falcon、MPTなど、HuggingFace上の主要オープンモデルを幅広くサポートします。マルチモーダルモデル(LLaVA等)にも対応しており、テキスト以外の入力を扱うシステムにも活用できます。
OpenAI互換API
vLLMを起動すると、OpenAI形式の /v1/chat/completions エンドポイントが自動で立ち上がります。既存のOpenAI SDK呼び出しコードを変更せずに、自社ホストのモデルへ切り替えられます。
量子化対応 GPTQ、AWQ、SqueezeLLMなどの量子化フォーマットに対応しており、より少ないGPUメモリで大型モデルを動かすことができます。たとえば70BパラメータのLlamaモデルをA100 1枚で動かす際の量子化との組み合わせは一般的な構成です。
ライセンスと料金
vLLM本体はApache-2.0ライセンスで完全無料です。商用利用も無制限に可能で、改変・再配布も自由です。ただし、vLLMで動かすモデル(Llama 3等)はそれぞれに固有のライセンスが適用されます。たとえばMeta Llama 3はMeta独自のライセンスで、月間アクティブユーザー7億人超の場合は別途申請が必要です。モデルのライセンス確認は必須です。
コスト面では、クラウドGPUを使う場合のインフラ費用が主なコストです。NVIDIA A10G(24GB)はAWSで1時間あたり約1.5ドル、A100(80GB)は約3〜4ドルが相場です。vLLMの高スループットにより、同等の処理を少ないGPU台数でこなせるため、OpenAI APIと比較してコストを70〜90%削減できた事例も報告されています。
導入方法:ローカルからクラウドまで
Pythonパッケージでの導入(最も簡単)
pip install vllm
python -m vllm.entrypoints.openai.api_server \
--model meta-llama/Meta-Llama-3-8B-Instruct \
--port 8000
これだけで http://localhost:8000/v1/chat/completions にOpenAI互換エンドポイントが立ち上がります。
Dockerでの導入
docker run --runtime nvidia --gpus all \
-v ~/.cache/huggingface:/root/.cache/huggingface \
-p 8000:8000 \
vllm/vllm-openai:latest \
--model mistralai/Mistral-7B-Instruct-v0.2
KubernetesやRayクラスターへのデプロイ
大規模な本番運用では、複数GPUにまたがるテンソル並列処理(--tensor-parallel-size)やパイプライン並列処理(--pipeline-parallel-size)を使い、70B以上の大型モデルも分散実行できます。
活用シーン
| シーン | 具体例 |
|---|---|
| 社内チャットbot | OpenAI APIをvLLM+ローカルモデルに置き換えて月額コスト削減 |
| RAGシステム | langchainやragflowのバックエンドLLMとして組み込む |
| LLMOpsプラットフォーム | difyのカスタムモデルエンドポイントとして設定 |
| ファインチューニング後の運用 | llamafactoryでファインチューニングしたモデルを本番提供 |
| コード補完サービス | Starcoderや DeepSeek-Coderを自社サーバーで高速推論 |
| データプライバシー要件の厳しいAPI | 医療・金融業界での完全オンプレミスLLM |
デメリットと注意点
GPUが必須 vLLMはGPUがないと動作しません(実験的なCPU推論はあるが実用速度ではない)。CPU環境でのローカル実行を求める場合はllama.cppが適しています。
導入・運用の技術ハードル インフラ設計・GPU選定・モデルのメモリ計算・スケーリング設計など、MLエンジニアリングの知識が必要です。完全マネージドなLLMOpsが必要ならdifyのようなプラットフォームの利用も検討してください。
メモリ要件が高い 7Bモデルでも16GB GPU RAM(BFloat16)、70Bモデルでは140GB以上のGPUメモリが必要です。量子化で軽減できますが、精度とのトレードオフがあります。
Windows非対応 vLLMはLinux専用です。Windowsでの動作は非公式サポートのみとなります。
Q. vLLMはどのくらいのGPUスペックがあれば動きますか?
7Bパラメータモデルの場合、BFloat16でNVIDIA A10G(24GB VRAM)が目安です。量子化(AWQ 4bit)を使えばVRAM 12GB程度のGeForce RTX 3060や4070でも動かせます。70Bモデルはテンソル並列を使い複数GPUが必要です。
Q. OpenAI APIからvLLMへの移行は難しいですか?
APIのURLとモデル名を変えるだけで大半のケースは動きます。OpenAI SDKの base_url を http://localhost:8000/v1 に設定し、model をHuggingFaceのモデルIDに変えるだけです。関数呼び出し(Function Calling)も主要モデルであればサポートしています。
Q. vLLMとllama.cppはどう使い分けますか?
vLLMは本番・高トラフィック・GPU環境向けで、多数の同時リクエストをさばく用途に最適です。llama.cppはCPU・低スペック・個人ローカル実行向けで、MacBookやRaspberry Piでも動きます。企業のサーバーでAPIを公開するならvLLM、手元のPCで試すならllama.cppが基本的な選び方です。
Q. vLLMはAMD GPUでも動きますか?
はい。ROCm対応のAMD GPU(MI200・MI300シリーズ等)で動作します。ただしNVIDIA CUDAと比べてサポートされているモデルや機能に一部差異があります。TPU(Google Cloud)への対応も進んでいます。
まとめ
vLLMは、自社でLLMを本番運用したいチームにとって現時点で最も成熟した推論エンジンです。PagedAttentionによる高スループット、OpenAI互換API、幅広いモデルサポート、そしてApache-2.0の完全フリーライセンスが揃っており、クラウドAPIコストの削減とデータプライバシーの確保を同時に実現できます。GPUインフラの準備と運用ノウハウが必要なため、まずは小規模な検証環境で試し、スケールアップを段階的に進めることをおすすめします。
