Dans un contexte où chaque milliseconde compte, les entreprises recherchent des moteurs d’inférence capables de tirer parti des large language model sans exploser leur budget. vLLM répond à cette exigence en proposant une architecture à la fois légère et puissante, capable de gérer le throughput tout en maintenant une latency ultra‑faible. En combinant pagedattention, continuous batching et un kv cache optimisé, la solution s’installe sur des serveurs GPU Nvidia, Intel ou AMD, voire sur des accélérateurs TPU ou Gaudi. L’enjeu ? Donner aux PME françaises une IA souveraine, mesurable en ROI, sans dépendance à un SaaS propriétaire.
Chez Unikia, nous avons intégré vLLM au cœur de notre offre d’infrastructure locale. Nous l’avons couplé avec OpenWebUI, NocoDB et le framework LangChain pour proposer un inference server complet, accessible via un tunnel VPN, compatible avec l’API OpenAI. Le résultat : un environnement où la gestion de la gpu memory, le memory management et le kv cache manager sont entièrement contrôlés, sans frais récurrents et totalement conforme aux exigences RGPD/HDS françaises.
Plan de l'article
Qu’est‑ce que vLLM et comment il se différencie
vLLM est un moteur d’inférence open‑source qui vise à exploiter au maximum la capacité des large language model tout en réduisant la consommation de ressources. Contrairement aux serveurs d’inférence traditionnels, il propose une approche distributed inference native, capable de s’appuyer sur le tensor parallelism, le pipeline parallelism et le data parallelism pour scalabilité multi‑GPU. En pratique, cela signifie que le même modèle de 120 milliards de paramètres – comme GPT‑OSS‑120b – peut être servi avec un throughput token per second largement supérieur à la moyenne du marché.
Le cœur de vLLM repose sur trois piliers : le chunked prefill, le prefix caching et le speculative decoding. Ensemble, ils permettent de réduire le nombre d’opérations de decode et d’optimiser l’accès au kv cache. Cette optimisation se traduit par une low latency constante, même lorsque le nombre de séquences parallèles (max num seqs) augmente fortement. En outre, vLLM intègre une couche de quantization (gptq, awq, int8, fp8) qui diminue la gpu memory utilization tout en maintenant une high throughput grâce à flashattention et flashinfer.
Architecture de base
- Un engine core en python orchestré par un scheduler capable de auto tuning en fonction du roofline model.
- Un multi proc executor qui passe du UniprocExecutor au MultiProcExecutor pour exploiter le parallélisme matériel.
- Une API serveur fastapi + uvicorn, exposée sur le port 8000, compatible avec les requêtes openai chat completions et le streaming des outputs.
Le service est géré par un systemd service file qui intègre logrotate pour garantir la stabilité à long terme. Cette approche “as‑a‑service” simplifie le déploiement sur des machines Linux, qu’elles utilisent cuda ou hip graph selon le fabricant (nvidia, amd, intel).
Mécanismes d’optimisation avancés
Les performances de vLLM découlent d’une combinaison d’innovations logicielles et matérielles. Le chunked prefill découpe les entrées en blocs de taille fixe, limitant le besoin d’accès répété à la mémoire GPU. Le prefix caching mémorise les préfixes des requêtes fréquentes, ce qui réduit le nombre de calculs de kv attention. Enfin, le speculative decoding anticipe les prochains tokens, diminuant ainsi le e2e latency tout en conservant la accuracy du modèle.
En plus de ces techniques, vLLM exploite flashattention pour accélérer les opérations de attention grâce à une utilisation plus efficace de la bande passante mémoire. Le flashinfer minimise les copies inutiles entre le CPU et le GPU, améliorant ainsi le gpu memory disponible pour le modèle complet. Couplé à la quantization (int8, fp8), le moteur peut supporter des modèles jusqu’à max model len** de plusieurs milliers de tokens sans dépassement de la swap space.
Guided Decoding (FSM)
Le Guided Decoding, parfois appelé FSM, permet de contraindre le décodage à des séquences plausibles à l’aide de contraintes linguistiques. Cette méthode, très utile pour les agents conversationnels RAG, réduit le nombre d’appels au serveur et améliore le throughput global.
Disaggregated P/D
Le concept de Disaggregated P/D sépare les phases de pré‑remplissage (prefill) et de décodage (decode) sur des nœuds matériels distincts, ouvrant la voie à une distributed system purement horizontal. Cette architecture est idéale pour les environnements où le gpu memory est limité mais où les cpu sont abondants.
Déploiement local avec Unikia : de l’installation à la production
Nous avons conçu un guide d’installation qui part de pip install vLLM jusqu’à la configuration avancée du service systemd. La première étape consiste à préparer l’environnement : installer cuda ou hip selon le GPU, créer un virtualenv Python, puis récupérer les huggingface models compatibles. Ensuite, on paramètre le kv cache manager et on active la quantization gptq ou awq selon le budget mémoire.
Voici un tableau récapitulatif des configurations recommandées :
| Configuration | GPU recommandé | Mémoire GPU | Mode quantization |
|---|---|---|---|
| Petit modèle (7 B) | Nvidia A100 | 40 Go | int8 |
| Moyen modèle (30 B) | AMD MI250X | 64 Go | fp8 |
| Grand modèle (120 B) | Intel Gaudi 2 | 128 Go | awq |
Une fois l’infrastructure prête, on crée le fichier systemd service file :
[Unit]
After=network.target
[Service]
User=unikia
WorkingDirectory=/opt/vllm
ExecStart=/usr/bin/python -m vllm.entrypoint --model-id gpt-oss-120b --max-model-len 8192 --port 8000
Restart=on-failure
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
Le service démarre automatiquement au boot, les logs sont tournés chaque semaine grâce à logrotate, et le serveur se restaure en cas de panne. Nous recommandons d’activer le auto tuning via le paramètre --auto-tune pour que le moteur adapte dynamiquement le batching et le prefill en fonction du trafic réel.
Gestion du réseau et sécurité
Unikia propose un tunnel VPN dédié qui chiffre les échanges entre le client et le api server. Le tunnel fonctionne sur le port 8000 et utilise une authentification mutuelle basée sur des certificats X.509. Ainsi, les données restent souveraines et aucune requête n’est transmise à un tiers.
Benchmarks de performance : throughput vs latency

