Adapter les changements du cache au coût de votre charge de travail
Un cache plus petit peut réduire la mémoire occupée, tandis que des lectures sélectives peuvent diminuer la quantité d’information récupérée pour chaque nouvelle requête. Supprimer des éléments visuels pendant la génération d’une réponse agit sur un troisième type de coût. Un score de qualité n’aide à choisir entre ces approches que si le test porte sur la phase concernée.
Les études indiquent une première étape pratique : repérer la ressource limitée, puis tester la méthode correspondante sur la charge de travail visée. Leurs résultats en classification, en modélisation du langage et en réponses visuelles décrivent des résultats différents et ne permettent donc pas d’établir un classement commun.
Ce que vous comprendrez
Comment déterminer si une méthode appliquée au cache modifie sa taille, l’information lue par requête ou les entrées conservées pendant le décodage ?
Que mesure le résultat de qualité rapporté par chaque étude, et à quelle comparaison correspond-il ?
Pourquoi un test doit-il évaluer les tokens générés ultérieurement pour mesurer l’effet de la suppression d’entrées du cache visuel pendant le décodage ?
Repérer le coût du cache
Imaginez que vous deviez produire de nombreuses prédictions à partir d’un même tableau étiqueté. Garder tous ses exemples disponibles peut rendre les prédictions répétées coûteuses.
Dans un modèle de langage, les mots précédents occupent un cache que chaque nouveau mot peut consulter. Dans un modèle qui répond à des questions sur des images, des éléments visuels peuvent rester dans ce cache pendant la génération de la réponse.
Chaque situation invite à la compression, mais les coûts surviennent à des moments différents. La question utile est de savoir si la contrainte porte sur la taille des données stockées, leur lecture répétée ou les informations visuelles conservées.
Pour le tableau, les exemples étiquetés forment un contexte réutilisé d’une requête à l’autre. Sélectionner un petit ensemble fixe de lignes rend ce contexte réutilisable, mais peut écarter des lignes utiles à une requête particulière.
Sélectionner de nouvelles lignes pour chaque requête peut améliorer leur pertinence locale, tout en limitant la réutilisation. L’étude sur les tableaux adopte une troisième approche : elle compresse en une représentation plus petite le cache interne constitué à partir des exemples, tout en permettant des réponses différentes selon les requêtes.
Dans les deux autres situations, le choix ressemble moins à une sélection de lignes. Une requête adressée à un modèle de langage peut avoir besoin de détails provenant de différentes parties d’un cache clé-valeur déjà stocké, c’est-à-dire de l’enregistrement des entrées précédentes conservé par le modèle.
Un modèle qui répond à des questions sur des images traite d’abord sa consigne, étape appelée « prefill », puis génère les tokens suivants de la réponse pendant le décodage. Il peut réduire le calcul durant le prefill ou supprimer des éléments visuels du cache avant le décodage.
Quelle ressource le praticien devrait-il viser, et quel test pourrait révéler le coût en qualité qui en découle ?
La suite de la leçon
Agir sur la représentation, la lecture ou la conservation
Interpréter chaque mesure dans son contexte
Évaluer la bonne étape et le bon résultat