C.W.K.
Stream
Lesson 04 of 05 · published

Serve 타임 양자화

~24 min · serving, quantization

Level 0스카우트
0 XP0/50 lessons0/10 achievements
0/120 XP to next level120 XP to go0% complete

양자화 포맷, 보정된 시각

포맷비트속도품질비고
fp16 / bf1616baselinebaseline2026 의 unquantized "base" 의미.
fp881.3-1.5x~baselineHopper / Ada GPU 만. fp8-aware 엔진 필요.
bitsandbytes (8/4-bit)8 / 41-1.5x~baseline / minor"작은 GPU 에 fit" 의 가장 빠른 path. Serving 엔 less optimal.
GPTQ4 / 32xsmall dropPer-channel 양자화. Hub variant: {model}-GPTQ.
AWQ42-3xsmall dropActivation-aware. 현재 가장 강한 4-bit serving 옵션.
GGUF2-8n/avariesllama.cpp / Ollama 포맷. TGI / vLLM 용 X. Ops 트랙에서 다룸.

결정 룰

모던 GPU 의 프로덕션 serve 타겟: variant 있으면 AWQ-4bit, 없으면 GPU 가 fp8 지원하면 fp8, fallback 으로 bnb-nf4. 2026 에 GPTQ 피해 — 이미 갖고 있는 게 아니면. 정확히 worse 하지 X 만 AWQ 가 잠식.

Code

Hub 에서 variant 고르기·bash
# 모델의 AWQ variant 검색
huggingface-cli download "TheBloke/Llama-2-7B-Chat-AWQ" --local-dir ./awq

# TGI launch:
docker run ... \
  --model-id /data/awq \
  --quantize awq

# vLLM:
vllm serve TheBloke/Llama-2-7B-Chat-AWQ --quantization awq
포맷 간 perplexity sanity check·python
# Pseudo-code: transformers 통해 각 variant 로드, held-out eval set
# (예: 너 실제 트래픽에서 100 프롬프트) 의 logprob 계산, perplexity 비교.
# 너 분포에서 fp16 의 0.2 perplexity 안에 오는 4-bit AWQ = 충분히 좋음.
# 1 perplexity 넘게 drift 하는 4-bit = 위험.

# from transformers import AutoModelForCausalLM, AutoTokenizer
# import torch
# ... fp16 vs awq vs gptq 로드, 토큰별 -log p(eval_text) 계산,
# eval set 평균, 비교.

External links

Exercise

Hub 에 AWQ + GPTQ variant 둘 다 있는 7B 모델 골라. 각각 vLLM 로 serve. 너 도메인에서 50 프롬프트 hold out. fp16, awq, gptq 에 돌려. perplexity (또는 deterministic task 면 bleu/exact-match) 계산. 이긴 variant 골라.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.