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
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.

PagedAttention

ia

Définition

PagedAttention est une technique de gestion du KV-Cache pour les LLMs, introduite par Kwon et al. (UC Berkeley, 2023) dans le paper "Efficient Memory Management for Large Language Model Serving with PagedAttention". C'est l'innovation algorithmique au cœur de vLLM qui lui permet d'atteindre des débits d'inférence jusqu'à 24× supérieurs aux implémentations naïves à nombre de GPU équivalent. Le problème fondamental que PagedAttention résout est la fragmentation de la mémoire KV-Cache. Le KV-Cache stocke les paires clé-valeur calculées par le mécanisme d'attention pour chaque token déjà traité, évitant de les recalculer à chaque nouveau token généré. Dans les serveurs LLM naïfs, ce cache est alloué de manière contiguë par requête selon la longueur maximale possible — conduisant à une fragmentation interne sévère (60-80% de mémoire gaspillée en moyenne) et limitant drastiquement la concurrence. PagedAttention s'inspire de la pagination de mémoire virtuelle des systèmes d'exploitation : la mémoire KV-Cache est divisée en blocs (pages) de taille fixe (typiquement 16 ou 32 tokens). Les blocs sont alloués dynamiquement au fil de la génération, sans nécessiter d'allocation contiguë préalable. Un table de mapping (similaire à une page table OS) maintient la correspondance entre les blocs logiques d'une séquence et les blocs physiques en mémoire. Cette architecture permet plusieurs optimisations : le Copy-on-Write pour les requêtes en beam search ou la génération parallèle de N réponses (N candidats partagent les blocs du KV-Cache du prompt jusqu'à la divergence), le Prefix Sharing (toutes les requêtes avec le même system prompt partagent les blocs de KV-Cache du préfixe), et le Dynamic Memory Management (les blocs inutilisés sont recyclés immédiatement). Pour les administrateurs systèmes gérant des infrastructures LLM, PagedAttention est la raison pour laquelle vLLM est généralement 5-10× plus rentable que des solutions alternatives en termes de coût GPU par token généré.

Architecture PagedAttention

Analogie système d'exploitation :

  • Pages KV ↔ Pages mémoire physique (taille fixe)
  • Table des blocs ↔ Page table du processus
  • Block manager ↔ Gestionnaire de mémoire virtuelle
  • Allocation lazy ↔ Demand paging (allocation à l'accès)

Prefix caching

# Configuration prefix caching dans vLLM
from vllm import LLM, SamplingParams

llm = LLM(
    model="meta-llama/Meta-Llama-3.1-8B-Instruct",
    enable_prefix_caching=True,   # Réutilise KV-Cache des préfixes identiques
    max_model_len=32768
)

# La première requête calcule le KV-Cache du system prompt
# Les requêtes suivantes avec le même system prompt réutilisent le cache → 40-60% de speedup

Impact sur le throughput

Benchmark vLLM vs Hugging Face text-generation-inference :

  • vLLM PagedAttention : 3 200 tokens/s @ 32 req concurrentes
  • TGI (continuous batching) : 2 800 tokens/s @ 32 req concurrentes
  • HF transformers naïf : 240 tokens/s @ 8 req séquentielles

Articles liés

Un projet cybersécurité ?

Expert dispo · Réponse 24h

Devis