AI & Analytics Legends La plateforme de connaissance SAP Analytics
Fiche concept

Optimisation du cache KV — PagedAttention, KV quantifié, cache spéculatif

Optimisation du cache KV — PagedAttention, KV quantifié, cache spéculatif — illustration de section Analytics Legends pour la base de connaissances SAP Analytics (concepts, études, Academy)

À jour au 2026-10-05

Qu'est-ce que Optimisation du cache KV ?

À 32K de contexte, le cache KV de Llama 3 70B pèse environ 10-11 Go par requête en FP16 — une fraction des poids INT8 pour un utilisateur, mais le terme qui croît avec la concurrence — faisant de l'optimisation du cache KV le levier le plus puissant de l'économie d'inférence LLM.

De quoi il s'agit

Pendant l'inférence autorégressive d'un LLM, les tenseurs de clés et de valeurs de chaque jeton déjà généré doivent rester en mémoire GPU pour que les jetons futurs puissent s'y référer — c'est le cache KV. Aux grandes longueurs de contexte, le cache KV domine l'usage mémoire total : pour Llama 3 70B (80 couches, 8 têtes clé-valeur GQA, dimension de tête 128) à 32 K de contexte, le cache KV pèse environ 10 à 11 Go par requête en FP16 — une fraction des ~70 Go de poids en INT8 pour une seule requête, mais quelques dizaines de requêtes longues en parallèle dépassent les poids, ce qui explique pourquoi c'est le cache KV, et non les poids, qui fixe le plafond de concurrence. L'optimisation du cache KV est donc le domaine à plus fort levier pour l'économie de l'inférence LLM — chaque technique ci-dessous se traduit directement soit par plus d'utilisateurs simultanés sur le même GPU, soit par un contexte plus long au même coût.

Pourquoi c'est important

  • PagedAttention élimine la fragmentation mémoire et permet un débit jusqu'à 24× supérieur en chevauchant plusieurs séquences en toute sécurité — la plus grande avancée du service d'inférence de 2023-2024.
  • La quantification KV en INT8 divise par deux la mémoire du cache pour moins de 1 % de perte de qualité; INT4 la divise par quatre pour 2-3 % de perte.
  • Le caching de préfixe réutilise l'état KV d'un préfixe de prompt partagé entre requêtes, offrant souvent un gain de débit 5-10× pour les charges chatbot avec un prompt système commun.

Points clés

  • Le cache KV (tenseurs K + V par token gardés en mémoire GPU pour l'attention future) domine la mémoire long contexte — Llama 3 70B à 32K contexte = ≈ 10-11 Go de cache KV par requête en FP16 (80 couches × 8 têtes KV GQA × 128 dimensions) — le terme qui croît avec les utilisateurs concurrents.
  • PagedAttention (vLLM, 2023) — allocation KV style table de pages élimine la fragmentation, amélioration de débit 24× ; maintenant standard dans vLLM, TensorRT-LLM, SGLang.
  • Quantification KV — INT8 divise par deux la mémoire avec <1% de perte qualité, INT4 divise par quatre à ~2-3% de perte ; standard dans les stacks de service modernes.
  • MQA (K/V unique pour toutes les têtes) et GQA (groupes de têtes partagent K/V, utilisé dans Llama 2/3, Mistral, Mixtral) rétrécissent le cache KV 4-8× au niveau architectural.
  • Caching préfixe / spéculatif — cacher le KV du préfixe partagé une fois, réutiliser entre requêtes ; gain de débit 5-10× pour charges chatbot avec prompts système partagés.
  • Le plafond brut de concurrence d'un déploiement auto-hébergé est arithmétique, pas une fonctionnalité de la pile de service : (mémoire GPU − poids du modèle) ÷ taille du cache KV par requête à la longueur de contexte cible ; PagedAttention améliore la proximité de l'utilisation réelle à ce plafond, il ne déplace pas le plafond lui-même.
  • Le prefix caching et la quantisation KV ne sont pas simplement additifs — les entrées KV d'un préfixe caché sont verrouillées à la précision à laquelle elles ont été cachées, et un décalage de précision sur une requête ultérieure force un recalcul complet au lieu d'un hit de cache.
  • Sur un point de terminaison managé du generative AI hub, rien de tout cela n'est un levier client ; cela devient la décision de dimensionnement propre du consultant seulement sur un déploiement BYOM auto-hébergé sur SAP AI Core (vLLM, selon le dépôt d'exemples propre de SAP), où le resource plan GPU choisi dans le catalogue de SAP fixe le plafond dur ci-dessus.

