BitStack: Control Fino del Tamaño a Nivel de Bits para Modelos de Lenguaje Grandes Comprimidos en Entornos de Memoria Variable
BitStack: Fine-Grained Size Control for Compressed Large Language Models in Variable Memory Environments
October 31, 2024
Autores: Xinghao Wang, Pengyu Wang, Bo Wang, Dong Zhang, Yunhua Zhou, Xipeng Qiu
cs.AI
Resumen
Los grandes modelos de lenguaje (LLMs) han revolucionado numerosas aplicaciones, sin embargo, su implementación sigue enfrentando desafíos debido a las limitaciones de memoria en dispositivos locales. Si bien las leyes de escala han mejorado las capacidades de los LLMs, el cuello de botella principal ha pasado de la capacidad a la disponibilidad, lo que enfatiza la necesidad de una gestión eficiente de la memoria. Los métodos tradicionales de compresión, como la cuantificación, a menudo requieren relaciones de compresión predefinidas y procesos de compresión separados para cada configuración, lo que complica la implementación en entornos de memoria variables. En este documento, presentamos BitStack, un enfoque novedoso de compresión de pesos sin entrenamiento que permite intercambios a nivel de megabytes entre el uso de memoria y el rendimiento del modelo. Al aprovechar la descomposición de pesos, BitStack puede ajustar dinámicamente el tamaño del modelo con una mínima transmisión entre la memoria en ejecución y los dispositivos de almacenamiento. Nuestro enfoque descompone iterativamente las matrices de pesos considerando la importancia de cada parámetro, lo que resulta en un bloque residual de aproximadamente 1 bit por parámetro en cada iteración de descomposición. Estos bloques se ordenan y apilan en el almacenamiento como unidades básicas de transmisión, cargando diferentes cantidades según la disponibilidad actual de memoria. Experimentos extensos en una amplia gama de tareas demuestran que, a pesar de ofrecer un control de tamaño detallado, BitStack coincide consistentemente o supera a las líneas de base de cuantificación sólidas, especialmente en relaciones de compresión extremas. Hasta donde sabemos, este es el primer método basado en descomposición que efectivamente acorta la brecha con técnicas de compresión prácticas como la cuantificación. El código está disponible en 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