vLLM による高性能推論
はじめに
vLLM は、本番デプロイメント向けに設計された高スループットの LLM サービングエンジンです。Ollama や llama.cpp は個人使用に最適ですが、LLM を API バックエンドとして高スループットかつ効率的なメモリ管理で提供する必要がある場合、vLLM が輝きます。
違いは次のとおりです:
- Ollama/llama.cpp = 個人開発ツール(単一ユーザー)
- vLLM = 本番サーバー(複数ユーザー、高スループット)

インストール
NVIDIA Jetson AI Lab は、Jetson Orin 上の vLLM 用に公式に最適化された Docker イメージと厳選されたモデルレシピを提供します—すべての依存関係は事前にビルドおよびテスト済みで、バージョンの競合はありません。
ステップ 1:vLLM Docker イメージをプル
bash
sudo docker pull ghcr.io/nvidia-ai-iot/vllm:latest-jetson-orinステップ 2:モデルサーバーを起動
bash
sudo docker run -it --rm --pull always \
--runtime=nvidia --network host \
-e HF_ENDPOINT=https://hf-mirror.com \
-v $HOME/.cache/huggingface:/root/.cache/huggingface \
ghcr.io/nvidia-ai-iot/vllm:latest-jetson-orin \
vllm serve cyankiwi/Qwen3.5-4B-AWQ-4bit \
--gpu-memory-utilization 0.8 \
--enable-prefix-caching \
--reasoning-parser qwen3 \
--enable-auto-tool-choice \
--tool-call-parser qwen3_coderステップ 3:API をテスト
サーバーが起動したら(Uvicorn running on http://0.0.0.0:8000 が表示されます)、新しいターミナルを開いてテストします:
bash
# 利用可能なモデルをリスト
curl http://localhost:8000/v1/models
# チャットリクエストを送信
curl -s http://localhost:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "cyankiwi/Qwen3.5-4B-AWQ-4bit",
"messages": [{"role": "user", "content": "What is edge computing?"}]
}'
他のモデルを試す
以下はすべて、Jetson Orin で同じ Docker イメージを使用して検証され、実行準備ができています。上記のコマンドでモデル名を変更するだけです:
| モデル | コマンド |
|---|---|
| Qwen3.5 2B | vllm serve Qwen/Qwen3.5-2B |
| Qwen3.5 9B | vllm serve Qwen/Qwen3.5-9B |
| Qwen3 8B | vllm serve Qwen/Qwen3-8B |
| Gemma 4 E4B | vllm serve google/gemma-4-E4B-it |
| Gemma 4 E2B | vllm serve google/gemma-4-E2B-it |
| Gemma 3 4B | vllm serve google/gemma-3-4b-it |
| Gemma 4 26B-A4B (AWQ) | vllm serve cyankiwi/gemma-4-26B-A4B-it-AWQ-4bit |
| Nemotron Nano 9B v2 | vllm serve nvidia/Nemotron-Nano-9B-v2 |
| Nemotron3 Nano 30B-A3B | vllm serve nvidia/Nemotron3-Nano-30B-A3B |
较大的モデル(Qwen3.5 9B+)または AWQ 量子化モデルは、より多くの VRAM を必要とします。Orin Nano 8GB では、2B–4B モデルを使用してください。Orin NX 16GB または AGX Orin 32GB/64GB では、8B–30B(MoE)モデルを快適に使用できます。
完全なリストを閲覧し、直接実行可能なコマンドをコピーしてください:jetson-ai-lab.com/models
Python の例
基本的なチャット
python
from openai import OpenAI
client = OpenAI(
base_url="http://localhost:8000/v1",
api_key="not-needed"
)
response = client.chat.completions.create(
model="Qwen/Qwen3.5-2B",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Explain edge computing in 3 sentences."}
],
temperature=0.7,
max_tokens=150
)
print(response.choices[0].message.content)ストリーミング応答
python
from openai import OpenAI
client = OpenAI(
base_url="http://localhost:8000/v1",
api_key="not-needed"
)
stream = client.chat.completions.create(
model="Qwen/Qwen3.5-2B",
messages=[{"role": "user", "content": "Write a haiku about robots."}],
stream=True,
max_tokens=100
)
for chunk in stream:
if chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)
print()
参考文献
- Jetson AI Lab — モデル — 直接実行可能な Docker コマンドを含む、Jetson 最適化モデルの公式精选リスト
- NVIDIA AI IoT — vLLM コンテナ — Jetson Orin 用の公式 vLLM Docker イメージ
- vLLM ドキュメント
次へ:モジュール 5.5:Jetson サンプルクイックスタート で LLMs を単一コマンドでデプロイしましょう!