Intermédiaire 11 minInférence

vLLM : c'est quoi, pour qui, et quand l'utiliser ?

vLLM est un moteur d'inférence open source conçu pour servir un LLM à plusieurs utilisateurs en même temps, sur GPU, derrière une API compatible OpenAI. Au 20 septembre 2026, c'est la référence pour mettre un modèle open-weights à disposition d'une équipe ou d'une application. Ce n'est pas un concurrent d'Ollama sur votre poste : les deux outils ne répondent pas à la même question. Cette page explique ce que fait vLLM, ce qu'il exige, et comment savoir si vous en avez besoin.

Par Mohamed Meguedmi·Màj 2026-09-20·Testé sur Windows, macOS, Linux

#vLLM en trois phrases

vLLM est une bibliothèque Python et un serveur d'inférence nés en 2023 au Sky Computing Lab de l'université de Berkeley, publiés sous licence Apache 2.0. Il charge un modèle au format Hugging Face (safetensors) sur un ou plusieurs GPU et l'expose sur une API HTTP compatible OpenAI. Sa raison d'être tient en un mot : le débit, c'est-à-dire le nombre total de tokens produits par seconde quand dix, cinquante ou deux cents requêtes arrivent en même temps.

i
À retenir
Ollama et LM Studio optimisent l'expérience d'une personne sur sa machine. vLLM optimise le rendement d'un GPU partagé entre beaucoup de requêtes. Si vous êtes seul devant votre écran, vLLM ne rendra pas vos réponses plus rapides.

#Le problème que vLLM résout

Le kit IA Locale

Ton ChatGPT privé et gratuit sur ta machine en 1 heure — LM Studio, Ollama, Open WebUI, tes documents, sans cloud.

  • Espace en ligne à vie
  • PDF + fichiers
  • Remboursé 30 j

Quand un LLM génère du texte, il garde en mémoire une trace de tout ce qu'il a déjà lu et écrit : le cache KV. Ce cache grossit à chaque token, et sa taille finale est imprévisible puisqu'on ne sait pas à l'avance si la réponse fera vingt mots ou deux mille. Les serveurs d'inférence de première génération réservaient donc, pour chaque requête, un bloc de mémoire contigu dimensionné pour le pire cas.

Le résultat est décrit dans l'article fondateur de vLLM (Kwon et al., SOSP 2023) : dans les systèmes existants, 60 à 80 % de la mémoire réservée au cache KV était gaspillée, entre la réservation excessive et la fragmentation. Moins de mémoire utile, c'est moins de requêtes servies en parallèle, donc un GPU à plusieurs milliers d'euros qui tourne à une fraction de sa capacité.

#PagedAttention et batching continu

vLLM repose sur deux idées. La première, PagedAttention, est empruntée aux systèmes d'exploitation : au lieu d'un grand bloc contigu par requête, le cache KV est découpé en petites pages de taille fixe, allouées à la demande et rangées n'importe où en mémoire. Une table fait le lien entre l'ordre logique des tokens et l'emplacement physique des pages, exactement comme la mémoire virtuelle d'un ordinateur. Le gaspillage tombe sous les 4 % selon les auteurs.

La seconde idée est le batching continu. Un serveur classique attend que toutes les requêtes d'un lot soient terminées avant d'en démarrer un autre : la requête courte patiente derrière la longue. vLLM recompose le lot à chaque token généré. Dès qu'une réponse se termine, sa place est donnée à une requête en attente, et le GPU ne tourne jamais à vide.

Préfixes partagés
Quand plusieurs requêtes commencent par le même texte (un prompt système, un document commun), les pages correspondantes sont calculées une fois et partagées. C'est le prefix caching.
Parallélisme tensoriel
Un modèle trop gros pour une carte est réparti sur plusieurs GPU d'une même machine avec une seule option, --tensor-parallel-size.
Quantification côté serveur
vLLM lit les formats AWQ, GPTQ et FP8, pensés pour le calcul GPU par lots. Le GGUF est pris en charge à titre expérimental seulement.
API compatible OpenAI
Les routes /v1/chat/completions et /v1/completions répondent comme celles d'OpenAI : une application existante change d'URL de base, pas de code.

#Ce que vLLM charge en mémoire

C'est la surprise la plus fréquente en venant d'Ollama. Ollama télécharge par défaut un GGUF quantifié en 4 bits. vLLM, lui, charge les poids publiés sur Hugging Face, le plus souvent en BF16, soit environ 2 Go par milliard de paramètres. Le même modèle pèse donc trois fois plus lourd, avant même de compter le cache KV.

Poids seuls, hors cache KV · calculé depuis le catalogue QuelLLM · 20/09/2026
ModèleBF16 (défaut vLLM)GGUF Q4_K_M (défaut Ollama)Carte minimale en BF16
Qwen 3 8B16 Go5 GoRTX 4090 ou 5090 (24-32 Go)
Gemma 4 12B24 Go7 GoRTX 5090 (32 Go)
Qwen 3 14B28 Go9 GoRTX 5090 (32 Go), contexte court
Mistral Small 3.2 24B48 Go14 Go2 × RTX 5090 (64 Go)
Qwen 3.8 27B54 Go16 GoCarte 80 Go, ou 2 × RTX 5090 à contexte court
Llama 3.3 70B140 Go40 Go2 × cartes 80 Go

