DropKV devance les méthodes d’éviction testées avec un cache réduit
En termes simples
Les modèles de langage gardent en cache des informations sur les mots précédents pour continuer à traiter un long passage. Pour réduire la taille de ce cache, DropKV estime dans quelle mesure le retrait de chaque token enregistré modifierait la sortie d’attention du modèle, puis supprime ceux dont l’effet estimé est le plus faible.
Sur RULER, un benchmark de tâches à long contexte, DropKV affiche une précision moyenne supérieure à celle des autres méthodes de suppression évaluées, pour trois modèles avec un contexte de 128K tokens et un budget de cache de 5%. Ce résultat concerne ces modèles et ces conditions.
La recherche
On peut réduire un cache en supprimant définitivement des informations sur les tokens enregistrés, mais choisir plusieurs tokens ensemble pour minimiser la variation de la sortie d’attention du modèle est coûteux en calcul.
Un score simple, attribué à chaque token, peut-il rendre ce choix praticable sans trop dégrader les performances sur les tâches ?
DropKV évalue les tokens en cache selon leur effet estimé sur la sortie d’attention, puis supprime ceux qui la perturbent le moins afin de préserver les performances des tâches avec un cache limité.
DropKV attribue à chaque token un score fondé sur son effet estimé sur la sortie d’attention, additionne les scores au carré sur des requêtes récentes, puis supprime les tokens dont le score est le plus faible. Cette méthode remplace un choix collectif difficile par une évaluation token par token.
Avec un budget de cache de 5%, ses scores moyens dépassent ceux des méthodes d’éviction concurrentes sur les tâches à long contexte de RULER et sur 16 tâches en anglais et de code de LongBench, pour trois modèles. Ces résultats étayent ses performances dans les conditions évaluées.
La borne théorique ne s’applique que si les poids d’attention sont faibles et si la condition du cône est satisfaite ; cette condition n’était pas remplie pour certains triplets échantillonnés. Les évaluations portent sur trois modèles, les tâches indiquées et les budgets de cache spécifiés. L’accélération avec Triton concerne le calcul des scores pendant le préremplissage, pas pendant le décodage.
Analyse
Détails
- Auteurs de l’article original
- Aozhong Zhang, Selcuk Gurses, Yanxia Deng, Naigang Wang, Chi-Chun Liu
- Soumis à arXiv
- Licence
- CC BY 4.0