AI ProdigiesCours interactifs
Ouvrir la navigation
Module 5 · Leçon 329 min · avance

Le cache KV : échanger du calcul contre de la mémoire

Voir quelles projections peuvent être réutilisées pendant la génération et pourquoi la vitesse gagnée consomme une mémoire croissante.

Sommaire et raccourcis

Objectifs d’apprentissage

Objectifs de la leçon

  • Identifier les clés et valeurs conservées
  • Comparer calcul évité et mémoire occupée par le cache

Prérequis

  • Leçon 5.2

Le cache KV : échanger du calcul contre de la mémoire

Situation concrète

Quand un modèle vient de calculer les clés et valeurs de mille tokens, il serait coûteux de les reconstruire intégralement pour générer le mille-et-unième.

Objectifs d’apprentissage

  • Identifier les clés et valeurs conservées
  • Comparer calcul évité et mémoire occupée par le cache

Prérequis

  • Leçon 5.2

Mode simple

Le cache KV garde, pour chaque couche, les clés et valeurs des positions déjà traitées. Au tour suivant, le modèle calcule les nouvelles projections puis les compare au contenu conservé. Il évite ainsi une grande partie du travail répété. Le compromis est la mémoire : plus la séquence, le batch, le nombre de couches et le nombre de têtes key-value augmentent, plus le cache grandit. Des variantes comme MQA ou GQA partagent davantage de clés et valeurs pour réduire ce coût.

Mode approfondi

L’empreinte du cache est proportionnelle à batch × longueur × couches × têtes KV × dimension de tête × deux tenseurs, multiplié par la précision numérique. Le cache réduit les projections des tokens passés mais n’élimine ni la comparaison de la nouvelle requête avec toutes les clés conservées, ni les MLP du nouveau token. La quantification, la pagination et le partage des têtes KV modifient débit, latence et capacité de traitement simultané.

Analogie

Un cuisinier conserve les préparations déjà coupées au réfrigérateur : le service accélère, mais les étagères finissent par limiter le nombre de commandes simultanées.

Exemple concret

À la quatrième étape, sans cache, les projections des trois tokens précédents seraient refaites. Avec cache, leurs K et V sont relus et seules les projections du nouveau token sont ajoutées.

Recalcul ou réutilisation — Deux lignes de génération colorent les opérations refaites sans cache et celles lues ou ajoutées avec cache.

La ligne sans cache répète tous les blocs passés ; la ligne avec cache conserve trois blocs et ajoute seulement le quatrième.

Activité manipulable

Manipulez l’activité « kv-cache-simulation », validez votre réponse puis expliquez ce que le résultat démontre et ce qu’il ne démontre pas.

Confusion fréquente

Le cache KV n’est ni une mémoire personnelle de conversation ni une base de connaissances. C’est un état temporaire de calcul lié à une séquence.

Vérification rapide

Quelles quantités le cache conserve-t-il principalement ?

Les projections de clés et de valeurs des positions passées, pour chaque couche concernée, afin de les réutiliser aux étapes suivantes.

Résumé

  • Le cache réutilise les K et V passés.
  • Il réduit le recalcul mais augmente la mémoire.
  • Le partage des têtes KV change fortement son empreinte.

Mots du glossaire

Sources

Vue comparison

Recalcul ou réutilisation

Deux lignes de génération colorent les opérations refaites sans cache et celles lues ou ajoutées avec cache.

Notions associées

  1. cache KV
  2. décodage incrémental
  3. latence

Description de la figure

La ligne sans cache répète tous les blocs passés ; la ligne avec cache conserve trois blocs et ajoute seulement le quatrième.

Manipuler pour comprendre

Activité interactive

Activité interactive

Décodage autorégressif simplifié

Simulation du cache KV

Allongez la génération jusqu’à trois tokens, puis comparez les projections K/V calculées et réutilisées.

Deux parcours visuels comparent le recalcul complet au stockage des clés et valeurs déjà produites.

Phrase de départ : « Le ciel est »

2 tokens

Sans cache

Les projections K/V de tout le contexte sont recalculées à chaque token suivant.

7

projections K/V calculées

Avec cache KV

Les anciennes clés et valeurs sont relues ; seules les nouvelles sont projetées.

4

projections K/V calculées

Opérations réutilisées3
  1. Étape 1 → « bleu »

    3 tokens en contexte

    Sans cache · recalculés

    Le · ciel · est

    Avec cache

    Réutilisés :
    aucun
    Nouveaux calculs :
    Le · ciel · est
  2. Étape 2 → « ce »

    4 tokens en contexte

    Sans cache · recalculés

    Le · ciel · est · bleu

    Avec cache

    Réutilisés :
    Le · ciel · est
    Nouveaux calculs :
    bleu

Le cache KV économise les projections des tokens passés. Il ne supprime ni la lecture du cache par l’attention, ni son coût mémoire ; cette simulation se concentre sur les opérations réutilisées.

Vérification rapide

Quels facteurs augmentent généralement la mémoire du cache KV ?

À garder sous la main

Mots du glossaire

Ouvrir tout le glossaire →
GQA

Attention où plusieurs têtes de requête partagent les mêmes clés et valeurs par groupes.

Grouped-Query Attention conserve de nombreuses têtes de requête mais réduit le nombre de têtes key-value, offrant un compromis entre qualité de MHA et mémoire d’inférence de MQA.

Voir les liens associés
Inférence

Moment où un modèle utilise ses poids pour produire une sortie sans les entraîner.

L’inférence exécute une passe avant, souvent répétée token par token en génération, avec des optimisations telles que batching, quantification et cache KV.

Voir les liens associés
Key

Vecteur comparé à une requête pour mesurer la pertinence d’une position.

Une clé provient d’une projection de l’état caché ; son produit scalaire avec une requête contribue au score d’attention avant masque et softmax.

Voir les liens associés
KV cache

Mémoire temporaire des clés et valeurs déjà calculées pendant une génération.

Le cache KV évite de reprojeter les positions passées à chaque nouveau token, au prix d’une mémoire qui croît avec la longueur, les couches et le nombre de têtes key-value.

Voir les liens associés
Value

Vecteur d’information mélangé selon les poids calculés par l’attention.

Une valeur provient d’une projection de l’état caché ; la sortie d’attention est une combinaison pondérée des valeurs autorisées pour chaque requête.

Voir les liens associés
RSources de la leçon2 références, avec portée et date de vérification
  1. R13Source primaireVérifiée le 2026-07-18

    Ainslie, J. et al.. GQA: Training Generalized Multi-Query Transformer Models from Multi-Head Checkpoints (2023).

    Référence pour le partage groupé des clés et valeurs, destiné à réduire le cache et accélérer l’inférence.

    Consulter la source dans un nouvel onglet
  2. R14Fait public confirméVérifiée le 2026-07-18

    Hugging Face. Caching (consulté en 2026).

    Documentation technique expliquant ce qui est mémorisé et réutilisé pendant une génération autorégressive avec cache KV.

    Consulter la source dans un nouvel onglet

Relevé de progression

Prêt à fixer cette étape ?

La progression reste enregistrée sur cet appareil, même sans compte.

Cette leçon est en cours.