Quantization

연속적이거나 고정밀도의 데이터를 더 적은 수의 이산적인 값으로 변환하여 데이터 크기를 줄이고 처리 속도를 향상시키는 기술

양자화가 필요한 이유:

  • 로컬 GPU에서 대형 모델 사용 가능
  • 추론 비용 절감 (클라우드 배포 시)
  • 응답 속도 향상 (실시간 서비스)

트레이드오프:

  • 메모리/속도 상승 vs 정확도 하락
  • 특히 환경 변화(노이즈, 오타 등)에서 품질 저하가 더 심함

주요 양자화 방식:

방식특징장점단점적합 환경
bitsandbytes (INT4)런타임 양자화, HuggingFace 연동간편한 적용, 추가 변환 불필요품질 저하 가능빠른 실험, 프로토타이핑
GPTQ사전 양자화 (INT4), 가중치 보정높은 압축률, 빠른 추론양자화 시간 소요배포 최적화
AWQ활성화 기반 양자화, 중요 가중치 보존품질 유지 우수, INT4에서도 고품질특정 모델만 지원고품질 필요 서비스
GGUFllama.cpp 형식, CPU/GPU 유연로컬 추론 최적화, 경량HuggingFace 직접 미지원로컬 추론, 엣지 배포

학습 vs 추론 양자화

구분학습 시 양자화 (QLoRA)추론 시 양자화 (PTQ)
시점Fine-tuning 중Fine-tuning 완료 후
목적학습 가능하게 하기모델 전체 (INT4)
양자화 대상Base model만 (4-bit NF4)추론 빠르게 하기
학습 가능 여부LoRA adapter만 학습 (FP16)학습 불가 (추론 전용)
정밀도NF4 (4-bit, 가중치 분포 최적화)INT4 (4-bit, 정수 양자화)
라이브러리Unsloth + bitsandbytesbitsandbytes (load_in_4bit)
메모리 절감학습 가능하게 (8배 절감)추론 시 75% 절감

전체 파이프라인에서의 위치

┌──────────────────────────────────────────────────────────────────┐
│                    LLM 활용 전체 파이프라인                        │
└──────────────────────────────────────────────────────────────────┘

1. [사전학습] 
   대규모 텍스트로 학습 → FP32/BF16 (높은 정밀도)

2. [파인튜닝]
   도메인 데이터로 적응 → QLoRA (4-bit base + FP16 adapter)
   → 제한된 GPU로 학습 가능

3. [추론 최적화]
   실제 서비스 배포 → INT4 양자화 (PTQ)
   → 메모리 75% 절감 + 속도 향상

4. [추론 품질 개선]
   환경 변화 대응 → TTP (Test-time Prompting)
   → 재학습 없이 품질 보정

QLoRA의 “Q”와 PTQ의 차이점

  • QLoRA의 Q : Quantized LoRA -> 학습 중 base model 양자화
  • PTQ의 Q : Post-Traning Quantization -> 학습 후 모델 양자화
항목QLoRAPTQ
Q의 의미QuantizedPost-Training
사용 시기Fine-tuning 중Fine-tuning 완료 후
목적학습추론 속도
gradient 계산LoRA adapter만 계산x

비트 정밀도 전체 맵

정밀도비트 수용도메모리 (1B 모델)학습 가능 여부
FP3232-bit사전학습, Optimizer4GBO
FP16/BF1616-bitMixed Precision 학습2GBO
INT4/NF44-bit학습 베이스 + 추론 최적화0.5GBX
  • INT4 : 4-bit 정수 양자화
  • NF4 : 정규분포를 가정한 4-bit 양자화 (LLM 가중치 분포에 최적화)

QLoRA 파인튜닝

┌─────────────────────┐
│  Base Model (고정)   │ → NF4 (4-bit)     Frozen
└─────────────────────┘
           +
┌─────────────────────┐
│ LoRA Adapter (학습)  │ → FP16 (16-bit)   Trainable
└─────────────────────┘

결과: 메모리 8배 절감 + 학습 가능

PTQ 추론 최적화

┌─────────────────────┐
│  모델 전체 (고정)    │ → NF4 (4-bit)     Inference Only
└─────────────────────┘

결과: 메모리 75% 절감 + 추론 속도 향상

정밀도 선택 가이드

상황권장 정밀도이유
학습 (충분한 GPU)FP16/BF16속도와 정확도 균형
학습 (제한된 GPU)NF4 base + FP16 adapter8배 메모리 절감
추론 (메모리 중요)NF4메모리 75% 절감
추론 (품질 중요)FP16최소 손실