Session systèmes 3/4 · Quiz et corrigé

Dimensionnement et optimisation du cache KV

10 questions, une seule bonne réponse par question. L’objectif est de vérifier que vous savez dimensionner un cache KV à partir d’une fiche d’architecture, choisir un levier sous une contrainte donnée, et lire les mesures de service qui révèlent la pression sur le cache.

1. Que stocke réellement le cache KV ?

Afficher la réponse

B — Il conserve, couche par couche, les tenseurs de clés et de valeurs calculés pour les tokens déjà en contexte, afin que le décodage d’un nouveau token ne recalcule pas l’état d’attention de tout le préfixe.

2. Dans l’estimation courante de dimensionnement, quelle quantité multiplie linéairement la taille du cache aux côtés des couches et de la dimension de tête ?

Afficher la réponse

B — Le cache stocke des clés et des valeurs, qui existent par tête KV. Les têtes de requête n’ajoutent pas d’entrées de cache, et c’est exactement ce qu’exploitent GQA et MQA.

3. Un déploiement conserve 8k tokens par séquence. Le trafic double le contexte actif à 16k, à concurrence constante. Sous l’estimation linéaire simplifiée, la mémoire KV…

Afficher la réponse

B — Les tokens en cache entrent linéairement dans l’estimation : doubler le contexte actif double approximativement la mémoire KV de cette séquence.

4. Pourquoi le facteur 2 apparaît-il en tête de l’estimation ?

Afficher la réponse

A — Un tenseur pour les clés et un pour les valeurs, par couche et par tête KV. Ce facteur n’a rien à voir avec la précision ni avec la redondance.

5. Qu’améliore principalement l’attention paginée ?

Afficher la réponse

B — L’allocation par blocs supprime la réservation contiguë du pire cas pour chaque séquence : davantage de séquences tiennent dans la même mémoire. L’arithmétique de l’attention, elle, ne change pas.

6. Quelle affirmation sur la quantification du cache est honnête ?

Afficher la réponse

B — Les deux touchent des tenseurs différents et se dégradent différemment, souvent d’abord sur les contextes longs et les échanges multi-tours. Un jeu d’évaluation distinct est nécessaire.

7. Quelle mesure expose le plus directement le coût de préremplissage quand le contexte s’allonge ?

Afficher la réponse

B — Le temps jusqu’au premier token couvre le traitement du prompt : il croît avec la longueur du prompt. La latence inter-tokens reflète plutôt la boucle de décodage.

8. Un système de service signale une hausse du taux d’éviction et de recalcul à trafic constant. Quelle est la lecture la plus probable ?

Afficher la réponse

B — L’éviction suivie de recalcul est le symptôme de la pression sur le cache : les blocs libérés doivent être reconstruits en rejouant le préremplissage, ce qui se paie en latence et en calcul perdu.

9. En quoi le cache de prompt d’un fournisseur diffère-t-il du cache KV d’exécution d’une requête unique ?

Afficher la réponse

B — Le cache KV d’exécution est un état propre à la requête, à l’intérieur du processus de service. Le cache de prompt réutilise un préfixe correspondant entre requêtes, sous des conditions définies par le fournisseur, qui ne sont pas celles du cache en processus.

10. Vous devez diviser par deux la mémoire KV sans changer les poids ni le modèle servi. Quel levier constitue le premier geste le plus direct ?

Afficher la réponse

B — Les tokens en cache sont le terme linéaire que vous contrôlez au niveau applicatif. Augmenter la taille des lots accroît la demande totale de cache, et les deux autres options n’affectent pas la mémoire du cache.

Barème

8 à 10 bonnes réponses : vous savez dimensionner un cache à partir d’une fiche de configuration et défendre un choix de levier sous contrainte. 5 à 7 : revoyez la partie sur les leviers, en particulier la différence entre têtes KV et têtes de requête, et entre précision du cache et précision des poids. Moins de 5 : refaites l’atelier A à la main sur une seule architecture avant toute autre lecture ; l’arithmétique est le socle du reste de la séance.

Cours apprenant · Aller aux exercices