양자화 가이드 (QLoRA·4-bit 학습)

양자화 가이드 (QLoRA·4-bit 학습)

PEFT를 쓰면 이미 양자화된 모델 위에도 파인튜닝을 할 수 있어요. 양자화 후 모델은 보통 추가 학습이 불안정한데, PEFT는 추가 학습 가능 파라미터만 얹기 때문에 4-bit 모델에도 어댑터를 달 수 있죠.

대표 사례가 QLoRA예요 — 모델을 4-bit로 양자화하고 그 위에 LoRA를 학습해, 48GB GPU 한 장으로 65B 모델을 파인튜닝하는 게 가능해졌어요.

출처: https://huggingface.co/docs/peft/main/en/developer_guides/quantization

양자화 방식 개요

  • AWQ — 양자화할 가중치를 최적화.
  • GPTQ — 가중치 행렬의 각 행을 독립 양자화.
  • bitsandbytes — 8-bit·4-bit 정밀도 양자화.
  • AQLM — 최저 2-bit 정밀도.

4-bit 모델 양자화 예시 (BitsAndBytesConfig)

import torch

from transformers import BitsAndBytesConfig

bnb_config = BitsAndBytesConfig(
    load_in_4bit=True,               # 4-bit 로드
    bnb_4bit_quant_type="nf4",       # 정규분포 기반 4-bit 자료형
    bnb_4bit_use_double_quant=True,  # 중첩 양자화 (2차 절감)
    bnb_4bit_compute_dtype=torch.bfloat16,  # 고속 연산용 bfloat16
)

이 설정으로 모델을 로드한 뒤 PEFT 어댑터(LoRA)를 붙이면 QLoRA 스타일 학습이 가능해요.

더 알아보기