vLLM v0.20.0 : FlashAttention 4 par défaut et cache KV compressé à 2 bits pour l'inférence en production
vLLM v0.20.0, publié le 23 avril, bascule sur CUDA 13 et PyTorch 2.11, active FlashAttention 4 comme backend MLA par défaut et introduit TurboQuant — une compression KV cache à 2 bits qui quadruple la capacité par GPU.

Contexte
Trois semaines après la sortie de v0.19.1 qui intégrait Transformers v5 et corrigeait des bugs sur Gemma 4, l'équipe vLLM publie v0.20.0 le 23 avril 2026. Cette version majeure regroupe 546 commits de 257 contributeurs — dont 83 nouveaux —, signalant une maturité croissante du projet open source d'inférence pour LLMs. Alors que les frameworks d'inférence locale (Ollama, llama.cpp) restent populaires pour le développement, vLLM s'impose progressivement comme la référence pour les déploiements GPU en production à grande échelle.
Points clés
-
CUDA 13.0 par défaut : les wheels binaires publiées sur PyPI passent de CUDA 12.x à 13.0, avec support étendu des architectures SM120 (NVIDIA GB200). Pour les environnements anciens, des wheels CUDA 12.x restent disponibles.
-
PyTorch 2.11 : vLLM 0.20.0 requiert désormais PyTorch 2.11 sur GPU CUDA (XPU reste sur 2.10). L'upgrade finalise la compatibilité avec HuggingFace Transformers v5.
-
FlashAttention 4 comme backend MLA par défaut : sur les GPU SM90+ (H100, H200), FlashAttention 4 est maintenant le backend par défaut pour le prefill en Multi-head Latent Attention. Les tests internes montrent une amélioration de latence significative sur les modèles MLA (DeepSeek-V3, DeepSeek-V4).
-
TurboQuant — compression KV cache à 2 bits : c'est l'une des innovations les plus marquantes de cette version. TurboQuant compresse le cache KV en représentation à 2 bits tout en maintenant une qualité de génération acceptable sur la plupart des tâches. Résultat pratique : une 4× augmentation de la capacité de batching par GPU, ce qui réduit directement le coût de serving pour les déploiements à fort trafic.
-
9 nouvelles architectures : EXAONE-4.5 de LG AI Research, Phi-4-reasoning-vision-15B de Microsoft, et plusieurs variantes Nemotron-v3 VL de NVIDIA sont désormais supportées nativement.
-
AMD ROCm RDNA 3.5/4 : vLLM intègre l'AITER (AMD Inference Transformer Engine Runtime) avec support des cartes RDNA 3.5 et 4, élargissant le spectre hardware au-delà de NVIDIA.
-
Eagle3 speculative decoding : meilleure prise en charge du décodage spéculatif Eagle3, une technique qui réduit la latence de génération en prédisant plusieurs tokens à l'avance avec un draft model léger.
Breaking changes
La migration vers v0.20.0 nécessite une attention particulière sur trois points :
# Vérification de la version CUDA
nvcc --version # doit retourner ≥ 13.0
python -c "import torch; print(torch.__version__)" # ≥ 2.11
- Environnement CUDA 13.0 + PyTorch 2.11 requis : les images Docker existantes doivent être mises à jour.
- Suppression de la métrique
vllm:prompt_tokens_recomputed: les dashboards Prometheus qui l'utilisent doivent être mis à jour. - Renommage de paramètres pooler :
logit_bias/logit_scaledeviennentlogit_mean/logit_sigmapour les modèles d'embedding.
Limite et nuance
TurboQuant à 2 bits est une compression agressive. Sur des tâches très sensibles à la précision (mathématiques formelles, codage bas niveau), la dégradation peut dépasser les seuils acceptables. L'équipe recommande de valider sur vos benchmarks spécifiques avant de l'activer en production. Les utilisateurs d'architectures CPU-only ne bénéficient pas non plus des optimisations FlashAttention 4 et TurboQuant, qui nécessitent des GPU SM90+ et CUDA 13.
L'accélération AMD reste aussi plus limitée que sur NVIDIA — le support RDNA 3.5/4 est encore jeune et quelques opérateurs manquent de parité.
Notes de version vLLM v0.20.0 · Documentation vLLM · Dépôt GitHub