vLLM(ブイエルエルエム)
UC BerkeleyのBDD研究室が開発したオープンソースLLM推論・サービングエンジン。PagedAttentionによる高効率KVキャッシュ管理とOpenAI互換APIサーバーを備え、HuggingFace Transformersより24倍のスループットを実現。研究から本番まで最も広く使われるLLM推論フレームワーク。
vLLM とは
vLLM(ブイエルエルエム)は、UC Berkeley BDD研究室のWoosuk Kwon氏らが2023年6月に発表した論文「Efficient Memory Management for Large Language Model Serving with PagedAttention」とともに公開したオープンソースLLM推論・サービングフレームワーク。GitHub上のスター数は2025年6月時点で35,000を超え、LLM推論フレームワークとして事実上の業界標準となっている。
主要特長
PagedAttention(コア技術)
OSのページングと同原理でKVキャッシュを管理し、メモリ断片化を4%未満に抑えてGPU利用率を最大化。詳細は「PagedAttention」を参照。
Continuous Batching(連続バッチ処理)
生成が完了したシーケンスを即座に新リクエストで置き換え、GPUをアイドル状態にさせない動的バッチ管理。静的バッチと比べてスループットが2〜3倍向上。
OpenAI互換APIサーバー
vllm serve <model>コマンド一発でOpenAI ChatCompletions/Completions互換のHTTP APIサーバーを起動。既存のOpenAI SDK・LangChain・LlamaIndexとのコード変更なしの統合が可能。
Multi-LoRA対応
単一ベースモデルに複数のLoRAアダプタをメモリ効率よくロードし、リクエストごとに動的切替。Mistral 7B + 10個の特化LoRAを同時サービング等が可能。
Speculative Decoding
Small draft modelでトークンを先行生成し、ターゲットモデルで並列検証することで、同品質を維持しながらレイテンシを20〜50%削減。
対応バックエンド(2025年)
- NVIDIA GPU: A100/H100/RTX 4090等(FlashAttention-2/3、FP8)
- AMD GPU: ROCm対応(MI300X等)
- Intel Gaudi: HPU対応
- Apple Silicon: CPU推論(Metal GPU非対応)
- CPU: OpenMP/AVX2最適化
基本的な使い方
# インストール
pip install vllm
# APIサーバー起動(OpenAI互換)
vllm serve meta-llama/Llama-3-8B-Instruct \
--gpu-memory-utilization 0.90 \
--max-model-len 8192
from vllm import LLM, SamplingParams
llm = LLM(model="meta-llama/Llama-3-8B-Instruct")
result = llm.generate("AIとは", SamplingParams(max_tokens=200))
vLLM vs TensorRT-LLM vs SGLang
- vLLM: 汎用性高・セットアップ簡単・マルチバックエンド → 研究・プロトタイプ・中規模本番
- TensorRT-LLM: NVIDIA専用・最高スループット・複雑設定 → 大規模本番(NVIDIA GPU確定)
- SGLang: 構造化生成・エージェント向け・高速 → 複雑なプロンプトプログラミング
パフォーマンスベンチマーク
- HuggingFace Transformers比: 最大24倍スループット向上(論文値)
- 実測: Llama 3 8B (A100)で HuggingFace比 約5〜8倍(負荷条件による)
まとめ
vLLMはLLM推論の民主化を牽引したフレームワーク。PagedAttentionという革新的なメモリ管理とOpenAI互換APIという使いやすいインターフェースの組み合わせが、研究者からエンタープライズエンジニアまで幅広いユーザー層を獲得した。2025年時点でも活発に開発が続いており、Speculative Decoding・Multi-LoRA・FP8等の最新技術が次々と追加されている。