BitStack: Feinkörnige Größensteuerung für komprimierte große Sprachmodelle in variablen Speicherumgebungen
BitStack: Fine-Grained Size Control for Compressed Large Language Models in Variable Memory Environments
October 31, 2024
Autoren: Xinghao Wang, Pengyu Wang, Bo Wang, Dong Zhang, Yunhua Zhou, Xipeng Qiu
cs.AI
Zusammenfassung
Große Sprachmodelle (LLMs) haben zahlreiche Anwendungen revolutioniert, doch ihre Bereitstellung wird nach wie vor durch Speicherbeschränkungen auf lokalen Geräten herausgefordert. Während Skalierungsgesetze die Fähigkeiten von LLMs verbessert haben, hat sich der Hauptengpass von der Leistungsfähigkeit auf die Verfügbarkeit verlagert, was die Notwendigkeit einer effizienten Speicherverwaltung betont. Traditionelle Komprimierungsmethoden wie Quantisierung erfordern oft vordefinierte Kompressionsverhältnisse und separate Komprimierungsprozesse für jede Einstellung, was die Bereitstellung in variablen Speicherumgebungen erschwert. In diesem Papier stellen wir BitStack vor, einen neuartigen, trainingsfreien Ansatz zur Gewichtskomprimierung, der Trade-offs auf Megabyte-Ebene zwischen Speicherverbrauch und Modellleistung ermöglicht. Durch die Nutzung von Gewichtszerlegung kann BitStack die Modellgröße dynamisch anpassen, mit minimalem Datenaustausch zwischen laufendem Speicher und Speichergeräten. Unser Ansatz zerlegt iterativ Gewichtsmatrizen unter Berücksichtigung der Bedeutung jedes Parameters, was zu einem etwa 1-Bit pro Parameter Restblock in jeder Zerlegungsiteration führt. Diese Blöcke werden sortiert und gestapelt im Speicher als grundlegende Übertragungseinheiten abgelegt, wobei je nach aktueller Speicherverfügbarkeit unterschiedliche Mengen geladen werden. Umfangreiche Experimente über eine Vielzahl von Aufgaben zeigen, dass BitStack trotz der fein abgestuften Größenkontrolle konsequent starke Quantisierungs-Baselines erreicht oder übertrifft, insbesondere bei extremen Kompressionsverhältnissen. Unseres Wissens nach handelt es sich hierbei um die erste zerlegungsbasierte Methode, die die Kluft zu praktischen Kompressionstechniken wie Quantisierung effektiv überbrückt. Der Code ist verfügbar unter 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