비트스택: 가변 메모리 환경에서 압축된 대형 언어 모델에 대한 세밀한 크기 제어
BitStack: Fine-Grained Size Control for Compressed Large Language Models in Variable Memory Environments
October 31, 2024
저자: Xinghao Wang, Pengyu Wang, Bo Wang, Dong Zhang, Yunhua Zhou, Xipeng Qiu
cs.AI
초록
대형 언어 모델(LLMs)은 다양한 응용 프로그램을 혁신적으로 바꿨지만, 지역 장치의 메모리 제약으로 인해 배포가 여전히 어려움을 겪고 있습니다. 스케일링 법칙은 LLM의 능력을 향상시켰지만, 주요 병목 현상은 능력에서 가용성으로 옮겨져 효율적인 메모리 관리의 필요성을 강조하고 있습니다. 양자화와 같은 전통적인 압축 방법은 종종 미리 정의된 압축 비율과 각 설정에 대한 별도의 압축 프로세스가 필요하여 변수 메모리 환경에서의 배포를 복잡하게 만듭니다. 본 논문에서는 메가바이트 수준의 메모리 사용량과 모델 성능 사이의 트레이드오프를 가능하게 하는 훈련 없이 가중치 압축 접근 방식인 BitStack을 소개합니다. 가중치 분해를 활용하여 BitStack은 실행 중인 메모리와 저장 장치 간의 최소 전송으로 모델 크기를 동적으로 조정할 수 있습니다. 우리의 방법은 각 매개변수의 중요성을 고려하면서 가중치 행렬을 반복적으로 분해하여, 각 분해 반복에서 매개변수 당 약 1비트의 잔여 블록을 생성합니다. 이러한 블록은 기본 전송 단위로 저장되어 현재 메모리 가용성에 따라 다른 양이 로드됩니다. 다양한 작업 범위에서의 광범위한 실험 결과는 BitStack이 세밀한 크기 제어를 제공하면서도 특히 극단적인 압축 비율에서 강력한 양자화 기준을 일관되게 따라잡거나 능가한다는 것을 보여줍니다. 우리의 지식 범위 내에서, 이는 양자화와 같은 실용적인 압축 기술로의 간극을 효과적으로 메꾸는 첫 번째 분해 기반 방법입니다. 코드는 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