CASK est un article qui propose une approche structurelle (basée sur les rôles), plutôt qu’une méthode de pruning fondée sur la token importance, afin de résoudre le problème de croissance du KV cache lors de l’inférence des LLM.
Cette recherche est également remarquable par le fait qu’elle a été menée en seulement 5 jours et qu’il s’agit du résultat de deux chercheurs indépendants, sans directeur de thèse.
📌 Définition du problème
Lors de longues inférences en chain-of-thought, le KV cache augmente rapidement, entraînant :
- une forte hausse de l’utilisation mémoire
- une augmentation de la latency d’inférence
- une dégradation des performances de reasoning à long terme
Approche existante :
- fondée sur le scoring de token importance
- éviction des tokens au score faible
❌ Limites des approches existantes
Selon les résultats expérimentaux de l’article :
- même en améliorant finement l’importance scoring
→ la variation réelle de l’ensemble des tokens conservés reste limitée
Autrement dit,
- améliorer uniquement la stratégie d’éviction
ne suffit pas à dépasser certaines limites en matière de performances et d’efficacité
🔥 Idée centrale
CASK sépare les tokens non pas selon leur importance, mais selon leur rôle.
Core
- contribue directement à la génération de la sortie finale
- correspond à l’état central du reasoning
- toujours conservé
Scratch
- états générés pendant les calculs intermédiaires et l’exploration
- peut contenir des informations redondantes ou inutiles
- cible de compression et de fusion
⚙️ Fonctionnement
Prefix Phase
- segment d’entrée (
prompt) - exécution d’une éviction partielle du KV
Decode Phase
- phase où l’inférence progresse
- application d’une compression sélective uniquement à la zone Scratch
👉 Différence par rapport aux approches précédentes :
- simple suppression → conservation sélective + compression structurelle
📊 Performances
D’après les résultats de l’article :
-
par rapport aux techniques existantes de compression de KV
→ jusqu’à 25 % d’économies mémoire supplémentaires -
avec le même budget de KV cache
→ maintien d’une précision plus élevée -
dans certaines plages
→ de meilleures performances avec moins de KV cache
Exemple :
- CASK (KV 384) > approche existante (KV 512)
👉 Réduction de l’usage mémoire et amélioration des performances en même temps
📌 Caractéristiques techniques
- token-level pruning → structure-aware compression
- centré sur l’éviction → stratégie de préservation + réutilisation
- renforcement de la réutilisation de l’information pendant le reasoning
📌 Portée
CASK propose une approche qui fait évoluer l’optimisation du KV cache
- de « combien peut-on jeter ? »
- vers « que faut-il absolument conserver ? »
🚀 Résumé
- jusqu’à 25 % de réduction supplémentaire du KV cache
- maintien de performances d’inférence équivalentes ou supérieures
- proposition d’une méthode de gestion du KV fondée sur la structure
Aucun commentaire pour le moment.