blog.dopana

Back

vLLMはUC Berkeley発の高性能オープンソースLLM推論&サービングエンジン(SOSP 2023)。Apache 2.0ライセンス。最新:v0.26.0(2026年7月)。~77.5k GitHubスター、週間2.79M PyPIダウンロード。コントリビューター数で#1のOSSプロジェクト(GitHub Octoverse 2025)。

PagedAttention — 中核となる革新#

PagedAttentionはKVキャッシュをOSの仮想メモリのように管理:固定サイズブロック、動的割り当て/解放、コピーオンライト共有。結果:

  • メモリ浪費が60-80%から<4%に削減
  • 単純なHF Transformersサービングと比較して24倍のスループット
  • プレフィックス共有:システムプロンプトを一度計算、全リクエストで再利用

主要機能#

機能説明
Continuous batching実行中のバッチに新しいリクエストを途中参加
Chunked prefill長いプロンプトを分割、デコードをブロックしない
Prefix caching繰り返しシステムプロンプトで40%レイテンシ削減
Tensor/pipeline/expert並列化8+ GPUにスケール
投機的デコードEAGLE 3.1、DFlash — 最大2倍スループット
分離型prefill/decode別サーバーで独立スケーリング
KVキャッシュ量子化FP8、NVFP4、INT8、INT4

量子化サポート#

フォーマット実装ハードウェア
FP8 (W8A8)Dynamic/static、トークングループ単位の活性化Hopper+
NVFP4NVIDIAネイティブ4ビット浮動小数点 (SM100+)Blackwell
MXFP4OCP Microscaling 4-bitBlackwell, Hopper
INT4 (AWQ/GPTQ)MarlinカーネルTuring+
INT8llm-compressor、静的Ampere+
KVキャッシュFP8、NVFP4、INT8、INT4Hopper+

2026年のコンセンサス:BF16 → FP8(Hopper)→ NVFP4/MXFP4(Blackwell)。

ハードウェア#

  • NVIDIA CUDA: Volta → Blackwell(SM 7.0–12.0)。全機能対応
  • AMD ROCm: MI300X、MI355X
  • Intel XPU: Arc Pro Bシリーズ
  • Google TPU: プラグイン(PyTorch + JAX)
  • Apple Silicon: vllm-metalプラグイン(MLXベース)、M4 Maxで~525 tok/s
  • CPU: x86/ARM/PowerPC/S390X
  • Huawei Ascend、AWS Trainium/Inferentia、IBM Spyre: プラグイン

200+のモデルアーキテクチャをHugging Face上でサポート。

マルチモーダル#

2025-2026年以降、vLLMはマルチモーダルに対応:

  • 画像: LLaVA、Qwen2.5-VL、Pixtral、Gemma3
  • 動画: Qwen2.5-VL、Qwen3-VL
  • 音声: Whisper、Qwen2-Audio、Ultravox
  • オムニ: Qwen3-Omni — インターリーブ音声+動画

vLLM-Omni(2025年11月)が追加:Diffusion Transformers(DiT)、TTS、非自己回帰生成、異種出力。

サービング機能#

  • OpenAI互換API: /v1/chat/completions/v1/completions/v1/embeddings — ドロップイン置換
  • Anthropic Messages API
  • 構造化出力: xgrammar + guidance。guided_jsonguided_regexguided_grammar
  • ツール呼び出し: Hermes、Mistral、Llama3、Qwen、xLAM、Granite…
  • マルチLoRA: Dense + MoEレイヤー用Fusedカーネル
  • リアルタイムAPI: WebSocketストリーミング
  • vLLM Semantic Router: マルチモーダルルーティング、負荷分散

パフォーマンス#

H100単一GPUスループット(batch=32、FP16):

エンジン7B13B70B
vLLM180 tok/s12050
SGLang16011045
TGI1409040
TensorRT-LLM280200100
llama.cpp862

同時サービング — Llama 3 70B(A100 80GB):

同時接続数vLLMOllama
10~30 tok/s~15 tok/s
50~18 tok/s~4 tok/s
100~12 tok/sOOM
GPUメモリ利用率~96%60-70%
KVキャッシュ浪費<4%40-60%

vLLM vs 代替手段#

観点vLLMTGITRT-LLMSGLangllama.cpp
PagedAttention✅ ネイティブ部分的RadixAttention
スループットベースライン~78%2-3xピーク~90-95%~5%
コールドスタート~62s高速~28分コンパイル~58s即時
ハードウェアマルチプラットフォームCUDA/ROCmCUDAのみCUDA/ROCm全て
OpenAI API完全+Anthropic部分的Triton経由完全部分的
量子化FP8/FP4/INT4…同様FP4/FP8/INT4同様GGUF

2026年のコンセンサス:GPUサービングはvLLMがデフォルト。プレフィックス共有が多い場合はSGLang。静的ピーク性能はTRT-LLM。TGIはメンテナンスモード。

開発タイムライン 2025-2026#

時期出来事
2025年1月vLLM V1アーキテクチャ書き換え
2025年11月vLLM-Omniリリース — オムニモーダル
2026年1月Streaming Requests、Realtime WebSocket API
2026年3月P-EAGLE並列投機的デコード
2026年4月FP8 KV-Cache、RTX PRO 6000 NVFP4 — 6.5xスループット
2026年5月EAGLE 3.1、Native RL APIs
2026年7月v0.26.0(PyPI)

参考文献#