llama.cpp 를 활용한 16GB VRAM LLM 벤치마크 (속도 및 컨텍스트)
16GB VRAM 환경에서의 llama.cpp 토큰 속도 (테이블)
여기서는 VRAM 16GB 를 보유한 GPU 에서 여러 LLM 의 속도를 비교하고, 자체 호스팅에 가장 적합한 모델을 선별해 보고 있습니다.
저는 llama.cpp 를 사용하여 19K, 32K, 64K 토큰 컨텍스트 윈도우에서 이러한 LLM 을 실행해 보았습니다.

이 글에서는 속도 측면에서 최대한의 성능을 끌어낼 수 있는 시도를 기록하고 있습니다.
LLM 속도 비교 표 (초당 토큰 수 및 VRAM)
| 모델 | 크기 | 19K VRAM | 19K GPU/CPU | 19K T/s | 32K VRAM | 32K Load | 32K T/s | 64K VRAM | 64K Load | 64K: T/s |
|---|---|---|---|---|---|---|---|---|---|---|
| Qwen3.5-35B-A3B-UD-IQ3_S | 13.6 | 14.3GB | 93%/100% | 136.4 | 14.6GB | 93%/100% | 138.5 | 14.9GB | 88%/115% | 136.8 |
| Qwen3.5-27B-UD-IQ3_XXS | 11.5 | 12.9 | 98/100 | 45.3 | 13.7 | 98/100 | 45.1 | 14.7 | 45/410 | 22.7 |
| Qwen3.5-122B-A10B-UD-IQ3_XXS | 44.7 | 14.7 | 30/470 | 22.3 | 14.7 | 30/480 | 21.8 | 14.7 | 28/490 | 21.5 |
| nvidia Nemotron-Cascade-2-30B IQ4_XS | 18.2 | 14.6 | 60/305 | 115.8 | 14.7 | 57/311 | 113.6 | 14.7 | 55/324 | 103.4 |
| gemma-4-26B-A4B-it-UD-IQ4_XS | 13.4 | 14.7 | 95/100 | 121.7 | 14.9 | 95/115 | 114.9 | 14.9 | 75/190 | 96.1 |
| gemma-4-31B-it-UD-IQ3_XXS | 11.8 | 14.8 | 68/287 | 29.2 | 14.8 | 41/480 | 18.4 | 14.8 | 18/634 | 8.1 |
| GLM-4.7-Flash-IQ4_XS | 16.3 | 15.0 | 66/240 | 91.8 | 14.9 | 62/262 | 86.1 | 14.9 | 53/313 | 72.5 |
| GLM-4.7-Flash-REAP-23B IQ4_XS | 12.6 | 13.7 | 92/100 | 122.0 | 14.4 | 95/102 | 123.2 | 14.9 | 71/196 | 97.1 |
19K, 32K, 64K 는 컨텍스트 크기를 의미합니다.
위 표의 load 는 GPU 부하를 나타냅니다.
이 열에서 낮은 수치를 보인다면, 해당 모델이 주로 CPU 에서 실행되고 있어 이 하드웨어에서 적절한 속도를 얻을 수 없음을 의미합니다. 이러한 패턴은 모델의 너무 작은 부분이 GPU 에만 담기거나 컨텍스트가 호스트로 다시 밀려날 때 사람들이 흔히 경험하는 현상과 일치합니다.
llama.cpp, LLM 성능, OpenCode 및 기타 비교에 대하여
설치 경로, llama-cli 및 llama-server 예시, 그리고 VRAM 과 초당 토큰 수 (컨텍스트 크기, 배치 처리, -ngl) 에 영향을 미치는 플래그에 대해 알고 싶다면 llama.cpp CLI 와 서버로 빠른 시작 를 참조하세요.
전반적인 성능 그림 (처리량 대 지연 시간, VRAM 한계, 병렬 요청, 하드웨어 및 런타임 간 벤치마크의 통합 등) 에 대해서는 2026 년 LLM 성능: 벤치마크, 병목 현상 및 최적화 를 참고하시기 바랍니다.
응답의 품질은 다른 글들에서 분석되었습니다. 예를 들어:
- OpenCode 에 가장 적합한 LLM - 로컬 테스트. Opencode 에 대한 자세한 내용은 OpenCode 빠른 시작: 설치, 설정 및 터미널 AI 코딩 에이전트 사용 에서 더 읽을 수 있습니다.
- Hugo 페이지 번역 품질 비교 - Ollama 의 LLM
저는 Ollama 에서 LLM 에 대해 유사한 테스트를 수행했습니다: 16GB VRAM GPU 에서 Ollama 에 가장 적합한 LLM.
컨텍스트 길이가 초당 토큰 수에 영향을 미치는 이유
19K 에서 32K 또는 64K 토큰으로 이동할 때 KV 캐시가 커지고 VRAM 압력이 높아집니다. 일부 행에서는 64K 에서 초당 토큰 수가 크게 떨어지는 반면, 다른 행에서는 평탄하게 유지되는 것을 볼 수 있습니다. 이는 모델이 일반적으로 “느리다"고 가정하기보다는 양자화 (quants), 컨텍스트 한계 또는 레이어 오프로딩을 재검토해야 함을 나타내는 신호입니다.
저는 테스트할 모델과 양자화를 스스로 실행하여 이 장비에서 비용/효과 측면에서 좋은 이득을 주는지 확인하기 위해 선택했습니다. 따라서 20 만 컨텍스트를 가진 q8 양자화는 여기에서 제외되었습니다 :) …
GPU/CPU 는 nvitop로 측정된 부하입니다.
llama.cpp 는 GPU 로 레이어를 자동으로 언로드할 때 1GB 를 여유롭게 남기도록 설정하려고 시도합니다.
우리는 명령줄 파라미터 -ngl를 통해 이 매개변수를 수동으로 지정하지만, 여기서는 미세 조정하지 않습니다.
단지 32k 에서 64k 로 컨텍스트 윈도우 크기를 증가시킬 때 성능이 현저히 떨어지는 경우, 언로드된 레이어 수를 미세 조정하여 64k 에서 속도를 높일 수 있다는 점을 이해하면 됩니다.
테스트 하드웨어 및 llama.cpp 설정
저는 다음 사양의 PC 에서 LLM 속도를 테스트했습니다:
- CPU i-14700
- RAM 64GB 6000Hz (2x32GB)
- GPU RTX-4080
- NVidia 드라이버가 설치된 Ubuntu
- llama.cpp/llama-cli, 언로드된 레이어 지정 없음
- llama-cli 시작 전 초기 VRAM 사용량: 300MB
128K 컨텍스트에서의 추가 실행 (Qwen3.5 27B 및 122B)
| 모델 | 128K Load | 128K: T/s |
|---|---|---|
| Qwen3.5-27B-UD-IQ3_XXS | 16/625 | 9.6 |
| Qwen3.5-122B-A10B-UD-IQ3_XXS | 27/496 | 19.2 |
16GB VRAM 빌드를 위한 주요 결론
- 저의 현재 최애인 Qwen3.5-27B-UD-IQ3_XXS 는 50k 컨텍스트 (약 36t/s) 의 최적점에서 매우 잘 작동하는 것으로 보입니다.
- Qwen3.5-122B-A10B-UD-IQ3_XXS 는 64K 이상의 컨텍스트에서 성능 면에서 Qwen3.5 27B 를 앞질러가는 것으로 나타납니다.
- Qwen3.5-35B-A3B-UD-IQ3_S 를 10 만 토큰 컨텍스트까지 처리하도록 밀어올릴 수 있으며 VRAM 에도 잘 들어맞아 성능 저하가 없습니다.
- 16GB VRAM 에서는 gemma-4-31B 를 사용하지 않을 것이지만, gemma-4-26B 는 중간 정도일 것 같습니다. 테스트가 필요합니다.
- Nemotron cascade 2 와 GLM-4.7 Flash REAP 23B 가 얼마나 잘 작동하는지 테스트해야 합니다. Qwen3.5-35B q3 보다 더 나을까요? 저는 의문스럽지만 여전히 의심을 확인하기 위해 테스트해 볼 것입니다.