La parade consiste à servir une version quantifiée pour GPU : un modèle AWQ ou GPTQ en 4 bits occupe à peu près la même place qu'un GGUF Q4, et le FP8 divise le BF16 par deux sur les cartes récentes. La plupart des modèles populaires existent dans ces formats sur Hugging Face.

!
« vLLM a pris toute ma VRAM »
C'est voulu. Au démarrage, vLLM réserve 90 % de la mémoire du GPU (option --gpu-memory-utilization, 0.9 par défaut) : les poids d'abord, tout le reste pour les pages de cache KV. Plus il y a de pages, plus il sert de requêtes en parallèle. Sur une machine partagée avec d'autres usages, baissez cette valeur.

#Matériel et systèmes pris en charge

État de la prise en charge au 20/09/2026, d'après la documentation du projet
PlateformeStatutEn pratique
Linux + GPU NVIDIA (CUDA)Cible principaleLe chemin le mieux testé. Capacité de calcul 7.0 minimum, donc à partir des générations Volta et Turing (RTX 20).
Linux + GPU AMD (ROCm)Pris en chargeCartes Instinct et Radeon récentes. Image Docker dédiée conseillée.
WindowsPas de version nativePasser par WSL2 avec un GPU NVIDIA.
Mac Apple SiliconCPU uniquement, expérimentalPas d'accélération Metal dans le projet principal. Sur Mac, restez sur MLX, Ollama ou llama.cpp.
CPU seul (x86, ARM)Pris en chargeUtile pour tester une intégration, pas pour servir.

#Le lancer en cinq minutes

Sur une machine Linux avec un GPU NVIDIA et des pilotes à jour, l'installation tient en une ligne dans un environnement Python propre. La commande serve télécharge le modèle depuis Hugging Face au premier lancement puis ouvre l'API sur le port 8000.

Installer et servir un modèle
python -m venv vllm-env && source vllm-env/bin/activate
pip install vllm

vllm serve Qwen/Qwen3-8B --max-model-len 8192
Interroger l'API comme celle d'OpenAI
curl http://localhost:8000/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{"model": "Qwen/Qwen3-8B", "messages": [{"role": "user", "content": "Bonjour"}]}'

L'option --max-model-len mérite d'être fixée dès le départ : sans elle, vLLM dimensionne le cache pour la fenêtre de contexte maximale du modèle, parfois 128 000 tokens ou plus, et refuse de démarrer si la mémoire ne suit pas. La mise en production proprement dite (Docker, authentification, supervision, montée en charge) fait l'objet d'un guide séparé.

#Pour qui, et pour qui pas

Votre situationvLLM ?Pourquoi
Vous discutez seul avec un modèle sur votre PCNonAucun gain de vitesse pour une seule requête, et trois fois plus de VRAM en BF16.
Vous avez un MacNonPas d'accélération GPU. MLX et llama.cpp exploitent la mémoire unifiée.
Vous avez 8 à 12 Go de VRAMRarementUn GGUF Q4 avec déport partiel sur le CPU rend plus de services.
Une équipe de 5 à 50 personnes partage un modèleOuiLe batching continu sert tout le monde sur un seul GPU.
Une application appelle le modèle en rafalesOuiFile d'attente, débit élevé, API standard.
Vous traitez 10 000 documents en lotOuiC'est le cas d'usage où l'écart de débit est le plus net.

#FAQ

vLLM est-il plus rapide qu'Ollama ?+
Pour un seul utilisateur, non : la vitesse de génération d'une requête isolée dépend surtout de la bande passante mémoire du GPU, identique dans les deux cas. L'écart apparaît avec la concurrence. Quand plusieurs requêtes arrivent en même temps, vLLM les traite dans le même lot et son débit total dépasse largement celui d'un serveur pensé pour un utilisateur.
vLLM est-il gratuit ?+
Oui. Le projet est open source sous licence Apache 2.0, utilisable en entreprise sans redevance. Vous payez uniquement le matériel ou la location du GPU.
vLLM fonctionne-t-il sur Windows ou sur Mac ?+
Pas nativement sur Windows : il faut passer par WSL2 avec un GPU NVIDIA. Sur Mac Apple Silicon, le projet principal ne sait utiliser que le CPU, ce qui lui retire son intérêt. Ollama, LM Studio ou MLX y sont de meilleurs choix.
Peut-on utiliser un fichier GGUF avec vLLM ?+
La prise en charge existe mais reste expérimentale et moins performante. vLLM est conçu pour les poids Hugging Face en safetensors et pour les quantifications AWQ, GPTQ et FP8. Si vous tenez au GGUF, llama.cpp et son serveur llama-server sont l'outil naturel.
Combien d'utilisateurs un GPU peut-il servir avec vLLM ?+
Cela dépend de la mémoire laissée au cache KV une fois les poids chargés, et de la longueur des conversations. Avec un modèle 8B quantifié sur une carte de 24 Go, plusieurs dizaines de conversations courtes simultanées sont réalistes. La seule réponse fiable vient d'un test de charge avec vos propres prompts.

Ce guide vous a aidé ?

Un retour, une erreur, une précision ? Faites-nous signe, ça améliore le guide pour tout le monde.