PagedAttention
iaDé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
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