bitsandbytes-foundation/bitsandbytes
Accessible large language models via k-bit quantization for PyTorch.
해결하는 문제
대규모 언어 모델(LLM)을 실행하고 학습하기 위한 메모리 요구량을 줄여, VRAM/RAM이 제한된 하드웨어에서도 사용 가능하게 만듭니다.
작동 방식
이 라이브러리는 k비트 양자화를 사용하여 모델 가중치와 최적화기 상태를 압축합니다. 주로 세 가지 방법을 제공합니다:
- 8비트 최적화기: 블록 단위 양자화를 사용하여 최적화기의 메모리 비용을 줄이면서도 32비트 성능을 유지합니다.
- LLM.int8(): 추론용 8비트 양자화 방법으로, 대부분의 특징에 대해 벡터 단위 양자화를 사용하고, 이상치에는 16비트 행렬 곱셈을 사용하여 성능 저하를 방지합니다.
- QLoRA: 학습용 4비트 양자화 방법으로, 모델을 4비트로 압축하고 작은 학습 가능한 저랭크 적응(LoRA) 가중치를 추가합니다.
대상 사용자
소비자용 하드웨어나 제한된 컴퓨팅 자원에서 대규모 모델을 실행하거나 미세 조정하고자 하는 개발자 및 연구자입니다.
주요 특징
- 4비트 및 8비트 양자화 원시 기능 지원.
- NVIDIA, AMD, Intel GPU 및 CPU를 포함한 Linux, Windows, macOS 전반에 걸친 광범위한 하드웨어 지원.
- Hugging Face Transformers, Diffusers, PEFT와 같은 인기 있는 라이브러리와의 통합.
관련
- 프로젝트
pytorch/aoTorchAO는 PyTorch 네이티브 양자화 라이브러리로, 최소한의 코드 변경으로 모델을 압축하고 속도를 높일 수 있습니다. float8 훈련, int4/int8 추론, 정확도 복구를 위한 양자화 인식 훈련을 지원하며, 일반적인 워크로드에서 최대 1.5~2배 속도 향상을 제공합니다.
- 프로젝트
Xilinx/brevitas모델의 효율성을 최적화하기 위해 훈련 후 양자화와 양자화 인식 훈련을 모두 지원하는 PyTorch 라이브러리입니다.
- 프로젝트
- 프로젝트
intel/neural-compressorIntel Neural Compressor는 PyTorch 및 JAX 모델을 압축하기 위한 오픈소스 Python 라이브러리입니다. 정적/동적 양자화, FP8, weight-only, SmoothQuant, 혼합 정밀도 및 AutoRound 기반 튜닝을 지원하며, Intel CPU, Xeon GPU, Habana Gaudi 가속기(AMD/NVIDIA 제한 지원)를 대상으로 합니다. `pip install neural-compressor-pt`(또는 `-jax`)로 설치하고, 구성으로 모델을 준비한 후 보정 및 변환을 통해 빠른 추론이 가능한 저정밀도 버전을 생성합니다.
- 프로젝트
vllm-project/llm-compressorLLM Compressor는 vLLM으로 빠르고 메모리 효율적인 추론을 위해 대규모 언어 모델을 양자화하고 압축하는 Python 라이브러리입니다. FP8, FP4, INT4와 같은 다양한 저비트 형식과 GPTQ, AWQ, AutoRound, REAP 등 다양한 알고리즘을 지원하며, 디스크 오프로딩과 DDP를 통해 수조 매개변수 모델을 처리할 수 있습니다. 이 라이브러리는 Hugging Face 체크포인트와 직접 통합되고, `compressed-tensors` 형식으로 모델을 저장하며, 바로 사용할 수 있는 예제와 사전 압축 체크포인트를 제공합니다.