--- title: "로컬 AI 양자화 포맷 완전 정리: GGUF, EXL2, AWQ, GPTQ, GGML의 모든 것" date: 2026-09-23 time: "18:00" model: admin category: knowhow summary: "로컬 LLM에서 사용되는 GGUF, EXL2, AWQ, GPTQ, GGML 포맷의 차이를 구체적인 모델 벤치마크 수치와 함께 정리했습니다. 어떤 하드웨어에 어떤 포맷을 써야 하는지 실전 가이드를 제공합니다." tags: GGUF,EXL2,AWQ,GPTQ,GGML,양자화,로컬LLM,quantization --- ## 결론 먼저 포맷 선택은 "어떤 GPU를 쓰느냐"로 결정된다. NVIDIA 소비자 GPU면 EXL2가 가장 빠르고, 범용성이 필요한 GGUF가 표준이다. 서버 환경이면 AWQ가 정답이다. GPTQ는 레거시고, GGML은 이미 사망했다. 이 글에서는 각 포맷의 실제 벤치마크 수치와 구체적인 모델별 크기를 분석한다. --- ## 1. 포맷별 핵심 아키텍처 비교 | 확장자 | 주요 백엔드 | 타겟 하드웨어 | 핵심 특징 | |--------|-----------|-------------|----------| | **GGUF** | llama.cpp, Ollama, LM Studio | CPU / Apple Silicon | 메타데이터 KV 규격화, 오프로딩 지원, 범용 표준 | | **EXL2** | ExLlamaV2, TabbyAPI | NVIDIA GPU 전용 | 가변 bpw 양자화, CUDA 커널 최적화, 최고 속도 | | **AWQ** | vLLM, TGI, AutoAWQ | GPU 전용 (서버) | 중요 가중치 1% 보존, 낮은 perplexity, 서버 최적 | | **GPTQ** | AutoGPTQ | GPU 전용 (구형) | 2차 도함수 기반, 레거시, AWQ에 밀림 | | **GGML** | llama.cpp (구버전) | CPU 중심 | GGUF의 직계 조상, 하위 호환성 붕괴로 **사망** | --- ## 2. GGUF: 로컬 에이전트의 표준 GGUF는 GGML의 치명적 결함(하위 호환성 붕괴)을 해결하기 위해 메타데이터 헤더를 KV(Key-Value) 형태로 규격화한 포맷이다. ### 왜 GGUF가 표준인가 1. **범용성**: CPU, Apple Silicon, NVIDIA, AMD, 모바일, 라즈베리파이까지 모든 환경에서 동작 2. **메타데이터 캡슐화**: 모델 아키텍처, 토큰 정보, 컨텍스트 제한이 파일 하나에 포함 3. **오프로딩**: VRAM 부족 시 초과분을 CPU RAM으로 넘겨 느리게나마 구동 4. **커뮤니티 지원**: HuggingFace, Ollama, LM Studio 등 모든 플랫폼에서 기본 지원 ### GGUF 양자화별 품질 벤치마크 **7B 모델 기준, FP16 대비 perplexity 증가량**: | 양자화 | bpw | 크기 (7B) | Perplexity Δ | MMLU (Llama 8B) | 품질 평가 | |--------|-----|-----------|--------------|-----------------|----------| | Q8_0 | 8.5 | 5.73 GB | +0.0004 | 68.7 (-0.3) | **사실상 무손실** | | Q6_K | 6.6 | 4.42 GB | +0.004 | - | **인식 불가** | | Q5_K_M | 5.7 | 3.80 GB | +0.014 | 68.4 (-0.6) | **최고의 가성비** | | Q4_K_M | 4.9 | 3.28 GB | +0.053 | 67.9 (-1.1) | **대부분 사용자에게 충분** | | Q3_K_M | 3.9 | 2.67 GB | +0.244 | 66.0 (-3.0) | VRAM 제약 시에만 | | Q2_K | 2.7 | 1.86 GB | +1.0+ | 60.5 (-8.5) | **권장하지 않음** | **핵심**: Q4_K_M과 Q5_K_M의 perplexity 차이는 0.04 수준으로, 일상 사용에서 인식하기 어렵다. 다만 다단계 수학/추론에서는 Q5_K_M이 측정 가능한 향상을 보인다. ### 사용 사례별 추천 | 사용 사례 | 추천 양자화 | 이유 | |----------|-----------|------| | 일상 채팅/어시스턴트 | Q4_K_M | perplexity 차이 인식 불가 | | AI 코딩 어시스턴트 | Q4_K_M | HumanEval 동일 점수 | | 다단계 수학/추론 | **Q5_K_M** | 측정 가능한 perplexity 향상 | | 창작 글쓰기/장문 | Q5_K_M 또는 Q6_K | 장문 일관성 유지 | | 최대 품질 (VRAM 여유) | Q8_0 | 거의 무손실 | --- ## 3. EXL2: NVIDIA 극한 속도 EXL2(ExLlamaV2)는 수치적 비트 수에 갇히지 않고 소수점 단위의 가변 비트 양자화를 수행한다. NVIDIA CUDA 커널을 100% 활용하도록 설계되어 동일 4비트 모델이라도 GGUF보다 1.5~2배 빠르다. ### bpw 레벨별 파일 크기 | bpw | 7B 모델 | 14B 모델 | 품질 수준 | |-----|---------|---------|----------| | 2.25 | ~2.0 GB | ~4.0 GB | 부정확, 사용 불가 | | 3.0 | ~2.6 GB | ~5.3 GB | 품질 저하 눈에 띔 | | 3.5 | ~3.1 GB | ~6.1 GB | perplexity 6.55 | | **4.0** | **~4.2 GB** | **~7.9 GB** | **perplexity 6.33, 추천 기본** | | 4.5 | ~4.7 GB | ~8.8 GB | perplexity 6.27 | | 5.0 | ~5.2 GB | ~10.0 GB | perplexity 6.26 | | 6.0 | ~6.3 GB | ~12.0 GB | perplexity 6.23 | | 8.0 | ~8.5 GB | ~16.0 GB | 거의 무손실 (FP8 근접) | ### GGUF vs EXL2 TPS 벤치마크 **Llama 3.1 8B, 단일 스트림 decode (512 토큰 출력)**: | 포맷 | RTX 4090 | RTX 3090 | RTX 4060 Ti | |------|----------|----------|-------------| | EXL2 4.0 bpw | **240 t/s** | ~170 t/s | ~90 t/s | | AWQ 4-bit | 225 t/s | ~150 t/s | ~80 t/s | | GPTQ 4-bit (Marlin) | 220 t/s | ~155 t/s | ~78 t/s | | GGUF Q4_K_M | 165 t/s | ~95 t/s | ~55 t/s | | FP16 | 95 t/s | ~55 t/s | ~30 t/s | **핵심**: EXL2 4.0 bpw는 GGUF Q4_K_M보다 RTX 4090에서 **약 45% 빠르다**. 다만 VRAM이 1MB만 부족해도 OOM 크래시가 발생하므로, GPU VRAM 경계선에 맞춰 정확한 bpw 파일을 매칭해야 한다. ### 주의점 - NVIDIA GPU 전용 (AMD, Apple Silicon 사용 불가) - 모델 선택폭이 좁음 (커뮤니티 양자화 모델이 적음) - VRAM 경계선 계산 필수 (예: RTX 4060 Ti 8GB → 4.0 bpw 7B勉强, 4.5 bpw는 OOM) --- ## 4. AWQ: 서버 에이전트의 표준 AWQ(Activation-aware Weight Quantization)는 추론 과정에서 텐서의 활성화 채널을 관찰하여 중요도가 높은 가중치(약 1%)를 선별적으로 보존한다. GPTQ보다 정밀도와 속도면에서 우위에 있다. ### AWQ vs GPTQ 벤치마크 **Llama-2-13B 4-bit 양자화 비교 (RTX 3090)**: | 포맷 | Perplexity | VRAM | 모델 크기 | 속도 (t/s) | |------|-----------|------|-----------|-----------| | AWQ 4-bit (group 32) | **4.325** | 10.57 GB | 7.62 GB | 39.5 | | GPTQ 4-bit (group 32) | 4.338 | 8.70 GB | 7.63 GB | 42.4 | | EXL2 4.0 bpw | 4.376 | 7.88 GB | 6.50 GB | **56.8** | | GGUF Q4_K_M | 4.333 | 8.99 GB | 7.50 GB | 30.8 | ### AWQ의 수학적 이점 - 모든 레이어를 균등하게 깎아내는 GPTQ와 달리, 중요 가중치를 보존하므로 코딩·수학·다단계 추론 벤치마크 점수 방어력이 월등 - MMLU 기준: AWQ -1.2, GPTQ -1.5 (FP16 대비) - HumanEval Pass@1: AWQ 51.8%, GPTQ 46% (Llama 3.1 8B 기준) ### 사용 시나리오 - vLLM, TGI 등 대규모 파이프라인에서 주로 사용 - 리눅스 컨테이너 환경에서 안정적인 API 서버를 열 때 최적 - 다중 GPU 인프라 구축 시 선호 --- ## 5. GPTQ: 레거시 포맷 GPTQ(Generalized Post-Training Quantization)는 전통적인 2차 도함수 기반 포스트 트레이닝 양자화 기법이다. AWQ 기술 등장 이후 연산 정밀도 및 속도면에서 다소 밀려 현재는 새 모델에 사용되지 않는다. ### GPTQ의 한계 - AWQ 대비 perplexity 약간 높음 (4.338 vs 4.325) - HumanEval 코딩 벤치마크에서 AWQ보다 낮은 점수 (46% vs 51.8%) - 신규 모델 양자화 시 커뮤니티에서 AWQ를 우선 선택 ### 아직 사용되는 경우 - 기존에 이미 GPTQ 양자화가 완료된 모델을 사용할 때 - AutoGPTQ가 설치된 레거시 환경에서 - vLLM의 Marlin 커널이 GPTQ를 가속할 때 --- ## 6. GGML: 사망한 포맷 GGML(Georgi Gerganov Machine Learning)은 llama.cpp의 직계 조상 포맷이다. 구조적 한계로 인해 모델 메타데이터 아키텍처가 바뀔 때마다 하위 호환성이 깨지는 치명적인 결함이 있어 현재는 사용되지 않고 GGUF로 완전히 대체되었다. ### GGML의 역사적 의의 - llama.cpp의 첫 번째 포맷으로 로컬 LLM 생태계의 시작을 알림 - GGUF로 전환되면서 모든 백엔드에서 GGML 지원 중단 - HuggingFace에서 다운로드 가능한 모델도 대부분 GGUF 전환 완료 --- ## 7. 구체적 모델별 포맷/크기 비교 ### Qwen3-4B | 포맷 | 크기 | 비고 | |------|------|------| | FP16 SafeTensors | ~8.2 GB | HuggingFace 공식 | | GGUF Q4_K_M | **2.3 GB** | Qwen 공식 GGUF | | GGUF Q8_0 | ~4.5 GB | 커뮤니티 양자화 | | EXL2 4.0 | ~2.0 GB | 변환 가능 | | Ollama | `ollama run qwen3:4b` | 자동 Q4_K_M | ### K2-Horizon-3.7B | 포맷 | 크기 | 비고 | |------|------|------| | FP16 SafeTensors | ~7.5 GB | IFM 공식 (Apache 2.0) | | GGUF | IFM/K2-Horizon-3.7B-GGUF | HuggingFace 공식 제공 | | vLLM/SGLang | 네이티브 지원 | 524K 토큰 컨텍스트 | ### Gemma 4 E4B (8B 매개변수) | 포맷 | 크기 | 비고 | |------|------|------| | BF16 | 15.1 GB | Google 공식 | | GGUF Q4_K_M | **4.98 GB** | unsloth 커뮤니티 | | GGUF Q5_K_M | 5.48 GB | unsloth 커뮤니티 | | GGUF Q8_0 | 8.19 GB | unsloth 커뮤니티 | | Ollama | `ollama pull gemma4:e4b` | 자동 양자화 | | MLX | Apple Silicon 전용 | 네이티브 | ### Llama 3.1 8B (종합 비교) | 포맷 | 크기 | Perplexity | t/s (RTX 3090) | |------|------|-----------|---------------| | FP16 | 16.0 GB | 6.20 | 28 | | GGUF Q4_K_M | 4.9 GB | 6.38 | 52 | | GGUF Q5_K_M | 5.7 GB | 6.28 | 45 | | GGUF Q6_K | 6.6 GB | 6.23 | 35 | | GGUF Q8_0 | 8.5 GB | 6.21 | 35 | | AWQ 4-bit | 4.3 GB | 6.36 | 58 | | **EXL2 4.0 bpw** | **4.2 GB** | **6.33** | **62** | | GPTQ 4-bit | 4.3 GB | 6.40 | 50 | --- ## 8. 하드웨어별 포맷 선택 결정표 | 하드웨어 | 추천 포맷 | 비고 | |---------|----------|------| | NVIDIA RTX 3090/4090/5090 | **EXL2** (최고 속도) 또는 **AWQ** (최고 품질) | NVIDIA 전용 가속 | | NVIDIA 서버 (A100/H100) | **AWQ** (vLLM/TGI 서빙) | 프로덕션 서빙 최적 | | AMD GPU | **GGUF** (유일한 선택지) | ROCm/Vulkan 지원 | | Apple Silicon | **GGUF** (범용) 또는 **MLX** (네이티브) | Metal 지원 | | CPU 전용 | **GGUF** (유일한 선택지) | SIMD 최적화 | | 모바일 | **GGUF** (Q4_K_M) | 안드로이드/iOS | | 라즈베리파이/Jetson | **GGUF** (Q4_0 또는 Q5_0) | 저전력 | ### VRAM 티어별 모델 추천 (2026년 9월) | VRAM | 추천 모델 | 포맷 | |------|----------|------| | S (<8GB) | Gemma 4 E4B | Q4_K_M | | S+ (12-16GB) | Gemma 4 12B | Q4_K_M | | M (8-32GB) | Qwen3.6-27B Q6 또는 Gemma 4 31B Q4 | Q4-Q6 | | L (32-64GB) | Qwen3.6-27B Q8 | Q8 | | XL (64-128GB) | Qwen3.5-122B Q4 | Q3-Q4 | --- ## 9. 2026년 현재 커뮤니티 합의 r/LocalLLaMA 749k+ 회원 커뮤니티의 2026년 합의: 1. **GGUF는 "링구아 프랑카"** — 모든 하드웨어에서 동작, 가장 광범위한 포맷 2. **EXL2는 NVIDIA 소비자 GPU에서 가장 빠름** — 그러나 NVIDIA 전용, 모델 선택폭 좁음 3. **AWQ는 GPTQ를 대체** — 같은 비트폭에서 약간 더 나은 품질 4. **GPTQ는 레거시** — 기존 모델에만 사용, 새 모델은 AWQ 5. **Q4_K_M이 기본 시작점** — "대부분의 사용자에게 충분한 품질" 6. **더 큰 모델 + Q4 > 더 작은 모델 + Q8** — 매개변수가 정밀도보다 중요 --- ## 10. llama.cpp 최신 개발 (2026) 1. **Imatrix 양자화 표준화**: `llama-imatrix` 도구로 캘리브레이션 후 더 정확한 저비트 양자화 가능 2. **IQ4_XS 부상**: Q4_K_M와 동등 품질, 크기는 약 10% 작음 (8B 기준 ~4.17 vs ~4.58 GB) 3. **KV 캐시 양자화**: `--cache-type-k q8_0 --cache-type-v q8_0` 플래그로 KV 캐시 50% 절약 4. **텐서별 선택적 양자화**: `--tensor-type` 옵션으로 민감한 어텐션 벡터를 더 높은 정밀도로 유지 5. **Gemma 4 공식 QAT 모델**: Google이 직접 GGUF Q4_0 체크포인트 제공 --- ## 11. 핵심 요약 1. **GGUF는 범용 표준**: CPU, Apple Silicon, AMD, 모바일까지 모든 환경에서 동작 2. **EXL2는 NVIDIA 최고 속도**: GGUF 대비 45% 빠르나, NVIDIA 전용이고 VRAM 계산 필수 3. **AWQ는 서버 표준**: GPTQ를 대체하며, 중요 가중치 보존으로 높은 품질 유지 4. **GPTQ는 레거시**: 새 모델에는 사용되지 않음 5. **Q4_K_M이 기본 시작점**: 대부분의 사용자에게 충분한 품질 6. **더 큰 모델 + Q4 > 더 작은 모델 + Q8**: 매개변수가 정밀도보다 중요