양자화의 원리 — LLM 코스에서 배우는 실전 개념

양자화의 원리

'양자화하면 정확도가 떨어지지 않나요?'라는 질문을 많이 해요. 맞아요, 다만 정보량 자체는 크게 손해 보지 않도록 설계돼 있어요. 이번 장은 LLM 배포 관점에서 양자화가 왜 필요한지, 어떤 방식들이 있는지 개념적으로 잡아주는 단계예요.

왜 양자화가 필요한가

모델이 클수록 추론에 필요한 GPU 메모리도 커져요. 가중치를 저비트로 바꾸면 같은 GPU에서 더 큰 모델을 돌리거나, 배치를 키워 처리량을 올릴 수 있어요. 정확도가 조금 깎이는 대신 실전에서 모델을 실제로 배포할 수 있게 되는 거예요.

대표 접근

  • Post-Training Quantization (PTQ): 학습 후 가중치만 변환.
  • Quantization-Aware Training (QAT): 학습 과정에서 양자화를 고려해 정확도 손실을 최소화.
  • bitsandbytes: load_in_4bit=True 같은 방식으로 코드 한 줄에 양자화 적용.
import torch
from transformers import AutoModelForCausalLM, BitsAndBytesConfig

bnb_config = BitsAndBytesConfig(load_in_4bit=True, bnb_4bit_compute_dtype=torch.bfloat16)
model = AutoModelForCausalLM.from_pretrained("allenai/Olmo-3-7B-Think", quantization_config=bnb_config)

정확도와의 트레이드오프

비트 수가 낮을수록 압축은 커지지만, 모델·과업에 따라 성능 저하가 달라져요. 그래서 항상 벤치마크로 검증하면서 비트 수를 고르는 게 좋아요.

더 알아보기