vLLM(ブイエルエルエム)
UC Berkeleyが開発したオープンソースLLM推論・サービングエンジン。PagedAttentionとContinuous Batchingを実装し、ナイーブなHuggingFace実装比で最大24倍のスループットを実現。2023年登場でGitHubスター4万超の事実上の標準サービングスタック。
vLLM 完全ガイド 2025 — PagedAttentionと高スループット推論の実装
vLLMは2023年にUC Berkeley(Woosuk Kwonら)が発表したオープンソースLLM推論エンジン。論文「Efficient Memory Management for Large Language Model Serving with PagedAttention」(SOSP 2023)で紹介され、KVキャッシュ管理を根本から再設計したPagedAttentionにより既存実装の最大24倍のスループットを実証した。GitHubスター数は2025年6月時点で40,000超で、クラウドLLMサービングの事実上の標準ツールとなっている。
PagedAttentionの仕組み
PagedAttentionはOSのページングメモリ管理をKVキャッシュに適用する。従来の実装では各シーケンスのKVキャッシュに最大コンテキスト長分の連続メモリを事前確保するため、メモリ断片化率が60〜80%に達していた。PagedAttentionではKVキャッシュをブロック(デフォルト16トークン)単位で管理し、物理メモリの非連続領域に分散配置する。
効果:
- メモリ断片化: 80%→4%以下
- 同時処理可能シーケンス数: 最大3.5倍増加
- GPU利用率: 35%→90%以上
スペック・サポートモデル
| 項目 | 詳細 |
|---|---|
| ライセンス | Apache 2.0 |
| GitHubスター | 40,000+(2025年6月) |
| サポートGPU | NVIDIA A/H/V/L/T シリーズ、AMD MI300X |
| サポートモデル | Llama 3.x、Mistral/Mixtral、Qwen 2.5、Gemma 2、Phi-3/4 など200+ |
| コーデック形式 | BF16・FP16・FP8・AWQ・GPTQ・INT4 |
| 分散推論 | Tensor Parallel(最大8-way)、Pipeline Parallel |
| API互換性 | OpenAI Chat Completions API 完全互換 |
クイックスタート
pip install vllm
vllm serve meta-llama/Meta-Llama-3.1-8B-Instruct \
--tensor-parallel-size 1 \
--max-model-len 8192 \
--gpu-memory-utilization 0.9
2025年の主要アップデート
- FP8量子化: H100でネイティブFP8推論対応、BF16比で1.7倍スループット向上
- Speculative Decoding統合: ngram/eagle/medusaドラフトモデルによる2〜3倍の速度向上
- Prefix Caching: 同一プレフィックスのKVキャッシュを自動再利用(RAGで50%+改善)
- AMD MI300X対応: ROCm経由でAMD GPUをサポート
よくある質問(FAQ)
Q1: vLLMとllama.cppの使い分けは? A: NVIDIAグレードGPU本番サービングはvLLM。CPUや個人用M2/M3 MacはOllama/llama.cpp(GGUF量子化)。vLLMはCPU推論に非対応。
Q2: AWQ量子化モデルはvLLMで動きますか?
A: はい。--quantization awqフラグで対応。AutoAWQライブラリで事前量子化したモデルをそのままロード可能。GPTQ・FP8も対応。
Q3: vLLMの本番運用で最低限必要なGPUは? A: Llama-3.1-8B BF16なら16GB VRAM(RTX 3090/4080/A10G)。70BはA100 80GB×2以上。405BはH100×8必須。
まとめ
- PagedAttention: KVキャッシュ断片化を80%→4%以下に削減
- Continuous Batching: GPU稼働率35%→90%以上
- OpenAI API互換: 既存クライアントコードの変更不要
- 2025年スター40K超でクラウドLLMサービングの事実上の標準