ChatPaper.aiChatPaper

SubGen : Génération de jetons en temps et mémoire sous-linéaires

SubGen: Token Generation in Sublinear Time and Memory

February 8, 2024
Auteurs: Amir Zandieh, Insu Han, Vahab Mirrokni, Amin Karbasi
cs.AI

Résumé

Malgré le succès significatif des grands modèles de langage (LLMs), leurs importants besoins en mémoire posent des défis pour leur déploiement dans la génération de tokens à contexte long. L'empreinte mémoire substantielle des décodeurs de LLMs découle de la nécessité de stocker tous les tokens précédents dans le module d'attention, une exigence imposée par la mise en cache des paires clé-valeur (KV). Dans ce travail, nous nous concentrons sur le développement d'une technique de compression efficace pour le cache KV. Des preuves empiriques indiquent une tendance significative au regroupement au sein des embeddings de clés dans le module d'attention. En nous appuyant sur cette observation clé, nous avons conçu une nouvelle méthode de mise en cache avec une complexité sous-linéaire, utilisant un clustering en ligne sur les tokens de clés et un échantillonnage ell_2 en ligne sur les valeurs. Le résultat est un algorithme de décodage d'attention à la fois précis et efficace, nommé SubGen. Non seulement cet algorithme garantit une empreinte mémoire sous-linéaire et une complexité temporelle sous-linéaire, mais nous établissons également une borne d'erreur serrée pour notre approche. Les évaluations empiriques sur des tâches de réponse à des questions à contexte long démontrent que SubGen surpasse significativement les méthodes existantes et de pointe de compression du cache KV en termes de performance et d'efficacité.
English
Despite the significant success of large language models (LLMs), their extensive memory requirements pose challenges for deploying them in long-context token generation. The substantial memory footprint of LLM decoders arises from the necessity to store all previous tokens in the attention module, a requirement imposed by key-value (KV) caching. In this work, our focus is on developing an efficient compression technique for the KV cache. Empirical evidence indicates a significant clustering tendency within key embeddings in the attention module. Building on this key insight, we have devised a novel caching method with sublinear complexity, employing online clustering on key tokens and online ell_2 sampling on values. The result is a provably accurate and efficient attention decoding algorithm, termed SubGen. Not only does this algorithm ensure a sublinear memory footprint and sublinear time complexity, but we also establish a tight error bound for our approach. Empirical evaluations on long-context question-answering tasks demonstrate that SubGen significantly outperforms existing and state-of-the-art KV cache compression methods in terms of performance and efficiency.
PDF122December 15, 2024