vLLM
iaDéfinition
vLLM est un framework open-source d'inférence haute performance pour les LLMs, développé par l'équipe Skylab de UC Berkeley (Kwon et al., 2023). Il introduit PagedAttention, une innovation majeure dans la gestion du KV-Cache qui permet d'augmenter de 24× le débit d'inférence par rapport aux implémentations naïves, en devenant le standard de facto pour les déploiements production de LLMs. Le problème que vLLM résout est fondamental : dans les serveurs LLM naïfs, la mémoire KV-Cache est pré-allouée de manière contiguë pour chaque requête selon la longueur maximale de séquence. Cela provoque une fragmentation massive (jusqu'à 60-80% de mémoire gaspillée) et limite fortement la batch size. PagedAttention s'inspire de la gestion de mémoire virtuelle des systèmes d'exploitation : la mémoire KV-Cache est divisée en "pages" de taille fixe (blocks) qui peuvent être allouées de manière non-contiguë et partagées entre requêtes (notamment pour le prefix caching). vLLM implémente le Continuous Batching (aussi appelé iteration-level scheduling) : au lieu d'attendre que toutes les requêtes d'un batch soient terminées pour en démarrer de nouvelles, vLLM traite les nouvelles requêtes dès qu'une séquence du batch courant termine sa génération. Cela maximise l'utilisation GPU en éliminant les "bulles" d'inactivité. Pour les équipes DevOps/MLOps, vLLM expose une API compatible OpenAI (endpoints /v1/chat/completions et /v1/completions), permettant un remplacement drop-in de l'API OpenAI avec un LLM local ou sur-prem. Il supporte les modèles quantifiés (AWQ, GPTQ, int8 bitsandbytes), la génération multi-GPU avec tensor parallelism, et les modèles multimodaux. vLLM est utilisé en production par des entreprises comme Scale AI, Uber et de nombreux providers cloud IA pour servir des millions de requêtes LLM par jour.
Démarrage rapide vLLM
# Installation
pip install vllm
# Server compatible OpenAI
python -m vllm.entrypoints.openai.api_server --model meta-llama/Meta-Llama-3.1-8B-Instruct --tensor-parallel-size 1 --gpu-memory-utilization 0.90 --max-model-len 32768 --port 8000
# Client (API OpenAI compatible)
from openai import OpenAI
client = OpenAI(base_url="http://localhost:8000/v1", api_key="token")
response = client.chat.completions.create(
model="meta-llama/Meta-Llama-3.1-8B-Instruct",
messages=[{"role": "user", "content": "Bonjour !"}]
)
Fonctionnalités avancées
- Prefix caching : réutilise le KV-Cache pour les préfixes de prompt communs (ex: system prompt)
- Speculative decoding : utilise un petit modèle draft pour proposer des tokens, validés par le grand modèle
- Structured output : génération JSON/regex garantie via guided decoding (xgrammar)
- Tool use : function calling compatible OpenAI
- LoRA serving : servir plusieurs adaptateurs LoRA depuis un seul modèle de base
Benchmark vs alternatives
Sur LLaMA 3 8B, A100 80GB, 100 requêtes concurrentes :
- vLLM : ~2500 tokens/s throughput
- TGI (HuggingFace) : ~2200 tokens/s
- Naive HF Transformers : ~350 tokens/s
Articles liés
Expert en cybersécurité offensive et intelligence artificielle. Pentest, audit et développement IA sur-mesure.
Services
- Audit Infrastructure
- Audit Kubernetes
- Audit Microsoft 365
- Audit Sécurité Réseau
- Analyse de Risques
- Audit Active Directory
- Audit Application Web
- Audit Cloud (AWS/Azure/GCP)
- Audit Messagerie
- Audit API (OWASP Top 10)
- Audit DevSecOps & CI/CD
- Audit Code Source (SAST)
- Audit Postes de Travail
- Audit Sauvegarde & Résilience
- Audit OT/SCADA (IEC 62443)
- Développement IA
- Formations
Ressources
Projets & Outils
© 2026 Ayi NEDJIMI Consultants. Tous droits réservés. 2.1.7
Un projet cybersécurité ?
Expert dispo · Réponse 24h