
10 techniques de compression du cache KV pour l'inférence LLM : éviction, quantification et méthodes de faible rang
La compression du cache KV s'impose comme l'un des défis techniques centraux de l'inférence à grande échelle pour les grands modèles de langage. Pour un modèle de 30 milliards de paramètres fonctionnant avec une taille de lot de 128 et des séquences d'entrée de 1 024 tokens, le cache clé-valeur (KV) peut atteindre jusqu'à 180 Go de mémoire GPU. À titre de comparaison, les paramètres d'un modèle de 7 milliards de paramètres n'occupent que 14 Go, tandis que son cache KV peut en réclamer 72. Face à cette asymétrie, la recherche a produit ces deux dernières années une dizaine de techniques distinctes de compression. Les plus importantes sont : H2O (Heavy Hitter Oracle, présenté à NeurIPS 2023), qui identifie dynamiquement les tokens générant le plus d'attention et évince les autres, améliorant le débit jusqu'à 29 fois par rapport à Hugging Face Accelerate sur les modèles OPT-6.7B et OPT-30B avec seulement 20 % de tokens retenus ; StreamingLLM, qui conserve en permanence les premiers tokens du contexte comme ancres structurelles, combinés à une fenêtre glissante des tokens les plus récents ; SnapKV, qui cible spécifiquement la phase de prefill et agrège les scores d'attention sur une fenêtre d'observation finale pour sélectionner les positions importantes par tête d'attention ; et PyramidKV/PyramidInfer, qui alloue des budgets de cache différents selon les couches du transformeur, reflétant la diminution progressive du nombre de clés cruciales en profondeur.
Ces techniques répondent à un problème qui freine directement la rentabilité des déploiements en production. Compresser le cache KV sans réentraîner le modèle permet d'augmenter la taille des lots traités simultanément, donc le nombre d'utilisateurs servis par GPU, et de réduire les coûts d'inférence. StreamingLLM rend possible des conversations infiniment longues sur du matériel limité, tandis que SnapKV s'adapte mieux aux prompts longs comme les documents juridiques ou médicaux. La granularité par couche de PyramidKV permet d'aller plus loin dans la compression sans dégradation de précision mesurable sur des benchmarks comme LongBench.
Ces approches s'inscrivent dans une tendance de fond : à mesure que les fenêtres de contexte des LLM s'étendent de 4 000 à plusieurs centaines de milliers de tokens, le cache KV devient proportionnellement plus coûteux que les poids du modèle lui-même. Les grandes entreprises comme OpenAI, Google et les fournisseurs cloud sont confrontés à ce goulot d'étranglement dès qu'ils cherchent à servir des millions de requêtes simultanées. L'éviction de tokens, la quantification du cache et les méthodes à faible rang constituent trois familles complémentaires de solutions, et leur combinaison, encore peu explorée en production, représente probablement la prochaine frontière pour réduire le coût marginal de chaque token généré.
Dans nos dossiers
Vu une erreur factuelle dans cet article ? Signalez-la. Toutes les corrections valides sont publiées sur /corrections.


