본문으로 건너뛰기
Kreath Archive
TechProjectsBooksAbout
TechProjectsBooksAbout

내비게이션

  • Tech
  • Projects
  • Books
  • About
  • Tags

카테고리

  • AI / ML
  • 웹 개발
  • 프로그래밍
  • 개발 도구

연결

  • GitHub
  • Email
  • RSS
© 2026 Kreath Archive. All rights reserved.Built with Next.js + MDX
홈TechProjectsBooksAbout
//
  1. 홈
  2. 테크
  3. 2장: 모델 양자화 기초 — 정밀도, 형식, 트레이드오프
2026년 2월 27일·AI / ML·

2장: 모델 양자화 기초 — 정밀도, 형식, 트레이드오프

모델 양자화의 핵심 원리, 부동소수점과 정수 표현, 양자화 형식(대칭/비대칭, 채널/그룹), 품질-크기 트레이드오프를 체계적으로 다룹니다.

11분221자7개 섹션
llmperformancemlops
공유
on-device-ai2 / 10
12345678910
이전1장: 온디바이스 AI의 등장과 핵심 개념다음3장: GGUF와 llama.cpp 생태계

1장에서 온디바이스 AI의 전체 지형을 조망했습니다. 이 장에서는 온디바이스 추론의 가장 핵심적인 기술인 모델 양자화(Model Quantization) 의 원리를 다룹니다. 수십 GB의 모델을 몇 GB로 줄이면서도 품질을 유지하는 방법을 이해합니다.

양자화란 무엇인가

수치 정밀도의 이해

신경망의 가중치(weight)와 활성화(activation)는 부동소수점 숫자로 표현됩니다. 양자화는 이 숫자들을 더 낮은 정밀도로 변환하는 과정입니다.

FP32 (32비트 부동소수점):
  부호(1) + 지수(8) + 가수(23) = 32비트
  범위: ±3.4 × 10^38, 정밀도: ~7자리

FP16 (16비트 부동소수점):
  부호(1) + 지수(5) + 가수(10) = 16비트
  범위: ±6.5 × 10^4, 정밀도: ~3자리

BF16 (Brain Float 16):
  부호(1) + 지수(8) + 가수(7) = 16비트
  범위: FP32와 동일, 정밀도: ~2자리

INT8 (8비트 정수):
  범위: -128 ~ 127 (또는 0 ~ 255)
  256개의 이산 값

INT4 (4비트 정수):
  범위: -8 ~ 7 (또는 0 ~ 15)
  16개의 이산 값

양자화의 수학적 원리

양자화는 연속적인 부동소수점 값을 이산적인 정수 값으로 매핑합니다.

양자화: q = round((x - zero_point) / scale)
역양자화: x_approx = q * scale + zero_point

여기서:
  x: 원본 FP 값
  q: 양자화된 정수 값
  scale: 스케일 팩터 (범위 매핑)
  zero_point: 영점 오프셋

대칭 양자화 vs 비대칭 양자화

대칭 양자화 (zero_point = 0):
  범위: [-max_abs, max_abs] → [-128, 127] (INT8)
  장점: 계산이 단순
  단점: 비대칭 분포에서 비효율적

비대칭 양자화 (zero_point ≠ 0):
  범위: [min, max] → [0, 255] (UINT8)
  장점: 분포에 더 잘 적응
  단점: 계산이 약간 복잡
Info

LLM의 가중치 분포는 대체로 0을 중심으로 대칭이므로, 가중치에는 대칭 양자화가 효과적입니다. 반면 활성화(activation) 값은 비대칭 분포를 가질 수 있어 비대칭 양자화가 유리한 경우가 있습니다.

양자화 세분화 수준

채널별 양자화 (Per-Channel)

각 출력 채널(뉴런)마다 독립적인 scale과 zero_point를 사용합니다.

채널 0: scale=0.02, zero_point=0
채널 1: scale=0.05, zero_point=0
채널 2: scale=0.01, zero_point=0
...

그룹별 양자화 (Per-Group)

가중치를 고정 크기 그룹(예: 128개)으로 나누어 각 그룹에 독립적인 양자화 파라미터를 적용합니다.

그룹 크기 128:
  [w0, w1, ..., w127] → scale_0, zero_point_0
  [w128, w129, ..., w255] → scale_1, zero_point_1
  ...

그룹 크기가 작을수록 정밀도가 높아지지만, 메타데이터(scale, zero_point) 저장 비용이 증가합니다.

세분화정밀도메타데이터 비용사용처
텐서별낮음최소INT8 가속기
채널별중간적음일반적 양자화
그룹별 (128)높음중간GGUF, AWQ
그룹별 (32)매우 높음많음고정밀 양자화

양자화 시점: PTQ vs QAT

PTQ (Post-Training Quantization)

학습이 완료된 모델에 양자화를 적용합니다. 추가 학습이 필요 없어 빠르고 간편합니다.

PTQ 개념
python
# 1. 학습된 FP16 모델 로드
model = load_model("model_fp16.bin")
 
# 2. 캘리브레이션 데이터로 분포 분석
calibration_data = load_calibration_dataset(num_samples=512)
statistics = analyze_weight_distributions(model, calibration_data)
 
# 3. 양자화 파라미터 결정 및 적용
quantized_model = quantize(model, statistics, bits=4, group_size=128)
 
# 4. 양자화된 모델 저장
save_model(quantized_model, "model_q4.gguf")

QAT (Quantization-Aware Training)

학습 과정에서 양자화 효과를 시뮬레이션하여, 양자화에 강건한 가중치를 학습합니다.

