알아두면 좋은 내용
필요 VRAM은 이렇게 계산해요
양자화별 크기 — Llama 3.1 8B 기준 실측
| 양자화 | bit/가중치 | 8B 파일 | 70B 파일 | 용도 |
|---|---|---|---|---|
| Q2_K | 3.16 | 3.18GB | 26.4GB | 최후 수단 |
| Q3_K_M | 4.00 | 4.02GB | 34.3GB | VRAM 부족 시 |
| Q4_K_M | 4.89 | 4.92GB | 42.5GB | 기본 추천 |
| Q5_K_M | 5.70 | 5.73GB | 50.0GB | 여유 있으면 |
| Q6_K | 6.56 | 6.60GB | 57.9GB | 고품질 |
| Q8_0 | 8.50 | 8.54GB | 75.0GB | 사실상 무손실 |
| F16 | 16.00 | 16.06GB | 141GB+ | 원본 |
※ bit/가중치는 llama.cpp quantize README의 Llama-3.1-8B 실측값(계산기와 같은 값), 파일 크기는 bartowski GGUF 저장소 공표값입니다. F16 8B는 README의 14.96GiB를 10진 GB로 환산했습니다(다른 행과 같은 단위). 모델·아키텍처에 따라 실효 bit은 ±1~2% 달라집니다.
GPU별 돌아가는 모델 — 한눈에
양자화별 크기를 알아도 ‘그래서 내 카드엔 뭐가 올라가나’가 남죠. 위 계산기를 모델 6종 × GPU 7종으로 돌려, 각 조합에서 표기 용량(8GB=8GiB로 환산)의 92% 이하로 들어가는 가장 높은 양자화를 뽑았습니다.
| GPU (가용 VRAM) | Llama 3.1 8B | Qwen3 14B | Mistral Small 3 24B | Qwen3 32B | Gemma 3 27B | Llama 3.3 70B |
|---|---|---|---|---|---|---|
| RTX 4060 (8GB) | Q3_K_M 7.1GB | — | — | — | — | — |
| RTX 4070 (12GB) | Q8_0† 11.6GB | Q3_K_M 10.7GB | — | — | — | — |
| RTX 4080 / 5080 (16GB) | Q8_0 11.6GB | Q6_K† 15.5GB | Q3_K_M 15.1GB | — | Q2_K 13.9GB | — |
| RTX 4090 / 3090 (24GB) | F16 19.1GB | Q8_0 19.1GB | Q6_K 22.7GB | Q3_K_M 20.5GB | Q5_K_M 22.6GB | — |
| RTX 5090 (32GB) | F16 19.1GB | Q8_0 19.1GB | Q8_0 28.4GB | Q6_K† 31.1GB | Q6_K 25.6GB | — |
| Mac 32GB (가용 약 21.3GiB≈22.9GB) | F16 19.1GB | Q8_0 19.1GB | Q5_K_M 20.2GB | Q3_K_M 20.5GB | Q4_K_M 19.9GB | — |
| Mac 64GB (가용 48GiB≈51.5GB) | F16 19.1GB | F16 32.9GB | Q8_0 28.4GB | Q8_0 39.0GB | Q8_0 32.2GB | Q3_K_M 39.9GB |
※ — 는 8K 컨텍스트에서 92% 기준을 통과하는 양자화가 하나도 없다는 뜻 — 해당 GPU 단독으로는 어렵고 멀티 GPU·CPU 오프로딩·통합메모리를 검토해야 합니다. † 는 같은 GiB 환산 기준으로 90%를 넘겨 위 계산기가 ‘빠듯’으로 판정하는 조합이에요. Mac은 Metal 기본 상한(통합메모리 36GB 이하 약 2/3, 그보다 크면 약 75%)을 가용 용량으로 잡았고, 총량에는 오버헤드 2.0GB가 포함돼 있습니다(공식 수치가 아닌 커뮤니티 관행치).
컨텍스트가 VRAM을 얼마나 먹나
KV 캐시는 컨텍스트 길이에 정비례합니다. 같은 모델·같은 양자화라도 컨텍스트를 어디까지 열어두느냐로 필요량이 3배 넘게 벌어져요.
| 컨텍스트 | KV 캐시 | 총 필요 | KV 비중 |
|---|---|---|---|
| 4K (4,096) | 0.54GB | 7.4GB | 7% |
| 8K (8,192) | 1.07GB | 8.0GB | 13% |
| 32K (32,768) | 4.29GB | 11.2GB | 38% |
| 128K (131,072) | 17.18GB | 24.1GB | 71% |
Q4_K_M 기준 모델별 소요량 — 가중치 + KV + 오버헤드
| 모델 | 가중치 | KV(8K) | 오버헤드 | 총 필요 |
|---|---|---|---|---|
| Llama 3.1 8B | 4.9GB | 1.07GB | 2.0GB | 8.0GB |
| Qwen3 14B | 9.1GB | 1.34GB | 2.0GB | 12.4GB |
| Mistral Small 3 24B | 14.4GB | 1.34GB | 2.0GB | 17.8GB |
| Gemma 3 27B | 16.8GB | 1.11GB | 2.0GB | 19.9GB |
| Qwen3 32B | 20.1GB | 2.15GB | 2.0GB | 24.2GB |
| Llama 3.3 70B | 43.2GB | 2.68GB | 2.0GB | 47.9GB |
VRAM이 모자랄 때 — 우선순위 3가지
1. KV 캐시 양자화
Q8_0 KV는 품질 영향이 거의 없이 캐시를 절반으로. 긴 컨텍스트를 쓴다면 가장 먼저 시도할 옵션이에요.
2. 컨텍스트 줄이기
KV 캐시는 컨텍스트에 정비례합니다. 128K를 다 쓸 일이 없다면 8~16K로 제한하는 것만으로 수 GB가 절약돼요.
3. 양자화 한 단계 아래로
Q4_K_M→Q3_K_M은 8B 기준 약 0.9GB 절약. 품질 타협이 시작되는 지점이라 마지막 카드로 쓰세요.
자주 묻는 질문
왜 모델 파일 크기보다 VRAM이 더 필요한가요?
양자화는 어떤 걸 골라야 하나요?
8GB GPU로는 어떤 모델까지 가능한가요?
70B 모델을 로컬에서 돌릴 수 있나요?
Mac 통합메모리는 왜 일부만 계산하나요?
sysctl iogpu.wired_limit_mb로 상한을 올릴 수 있지만 시스템용 메모리를 침범하므로 OS·앱용 여유를 남겨두는 게 안전합니다.KV 캐시 양자화(Q8_0·Q4_0)는 써도 되나요?
--cache-type-k/v 옵션으로 KV 캐시를 F16의 절반(Q8_0)이나 1/4(Q4_0)로 줄일 수 있습니다. Q8_0은 품질 영향이 거의 없어 긴 컨텍스트의 표준 선택이고, Q4_0은 장문에서 품질·속도 저하 보고가 있어 신중하게 쓰세요. V 캐시 양자화는 플래시 어텐션 활성화가 필요합니다. 예: 8B 모델 32K 컨텍스트의 KV가 4.3GB→2.1GB로 줄어 16GB GPU 여유가 생깁니다.Gemma 3는 왜 KV 캐시가 유난히 작게 나오나요?
참고 자료
- llama.cpp(새 창)github.com
- HuggingFace(새 창)huggingface.co
- Gemma 3 기술 보고서(새 창)arxiv.org
- Apple Metal recommendedMaxWorkingSetSize(새 창)developer.apple.com
- 계산 기준
- llama.cpp quantize README 실측 bpw · HuggingFace 공식 config.json (Llama·Qwen·Gemma·EXAONE 등 13종)
- 오류 제보
- 결과가 다르면 contact@youtil.kr로 입력 조건을 알려 주세요. 평일 기준 1~3일 안에 답변합니다.