로컬 LLM 사양 — VRAM 8~32GB로 돌릴 수 있는 모델 (2026)
CanRun · 2026년 9월 30일 업데이트
로컬 LLM을 돌릴 때 가장 먼저 볼 사양은 VRAM입니다. 4비트 양자화(Q4_K_M)와 8k 컨텍스트를 기준으로 하면, 8GB 카드에는 8B급 모델이 GPU에 전부 올라갑니다. 12GB에는 12B~14B급, 16GB에는 gpt-oss-20b(MXFP4), 24GB에는 30B급 모델까지 올라갑니다. 모델 파일, 컨텍스트를 담는 KV 캐시, 계산 중간값을 담는 연산 버퍼를 합친 양이 카드에서 쓸 수 있는 메모리 안에 들어가야 합니다. RTX 4060에서 Llama 3.1 8B는 필요량 6.6GB가 사용 가능 메모리 7.4GB에 아슬아슬하게 들어가지만, 쾌적하게 돌아갑니다. RTX 3060 12GB에서 Qwen3 14B도 아슬아슬하게 들어가 쾌적하게 돌아갑니다. RTX 5060 Ti 16GB에서 gpt-oss-20b, RTX 3090에서 Qwen3 30B-A3B는 여유 있게 들어가 쾌적하게 돌아갑니다. gpt-oss-120b는 시스템 RAM이 32GB면 이 글에서 다루는 8~32GB 카드 어디에도 들어가지 않습니다. CanRun이 확인하는 RAM 용량 가운데서는 96GB부터 들어갑니다.
필요한 VRAM 계산법: 파일 + KV 캐시 + 연산 버퍼
모델을 GPU에서만 돌리려면 세 가지가 모두 VRAM에 들어가야 합니다. 양자화한 GGUF 모델 파일, 컨텍스트의 토큰마다 키(key)와 값(value)을 저장하는 KV 캐시, 계산 중간값을 담는 연산 버퍼입니다. 연산 버퍼는 작지만 컨텍스트가 길수록 조금씩 커집니다. CanRun은 Q4_K_M 양자화, 8k 컨텍스트, f16 KV 캐시를 기준으로 판정합니다. Q4_K_M은 흔히 기본값으로 쓰는 4비트 GGUF 양자화입니다. gpt-oss만은 원래 배포 형식인 MXFP4를 기준으로 삼습니다.
| 모델 | 파라미터 | 기본 양자화 파일 | 8k KV 캐시 | 8k 합계 |
|---|---|---|---|---|
| Llama 3.1 8B | 8.03B | Q4_K_M · 4.9GB | 1.1GB | 6.6GB |
| Gemma 3 12B | 12.2B | Q4_K_M · 7.3GB | 0.5GB | 8.4GB |
| Qwen3 14B | 14.8B | Q4_K_M · 9.0GB | 1.3GB | 10.9GB |
| gpt-oss-20b | 20.9B (활성 3.6B) | MXFP4 · 12.1GB | 0.2GB | 12.9GB |
| Gemma 3 27B | 27.4B | Q4_K_M · 16.6GB | 0.7GB | 17.8GB |
| Qwen3 30B-A3B (2507) | 30.5B (활성 3.3B) | Q4_K_M · 18.6GB | 0.8GB | 19.9GB |
| Qwen3 32B | 32.8B | Q4_K_M · 19.8GB | 2.1GB | 22.5GB |
| Llama 3.3 70B | 70.6B | Q4_K_M · 42.5GB | 2.7GB | 45.8GB |
| gpt-oss-120b | 116.8B (활성 5.1B) | MXFP4 · 63.4GB | 0.3GB | 64.3GB |
그래픽카드는 OS가 VRAM 일부를 따로 씁니다(Windows에서 화면 출력을 맡은 GPU라면 약 0.6GB). 맥은 기본 설정에서 GPU가 통합 메모리의 약 70%를 씁니다.
이 합계는 제품 사양에 적힌 VRAM이 아니라 실제로 쓸 수 있는 메모리와 비교합니다. Windows에서 화면 출력을 맡은 카드는 OS가 VRAM 일부를 가져가기 때문입니다. 자세한 설명은 표 아래에 있습니다. CanRun 계산으로 사용 가능 메모리는 8GB인 RTX 4060이 7.4GB, RTX 3060 12GB가 11.4GB, RTX 5060 Ti 16GB가 15.4GB입니다. 24GB인 RTX 3090은 23.4GB, 32GB인 RTX 5090은 31.4GB입니다.
파일 크기는 Hugging Face에 올라온 실제 GGUF 파일에서 가져옵니다. 대략적인 크기는 어림할 수도 있습니다. llama.cpp 양자화 표를 보면 Q4_K_M 파일의 GB 수는 파라미터 수(B, 10억 개 단위)의 절반을 조금 넘습니다. 실제로 Llama 3.1 8B는 4.9GB, Qwen3 14B는 9.0GB입니다. Q8_0은 파라미터 10억 개당 대략 1GB여서, Qwen3 14B의 Q8_0 파일은 15.7GB입니다.
KV 캐시는 8k에서는 파일보다 훨씬 작습니다. Llama 3.1 8B가 1.1GB, Qwen3 14B가 1.3GB입니다. 다만 컨텍스트 길이에 비례해 커지는데, 이 내용은 아래 ‘양자화와 컨텍스트 길이’에서 다룹니다. 12GB 카드에 Qwen3 14B를 올리면 메모리는 아래처럼 나뉩니다.
메모리 사용 내역: GeForce RTX 3060 12GB에서 Qwen3 14B (Q4_K_M)
- 가중치
- 9.0GB
- KV 캐시
- 1.3GB
- 연산 버퍼
- 0.6GB
- OS 예약
- 0.6GB
- 여유
- 0.5GB
가중치, KV 캐시, 연산 버퍼에 OS 몫까지 더하면 12GB가 거의 다 찹니다. 필요량 10.9GB와 사용 가능 메모리 11.4GB의 차이가 1GB도 안 됩니다. GeForce RTX 3060 12GB에서 Qwen3 14B는 8k 컨텍스트와 f16 KV 캐시에서 쾌적하게 돌아갑니다. 다만 여유가 적으니 ollama ps의 PROCESSOR 열이 100% GPU로 나오는지 확인하세요. PowerShell에서도 명령은 같습니다. 다른 카드에서의 결과는 Qwen3 14B 모델 페이지에서 볼 수 있습니다.
MoE(전문가 혼합) 모델은 조금 다르게 봐야 합니다. gpt-oss-20b나 Qwen3 30B-A3B는 토큰마다 파라미터 일부만 쓰지만, 메모리에는 파일 전체가 올라가 있어야 합니다. 그래서 표의 파라미터 열에는 전체 파라미터 수와, 토큰마다 실제로 쓰는 활성 파라미터 수를 함께 적었습니다.
맥은 CPU와 GPU가 통합 메모리를 나눠 씁니다. CanRun 계산으로는 기본 설정에서 GPU가 그중 약 70%를 씁니다. 이 글은 그래픽카드를 다루니, 맥을 쓴다면 ‘맥에서 로컬 LLM 돌리기 — M4·M5 통합 메모리는 얼마나 필요할까’ 가이드를 참고하세요.
VRAM 8·12·16·24·32GB에 들어가는 모델
아래 표는 많이 쓰는 모델 6개가 NVIDIA 카드 8종에서 어떻게 돌아갈지 판정한 결과입니다. 8k 컨텍스트, f16 KV 캐시, 시스템 RAM 32GB(DDR5), Windows를 가정했습니다. 칸마다 판정과 예상 속도 범위, 신뢰 라벨이 들어 있습니다. 이론 추정 칸이 무슨 뜻인지는 표 아래에 설명했습니다.
| 하드웨어 | Llama 3.1 8B | Gemma 3 12B | Qwen3 14B | gpt-oss-20b | Qwen3 30B-A3B (2507) | gpt-oss-120b |
|---|---|---|---|---|---|---|
| GeForce RTX 40608GB | ||||||
| GeForce RTX 3060 12GB12GB | ||||||
| GeForce RTX 407012GB | ||||||
| GeForce RTX 507012GB | ||||||
| GeForce RTX 5060 Ti 16GB16GB | ||||||
| GeForce RTX 309024GB | ||||||
| GeForce RTX 409024GB | ||||||
| GeForce RTX 509032GB |
이론 추정(±30%)은 MoE 전문가를 시스템 RAM에 두는 경우처럼 아직 벤치마크로 확인하지 못한 구성에 붙습니다. 실제보다 느리게 추정했을 가능성이 큽니다.
8GB: RTX 4060
GeForce RTX 4060은 많이 쓰는 8GB 카드로, 사용 가능 메모리는 7.4GB입니다. Llama 3.1 8B는 필요량이 6.6GB라 GPU에 전부 들어가고, 쾌적하게 돌아갑니다. 이 조합의 속도는 추정치가 아니라 공개 벤치마크에서 실제로 잰 값입니다. 다만 여유가 1GB도 안 되니 ollama ps의 PROCESSOR 열이 100% GPU인지 확인하세요.
Gemma 3 12B(8.4GB)와 Qwen3 14B(10.9GB)는 사용 가능 메모리를 넘습니다. 그래서 가중치 일부를 시스템 RAM에 두는 부분 오프로드가 되고, 보정된 추정으로는 둘 다 겨우 돌아갑니다. MoE 모델인 gpt-oss-20b와 Qwen3 30B-A3B는 CanRun 계산으로는 전문가 가중치를 시스템 RAM에 두고 겨우 돌아갑니다. 다만 이 두 모델의 속도는 이론 추정이라 실제보다 느리게 나왔을 가능성이 큽니다. 이유는 아래 ‘MoE 모델과 시스템 RAM’에서 설명합니다. gpt-oss-120b는 돌릴 수 없습니다.
RTX 5060 Ti는 8GB 모델과 16GB 모델이 따로 나오니, 제품명과 사양표에서 VRAM 용량부터 확인하세요.
GeForce RTX 5060 Ti 8GB는 사용 가능 메모리가 7.4GB로 앞의 8GB 카드와 같습니다. 그래서 Llama 3.1 8B는 쾌적하게 돌아가고, Qwen3 14B는 겨우 돌아갑니다.
12GB: RTX 3060 12GB·RTX 4070·RTX 5070
GeForce RTX 3060 12GB, GeForce RTX 4070, GeForce RTX 5070은 모두 사용 가능 메모리가 11.4GB입니다.
RTX 3060 12GB에서 Gemma 3 12B는 필요량이 8.4GB라 여유 있게 들어가고, 쾌적하게 돌아갑니다. Qwen3 14B도 8k에서는 10.9GB로 들어가 쾌적하게 돌아갑니다. 다만 여유가 1GB도 안 되니 ollama ps로 확인하세요. 컨텍스트를 16k로 늘리면 f16 KV 캐시에서는 부분 오프로드로 넘어갑니다. 자세한 값은 아래 컨텍스트 표에 있습니다. gpt-oss-20b는 12.9GB가 필요해 다 들어가지 않습니다. CanRun 계산으로는 전문가 가중치를 시스템 RAM에 두고 겨우 돌아갑니다. 이 조합의 속도는 이론 추정입니다.
세 카드에 들어가는 모델은 같고, 속도 차이는 메모리 대역폭에서 납니다. 대역폭은 RTX 3060 12GB가 360 GB/s, RTX 4070이 504 GB/s, RTX 5070이 672 GB/s입니다. 속도가 판정 기준의 경계에 걸친 모델은 카드마다 판정이 달라집니다. 예를 들어 Phi-4는 RTX 3060 12GB에서는 원활하게, RTX 4070에서는 쾌적하게 돌아갑니다. CanRun은 Phi-4를 리즈닝 모델로 분류해 속도 기준을 1.5배 엄격하게 적용합니다. 그런데 Phi-4는 사고 토큰을 따로 내지 않으므로, 이 기준은 실제로 필요한 것보다 엄격할 수 있습니다. 또 Phi-4는 필요량이 11.3GB라 세 카드 모두에 아슬아슬하게 들어가니, ollama ps로 확인해 보세요.
16GB: RTX 5060 Ti 16GB
GeForce RTX 5060 Ti 16GB에는 gpt-oss-20b(12.9GB)가 사용 가능 메모리 15.4GB 안에 전부 들어갑니다. 모델 카드에 적힌 ‘16GB 메모리 안에서 구동’이라는 설명과도 맞습니다. 쾌적하게 돌아가고, 이 조합의 속도도 추정치가 아니라 공개 벤치마크에서 실제로 잰 값입니다.
Qwen3 14B는 8k에서 쾌적하게 돌아갑니다. f16 KV 캐시로 32k까지 늘려도 필요량이 15.2GB라 사용 가능 메모리에 아슬아슬하게 들어갑니다. 이때는 ollama ps의 PROCESSOR 열이 100% GPU인지 확인하세요. 반면 Qwen3 30B-A3B는 19.9GB가 필요해 다 들어가지 않습니다. CanRun 계산으로는 전문가 가중치를 시스템 RAM에 두고 겨우 돌아갑니다. 이 조합의 속도는 이론 추정입니다. dense 모델인 Gemma 3 27B는 17.8GB라 부분 오프로드로 겨우 돌아갑니다. 이쪽은 보정된 추정입니다.
24GB: RTX 3090·RTX 4090
GeForce RTX 3090과 GeForce RTX 4090은 둘 다 사용 가능 메모리가 23.4GB입니다.
Qwen3 30B-A3B (2507)은 필요량이 19.9GB라 GPU에 전부 들어가고, RTX 3090과 RTX 4090 모두에서 쾌적하게 돌아갑니다. dense 모델인 Qwen3 32B는 8k에서 22.5GB가 필요하고, RTX 3090에서 쾌적하게 돌아갑니다. 하지만 f16 KV 캐시로 16k 이상을 쓰면 사용 가능 메모리를 넘습니다. 같은 32B급이라도 리즈닝 모델인 DeepSeek R1 Distill Qwen 32B는 RTX 3090에서는 원활하게, RTX 4090에서는 쾌적하게 돌아갑니다. Qwen3 32B와 DeepSeek R1 Distill Qwen 32B는 둘 다 8k에서 여유가 1GB도 안 되니 ollama ps로 확인하세요. gpt-oss-120b는 두 카드 모두 돌릴 수 없습니다.
32GB: RTX 5090
GeForce RTX 5090의 사용 가능 메모리는 31.4GB입니다. 위 표의 모델 6개는 8k에서 24GB 카드와 판정이 같습니다. 늘어난 메모리는 주로 더 긴 컨텍스트를 담는 데 쓰입니다.
RTX 5090에서 Qwen3 32B는 8k 컨텍스트라면 쾌적하게 돌아갑니다. 컨텍스트를 32k로 늘리면 f16 KV 캐시에서 29.1GB가 필요합니다. 이 양은 RTX 5090에는 들어가지만 RTX 3090의 23.4GB는 넘습니다.
Q4_K_M으로는 dense 70B 모델이 32GB 카드에도 다 들어가지 않습니다. Llama 3.3 70B는 45.8GB가 필요해, RTX 5090에서도 부분 오프로드로 겨우 돌아갑니다. RTX 4090에서는 Q4_K_M으로 돌릴 수 없고, IQ4_XS로 낮추면 겨우 돌아갑니다. 이때 돌릴 수 없는 이유는 메모리가 모자라서가 아닙니다. 시스템 RAM까지 나눠 쓰면 너무 느려지기 때문입니다.
반대로 메모리가 모자라서 돌릴 수 없는 조합도 있습니다. GeForce RTX 5090에서 gpt-oss-120b는 시스템 RAM이 32GB면 GPU와 RAM을 합쳐도 들어가지 않아 돌릴 수 없습니다. 자세한 내용은 아래 ‘MoE 모델과 시스템 RAM’에서 다룹니다.
단계별로 정리하면
아래 표는 CanRun 카탈로그의 모든 모델을 카드별로 판정해, 판정마다 몇 개인지 센 것입니다. GPU만으로 돌릴 수 있는 가장 큰 모델도 함께 보여 줍니다. 전체 모델 수는 표 제목에 있습니다.
| 하드웨어 | 메모리 | 쾌적 | 원활 | 겨우 가능 | 불가 | GPU만으로 도는 가장 큰 모델 |
|---|---|---|---|---|---|---|
| GeForce RTX 4060 | 8GB | 7 | 1 | 13 | 8 | Qwen3.5 9B Q4_K_M |
| GeForce RTX 3060 12GB | 12GB | 10 | 3 | 11 | 5 | Kanana 1.5 15.7B-A3B IQ4_XS |
| GeForce RTX 4070 | 12GB | 12 | 1 | 11 | 5 | Kanana 1.5 15.7B-A3B IQ4_XS |
| GeForce RTX 5070 | 12GB | 12 | 1 | 11 | 5 | Kanana 1.5 15.7B-A3B IQ4_XS |
| GeForce RTX 5060 Ti 16GB | 16GB | 13 | 3 | 8 | 5 | Mistral Small 3.2 24B IQ4_XS |
| GeForce RTX 3090 | 24GB | 23 | 1 | 0 | 5 | Qwen3.5 35B-A3B Q4_K_M |
| GeForce RTX 4090 | 24GB | 24 | 0 | 0 | 5 | Qwen3.5 35B-A3B Q4_K_M |
| GeForce RTX 5090 | 32GB | 24 | 0 | 1 | 4 | Qwen3.5 35B-A3B Q4_K_M |
8GB에서 24GB까지는 VRAM이 한 단계 오를 때마다 GPU만으로 돌릴 수 있는 가장 큰 모델도 커집니다. 하지만 32GB인 RTX 5090은 그 모델이 24GB 카드와 같습니다. 같은 용량끼리의 차이는 속도에서 납니다. RTX 3060 12GB와 RTX 4070·RTX 5070, RTX 3090과 RTX 4090이 그렇습니다.
CanRun 계산에서 모델이 들어가는지는 사용 가능 메모리만으로 정해집니다. 그래서 AMD 카드인 Radeon RX 9060 XT 16GB에도 gpt-oss-20b가 GPU에 전부 들어갑니다. 예상 속도 범위는 앞의 16GB 카드와 다르지만, 여기서도 쾌적하게 돌아갑니다.
노트북 GPU는 이름의 모델 번호가 같아도 VRAM이 더 적을 수 있습니다. 예를 들어 GeForce RTX 4090 Laptop은 16GB, GeForce RTX 5090 Laptop은 24GB입니다. 노트북이라면 노트북 GPU 항목을 따로 골라 확인하세요.
메모리는 다음을 목표로 잡으면 됩니다. 모두 Q4_K_M과 8k 컨텍스트 기준입니다.
- 8B급 모델: VRAM 8GB 이상
- 12B~14B급 모델: 12GB 이상, 컨텍스트를 길게 쓰려면 16GB 이상
- gpt-oss-20b를 GPU에서만 돌리려면: 16GB 이상
- 30B급 모델: 24GB 이상(모델마다 여유가 다르니 위 표를 확인하세요)
- 32GB: 더 큰 모델보다는 더 긴 컨텍스트를 쓰기 위한 여유
한국 모델도 계산 방법은 같습니다. Kanana 1.5 8B는 RTX 4060에서 쾌적하게 돌아갑니다. 다만 여유가 1GB도 안 되니 ollama ps로 확인하세요. EXAONE 4.0 32B는 RTX 3090에서 쾌적하게 돌아갑니다. RTX 4060에서는 Q4_K_M으로 부분 오프로드를 하면 너무 느려서 돌릴 수 없고, IQ4_XS로 낮추면 겨우 돌아갑니다. 자세한 내용은 ‘한국 오픈 LLM 정리 — EXAONE·Kanana·HyperCLOVA X·Solar 구동 사양’ 가이드에 있습니다.
MoE 모델과 시스템 RAM
MoE(Mixture of Experts, 전문가 혼합) 모델은 ‘전문가’라고 부르는 가중치 묶음을 여러 개 둡니다. 그리고 토큰마다 그중 몇 개만 골라 계산합니다. 모델 카드에 따르면 Qwen3 30B-A3B (2507)은 층이 48개이고, 전문가 128개 가운데 8개를 씁니다. gpt-oss-20b와 gpt-oss-120b도 토큰마다 파라미터 일부만 씁니다. 전체 파라미터 수와 활성 파라미터 수는 위 메모리 표에 있습니다. 메모리에 들어가는지는 파일 전체 크기로 정해지고, 속도는 주로 실제로 계산하는 활성 부분에 달려 있습니다.
파일이 VRAM에 다 들어가지 않으면, CanRun 계산은 공유 가중치와 어텐션 가중치, KV 캐시, 연산 버퍼를 GPU에 둡니다. 전문가 가중치만 시스템 RAM으로 보냅니다. llama.cpp에서 --cpu-moe로 전문가 가중치를 모두 CPU 쪽에 두는 것과 같은 배치입니다. CanRun의 조합 페이지에 나오는 명령은 --n-cpu-moe에 전체 층 수를 넣어 같은 효과를 냅니다. 예를 들어 GeForce RTX 3060 12GB에서 Qwen3 30B-A3B (2507)은 19.9GB가 필요한데, 사용 가능 메모리는 11.4GB입니다. 그래서 아래 막대처럼 GPU에는 작은 부분만 올라갑니다.
메모리 사용 내역: GeForce RTX 3060 12GB에서 Qwen3 30B-A3B (2507) (Q4_K_M)
- 가중치
- 0.9GB
- KV 캐시
- 0.8GB
- 연산 버퍼
- 0.6GB
- OS 예약
- 0.6GB
- 여유
- 9.1GB
- 시스템 RAM의 가중치
- 17.7GB
이 조합은 이론 추정으로 겨우 돌아갑니다. 판정 기준표를 보면, 전문가를 RAM에 둔 구성은 ‘쾌적’ 기준 속도를 넘어야 ‘원활’이 됩니다. gpt-oss-20b는 리즈닝 모델이어서 이 기준이 1.5배 더 엄격해집니다.
이 방식의 속도는 이론 추정(±30%)이고, 실제보다 느리게 나왔을 가능성이 큽니다. 이 구성을 DDR5 PC에서 잰 공개 측정이 하나 있습니다. RTX 3060 12GB에서 35B-A3B MoE 모델을 돌린 결과인데, 이 측정과 비교하면 CanRun 추정이 약 2.5배 낮습니다. 그러니 8GB·12GB 카드의 gpt-oss-20b, 8~16GB 카드의 Qwen3 30B-A3B에 붙은 ‘겨우 가능’은 이렇게 읽어 주세요. 전문가를 RAM에 두면 돌아가기는 하지만, 속도는 아직 검증되지 않았다는 뜻입니다.
모델이 더 커지면 이번에는 시스템 RAM이 모자랍니다. gpt-oss-120b는 파일만 63.4GB여서, 시스템 RAM이 32GB면 전문가 가중치를 둘 자리가 부족합니다. 그래서 RTX 3060 12GB는 물론이고 32GB인 RTX 5090에도 들어가지 않습니다. CanRun은 RAM 64GB·96GB·128GB 구성도 확인하는데, 64GB로도 모자라고 96GB에서야 들어갑니다. 판정표에 나오는 ‘RAM 96GB라면: 겨우 가능’도 이론 추정입니다. 참고로 모델 카드는 80GB GPU 한 장에서 돌리는 것을 기준으로 합니다.
Ollama는 GPU와 CPU에 나눠 올리는 비율을 스스로 정합니다. 전문가 가중치만 RAM에 두는 설정은 Ollama 문서에 나와 있지 않습니다. 실제로 어떻게 올라갔는지는 Ollama FAQ에 안내된 대로 ollama ps의 PROCESSOR 열에서 확인하세요.
양자화와 컨텍스트 길이
양자화: 파일 크기와 품질을 맞바꾼다
양자화는 가중치를 더 적은 비트로 저장해 파일 크기를 줄이는 방법입니다. Q4_K_M은 흔히 기본값으로 쓰는 4비트 GGUF 양자화입니다. CanRun은 양자화를 품질에 따라 네 등급으로 나눕니다. 준무손실(Q8_0·Q6_K·Q5_K_M, gpt-oss 원래 형식인 MXFP4), 균형(Q4_K_M·IQ4_XS), 손실 체감(Q3_K_M·IQ3_XS), 손실 큼(Q2_K·IQ2_M)입니다. Q8_0 파일은 Q4_K_M의 1.7배쯤 됩니다. Gemma 3 12B라면 Q8_0이 12.5GB, Q4_K_M이 7.3GB입니다. 아래 표는 GeForce RTX 4060에서 Gemma 3 12B를 양자화별로 판정한 결과이며, 모두 보정된 추정입니다.
| 양자화 | 품질 등급 | 판정 | 속도 | 메모리 |
|---|---|---|---|---|
| Q8_0 | 준무손실 | 겨우 가능 | 추정 5.6 tok/s4.5–6.7보정된 추정 ±20% | 8.0 / 8.0GB + RAM 6.2GB |
| Q4_K_M | 균형 | 겨우 가능 | 추정 16.7 tok/s13.4–20.1보정된 추정 ±20% | 8.0 / 8.0GB + RAM 1.0GB |
| IQ4_XS | 균형 | 원활 | 추정 23.8 tok/s19.0–28.5보정된 추정 ±20% | 8.0 / 8.0GB + RAM 0.3GB |
| Q2_K | 손실 큼 | 쾌적 | 추정 35.9 tok/s31.6–40.2보정된 추정 ±12% | 6.5 / 8.0GB |
기본 양자화인 Q4_K_M은 부분 오프로드로 겨우 돌아갑니다. 표를 보면 Q8_0도 겨우 돌아갑니다. IQ4_XS는 7.7GB로 여전히 사용 가능 메모리 7.4GB를 넘습니다. 그래도 90% 이상이 GPU에 남아 원활하게 돌아갑니다. Q2_K는 GPU에 전부 들어가 쾌적하게 돌아가지만, 품질은 손실 큼 등급입니다. CanRun은 다른 양자화로는 모두 돌릴 수 없을 때만 손실 큼 등급을 권합니다. 그러니 양자화를 낮춘다면 같은 균형 등급인 IQ4_XS부터 써 보세요. 자세한 내용은 ‘GGUF 양자화 등급 정리 — Q4_K_M·IQ4_XS·Q8_0 무엇을 받을까’ 가이드와 Gemma 3 12B 모델 페이지에 있습니다.
반대로 VRAM이 넉넉하면 품질 등급이 더 높은 양자화를 쓸 수 있습니다. Qwen3 14B를 Q8_0으로 받으면 17.6GB가 필요합니다. RTX 5060 Ti 16GB의 15.4GB는 넘지만 RTX 3090의 23.4GB에는 들어갑니다. 그래서 CanRun 계산으로는 RTX 3090에서 GPU에 전부 올라갑니다.
컨텍스트 길이: KV 캐시가 커진다
KV 캐시 크기는 모델 구조와 컨텍스트 길이로 정해집니다.
| 모델 | 토큰당 KV | 8k | 32k | 128k |
|---|---|---|---|---|
| Qwen3 32B | 256 KiB | 2.1GB | 8.6GB | — |
| Qwen3 14B | 160 KiB | 1.3GB | 5.4GB | — |
| Llama 3.1 8B | 128 KiB | 1.1GB | 4.3GB | 17.2GB |
| Qwen3 30B-A3B (2507) | 96 KiB | 0.8GB | 3.2GB | 12.9GB |
| Gemma 3 12B | 64 KiB | 0.5GB | 2.1GB | 8.6GB |
| gpt-oss-120b | 36 KiB | 0.3GB | 1.2GB | 4.8GB |
| gpt-oss-20b | 24 KiB | 0.2GB | 0.8GB | 3.2GB |
표의 ‘—’는 모델이 지원하는 길이보다 긴 컨텍스트라는 뜻입니다. KV 캐시를 q8_0·q4_0으로 두면 f16의 약 54%·29% 크기가 됩니다.
Llama 3.1 8B, Qwen3 14B·32B, Qwen3 30B-A3B는 모든 층이 전체 어텐션(full attention)입니다. 그래서 KV 캐시가 컨텍스트 길이에 비례해 커집니다. Gemma 3와 gpt-oss는 최근 토큰만 보는 슬라이딩 윈도(sliding window) 층을 섞어 써서, 토큰당 KV 캐시가 작습니다. Gemma 3 기술 보고서에 따르면 로컬 층을 글로벌 층보다 많이 두고, 로컬 층이 보는 범위를 짧게 잡았습니다. 32k에서 KV 캐시는 Llama 3.1 8B가 4.3GB, gpt-oss-20b가 0.8GB입니다. Qwen3 14B·32B는 모델이 원래 지원하는 컨텍스트가 32k라서 표의 128k 칸에 대시가 표시됩니다. 아래 표는 GeForce RTX 3060 12GB에서 Qwen3 14B를 컨텍스트 길이와 KV 캐시 종류별로 판정한 결과이며, 모두 보정된 추정입니다.
| 컨텍스트 | KV f16 | KV q8_0 | KV q4_0 |
|---|---|---|---|
| 4k | 10.2GB쾌적 추정 26.1 tok/s22.9–29.2보정된 추정 ±12% | 9.9GB쾌적 추정 26.9 tok/s23.7–30.2보정된 추정 ±12% | 9.7GB쾌적 추정 27.4 tok/s24.1–30.7보정된 추정 ±12% |
| 8k | 10.9GB쾌적 추정 24.4 tok/s21.4–27.3보정된 추정 ±12% | 10.3GB쾌적 추정 25.9 tok/s22.8–29.0보정된 추정 ±12% | 10.0GB쾌적 추정 26.9 tok/s23.6–30.1보정된 추정 ±12% |
| 16k | 12.3GB겨우 가능 추정 14.6 tok/s11.7–17.5보정된 추정 ±20% | 11.1GB쾌적 추정 24.1 tok/s21.2–27.0보정된 추정 ±12% | 10.4GB쾌적 추정 25.8 tok/s22.7–28.9보정된 추정 ±12% |
| 32k | 15.2GB겨우 가능 추정 6.0 tok/s4.8–7.2보정된 추정 ±20% | 12.7GB겨우 가능 추정 12.8 tok/s10.3–15.4보정된 추정 ±20% | 11.3GB쾌적 추정 23.9 tok/s21.1–26.8보정된 추정 ±12% |
S = 쾌적 · A = 원활 · B = 겨우 가능 · F = 불가
8k 컨텍스트와 f16 KV 캐시에서는 GPU에 전부 올라가 쾌적하게 돌아갑니다. 16k로 늘리면 f16 KV 캐시에서는 12.3GB가 필요해 사용 가능 메모리 11.4GB를 넘고, 부분 오프로드로 넘어갑니다. 이때 KV 캐시를 q8_0으로 양자화하면 11.1GB로 줄어, 아슬아슬하게 다시 GPU에 전부 올라갑니다. 32k에서는 f16과 q8_0 모두 부분 오프로드가 되고, q4_0만 11.3GB로 GPU에 남습니다. 16k의 q8_0과 32k의 q4_0은 여유가 거의 없으니 ollama ps로 확인하세요. 8k가 아닌 컨텍스트의 판정은 표에서 확인할 수 있습니다.
Ollama를 쓴다면 기본값도 확인해야 합니다. Ollama는 감지한 GPU 메모리가 24GiB 미만이면 4k, 24~48GiB면 32k, 48GiB 이상이면 256k 토큰을 기본 컨텍스트 길이로 씁니다 (Ollama 문서, 2026-09-29 확인). 그래서 8GB·12GB·16GB 카드는 4k, 24GB·32GB 카드는 32k 컨텍스트로 시작합니다. CanRun이 기준으로 삼는 8k와는 다릅니다. Ollama는 서버를 띄울 때 OLLAMA_KV_CACHE_TYPE(f16·q8_0·q4_0)을 지정하고 플래시 어텐션을 켜야만 KV 캐시를 양자화합니다. 이 설정은 그 서버가 돌리는 모든 모델에 적용됩니다 (Ollama 문서, 2026-09-29 확인). Ollama FAQ는 q8_0 캐시가 f16의 약 절반, q4_0이 약 4분의 1 크기라고 설명합니다. CanRun 표는 이를 약 54%와 29%로 계산합니다. 또 Ollama FAQ에 따르면 동시 요청 수(OLLAMA_NUM_PARALLEL)만큼 컨텍스트 메모리도 늘어납니다. CanRun 표는 한 번에 요청 하나만 처리한다고 가정합니다.
더 읽을거리
- Ollama 컨텍스트 설정 방법: Ollama가 느리거나 앞 내용을 잊을 때 — 컨텍스트 기본값
- KV 캐시가 커지는 원리: KV 캐시와 컨텍스트 길이 — 컨텍스트를 늘리면 VRAM이 얼마나 더 필요할까
- 양자화 등급과 파일 크기: GGUF 양자화 등급 정리 — Q4_K_M·IQ4_XS·Q8_0 무엇을 받을까
- 맥의 통합 메모리: 맥에서 로컬 LLM 돌리기 — M4·M5 통합 메모리는 얼마나 필요할까
- 모델·카드별 전체 결과: Llama 3.1 8B 같은 모델 페이지와 GeForce RTX 3060 12GB 같은 GPU 페이지
이 숫자는 얼마나 확실한가
메모리 수치는 실제 GGUF 파일 크기에 KV 캐시와 연산 버퍼를 더해 공식으로 계산한 값이라, 오차 범위를 붙이지 않습니다. KV 캐시는 모델 설정 파일(config)로 계산합니다. 실제 파일 크기를 모를 때는 ‘파라미터 수 × 가중치당 비트 수 ÷ 8’로 어림합니다. 이 공식은 실제 파일 11종과 비교해 평균 0.7% 차이가 났습니다. KV 캐시 공식도 7가지 구조에서 일치했습니다.
속도는 추정치라서 오차 범위와 신뢰 라벨을 함께 붙입니다. ‘실측’은 공개된 측정값입니다. ‘보정된 추정’의 오차 범위는 NVIDIA·AMD 카드에서 dense 모델을 GPU에만 올릴 때 ±12%입니다. MoE나 부분 오프로드, 그 밖의 하드웨어에서는 ±20%입니다. ‘이론 추정’은 MoE 전문가를 RAM에 두는 경우처럼 아직 공개 벤치마크로 검증하지 못한 구성에 붙이며, 오차 범위는 ±30%입니다. 이론 추정은 실제보다 느리게 나올 가능성이 큽니다. 속도 공식을 공개 측정 12건과 비교하면 평균 오차는 6.3%, 최대 오차는 17.1%였습니다.
이 글의 판정표는 대부분 보정된 추정입니다. ‘실측’ 라벨이 붙은 조합은 Llama 3.1 8B의 RTX 4060·RTX 3060 12GB·RTX 4090입니다. gpt-oss-20b도 RTX 5060 Ti 16GB·RTX 3090·RTX 4090·RTX 5090에서는 ‘실측’ 라벨이 붙습니다. ‘이론 추정’ 라벨이 붙은 조합은 8GB·12GB 카드의 gpt-oss-20b와 8~16GB 카드의 Qwen3 30B-A3B입니다. 양자화 표와 컨텍스트 표는 모두 보정된 추정입니다.
아래는 GeForce RTX 5060 Ti 16GB에서 gpt-oss-20b를 실제로 잰 결과입니다.
이 값은 llama.cpp의 gpt-oss 실행 안내 토론 글에 올라온 공개 측정 한 건입니다. 2k 컨텍스트에서 llama-bench로 잰 값이고, CanRun이 직접 잰 것은 아닙니다. 위 측정 결과에는 CanRun이 8k 기준으로 추정한 범위도 함께 나옵니다. 이 카드의 다른 결과는 GeForce RTX 5060 Ti 16GB 페이지에서 볼 수 있습니다.
표의 값은 다음 조건을 가정합니다. Windows에서 그 카드가 화면 출력도 맡고, 시스템 RAM은 32GB(DDR5-5600 듀얼 채널)입니다. 8k 컨텍스트와 f16 KV 캐시로 모델 하나를 띄워 한 번에 요청 하나만 처리하며, 런타임은 llama.cpp 계열입니다. Ollama와 llama.cpp는 메모리를 스스로 추정해 모델을 나눠 올립니다. 그래서 내 PC에서 실제로 어떻게 올라갔는지는 직접 확인해야 합니다. Ollama라면 ollama ps의 PROCESSOR 열이 100% GPU인지 CPU/GPU 분할인지 보세요. llama.cpp라면 시작할 때 나오는 로그를 보면 됩니다.
본문에서 말한 판정은 따로 밝히지 않았다면 Q4_K_M(gpt-oss는 MXFP4), 8k 컨텍스트, f16 KV 캐시 기준입니다. 이 글에 나온 리즈닝 모델에는 속도 기준을 1.5배 엄격하게 적용합니다. gpt-oss-20b, gpt-oss-120b, Phi-4, DeepSeek R1 Distill Qwen 32B, EXAONE 4.0 32B가 여기에 해당합니다. HyperCLOVA X SEED Think 14B, EXAONE 4.5 33B처럼 모델 페이지에서 ‘리즈닝’으로 분류된 모델도 마찬가지입니다. 아래 기준표에는 이 내용이 빠져 있으니 참고하세요.
판정 읽는 법
- 쾌적
- GPU에 전부 올라가고 20 tok/s 이상
- 원활
- GPU에 전부 올라가고 8~20 tok/s, MoE 전문가를 시스템 RAM에 두고 20 tok/s 이상, 또는 GPU에 90% 이상 올라가고 8 tok/s 이상
- 겨우 가능
- 2~8 tok/s, CPU 전용, GPU에 90% 미만, 또는 MoE 전문가를 RAM에 두고 20 tok/s 미만
- 불가
- 메모리에 안 들어가거나 2 tok/s 미만
자주 묻는 질문
VRAM 8GB로 로컬 LLM을 돌릴 수 있나요?
8B급 모델이라면 Q4_K_M·8k 컨텍스트에서 돌릴 수 있습니다. GeForce RTX 4060에서 Llama 3.1 8B는 필요량 6.6GB가 사용 가능 메모리 7.4GB 안에 들어가 쾌적하게 돌아갑니다. 다만 여유가 적으니 ollama ps로 확인하세요. 컨텍스트를 16k로 늘리면 f16 KV 캐시에서는 필요량이 7.7GB로 늘어 사용 가능 메모리를 넘습니다. 이때 GPU에만 올리려면 KV 캐시를 q8_0으로 양자화하거나 컨텍스트를 줄여야 합니다. 같은 카드에서 Qwen3 14B는 10.9GB가 필요해 일부를 시스템 RAM에서 돌려야 하고, 겨우 돌아갑니다.
모델에 필요한 VRAM은 어떻게 계산하나요?
GGUF 파일 크기에 컨텍스트 길이만큼의 KV 캐시와 작은 연산 버퍼를 더한 뒤, 카드의 사용 가능 메모리와 비교하면 됩니다. 사용 가능 메모리는 제품 사양의 VRAM에서 OS가 화면 출력에 쓰는 몫을 뺀 값입니다. 파일 크기는 Q4_K_M이면 파라미터 수(B)의 절반을 조금 넘는 GB로, Q8_0이면 파라미터 10억 개당 대략 1GB로 어림할 수 있습니다. 하지만 가능하면 다운로드 페이지에 적힌 실제 크기를 쓰세요. 예를 들어 Qwen3 14B는 파일 9.0GB에 8k KV 캐시 1.3GB와 연산 버퍼를 더해 10.9GB가 필요합니다. 12GB 카드의 사용 가능 메모리는 11.4GB입니다.
컨텍스트를 늘리면 VRAM이 더 필요한가요?
네, 더 필요합니다. KV 캐시는 컨텍스트의 모든 토큰을 저장하므로, 전체 어텐션 모델은 컨텍스트가 두 배가 되면 캐시도 두 배가 됩니다. 다만 모델 구조에 따라 차이가 큽니다. f16 KV 캐시로 32k를 쓰면 Llama 3.1 8B는 4.3GB, 슬라이딩 윈도 층이 있는 gpt-oss-20b는 0.8GB입니다. Ollama는 감지한 GPU 메모리가 24GiB 미만이면 4k, 24~48GiB면 32k, 48GiB 이상이면 256k 토큰을 기본 컨텍스트 길이로 씁니다 (Ollama 문서, 2026-09-29 확인). KV 캐시를 q8_0이나 q4_0으로 양자화하면 줄일 수 있지만, Ollama는 서버를 띄울 때 OLLAMA_KV_CACHE_TYPE(f16·q8_0·q4_0)을 지정하고 플래시 어텐션을 켜야만 KV 캐시를 양자화합니다. 이 설정은 그 서버가 돌리는 모든 모델에 적용됩니다 (Ollama 문서, 2026-09-29 확인).
gpt-oss-20b나 Qwen3 30B-A3B 같은 MoE 모델은 같은 크기의 dense 모델보다 VRAM이 적게 드나요?
아니요, GPU에 올리는 데 필요한 메모리는 줄지 않습니다. 파일 전체가 메모리에 있어야 하기 때문입니다. 활성 파라미터가 적으면 토큰마다 하는 계산이 줄어들 뿐, 파일은 작아지지 않습니다. gpt-oss-20b는 8k에서 12.9GB가 필요해 RTX 5060 Ti 16GB에 전부 들어가고, 쾌적하게 돌아갑니다. 모델 카드에 적힌 ‘16GB 메모리 안에서 구동’이라는 설명과도 맞습니다. 대신 MoE 모델은 전문가 가중치를 시스템 RAM에 두는 배치를 쓸 수 있습니다. llama.cpp에서는 --cpu-moe나 --n-cpu-moe 옵션이 이 역할을 합니다. CanRun은 이 배치의 속도를 아직 이론 추정으로만 보여 줍니다.
시스템 RAM으로 부족한 VRAM을 메울 수 있나요?
어느 정도는 메울 수 있습니다. 런타임이 VRAM에 들어가지 않는 부분을 시스템 RAM에 두기 때문에 돌아가기는 하지만 느려집니다. 특히 dense 모델은 크게 느려져서, RTX 4060에서 Qwen3 14B는 겨우 돌아갑니다. 큰 MoE 모델은 시스템 RAM 용량 자체가 걸림돌입니다. gpt-oss-120b는 파일이 63.4GB라, 시스템 RAM이 32GB면 RTX 5090에서도 돌릴 수 없습니다. CanRun은 RAM 64GB·96GB·128GB 구성도 확인하는데, 64GB로는 모자라고 96GB부터 들어갑니다. 실제로 어떻게 올라갔는지는 ollama ps의 PROCESSOR 열이나 llama.cpp 로그로 확인하세요.
출처
- llama.cpp 양자화 도구 README: Llama-3.1-8B 기준 양자화별 가중치당 비트 수와 파일 크기(Q4_K_M·IQ4_XS·Q8_0 등), 파일 크기 어림 규칙의 근거
- llama.cpp 서버 README:
-ngl,--cpu-moe(MoE 가중치를 모두 CPU에 둠),--n-cpu-moe N(앞쪽 N개 층의 MoE 가중치를 CPU에 둠),-c,--cache-type-k(기본 f16, q8_0·q4_0 선택 가능) 옵션 설명 - Ollama 컨텍스트 길이 문서: VRAM 구간별 기본 컨텍스트(4k·32k·256k), CPU 오프로드를 피하라는 권고,
ollama ps로 확인하는 방법 - Ollama FAQ:
ollama ps의 PROCESSOR 열(100% GPU·100% CPU·CPU/GPU 분할), KV 캐시 양자화(q8_0은 f16의 약 절반, q4_0은 약 4분의 1, 플래시 어텐션 필요),OLLAMA_NUM_PARALLEL에 따라 늘어나는 메모리 - gpt-oss-20b 모델 카드: 전체·활성 파라미터 수, MXFP4로 양자화한 MoE 가중치, 16GB 메모리 안에서 구동된다는 설명
- gpt-oss-120b 모델 카드: 전체·활성 파라미터 수, MXFP4, 80GB GPU 한 장에 들어간다는 설명
- Qwen3-30B-A3B-Instruct-2507 모델 카드: 전체·활성 파라미터 수, 전문가 128개 중 8개 활성, 48층, 기본 지원 컨텍스트 256k
- Qwen3-14B 모델 카드: 40층, KV 헤드 8개, 기본 지원 컨텍스트 32k
- Qwen3-32B 모델 카드: 64층, KV 헤드 8개, 기본 지원 컨텍스트 32k
- Llama 3.1 8B Instruct 모델 카드: 8B 파라미터, 128k 컨텍스트, 그룹 쿼리 어텐션(GQA)
- Llama 3.3 70B Instruct 모델 카드: 70B 파라미터, 128k 컨텍스트. 본문에서 Q4_K_M으로도 32GB에 들어가지 않는 예로 인용
- Gemma 3 12B 모델 카드: 128k 입력 컨텍스트. 카드 본문은 공개돼 있고, 파일을 받으려면 Google 라이선스 동의가 필요
- Gemma 3 기술 보고서(arXiv): 로컬 어텐션 층을 글로벌 층보다 많이 두고 로컬 범위를 짧게 잡아, 긴 컨텍스트에서 KV 캐시가 덜 늘어나게 한 설계
- llama.cpp의 gpt-oss 실행 안내 토론: RTX 카드별 llama-bench 결과. 본문의 RTX 5060 Ti 16GB·gpt-oss-20b 벤치마크 결과 출처
이 페이지의 속도는 오차 범위와 신뢰 라벨을 붙인 추정치이거나, 출처를 밝힌 공개 벤치마크 결과입니다. 판정은 표마다 적어 둔 구성을 기준으로 합니다.