Cache clé-valeur (KV cache) : la mémoire de travail d'un LLM
Le cache clé-valeur (KV cache) est la mémoire de travail d'un modèle de langage : il y garde les calculs déjà faits sur le texte précédent pour ne pas les refaire à chaque nouveau mot. Il accélère fortement la génération, mais il occupe une place qui grandit avec la longueur de la conversation.
Données au 22 octobre 2026
L'essentiel en chiffres
| Niveau | Avancé |
|---|
La définition
Le KV cache évite à un modèle de relire et recalculer tout le texte précédent chaque fois qu’il écrit un nouveau mot.
Un modèle génère sa réponse token par token. À chaque étape, le mécanisme d’attention compare le token courant à tous ceux qui précèdent grâce à deux vecteurs calculés pour chacun d’eux : une clé (key) et une valeur (value). Comme un token ne dépend jamais de ceux qui suivent, ces clés et valeurs ne changent plus une fois calculées. On les garde donc en mémoire, couche par couche : c’est le cache clé-valeur. Au pas suivant, le modèle ne calcule que la clé et la valeur du nouveau token et les ajoute au cache.
Un exemple chiffré
La documentation de Hugging Face détaille le cas d’un modèle de 15,5 milliards de paramètres. Pour une séquence hypothétique de 16 000 tokens, son KV cache contiendrait près de 8 milliards de nombres, soit environ 15 Go en 16 bits : à peu près la moitié de la place des poids du modèle. Le même modèle utilise l’attention multi-requêtes, qui ramènerait ce cache à moins de 400 Mo. Ce calcul montre pourquoi la fenêtre de contexte annoncée d’un modèle ne dit pas tout : la mémoire réellement disponible sur la machine compte autant.
Pourquoi ça compte
Le KV cache est au cœur de l’économie de l’inférence. Plusieurs innovations visent à le réduire :
- l’attention multi-requêtes (MQA), proposée par Noam Shazeer en 2019, partage une seule paire clé-valeur entre toutes les têtes d’attention ;
- l’attention groupée (GQA), publiée par Ainslie et ses coauteurs en 2023, choisit un compromis avec quelques paires partagées ;
- PagedAttention, présentée en 2023 avec vLLM, découpe le cache en pages comme la mémoire virtuelle d’un système d’exploitation ; ses auteurs rapportent un débit multiplié par 2 à 4 à latence égale.
C’est aussi ce cache que réutilise la mise en cache du prompt proposée par plusieurs API, ce qui explique les tarifs réduits sur les tokens d’entrée répétés.
Idées reçues
- « Le cache change les réponses. » Il donne en principe le même résultat qu’un recalcul complet ; Hugging Face note seulement de minuscules écarts possibles liés aux calculs numériques.
- « La mémoire, ce sont les poids. » Avec de longs contextes et beaucoup d’utilisateurs simultanés, le cache peut dépasser les poids.
- « C’est la mémoire de l’assistant. » Non : le KV cache vit le temps d’une génération ou d’une session technique. La mémoire d’un assistant est une fonctionnalité distincte.
Termes voisins : contexte long, VRAM, serveur d’inférence.
Termes liés
- Mécanisme d'attention · Procédé qui permet à un modèle de pondérer, pour chaque mot traité, l'importance de tous les autres mots du texte.
- Fenêtre de contexte · Quantité maximale de texte (en tokens) qu'un modèle peut lire et produire en une seule fois, réponse comprise.
- Contexte long · Capacité d'un modèle à traiter en une seule fois de très longs textes (livres, dépôts de code), et techniques qui la rendent possible.
- Mise en cache du prompt · Technique qui réutilise le début d'un prompt déjà traité par le modèle pour répondre plus vite et facturer moins cher les requêtes répétées.
- VRAM (mémoire vidéo) · Mémoire intégrée à la carte graphique, où le modèle d'IA doit tenir pour tourner vite : c'est souvent elle qui limite ce que l'on peut faire en local.
- Serveur d'inférence · Logiciel qui charge un modèle d'IA en mémoire et répond aux requêtes via une API, en optimisant le débit et la mémoire du GPU.
À essayer
Tout le glossaire
Questions fréquentes
Le KV cache est-il la même chose que la mise en cache du prompt ?
Ils sont liés mais différents. Le KV cache existe pendant toute génération. La mise en cache du prompt, proposée par certaines API, consiste à conserver ce cache entre deux requêtes qui commencent par le même texte, d'où des réductions de prix sur les tokens d'entrée déjà vus.
Pourquoi le KV cache limite-t-il la longueur de contexte en pratique ?
Sa taille croît linéairement avec le nombre de tokens et avec le nombre de requêtes servies en parallèle. Sur un serveur, c'est souvent lui, plus que les poids, qui fixe combien d'utilisateurs ou de longs documents tiennent dans la mémoire du GPU.
Peut-on réduire sa taille ?
Oui : par l'architecture du modèle (attention multi-requêtes ou groupée), par la quantification du cache, ou par une meilleure gestion de la mémoire comme PagedAttention dans vLLM.
Sources des données
Données au 22 octobre 2026
Signaler une erreur
Un chiffre, une date ou une information vous semble faux ? Dites-le-nous : chaque signalement est vérifié.