BitStack: Controlo Fino de Tamanho para Modelos de Linguagem Grandes Comprimidos em Ambientes de Memória Variável
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
Resumo
Os grandes modelos de linguagem (LLMs) revolucionaram inúmeras aplicações, no entanto, sua implementação continua sendo desafiada por restrições de memória em dispositivos locais. Enquanto as leis de escala aprimoraram as capacidades dos LLMs, o principal gargalo mudou de capacidade para disponibilidade, destacando a necessidade de gerenciamento eficiente de memória. Métodos tradicionais de compressão, como quantização, frequentemente exigem taxas de compressão predefinidas e processos de compressão separados para cada configuração, complicando a implementação em ambientes de memória variável. Neste artigo, apresentamos o BitStack, uma abordagem inovadora de compressão de pesos sem treinamento que possibilita trocas de nível de megabytes entre uso de memória e desempenho do modelo. Ao alavancar a decomposição de pesos, o BitStack pode ajustar dinamicamente o tamanho do modelo com transmissão mínima entre a memória em execução e os dispositivos de armazenamento. Nossa abordagem decompõe iterativamente as matrizes de pesos considerando a importância de cada parâmetro, resultando em um bloco residual de aproximadamente 1 bit por parâmetro em cada iteração de decomposição. Esses blocos são classificados e empilhados no armazenamento como unidades básicas de transmissão, com quantidades diferentes carregadas com base na disponibilidade de memória atual. Experimentos extensivos em uma ampla gama de tarefas demonstram que, apesar de oferecer controle de tamanho refinado, o BitStack consistentemente corresponde ou supera baselines de quantização robustos, especialmente em taxas de compressão extremas. Até onde sabemos, este é o primeiro método baseado em decomposição que efetivamente preenche a lacuna para técnicas de compressão práticas como a quantização. O código está disponível em 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