개요

Model Quantization(모델 양자화)은 신경망의 가중치와 활성화 값의 정밀도를 FP32에서 FP16/INT8/INT4 등으로 낮추는 압축 기법입니다. 메모리 사용량과 연산량을 줄여 Large Language Models (LLMs)를 소비자 하드웨어에서 실행할 수 있게 합니다.

핵심 효과:

  • FP32 → INT4: 메모리 8배 감소 (7B 모델: 28GB → 3.5GB)
  • 대형 모델의 양자화가 소형 모델의 풀 정밀도보다 성능이 나은 경우가 많음
    • 70B INT4 > 13B FP16 (벤치마크 기준)

양자화 방식

PTQ (Post-Training Quantization)

학습 완료 후 가중치를 낮은 정밀도로 변환. 소량의 캘리브레이션 데이터셋(수백 샘플)만 필요.

  • 장점: 빠름, 전체 학습 데이터 불필요, 대형 모델에 실용적
  • 단점: 정확도 2~5% 하락 가능
  • 대표 기법: GPTQ, AWQ, SmoothQuant

QAT (Quantization-Aware Training)

학습 과정에서 양자화를 시뮬레이션. 모델이 낮은 정밀도에 적응하도록 학습.

  • 장점: 정확도 손실 1~2% 이내 (PTQ 대비 우수)
  • 단점: 추가 학습 시간/데이터 필요, 대형 모델에는 비실용적
  • 원리: Forward pass에서 fake-quantize → backward pass는 FP로 수행
  • 활용: Google Gemma QAT (RTX 3090에서 27B 모델 실행)

수치 포맷

포맷비트이산 레벨메모리 절감 (vs FP32)정확도 손실용도
FP3232-기준선없음학습
FP16/BF1616-2배무시 가능학습/추론
FP88-4배거의 없음 (lossless)프로덕션 추론
INT882564배<1%프로덕션 추론
INT44168배2~5%로컬/엣지
FP4 (NVFP4)4-8배2~5%Blackwell GPU
NF44-8배2~5% (정규분포 최적)bitsandbytes

FP8 상세

  • H100/Ada/SM120에서 프로덕션 표준
  • FlashAttention-3 + FP8: H100에서 1.3 PFLOPS 달성
  • 기존 FP8 대비 2.6배 낮은 수치 오차
  • 사실상 무손실 — 별도 품질 검증 불필요

FP4 (NVFP4) 상세

  • Blackwell (B200) GPU 전용
  • 실질적으로 가장 낮은 실용 정밀도
  • TensorRT-LLM에서 자동 FP4 커널 활용
  • HuggingFace에 사전 양자화 모델 제공 (DeepSeek-R1-FP4, Llama-3.3-70B-FP4 등)

주요 양자화 기법

GPTQ (GPU Post-Training Quantization)

  • 방식: 가중치 행렬의 각 행을 독립적으로 양자화, 2차 정보(Hessian) 기반 보정
  • 정밀도: 2/3/4/8비트
  • 추론 시: INT4 가중치를 FP16으로 복원하여 연산
  • 캘리브레이션: 데이터셋 품질에 민감
  • 처리량: 712 tok/s (Marlin 커널, vLLM)
  • 품질: HumanEval ~46% (FP16 기준 56.1%)

AWQ (Activation-aware Weight Quantization)

  • 방식: 활성화 통계 기반으로 중요 가중치 채널(~1%) 식별 → 스케일링 후 양자화
  • 핵심: 모든 가중치가 동등하지 않다는 가정 (중요 가중치 보존)
  • 처리량: 741 tok/s (Marlin 커널, vLLM) — 최고 속도
  • 품질: HumanEval 51.8%, 원본 품질의 ~95% 유지
  • GPTQ 대비: 더 높은 품질 유지, 더 빠른 추론

