AQLM

AQLM

Additive Quantization of Language Models (AQLM)은 여러 가중치를 함께 양자화하면서 가중치 사이의 상호 의존성을 활용합니다. AQLM은 8~16개의 가중치 그룹을 여러 개의 벡터 코드 합으로 표현해요.

출처: 문서

본문

AQLM은 PEFT 라이브러리로 LoRA 미세 조정(fine-tuning)도 지원하고, 더 빠른 추론·훈련을 위해 torch.compile과도 완전히 호환됩니다.

GPU·CPU 추론과 훈련 모두에서 커널을 지원하도록 AQLM 라이브러리를 아래 명령으로 설치합니다. AQLM은 Python 3.10+에서만 동작해요.

pip install aqlm[gpu,cpu]

AQLM으로 양자화된 모델은 from_pretrained()로 불러옵니다.

from transformers import AutoTokenizer, AutoModelForCausalLM

quantized_model = AutoModelForCausalLM.from_pretrained(
    "ISTA-DASLab/Mixtral-8x7b-AQLM-2Bit-1x16-hf",
    dtype="auto", 
    device_map="auto"
)

구성 (Configurations)

AQLM 양자화 설정은 사용하는 코드북(codebook)의 개수와 코드북 크기(비트 단위)에 따라 크게 달라져요. 가장 널리 쓰이는 설정과 지원되는 추론 커널은 아래와 같습니다.

커널 코드북 개수 코드북 크기(비트) 표기 정확도 속도 향상 빠른 GPU 추론 빠른 CPU 추론
Triton K N KxN - 최대 ~0.7배 ✅ ❌
CUDA 1 16 1x16 최고 최대 ~1.3배 ✅ ❌
CUDA 2 8 2x8 보통 최대 ~3.0배 ✅ ❌
Numba K 8 Kx8 좋음 최대 ~4.0배 ❌ ✅

더 알아보기 (Learn more)

모델을 양자화하고, 양자화된 모델을 Hub에 올리고, 그 밖의 예시를 더 보려면 AQLM 데모 노트북을 실행해 보세요.

더 많은 예시 데모 노트북은 AQLM 저장소에서 확인할 수 있어요.