Inférence haute performance avec vLLM
Introduction
vLLM est un moteur de service LLM à haut débit conçu pour les déploiements en production. Alors qu'Ollama et llama.cpp sont excellents pour une utilisation individuelle, vLLM brille lorsque vous devez servir des LLMs en tant que backend API avec un haut débit et une gestion efficace de la mémoire.
Considérez la différence ainsi :
- Ollama/llama.cpp = outils de développement personnel (utilisateur unique)
- vLLM = serveur de production (plusieurs utilisateurs, haut débit)

Installation
NVIDIA Jetson AI Lab fournit des images Docker officiellement optimisées et des recettes de modèles sélectionnées pour vLLM sur Jetson Orin — toutes les dépendances sont pré-construites et testées, aucun conflit de version.
Étape 1 : Télécharger l'image Docker vLLM
sudo docker pull ghcr.io/nvidia-ai-iot/vllm:latest-jetson-orinÉtape 2 : Démarrer un serveur de modèles
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Étape 3 : Tester l'API
Une fois le serveur démarré (vous verrez Uvicorn running on http://0.0.0.0:8000), ouvrez un nouveau terminal et testez :
# Lister les modèles disponibles
curl http://localhost:8000/v1/models
# Envoyer une requête de chat
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?"}]
}'
Essayer plus de modèles
Tous les suivants sont vérifiés et prêts à exécuter sur Jetson Orin avec la même image Docker. Il suffit de remplacer le nom du modèle dans la commande ci-dessus :
| Modèle | Commande |
|---|---|
| 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 |
Les modèles plus grands (Qwen3.5 9B+) ou les modèles quantifiés AWQ ont besoin de plus de VRAM. Sur Orin Nano 8GB,sticks à des modèles 2B–4B. Sur Orin NX 16GB ou AGX Orin 32GB/64GB, vous pouvez exécuter confortablement des modèles 8B–30B (MoE).
Parcourez la liste complète et copiez les commandes prêtes à exécuter sur : jetson-ai-lab.com/models
Exemples Python
Chat basique
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)Réponses en streaming
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()
Références
- Jetson AI Lab — Modèles — liste officielle de modèles optimisés pour Jetson avec des commandes Docker prêtes à exécuter
- NVIDIA AI IoT — Conteneur vLLM — l'image Docker vLLM officielle pour Jetson Orin
- Documentation vLLM
Suivant : Continuez vers Module 5.5 : Démarrage rapide des exemples Jetson pour déployer des LLMs avec une seule commande !