16GB VRAM을 활용한 llama.cpp LLM 벤치마크 (속도 및 컨텍스트)

16GB VRAM에서의 llama.cpp 토큰 속도 (표).

Page content

VRAM 16GB GPU 에서 여러 LLM 의 속도를 비교하고, 자체 호스팅에 가장 적합한 모델을 선택했습니다.

저는 llama.cpp 에서 19K, 32K, 64K 토큰 컨텍스트 윈도우를 사용하여 이 LLM 들을 실행했습니다.

Stylized GPU with VRAM blocks and benchmark-style charts

이 포스팅에서는 속도 측면에서 최대한 성능을 끌어내려는 시도를 기록하고 있습니다.

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.6-35B-A3B-UD-IQ3_XXS 13.2 13.8GB 96%/100% 147.5 14.0GB 96%/101% 149.1 14.7GB 96%/101% 145.8
Qwen3.6-35B-A3B-UD-IQ4_XS 17.7 14.3GB 62%/266% 95.0 14.9GB 58%/279% 92.3 14.9GB 57%/293% 86.4
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-IQ3_XXS-bartowsky 11.3 12.8 98/100 44.9 13.5 98/100 44.9 14.5 45/415 23.6
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-27B-IQ4_XS.gguf 15.0 14.6 49/406 20.5 14.7 37/465 17.4 14.7 23/533 13.3
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
Qwen3.5-122B-A10B-UD-IQ3_S 46.5 14.7 25/516 19.4 14.7 24/516 19.5 14.7 24/516 19.6
Qwen3-Coder-Next-UD-IQ4_XS 38.4 14.6 32/460 41.1 14.7 29/440 41.3 14.8 32/460 38.3
Nemotron Super 120b IQ3_XXS 56.2 15.0 26/517 17.5 14.6 26/531 17.4 14.6 26/535 17.6
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 는 컨텍스트 크기를 나타냅니다.

loadGPU Load 를 의미합니다. 이 열의 숫자가 낮게 나온다면, 모델이 주로 CPU 에서 실행되고 있으며 이 하드웨어에서 적절한 속도를 얻지 못한다는 뜻입니다. 이러한 패턴은 모델의 일부가 GPU 에 들어오지 않거나 컨텍스트가 호스트로 다시 밀려날 때 사람들이 관찰하는 현상과 일치합니다.

llama.cpp, LLM 성능, OpenCode 및 기타 비교에 대하여

설치 경로, llama-clillama-server 예시, 그리고 VRAM 과 초당 토큰 수 (컨텍스트 크기, 배치, -ngl) 에 중요한 플래그가 필요한 경우 llama.cpp CLI 와 서버를 위한 빠른 시작 에서 시작하세요.

더 넓은 성능 그림 (처리량 대 지연 시간, VRAM 제한, 병렬 요청, 그리고 하드웨어 및 런타임 전반에 걸친 벤치마크의 관계) 을 보려면 2026 년 LLM 성능: 벤치마크, 병목 현상 및 최적화 를 참조하세요.

응답의 품질은 다른 기사에서 분석됩니다. 예를 들어:

저는 Ollama 에서 LLM 에 대해 유사한 테스트를 수행했습니다: 16GB VRAM GPU 에서 Ollama 에 가장 적합한 LLM.

왜 컨텍스트 길이가 초당 토큰 수를 변화시키는지

19K 에서 32K 또는 64K 토큰으로 이동함에 따라 KV 캐시가 커지고 VRAM 압력이 높아집니다. 일부 행에서는 64K 에서 초당 토큰 수가 크게 떨어지는 반면, 다른 행에서는 평탄한 상태를 유지하는데, 이는 모델이 일반적으로 “느리다"고 가정하기보다는 양자화, 컨텍스트 제한 또는 레이어 오프로딩을 다시 검토해야 한다는 신호입니다.

저는 테스트를 위해 선택한 모델과 양자화 (quant) 가 이 장비에서 비용/편익 측면에서 좋은 이득을 주는지 스스로 실행하여 확인했습니다. 따라서 여기서 200k 컨텍스트의 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

미세 조정된 실행

일부 흥미로운 모델과 양자화 (quant) 에 대해 VRAM 을 더 잘 활용하기 위한 특별한 llama-cpp 명령줄 매개변수를 찾아보았습니다. 다음은 제가 달성할 수 있었던 결과입니다:

모델 컨텍스트 GPU 상의 레이어 CPU/CPU 부하 속도
Qwen3.5-27B-IQ4_XS.gguf 18k 65 98%/100% 38.0
Qwen3.5-27B-IQ4_XS.gguf 64k 53 33%/488% 15.7

16 GB 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 는 100k 토큰 컨텍스트를 처리할 수 있으며 VRAM 에 들어맞으므로 성능 저하가 없습니다.
  • 16GB VRAM 에서는 gemma-4-31B 를 사용하지 않겠지만, gemma-4-26B 는 중간 수준으로 괜찮을 것 같습니다. 테스트가 필요합니다.
  • Nemotron cascade 2 와 GLM-4.7 Flash REAP 23B 가 얼마나 잘 작동하는지 테스트해야 합니다. Qwen3.5-35B q3 보다 더 나을까요? 의심스럽지만 여전히 확신하기 위해 테스트해볼 예정입니다.

구독하기

시스템, 인프라, AI 엔지니어링에 관한 새 글을 받아보세요.