GGUF (GGML Unified Format)

  • 성격: 양자화 기법이 아닌 파일 포맷 (llama.cpp의 GGML 라이브러리 기반)
  • 특징: CPU 추론 + GPU 오프로딩 지원
  • 최적 플랫폼: CPU, Apple Silicon
  • 인기 프로파일: Q4_K_M (8~16GB VRAM에서 품질/효율 최적 균형)
  • 품질: HumanEval 51.8%, Perplexity 6.74 (FP16: 6.56)
  • 처리량: 93 tok/s (vLLM) — GPU 대비 느림

SmoothQuant

  • 방식: 활성화의 이상치를 가중치로 수학적으로 이동
  • 효과: 활성화와 가중치 모두 양자화 가능 (W8A8)
  • 활용: INT8 가중치 + INT8 활성화 조합

bitsandbytes

  • 개발: Hugging Face 생태계 통합
  • 8비트 (LLM.int8()): 이상치 활성화는 FP16, 나머지 INT8 (혼합 정밀도)
  • 4비트 (NF4 + Double Quantization):
    • NF4: 정규분포 데이터에 정보이론적 최적 포맷
    • Double Quantization: 양자화 상수 자체도 양자화 → 추가 메모리 절감
  • 품질: 최저 Perplexity 증가 (6.67, FP16: 6.56)
  • 처리량: 168 tok/s — 느리지만 품질 최상

QLoRA

  • 방식: 4비트 양자화 기본 가중치 + 16비트 Low-Rank Adaptation (LoRA) 어댑터
  • 효과: 65B 모델을 단일 소비자 GPU에서 파인튜닝 가능
  • 용도: 양자화된 모델의 파인튜닝

벤치마크 비교 (vLLM, Llama 기준)

기법처리량 (tok/s)PerplexityHumanEvalTTFT
FP16 (기준)4616.5656.1%기준
Marlin-AWQ7416.8451.8%12.6ms
Marlin-GPTQ7126.97~46%-
bitsandbytes1686.6751.8%-
GGUF Q4_K_M936.7451.8%-

핵심 인사이트:

  • 커널이 알고리즘보다 중요: Marlin 커널 적용 시 AWQ 10.9배, GPTQ 2.6배 속도 향상
  • 모든 기법이 Perplexity 6% 이내 — 대부분 실사용에서 차이 미미
  • AWQ가 속도와 품질의 최적 균형점

용도별 추천

용도추천 기법이유
프로덕션 서빙 (NVIDIA GPU)Marlin-AWQ최고 처리량 741 tok/s + 우수한 품질
품질 최우선FP8사실상 무손실
CPU / Apple SiliconGGUF Q4_K_MCPU 추론 지원, 8~16GB 최적
로컬 실험 / 입문GGUF + Ollama설정 최소, 즉시 실행
프로덕션 서버AWQ 또는 GPTQ + vLLM높은 처리량 + 정확도 유지
파인튜닝QLoRA (NF4)단일 GPU에서 대형 모델 파인튜닝
Blackwell GPUNVFP4하드웨어 네이티브 지원
비용 효율 (동기)W4A16비용 대비 성능 최적
비용 효율 (비동기)W8A8 (FP8)Continuous Batching에서 우수

VRAM별 실행 가이드

VRAM추천 양자화실행 가능 모델 예시
4GBGGUF Q4_K_S1~3B 모델
8GBGGUF Q4_K_M7B 모델
12GBGGUF Q4_K_M / AWQ7~13B 모델
16GBAWQ / GPTQ13B 모델, 7B FP16
24GBAWQ / GPTQ32B 양자화, 13B FP16
48GBFP870B 양자화
80GB (A100)FP8 / FP1670B FP16

양자화 도구

도구지원 포맷특징
llama.cppGGUF직접 양자화, CPU 추론
AutoGPTQGPTQHugging Face 통합
AutoAWQAWQHugging Face 통합
bitsandbytesNF4, INT8Transformers 내장 지원
NVIDIA Model OptimizerFP8, FP4, INT4/8TensorRT-LLM 최적화
QuantoINT4/8, FP8Hugging Face 차세대 도구

관련 항목