Aller au contenu principal
Expert Cybersécurité & IAv9.0
Centres de ressources conformité
Besoin d'un accompagnement expert ?
Devis personnalisé sous 24h — audit, conformité, incident
Outils open source — Gratuits, portables, hors ligne
Caractéristiques communes
100 % hors ligne — aucune donnée transmise
Portables — un seul fichier exécutable
Gratuits — MIT ou GPL v3
Code source ouvert sur GitHub
Checklists Sécurité — Audit & Durcissement
Formats disponibles
📄 PDF 📊 Excel 🌐 Web

11 checklists professionnelles couvrant 2 200+ points de contrôle. Téléchargement gratuit, aucune inscription.

Academy Contact

vLLM

ia

Dé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

Un projet cybersécurité ?

Expert dispo · Réponse 24h

Devis