1/18
Dimensionnement et optimisation du cache KV
Le cache qui rend le décodage rapide est aussi celui qui décide combien d’utilisateurs vous pouvez servir.
Notes du présentateur
Ouvrez sur l’arbitrage en une phrase : de la vitesse achetée avec de la mémoire. Promettez qu’à la fin chacun saura dimensionner un cache depuis une fiche de configuration.
2/18
Pourquoi le deuxième token coûte peu
Les tenseurs de clés et de valeurs de chaque token traité sont conservés, si bien que le décodage ne recalcule pas l’état d’attention de tout le préfixe.
Notes du présentateur
Dessinez le préfixe qui s’allonge token par token et grisez l’état réutilisé. Laissez ce schéma affiché pour le reste de la séance.
3/18
Trois unités de mémoire
- Par token : clés et valeurs pour chaque couche et chaque tête KV
- Par séquence : coût par token multiplié par les tokens conservés en contexte
- Par déploiement : coût par séquence multiplié par les séquences concurrentes
Notes du présentateur
Insistez sur la troisième ligne. La plupart des erreurs de dimensionnement viennent d’un raisonnement par séquence qui oublie la concurrence.
4/18
L’estimation de dimensionnement
2 x couches x têtes KV x dimension de tête x tokens en cache x octets par élément, multiplié par le nombre de séquences actives quand les caches sont indépendants.
Notes du présentateur
Écrivez-la une fois, puis dites immédiatement ce qu’elle exclut : poids, activations, fragmentation, surcharge du moteur. C’est un ordre de grandeur.
5/18
D’où vient le facteur 2
Un tenseur pour les clés, un pour les valeurs — par couche et par tête KV.
Notes du présentateur
C’est une confusion fréquente. Posez la question à la salle avant de répondre ; quelqu’un proposera la précision ou la redondance.
6/18
Têtes KV, pas têtes de requête
Le cache croît avec les têtes KV, et c’est pourquoi les attentions à requêtes groupées ou multi-requêtes le réduisent sans guère changer le nombre de paramètres.
Notes du présentateur
Montrez les deux nombres sur les fiches de configuration imprimées. Exigez que le nombre de têtes KV soit entouré avant le début de l’atelier A.
7/18
Atelier A — dimensionner à la main
80 couches, 8 têtes KV, dimension de tête 128, éléments de 16 bits. Calculez par token, par séquence, par déploiement.
Notes du présentateur
25 minutes en binôme. Circulez et vérifiez les unités tôt : les glissements de l’octet au gibioctet sont la première source de résultats faux.
8/18
Ordre de grandeur, hypothèses énoncées
| Contexte (tokens) | Séquences concurrentes | Mémoire KV approx. |
|---|---|---|
| 4096 | 1 | ~1,3 Go |
| 8192 | 1 | ~2,7 Go |
| 8192 | 8 | ~21 Go |
| 32768 | 8 | ~86 Go |
| 131072 | 1 | ~43 Go |
Notes du présentateur
Hypothèses : 80 couches, 8 têtes KV, dimension de tête 128, 2 octets par élément. Énoncez l’hypothèse à voix haute chaque fois que vous montrez ce tableau.
9/18
Le doublement se comporte comme vous le craignez
Sous l’estimation linéaire, doubler le contexte actif ou doubler la concurrence double approximativement la mémoire KV.
Notes du présentateur
C’est la phrase à laisser au tableau pendant la pause. C’est l’enseignement pratique de l’arithmétique.
10/18
Où l’estimation cesse d’être linéaire
- Fragmentation de l’allocateur et granularité des blocs
- Couches d’attention à fenêtre glissante ou hybrides
- Dispositions propres au moteur et marge réservée
Notes du présentateur
Dites explicitement que la formule est un outil de planification, pas un relevé comptable. Vérifiez toujours auprès du moteur réellement déployé.
11/18
Les leviers
- Borner le contexte et grouper les requêtes délibérément
- GQA ou MQA quand le modèle le permet
- Allocation paginée des blocs de cache
- Réutilisation vérifiée de préfixes et précision du cache
Notes du présentateur
Annoncez les quatre, puis traitez-les un par un. Les apprenants veulent un classement : ne le donnez qu’après avoir exposé les coûts.
12/18
Borner le contexte d’abord
Les tokens en cache sont le terme que vous contrôlez au niveau applicatif, et il entre linéairement dans l’estimation.
Notes du présentateur
Faites le lien avec la séance 04 : l’extrait qui répond à la question est en général bien plus court que le document joint.
13/18
Attention paginée
Allouer le cache par blocs de taille fixe supprime la réservation contiguë du pire cas par séquence, donc davantage de séquences tiennent.
Notes du présentateur
Lisez ici la page de documentation du moteur plutôt que de la paraphraser. Le vocabulaire des blocs compte pour lire les tableaux de bord ensuite.
14/18
La précision du cache est une décision à part
Un cache de précision réduite n’est pas le même arbitrage que des poids de précision réduite, et il exige sa propre évaluation.
Notes du présentateur
Nommez le mode de défaillance : la dégradation apparaît d’abord sur les contextes longs et les échanges multi-tours, que les bancs d’essai courts manquent.
15/18
La réutilisation de préfixe a des préalables
- Le préfixe doit être identique octet par octet, pas seulement semblable
- La réutilisation doit rester dans une même frontière de confiance
- L’économie porte sur le préremplissage, pas sur le décodage
Notes du présentateur
Imposez une comparaison octet par octet de deux prompts réels à l’atelier B. Deux gabarits qui diffèrent d’une ligne système ne partagent rien.
16/18
Mesurer le service
| Mesure | Ce qu’elle révèle | À lire en |
|---|---|---|
| Temps jusqu’au premier token | Coût de préremplissage et mise en file | p50 et p95 |
| Latence inter-tokens | Santé de la boucle de décodage | p50 et p95 |
| Occupation du cache | Marge avant éviction | Sur toute l’exécution |
| Taux d’éviction / recalcul | Préremplissage perdu sous pression | Sur toute l’exécution |
Notes du présentateur
Demandez quelle mesure bougerait la première si la distribution des contextes s’allongeait. La réponse est le premier token, et c’est celle que l’on surveille le moins.
17/18
Mesurez ce que vous servirez vraiment
Une seule longueur de prompt à un seul niveau de concurrence ne prédit rien du comportement en production.
Notes du présentateur
Exigez une distribution de longueurs de contexte et au moins deux niveaux de concurrence avant d’accepter un plan de mesure à l’atelier B.
18/18
Le cache de prompt du fournisseur n’est pas votre cache KV
- Le cache KV d’exécution est un état par requête dans le processus de service
- La réutilisation de préfixe du fournisseur a ses propres règles d’éligibilité et de persistance
- La facturation et la durée de vie du cache sont définies par le fournisseur, pas par vous
Notes du présentateur
Terminez en lisant la page du fournisseur à voix haute et en ne listant que les règles qu’elle énonce réellement. Ne laissez pas la salle combler les vides de mémoire.