BitStack : Contrôle de taille à grain fin pour les grands modèles de langage compressés dans des environnements de mémoire variable
BitStack: Fine-Grained Size Control for Compressed Large Language Models in Variable Memory Environments
October 31, 2024
Auteurs: Xinghao Wang, Pengyu Wang, Bo Wang, Dong Zhang, Yunhua Zhou, Xipeng Qiu
cs.AI
Résumé
Les grands modèles de langage (LLM) ont révolutionné de nombreuses applications, mais leur déploiement reste entravé par les contraintes de mémoire sur les appareils locaux. Alors que les lois d'échelle ont amélioré les capacités des LLM, le principal goulot d'étranglement s'est déplacé de la capacité à la disponibilité, soulignant le besoin d'une gestion efficace de la mémoire. Les méthodes de compression traditionnelles, telles que la quantification, nécessitent souvent des ratios de compression prédéfinis et des processus de compression distincts pour chaque configuration, ce qui complique le déploiement dans des environnements mémoire variables. Dans cet article, nous présentons BitStack, une approche novatrice de compression de poids sans entraînement qui permet des compromis au niveau des mégaoctets entre l'utilisation de la mémoire et les performances du modèle. En exploitant la décomposition des poids, BitStack peut ajuster dynamiquement la taille du modèle avec un minimum de transmission entre la mémoire en cours d'exécution et les dispositifs de stockage. Notre approche décompose de manière itérative les matrices de poids en tenant compte de la signification de chaque paramètre, ce qui donne un bloc résiduel d'environ 1 bit par paramètre dans chaque itération de décomposition. Ces blocs sont triés et empilés dans le stockage en tant qu'unités de transmission de base, avec des quantités différentes chargées en fonction de la disponibilité mémoire actuelle. Des expériences approfondies sur un large éventail de tâches démontrent que, malgré le contrôle granulaire de la taille qu'elle offre, BitStack correspond systématiquement ou dépasse les références de quantification solides, en particulier à des ratios de compression extrêmes. À notre connaissance, il s'agit de la première méthode basée sur la décomposition qui comble efficacement l'écart avec des techniques de compression pratiques comme la quantification. Le code est disponible sur https://github.com/xinghaow99/BitStack.
English
Large language models (LLMs) have revolutionized numerous applications, yet
their deployment remains challenged by memory constraints on local devices.
While scaling laws have enhanced LLM capabilities, the primary bottleneck has
shifted from capability to availability, emphasizing the need
for efficient memory management. Traditional compression methods, such as
quantization, often require predefined compression ratios and separate
compression processes for each setting, complicating deployment in variable
memory environments. In this paper, we introduce BitStack, a novel,
training-free weight compression approach that enables megabyte-level
trade-offs between memory usage and model performance. By leveraging weight
decomposition, BitStack can dynamically adjust the model size with minimal
transmission between running memory and storage devices. Our approach
iteratively decomposes weight matrices while considering the significance of
each parameter, resulting in an approximately 1-bit per parameter residual
block in each decomposition iteration. These blocks are sorted and stacked in
storage as basic transmission units, with different quantities loaded based on
current memory availability. Extensive experiments across a wide range of tasks
demonstrate that, despite offering fine-grained size control, BitStack
consistently matches or surpasses strong quantization baselines, particularly
at extreme compression ratios. To the best of our knowledge, this is the first
decomposition-based method that effectively bridges the gap to practical
compression techniques like quantization. Code is available at
https://github.com/xinghaow99/BitStack.Summary
AI-Generated Summary