OSFRIA Découvrir les outils

OSIALab · Moteur local

vLLM — serveur d'inférence haute performance

vLLM est un moteur d'inférence conçu pour servir des modèles de langage à grande vitesse. Il s'adresse aux équipes techniques qui ont besoin de performances élevées et de servir plusieurs utilisateurs en parallèle, sur du matériel GPU.

Cette page est informative et sans valeur de conseil. Téléchargez toujours depuis la source officielle de chaque outil, vérifiez la licence du logiciel et des modèles, et gardez en tête qu'un modèle d'IA peut se tromper : croisez les informations importantes.

À quoi ça sert

vLLM (Very Large Language Model serving) est un moteur d'inférence open source développé par l'Université de Berkeley. Sa technologie principale, le PagedAttention, optimise la gestion de la mémoire GPU pour servir beaucoup de requêtes simultanées sans gaspillage.

Concrètement : là où Ollama est conçu pour un usage individuel, vLLM est pensé pour alimenter une API que plusieurs utilisateurs ou services consomment en même temps. Il expose une API compatible OpenAI.

Pour qui

vLLM est un outil de niveau expert. Il suppose une bonne maîtrise de Python, de CUDA/GPU, et des environnements de déploiement serveur. Il devient pertinent si vous avez un GPU NVIDIA disponible et que vous devez servir un modèle à plusieurs utilisateurs simultanément.

Pour un usage individuel ou une équipe petite, Ollama ou LocalAI sont plus appropriés et moins complexes à mettre en place.

Installation

Prérequis

vLLM nécessite un GPU NVIDIA avec CUDA 12.x, Python 3.9 ou supérieur, et des pilotes NVIDIA récents. L'installation sans GPU est possible mais les performances seront très limitées.

Installation via pip

# Créer un environnement virtuel (recommandé)
python -m venv venv
source venv/bin/activate  # Linux/macOS
# ou : venv\Scripts\activate  # Windows

# Installer vLLM
pip install vllm

Lancer un serveur d'inférence

La commande suivante démarre un serveur API compatible OpenAI avec le modèle Mistral 7B :

python -m vllm.entrypoints.openai.api_server \
  --model mistralai/Mistral-7B-Instruct-v0.2 \
  --port 8000

Le modèle est téléchargé depuis Hugging Face au premier lancement. Vérifiez la licence du modèle avant de l'utiliser.

Via Docker

docker run --gpus all \
  -p 8000:8000 \
  --ipc=host \
  vllm/vllm-openai:latest \
  --model mistralai/Mistral-7B-Instruct-v0.2

Tester l'API

# Lister les modèles disponibles
curl http://localhost:8000/v1/models

# Envoyer une requête
curl http://localhost:8000/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "mistralai/Mistral-7B-Instruct-v0.2",
    "messages": [{"role": "user", "content": "Bonjour !"}]
  }'

Précautions d'usage

  • GPU quasi indispensable en pratique. vLLM tourne sans GPU mais avec des performances très dégradées. Pensez à évaluer votre matériel avant de vous lancer.
  • Mémoire GPU importante requise. Un modèle 7B nécessite environ 14 à 16 Go de VRAM. Des modèles plus grands demandent plusieurs GPU ou du matériel spécialisé.
  • Les licences des modèles varient. Le moteur vLLM est open source (Apache 2.0), mais chaque modèle chargé a sa propre licence. Vérifiez-la avant tout usage professionnel.
  • Les modèles peuvent se tromper. Performances élevées ne signifie pas précision garantie. Vérifiez toujours les réponses importantes.
  • Ne pas exposer l'API sans protection. vLLM n'intègre pas d'authentification native — ajoutez un reverse proxy sécurisé si l'accès doit dépasser localhost.

Matrice de risque

Risque Niveau Mitigation
Fuite de données vers le cloud 🟢 Faible — tout reste local Utiliser des modèles téléchargés localement, pas de provider cloud
API exposée sans authentification 🔴 Élevé si exposée sur le réseau Reverse proxy avec authentification, accès restreint à localhost
Réponse erronée du modèle 🟡 Moyen Vérifier, croiser les sources, ne pas faire confiance aveuglément
Licence du modèle mal adaptée 🟡 Moyen Vérifier la licence sur Hugging Face avant tout usage commercial
Saturation GPU / mémoire 🟡 Moyen Dimensionner le matériel selon la taille du modèle et la charge prévue

Sécurité

vLLM n'envoie pas de données vers l'extérieur si vous utilisez des modèles hébergés localement. Pensez à :

  • Restreindre l'écoute à localhost. Ajoutez --host 127.0.0.1 au lancement si vous n'avez pas besoin d'accès réseau.
  • Utiliser un reverse proxy pour l'accès multi-utilisateurs. Nginx ou Caddy avec authentification basique suffisent pour un usage interne.
  • Mettre à jour vLLM régulièrement. La librairie évolue vite — les mises à jour apportent des correctifs et de meilleures performances.
  • Télécharger les modèles depuis des sources fiables. Hugging Face est la référence, mais lisez toujours la fiche du modèle avant de le charger.

Aller plus loin

  • LocalAI — alternative compatible OpenAI, moins orientée performance pure, plus facile à configurer.
  • Ollama — plus simple pour un usage individuel ou une petite équipe.
  • LibreChat — interface qui peut se connecter à un serveur vLLM via son API.
  • OSIALab — comparer vLLM avec d'autres outils d'inférence locale.

Sources