Termes employés sur cette page

KV cache
Les tenseurs clé et valeur mis en cache de tous les tokens générés précédemment, conservés en mémoire GPU pour que les tokens futurs puissent y prêter attention pendant l'inférence autorégressive ; domine la consommation mémoire sur les longs contextes.
PagedAttention
Technique de service d'inférence introduite par vLLM (Kwon et al., 2023) qui alloue le KV cache par blocs de taille fixe, à la manière des pages de mémoire virtuelle d'un OS, éliminant la fragmentation et permettant un débit 24× supérieur à une allocation contiguë naïve.
Grouped-Query Attention (GQA)
Variante architecturale d'attention où des groupes de têtes de requête partagent un unique ensemble de tenseurs K/V (par ex. 8 groupes K/V pour 32 têtes de requête) ; utilisée dans Llama 2/3, Mistral, Mixtral, elle réduit le KV cache de 4 à 8× avec une perte de qualité quasi nulle.
Multi-Query Attention (MQA)
Variante d'attention extrême où toutes les têtes de requête partagent un unique tenseur K et V ; réduit le KV cache d'un facteur H (nombre de têtes, typiquement 32 à 128) mais avec une perte de qualité mesurable par rapport à la GQA.
Prefix caching
Optimisation d'inférence qui stocke une seule fois le KV cache d'un préfixe de prompt partagé et le réutilise pour toutes les requêtes qui partagent ce préfixe ; canonique dans les charges de type chatbot avec prompts système partagés ; gain de débit typique de 5 à 10×.

Sources

  1. Efficient Memory Management for Large Language Model Serving with PagedAttention (Kwon et al., 2023)
  2. GQA: Training Generalized Multi-Query Transformer Models from Multi-Head Checkpoints (Ainslie et al., 2023)
  3. Fast Transformer Decoding: One Write-Head is All You Need (Shazeer, 2019, MQA)
  4. vLLM documentation — PagedAttention and prefix caching
  5. NVIDIA TensorRT-LLM — KV cache management
  6. GitHub SAP-samples — btp-generative-ai-hub-use-cases: bring-your-own OSS LLM on SAP AI Core (vLLM serving backend)
  7. SAP Help Portal — Choose a Resource Plan for training/inference in SAP AI Core (GPU sizing catalogue, incl. flexible instance types per SAP Note 3660109)
  8. SAP News Center — How SAP and NVIDIA Advance Enterprise AI Transformation (NIM inference optimisation context)
  9. GitHub SGLang — sgl-project/sglang (RadixAttention prefix-cache implementation)
  10. GitHub vllm-project — vLLM (PagedAttention reference implementation and KV-cache quantisation support)
  11. SAP Help Portal — What is SAP AI Core (platform context for a self-hosted BYOM deployment)
  12. GitHub SAP-samples — btp-gen-ai-hub-sdk-samples: setting up the Extended AI Core service plan required for self-hosted serving
  13. Hugging Face — GQA (Grouped-Query Attention) explainer and model configuration reference
  14. vLLM docs — Quantized KV Cache (FP8 KV-cache dtypes fp8_e4m3/fp8_e5m2 supported in vLLM)
  15. vLLM docs — Automatic Prefix Caching (reuse of shared-prefix KV blocks across requests)
  16. vLLM blog — vLLM: Easy, Fast, and Cheap LLM Serving with PagedAttention (original launch, up to 24x vs Hugging Face Transformers; project/vendor source)
  17. Liu et al. — KIVI: A Tuning-Free Asymmetric 2bit Quantization for KV Cache (low-bit KV quantization research)

Fiche complète réservée aux abonnés. Ce que la fiche complète ajoute : le cadre de décision complet · la comparaison SAP · Snowflake · Databricks · Fabric · les pièges courants et leur correctif · l'aide-mémoire · les schémas d'architecture · les blocs de code · les chiffres à citer.

Ouvrir dans l'application →