bitsandbytes-foundation/bitsandbytes
Accessible large language models via k-bit quantization for PyTorch.
해결하는 문제
대규모 언어 모델(LLM)의 실행 및 학습에 필요한 메모리 요구 사항을 줄여, VRAM/RAM이 제한된 하드웨어에서도 모델을 실행할 수 있도록 하여 접근성을 높입니다.
작동 원리
이 라이브러리는 세 가지 주요 방법을 사용하여 PyTorch를 위한 k-bit 양자화 프리미티브를 제공합니다:
- 8-bit Optimizers: 블록 단위 양자화를 사용하여 성능을 유지하면서 옵티마이저의 메모리 비용을 크게 줄입니다.
- LLM.int8(): 추론을 위한 8비트 양자화를 활성화합니다. 대부분의 기능에는 벡터 단위 양자화를 사용하고, 이상치(outliers)에는 16비트 행렬 곱셈을 사용하여 성능 저하를 방지합니다.
- QLoRA: 학습을 위한 4비트 양자화를 구현합니다. 양자화와 저차원 적응(LoRA) 가중치를 결합하여 효율적인 미세 조정을 가능하게 합니다.
대상
소비자급 또는 리소스가 제한된 하드웨어에서 대규모 모델을 배포하거나 미세 조정해야 하는 PyTorch 사용자 및 연구자.
주요 특징
- 4비트 및 8비트 양자화 프리미티브 지원.
- NVIDIA, AMD, Intel GPU 및 Linux, Windows, macOS의 CPU를 포함한 광범위한 하드웨어 가속기 지원.
- Hugging Face 생태계(Transformers, Diffusers, PEFT)와 통합.
- 모델 성능을 유지하는 메모리 절약 기술.