순전파: FP 가중치 → 양자화 시뮬레이션 → FP 활성화 → 손실 계산
역전파: 그래디언트 → STE(Straight-Through Estimator) → FP 가중치 업데이트

QAT는 PTQ보다 높은 품질을 달성하지만, 추가 학습이 필요하므로 비용이 높습니다.

방식품질비용시간사용 시기
PTQ양호낮음분~시간대부분의 경우
QAT우수높음일~주극한 양자화(2~3비트)

양자화 비트별 품질-크기 트레이드오프

벤치마크 비교 (Llama 3.1 8B 기준)

양자화모델 크기Perplexity체감 품질
FP1616 GB기준 (1.0x)최상
Q8_08.5 GB~1.01x거의 무손실
Q6_K6.6 GB~1.02x미세한 차이
Q5_K_M5.7 GB~1.03x약간의 차이
Q4_K_M4.9 GB~1.05x실용적
Q3_K_M3.9 GB~1.10x눈에 띄는 차이
Q2_K3.2 GB~1.25x상당한 품질 저하
Tip

실무에서 가장 많이 사용되는 양자화 수준은 Q4_K_M (4비트, K-quants, 중간 크기)입니다. FP16 대비 약 30%의 크기로 줄이면서도 대부분의 작업에서 실용적인 품질을 유지합니다. Q5_K_M이 품질 대비 가장 좋은 균형점이라는 의견도 많지만, 메모리 제약이 있는 환경에서는 Q4_K_M이 합리적인 선택입니다.

양자화와 모델 크기의 관계

큰 모델의 낮은 양자화 vs 작은 모델의 높은 양자화

예시:
  Llama 3.1 70B Q4_K_M (~40GB): 높은 추론 품질
  Llama 3.1 8B FP16 (~16GB): 중간 추론 품질

→ 메모리가 충분하다면 "큰 모델 + 낮은 비트"가
  "작은 모델 + 높은 비트"보다 대체로 우수

혼합 정밀도 양자화

모든 레이어를 같은 비트로 양자화하지 않고, 레이어의 중요도에 따라 다른 비트를 적용합니다.

Attention 레이어: Q6 (높은 정밀도 — 품질에 민감)
FFN 레이어: Q4 (낮은 정밀도 — 파라미터 수가 많음)
임베딩 레이어: Q8 (높은 정밀도 — 입출력 품질)

이 접근법은 같은 평균 비트에서 균일 양자화보다 높은 품질을 달성합니다. GGUF의 K-quants(Q4_K_M, Q5_K_S 등)가 이 원리를 적용한 대표적 형식입니다.

양자화의 한계

  1. 극한 양자화의 품질 저하: 2비트 이하에서는 품질 저하가 급격
  2. 작은 모델의 민감도: 1~3B 모델은 양자화에 더 민감 (대형 모델보다 여유가 적음)
  3. 특정 작업의 민감도: 수학, 코딩, 논리 추론은 양자화에 더 민감
  4. 활성화 양자화의 어려움: 가중치보다 활성화(activation)의 양자화가 더 까다로움

정리

모델 양자화는 FP32/FP16 가중치를 INT8/INT4 등으로 변환하여 모델 크기와 메모리 사용량을 줄이는 핵심 기술입니다. 대칭/비대칭 양자화, 채널/그룹별 세분화, PTQ/QAT 시점, 혼합 정밀도 등의 기법을 이해하면 작업과 하드웨어에 맞는 최적의 양자화 전략을 선택할 수 있습니다.

다음 장에서는 온디바이스 LLM 추론의 사실상 표준인 GGUF 형식과 llama.cpp 생태계를 다룹니다.

이 글이 도움이 되셨나요?

관련 주제 더 보기

#llm#performance#mlops

관련 글

AI / ML

3장: GGUF와 llama.cpp 생태계

온디바이스 LLM 추론의 핵심인 GGUF 형식과 llama.cpp의 아키텍처, 설치와 사용법, 성능 최적화, 그리고 주요 프론트엔드 도구를 다룹니다.

2026년 3월 1일·10분
AI / ML

1장: 온디바이스 AI의 등장과 핵심 개념

온디바이스 AI의 필요성, 클라우드 추론 대비 장단점, 핵심 기술 스택, 그리고 현재 기술 수준과 한계를 조망합니다.

2026년 2월 25일·9분
AI / ML

4장: AWQ, GPTQ, 양자화 기법 비교

GPU 추론에 최적화된 AWQ와 GPTQ 양자화 기법의 원리, 차이점, 그리고 GGUF와의 비교를 통해 상황별 최적 양자화 전략을 제시합니다.

2026년 3월 3일·12분
이전 글1장: 온디바이스 AI의 등장과 핵심 개념
다음 글3장: GGUF와 llama.cpp 생태계

댓글

목차

약 11분 남음
  • 양자화란 무엇인가
    • 수치 정밀도의 이해
    • 양자화의 수학적 원리
    • 대칭 양자화 vs 비대칭 양자화
  • 양자화 세분화 수준
    • 채널별 양자화 (Per-Channel)
    • 그룹별 양자화 (Per-Group)
  • 양자화 시점: PTQ vs QAT
    • PTQ (Post-Training Quantization)
    • QAT (Quantization-Aware Training)
  • 양자화 비트별 품질-크기 트레이드오프
    • 벤치마크 비교 (Llama 3.1 8B 기준)
    • 양자화와 모델 크기의 관계
  • 혼합 정밀도 양자화
  • 양자화의 한계
  • 정리