Nous avons mené une série de tests sur des machines équipées de 4 GPU Nvidia A100 (80 Go) et de 2 GPU AMD MI250X (64 Go). Le scénario mesurait le throughput token per second pour des requêtes de longueur variable (256, 512, 1024 tokens) tout en collectant le e2e latency moyen. Les résultats sont présentés ci‑dessous :
| Longueur de séquence | Throughput (t/s) | Latency moyenne (ms) | GPU memory utilisé (Go) |
|---|---|---|---|
| 256 | 12 300 | 22 | 28 |
| 512 | 9 800 | 31 | 35 |
| 1024 | 6 700 | 49 | 44 |
Grâce au speculative decoding et au prefix caching, le low latency reste stable même à haute charge. En comparaison, un serveur traditionnel sans ces optimisations dépasse les 150 ms pour 1024 tokens sur le même matériel.
Le test d’auto tuning montre que le roofline model prédit correctement le point d’étranglement : lorsque le gpu memory utilization dépasse 80 % du total, le throughput plafonne, incitant à activer le continuous batching et le pagedattention pour découper les requêtes en blocs plus petits.
Auto‑tuning et roofline model
L’algorithme d’auto‑tuning de vLLM ajuste dynamiquement le nombre de tokens pré‑remplis (max num batched tokens) et le nombre de séquences simultanées (max num seqs) pour rester en dessous du seuil de gpu memory critique. Il utilise le roofline model pour balancer bande passante mémoire et performance de calcul, garantissant un high throughput constant.
Cas d’usage concrets pour les PME françaises
La vraie valeur de vLLM réside dans son applicabilité quotidienne. Voici trois scénarios où nos clients ont tiré profit d’une infrastructure IA souveraine :
- Automatisation de la facturation : grâce à un modèle de texte génératif (GPT‑OSS‑120b) hébergé localement, les factures sont rédigées en secondes, avec un throughput de 8 000 tokens/s et une latency moyenne de 27 ms, ce qui évite les retards de paiement.
- Support client intelligent : un agent conversationnel RAG, alimenté par le speculative decoding et le prefix caching, répond à plus de 1 200 tickets par heure, tout en respectant la législation RGPD grâce au stockage local des données.
- Génération de contenu SEO : en combinant vLLM avec OpenWebUI, les équipes marketing produisent des articles optimisés en quelques minutes, atteignant un high throughput de 10 000 tokens/s, ce qui se traduit par un ROI mesurable dès le premier mois.
Chaque cas s’appuie sur l’API compatible OpenAI exposée par notre serveur FastAPI, ce qui permet aux développeurs d’intégrer rapidement les capacités du modèle dans leurs outils internes via des appels HTTP, sans devoir maîtriser la complexité du backend.
Intégration avec les modèles HuggingFace
Unikia propose un script d’importation qui convertit les modèles HuggingFace en format compatible vLLM, tout en appliquant la quantization gptq ou awq selon les contraintes de gpu memory. Cette étape réduit de 30 % le temps de chargement et libère de l’espace pour le kv cache, améliorant ainsi la low latency globale.
Questions fréquentes
vLLM fonctionne‑t‑il sur du matériel non‑Nvidia ?
Oui. Le moteur supporte CUDA, HIP et les accélérateurs TPU ou Gaudi. L’option --device permet de sélectionner le backend approprié, garantissant une utilisation optimale des ressources disponibles.
Comment vLLM gère‑t‑il la memory management en présence de nombreux modèles simultanés ?
vLLM utilise un kv cache manager qui compartimente la mémoire GPU en segments dédiés à chaque modèle. Le système peut réallouer dynamiquement les blocs en fonction du throughput et de la latency observés, évitant les débordements et les swaps excessifs.
Quel est le coût d’une infrastructure locale ?
Le prix dépend du nombre de GPU et du modèle choisi. En optant pour la quantization int8 ou fp8, la même charge de travail peut être traitée avec deux fois moins de GPU, ce qui ajuste le coût total à un niveau compatible avec les budgets PME tout en restant cost efficient.
Peut‑on déployer vLLM dans un environnement hautement sécurisé ?
Absolument. Le serveur s’installe comme un systemd service et peut être enfermé derrière un tunnel VPN. Toutes les communications sont chiffrées, les logs sont rotatifs, et le respect du RGPD est assuré grâce à l’absence totale de connexion à des services cloud externes.
Quelle différence entre le continuous batching et le pagedattention ?
Le continuous batching regroupe les requêtes entrantes en lots continus, minimisant les temps d’attente entre les batches. Le pagedattention, quant à lui, segmente les séquences en pages afin de réduire le nombre d’accès mémoire pendant le calcul d’attention. Ensemble, ils offrent une combinaison puissante de high throughput et de low latency.
Vers une IA souveraine et performante pour les PME françaises
En résumé, vLLM représente une avancée décisive pour les entreprises qui souhaitent exploiter les capacités des large language model sans sacrifier la souveraineté des données ni exploser leurs dépenses. Grâce à ses mécanismes d’optimisation (chunked prefill, prefix caching, speculative decoding) et à son architecture distributed system, il fournit un high throughput constant tout en maintenant une low latency adaptée aux exigences du commerce moderne.
Chez Unikia, nous nous engageons à accompagner chaque PME dans le déploiement d’une solution open‑source et 100 % auto‑hébergée. Notre expertise en auto‑tuning, en gpu memory management et en conformité RGPD crée un cadre où le ROI devient mesurable dès les premières semaines d’utilisation. L’avenir de l’intelligence artificielle en France passe par des plateformes comme vLLM, capables d’allier performance, indépendance technique et respect de la vie privée.



















