AI・機械学習
上級
vLLM OpenAI互換サーバー(ブイエルエルエム オープンエーアイ ごかん サーバー)
vLLMが提供するOpenAI API互換のLLM推論サーバー。PagedAttentionによる高スループットと低レイテンシを実現し、GPUクラスタ上でLLaMA・Mistral等のオープンモデルを本番運用するためのデファクトスタンダード。
0 回閲覧
0 いいね
2026/6/7 更新
関連タグ
vllm
llm-serving
openai-compatible
paged-attention
continuous-batching
ai
vLLM OpenAI互換サーバー 詳細解説
概要
vLLM(Virtual LLM)は2023年にUC Berkeleyのチームが開発したオープンソースのLLM推論エンジンです。PagedAttentionというKVキャッシュ管理手法を核に、高スループット・低レイテンシのLLM推論を実現します。OpenAI APIと完全互換のREST APIを提供するため、既存のAIアプリケーションをプロプライエタリなモデルからオープンモデルに容易に移行できます。
主要機能
- PagedAttention: KVキャッシュをページング管理し、メモリ断片化を解消。同一GPUでより多くのリクエストを並行処理
- Continuous Batching: リクエストが到着するたびに動的にバッチを組み替え、GPU利用率を最大化
- Tensor Parallelism: 複数GPUにモデルを分散配置し、70Bパラメータ以上の大型モデルも実用的なレイテンシで推論
- OpenAI互換API: /v1/completions・/v1/chat/completions・/v1/embeddingsエンドポイントを標準提供
- マルチモーダル対応: LLaVA・Phi-3-Vision等のビジョンモデルにも対応
サーバー起動例
# 基本起動
vllm serve meta-llama/Llama-3.1-8B-Instruct
# マルチGPU起動(Tensor Parallel)
vllm serve meta-llama/Llama-3.1-70B-Instruct \
--tensor-parallel-size 4 \
--max-model-len 8192
# 量子化モデル(AWQ)
vllm serve Qwen/Qwen2.5-72B-Instruct-AWQ \
--quantization awq
OpenAIクライアントからの利用
from openai import OpenAI
client = OpenAI(
base_url="http://localhost:8000/v1",
api_key="dummy"
)
response = client.chat.completions.create(
model="meta-llama/Llama-3.1-8B-Instruct",
messages=[{"role": "user", "content": "こんにちは"}]
)
SGLang・TGIとの比較
- vLLM: 汎用性が高く対応モデル数が最多。PagedAttentionによるメモリ効率が優秀
- SGLang: 複雑なプロンプトプログラム・RadixAttentionで一部ワークロードはvLLMを上回るスループット
- TGI(Text Generation Inference): HuggingFace公式、Safetensors対応・Continuous Batching・Flash Attention標準搭載
本番運用のベストプラクティス
- --max-model-lenを実際の最大コンテキスト長に絞ってVRAM節約
- --gpu-memory-utilization 0.90で残り10%をシステム予備に
- ロードバランサー(Nginx/Envoy)と組み合わせて複数インスタンスをスケールアウト
- Prometheus + Grafanaでスループット・P99レイテンシ・KVキャッシュヒット率を監視
まとめ
vLLMはオープンソースLLMを本番サービングするためのデファクトスタンダードです。PagedAttentionとContinuous Batchingの組み合わせにより、商用GPUクラスタでもLLaMA 3やQwen 2.5等の最新モデルを高効率で運用できます。