BitStack: Controllo della Dimensione a Granularità Fine per Modelli Linguistici di Grandi Dimensioni Compressi in Ambienti di Memoria Variabile
BitStack: Fine-Grained Size Control for Compressed Large Language Models in Variable Memory Environments
October 31, 2024
Autori: Xinghao Wang, Pengyu Wang, Bo Wang, Dong Zhang, Yunhua Zhou, Xipeng Qiu
cs.AI
Abstract
I modelli linguistici di grandi dimensioni (LLM) hanno rivoluzionato numerose applicazioni, tuttavia la loro implementazione rimane sfidata dai vincoli di memoria sui dispositivi locali. Mentre le leggi di scala hanno potenziato le capacità dei LLM, il principale collo di bottiglia si è spostato dalla capacità alla disponibilità, sottolineando la necessità di un efficiente gestione della memoria. I metodi tradizionali di compressione, come la quantizzazione, spesso richiedono rapporti di compressione predefiniti e processi di compressione separati per ciascuna configurazione, complicando l'implementazione in ambienti di memoria variabile. In questo articolo, presentiamo BitStack, un nuovo approccio di compressione dei pesi senza addestramento che consente scambi di livello di megabyte tra l'uso della memoria e le prestazioni del modello. Sfruttando la decomposizione dei pesi, BitStack può regolare dinamicamente le dimensioni del modello con trasmissioni minime tra la memoria in esecuzione e i dispositivi di archiviazione. Il nostro approccio decompone iterativamente le matrici dei pesi considerando la significatività di ciascun parametro, risultando in circa 1 bit per blocco residuo per parametro in ciascuna iterazione di decomposizione. Questi blocchi vengono ordinati e impilati nell'archiviazione come unità di trasmissione di base, con diverse quantità caricate in base alla disponibilità attuale della memoria. Estesi esperimenti su una vasta gamma di compiti dimostrano che, nonostante offra un controllo delle dimensioni dettagliato, BitStack corrisponde costantemente o supera i solidi punti di riferimento della quantizzazione, in particolare a estremi rapporti di compressione. Per quanto ne sappiamo, questo è il primo metodo basato sulla decomposizione che collega efficacemente il divario alle tecniche di compressione pratiche come la quantizzazione. Il codice è disponibile su 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