16GB VRAM GPU에서 Ollama를 사용하여 LLM 성능 비교

16GB VRAM 구비의 RTX 4080에서 LLM 속도 테스트

Page content

로컬에서 대규모 언어 모델(Large Language Models)을 실행하면 프라이버시 보호, 오프라인 사용 가능, 그리고 API 비용 제로라는 장점이 있습니다. 이번 벤치마크는 16GB VRAM의 RTX 4080에서 Ollama를 사용해 실행된 14개의 인기 있는 LLM에 대한 기대치를 정확히 보여줍니다.

16GB VRAM GPU를 사용하면서 저가 모델의 품질과 추론 속도 사이에 상시적인 트레이드오프에 직면했습니다: 잠재적으로 더 높은 품질을 가진 큰 모델, 혹은 더 빠른 추론 속도를 가진 작은 모델이었죠. LLM 성능에 대해 더 자세히 알고 싶으시다면—처리량 대 지연 시간, VRAM 제한, 병렬 요청, 그리고 런타임 간 벤치마크—LLM 성능: 벤치마크, 병목 및 최적화 문서를 참고하세요.

이 글은 Ollama에 초점을 맞춥니다. 동일한 16 GB급 GPU를 llama.cpp를 사용하여 19K, 32K, 64K 컨텍스트(VRAM, GPU 로드, dense 및 MoE 체크포인트에 대한 초당 토큰 수)로 측정한 결과는 16 GB VRAM LLM 벤치마크: llama.cpp (속도와 컨텍스트) 문서를 참조하세요.

처리량과 VRAM 분할이 허용 범위 내에 들어와도, Qwen과 Gemma 스타크의 에이전트 스타일 워크로드에는 적절한 temperature와 penalty 프리셋이 여전히 필요합니다. Qwen과 Gemma를 위한 에이전트 추론 파라미터를 참고하세요.

Ollama에서 LLM 성능 - 바퀴벌레 재랭킹

핵심 요약

아래는 RTX 4080 16GB 환경에서 Ollama 0.17.7을 사용하여 LLM 성능을 비교한 업데이트된 표입니다. (2026-03-09) Qwen 3.5 9b, 9bq8, 27b 및 35b 모델이 추가되었습니다.

모델 사용된 RAM+VRAM CPU/GPU 분할 초당 토큰 수
gpt-oss:20b 14 GB 100% GPU 139.93
qwen3.5:9b 9.3 GB 100% GPU 90.89
ministral-3:14b 13 GB 100% GPU 70.13
qwen3:14b 12 GB 100% GPU 61.85
qwen3.5:9b-q8_0 13 GB 100% GPU 61.22
qwen3-coder:30b 20 GB 25%/75% CPU/GPU 57.17
qwen3-vl:30b-a3b 22 GB 30%/70% CPU/GPU 50.99
glm-4.7-flash 21 GB 27%/73% CPU/GPU 33.86
nemotron-3-nano:30b 25 GB 38%/62% CPU/GPU 32.77
qwen3.5:35b 27 GB 43%/57% CPU/GPU 20.66
devstral-small-2:24b 19 GB 18%/82% CPU/GPU 18.67
mistral-small3.2:24b 19 GB 18%/82% CPU/GPU 18.51
gpt-oss:120b 66 GB 78%/22% CPU/GPU 12.64
qwen3.5:27b 24 GB 43%/57% CPU/GPU 6.48

핵심 인사이트: VRAM에 완전히 들어가는 모델은 훨씬 더 빠릅니다. GPT-OSS 20B는 139.93 tokens/sec를 달성하는 반면, 강력한 CPU 오프로딩이 필요한 GPT-OSS 120B는 12.64 tokens/sec로 느리게 움직입니다. 이는 11배의 속도 차이입니다.

테스트 하드웨어 구성

본 벤치마크는 다음 시스템에서 수행되었습니다:

  • GPU: 16GB VRAM이 장착된 NVIDIA RTX 4080
  • CPU: Intel Core i7-14700 (8 P-cores + 12 E-cores)
  • RAM: 64GB DDR5-6000

이는 로컬 LLM 추론을 위한 일반적인 고사양 소비자 구성입니다. 16GB VRAM이 가장 중요한 제약 조건입니다. 어떤 모델이 GPU에서만 실행되고 어떤 모델이 CPU 오프로딩을 필요로 하는지를 결정하기 때문입니다.

모델이 VRAM 용량을 초과할 때, CPU 성능이 오프로딩된 레이어의 추론 속도에 직접적인 영향을 미치므로 Ollama가 Intel CPU 코어를 어떻게 사용하는지 이해하는 것이 중요합니다.

이 벤치마크의 목적

주된 목표는 현실적인 조건에서의 추론 속도를 측정하는 것이었습니다. 저는 이미 경험적으로 Mistral Small 3.2 24B가 언어 품질에서 우수하며, 제 특정 사용 사례에 대해 Qwen3 14B가 더 나은 지시 사항 따름 능력을 제공한다는 것을 알고 있었습니다.

이 벤치마크는 다음과 같은 실용적인 질문에 답합니다: 각 모델은 얼마나 빠르게 텍스트를 생성할 수 있으며, VRAM 한도를 초과했을 때 속도 페널티는 얼마나 큰가?

테스트 파라미터는 다음과 같았습니다:

  • 컨텍스트 크기: 19,000 토큰. 이것은 저의 Generate 요청에서 평균 값입니다.
  • 프롬프트: “호주 수도 도시들의 날씨와 기후를 비교하라”
  • 지표: eval rate (생성 중 초당 토큰 수)

Ollama 설치 및 버전

모든 테스트는 당시 최신 릴리스 버전이었던 Ollama 버전 0.15.2를 사용했습니다. 나중에 Qwen3.5 모델을 추가하기 위해 Ollama v 0.17.7에서 재실행했습니다. 이 벤치마크에서 사용된 Ollama 명령어의 완전한 레퍼런스를 보려면 Ollama 치트시트를 참고하세요.

간단히 요약하여 Linux에 Ollama를 설치하는 방법:

curl -fsSL https://ollama.com/install.sh | sh

설치 확인:

ollama --version

공간 제약으로 인해 다른 드라이브에 모델을 저장해야 한다면, Ollama 모델을 다른 드라이브로 이동하는 방법를 확인하세요.

테스트된 모델들

다음 모델들이 알파벳 순서대로 벤치마크되었습니다:

모델 파라미터 양자화 비고
devstral-small-2:24b 24B Q4_K_M 코드 중심
glm-4.7-flash 30B Q4_K_M 사고 모델
gpt-oss:20b 20B Q4_K_M 전체적으로 가장 빠름
gpt-oss:120b 120B Q4_K_M 테스트된 가장 큰 모델
ministral-3:14b 14B Q4_K_M Mistral의 효율적인 모델
mistral-small3.2:24b 24B Q4_K_M 뛰어난 언어 품질
nemotron-3-nano:30b 30B Q4_K_M NVIDIA 제공
qwen3:14b 14B Q4_K_M 가장 우수한 지시 사항 따름
qwen3.5:9b 9B Q4_K_M 빠름, 완전한 GPU 활용
qwen3.5:9b-q8_0 9B Q8_0 더 높은 품질, 완전한 GPU 활용
qwen3.5:27b 27B Q4_K_M 우수한 품질, Ollama에서 느림
qwen3-vl:30b-a3b 30B Q4_K_M 비전 지원
qwen3-coder:30b 30B Q4_K_M 코드 중심
qwen3.5:35b 35B Q4_K_M 좋은 코딩 능력

모델을 다운로드하려면:

ollama pull gpt-oss:20b
ollama pull qwen3:14b

CPU 오프로딩 이해하기

모델의 메모리 요구 사항이 사용 가능한 VRAM을 초과하면, Ollama는 자동으로 모델 레이어를 GPU와 시스템 RAM 사이에 분배합니다. 출력은 “18%/82% CPU/GPU"와 같은 백분율 분할로 이를 표시합니다.

이는 막대한 성능 영향을 미칩니다. 각 토큰 생성은 CPU와 GPU 메모리 간 데이터 전송을 필요로 하며, 이는 CPU로 오프로딩된 레이어마다 누적되는 병목 현상이 됩니다.

우리의 결과에서 그 패턴은 명확합니다:

  • 100% GPU 모델: 61-140 tokens/sec
  • 70-82% GPU 모델: 19-51 tokens/sec
  • 22% GPU (대부분 CPU): 12.6 tokens/sec

이것이 20B 파라미터 모델이 실제로 120B 모델보다 11배 더 빨리 성능을 낼 수 있는 이유를 설명합니다. 여러 동시 요청을 제공할 계획이라면, 용량 계획에 있어 Ollama가 병렬 요청을 처리하는 방식을 이해하는 것이 필수적입니다. 위의 CPU 오프로딩 분할은 실제로는 가면을 쓴 KV-cache 및 가중치 예산 문제입니다 — 16 GB GPU에서의 KV Cache에서는 작은 모델로 전환하지 않고 헤드룸을 되찾을 수 있는 정확한 계산과 OLLAMA_KV_CACHE_TYPE 설정을 다룹니다.

상세 벤치마크 결과

GPU에서 100% 실행되는 모델

GPT-OSS 20B — 속도 챔피언

ollama run gpt-oss:20b --verbose
/set parameter num_ctx 19000

NAME           SIZE     PROCESSOR    CONTEXT
gpt-oss:20b    14 GB    100% GPU     19000

eval count:           2856 token(s)
eval duration:        20.410517947s
eval rate:            139.93 tokens/s

139.93 tokens/sec의 속도로, GPT-OSS 20B는 속도 중심 애플리케이션에 명백한 승자입니다. VRAM을 단 14GB만 사용하여 더 큰 컨텍스트 윈도우나 기타 GPU 워크로드를 위한 여유 공간을 남깁니다.

Qwen3 14B — 훌륭한 균형

ollama run qwen3:14b --verbose
/set parameter num_ctx 19000

NAME         SIZE     PROCESSOR    CONTEXT
qwen3:14b    12 GB    100% GPU     19000

eval count:           3094 token(s)
eval duration:        50.020594575s
eval rate:            61.85 tokens/s

Qwen3 14B는 제 경험상 최고의 지시 사항 따름 능력을 제공하며, 12GB의 편안한 메모리 풋프린트를 가집니다. 61.85 tokens/sec의 속도로 대화형 사용에 충분할 만큼 반응적입니다.

Qwen3을 애플리케이션에 통합하는 개발자를 위해, 구조화된 JSON 응답 추출을 위한 Ollama와 Qwen3으로 LLM 구조화 출력 문서를 참고하세요.

Ministral 3 14B — 빠르고 컴팩트

ollama run ministral-3:14b --verbose
/set parameter num_ctx 19000

NAME               SIZE     PROCESSOR    CONTEXT
ministral-3:14b    13 GB    100% GPU     19000

eval count:           1481 token(s)
eval duration:        21.11734277s
eval rate:            70.13 tokens/s

Mistral의 더 작은 모델은 VRAM에 완전히 들어맞으면서 70.13 tokens/sec를 제공합니다. 최대 속도로 Mistral 계열의 품질이 필요할 때 훌륭한 선택지입니다.

qwen3.5:9b - 빠르고 새로운 모델

ollama run  qwen3.5:9b --verbose
/set parameter num_ctx 19000
compare weather and climate between capital cities of australia

NAME          ID              SIZE      PROCESSOR    CONTEXT
qwen3.5:9b    6488c96fa5fa    9.3 GB    100% GPU     19000

eval count:           3802 token(s)
eval duration:        41.830174597s
eval rate:            90.89 tokens/s

qwen3.5:9b-q8_0 - Q8 양자화

이 양자화는 q4 대비 30%의 성능 저하를 가져옵니다.

ollama run  qwen3.5:9b-q8_0 --verbose
/set parameter num_ctx 19000

compare weather and climate between capital cities of australia
NAME               ID              SIZE     PROCESSOR    CONTEXT
qwen3.5:9b-q8_0    441ec31e4d2a    13 GB    100% GPU     19000

eval count:           3526 token(s)
eval duration:        57.595540159s
eval rate:            61.22 tokens/s

CPU 오프로딩이 필요한 모델

qwen3-coder:30b - 텍스트 전용이므로 30b LLM 세트 중 가장 빠름

ollama run qwen3-coder:30b --verbose
/set parameter num_ctx 19000
compare weather and climate between capital cities of australia

NAME               ID              SIZE     PROCESSOR          CONTEXT
qwen3-coder:30b    06c1097efce0    20 GB    25%/75% CPU/GPU    19000
22%/605%

eval count:           559 token(s)
eval duration:        9.77768875s
eval rate:            57.17 tokens/s

Qwen3-VL 30B — 부분 오프로딩 최고 성능

ollama run qwen3-vl:30b-a3b-instruct --verbose
/set parameter num_ctx 19000

NAME                         SIZE     PROCESSOR          CONTEXT
qwen3-vl:30b-a3b-instruct    22 GB    30%/70% CPU/GPU    19000

eval count:           1450 token(s)
eval duration:        28.439319709s
eval rate:            50.99 tokens/s

30%의 레이어가 CPU에 있にもかかわらず, Qwen3-VL은 50.99 tokens/sec를 유지합니다 — 일부 100% GPU 모델보다 빠릅니다. 비전 기능은 멀티모달 태스크에 다용성을 더합니다.

Mistral Small 3.2 24B — 품질 대 속도 트레이드오프

ollama run mistral-small3.2:24b --verbose
/set parameter num_ctx 19000

NAME                    SIZE     PROCESSOR          CONTEXT
mistral-small3.2:24b    19 GB    18%/82% CPU/GPU    19000

eval count:           831 token(s)
eval duration:        44.899859038s
eval rate:            18.51 tokens/s

Mistral Small 3.2는 우수한 언어 품질을 제공하지만, 상당한 속도 페널티를 지불합니다. 18.51 tokens/sec의 속도로 대화형 채팅에서 noticeably 느리게 느껴집니다. 지연 시간보다 품질이 더 중요한 태스크에 대해서는 가치가 있습니다.

GLM 4.7 Flash — MoE 사고 모델

ollama run glm-4.7-flash --verbose
/set parameter num_ctx 19000

NAME                 SIZE     PROCESSOR          CONTEXT
glm-4.7-flash        21 GB    27%/73% CPU/GPU    19000

eval count:           2446 token(s)
eval duration:        1m12.239164004s
eval rate:            33.86 tokens/s

GLM 4.7 Flash는 30B-A3B Mixture of Experts 모델입니다 — 총 30B의 파라미터 중 토큰당 단 3B만이 활성됩니다. “사고” 모델로서, 응답 전에 내부 추론을 생성합니다. 33.86 tokens/sec에는 사고 토큰과 출력 토큰이 모두 포함되어 있습니다. CPU 오프로딩에도 불구하고, MoE 아키텍처 덕분에 비교적 빠릅니다.

qwen3.5:35b - 상당한 셀프 호스팅 성능을 가진 새로운 모델

ollama run qwen3.5:35b --verbose
/set parameter num_ctx 19000
compare weather and climate between capital cities of australia

NAME           ID              SIZE     PROCESSOR          CONTEXT
qwen3.5:35b    4af949f8bdf0    27 GB    43%/57% CPU/GPU    19000

eval count:           3418 token(s)
eval duration:        2m45.458926548s
eval rate:            20.66 tokens/s

GPT-OSS 120B — 헤비 히터

ollama run gpt-oss:120b --verbose
/set parameter num_ctx 19000

NAME            SIZE     PROCESSOR          CONTEXT
gpt-oss:120b    66 GB    78%/22% CPU/GPU    19000

eval count:           5008 token(s)
eval duration:        6m36.168233066s
eval rate:            12.64 tokens/s

16GB VRAM에서 120B 모델을 실행하는 것은 기술적으로 가능하지만 고통스럽습니다. 78%가 CPU에 있으므로, 12.64 tokens/sec의 속도는 대화형 사용에 좌절을 줍니다. 지연 시간이 중요하지 않은 배치 처리에 더 적합합니다.

qwen3.5:27b - 스마트하지만 Ollama에서 느림

ollama run qwen3.5:27b --verbose
/set parameter num_ctx 19000
compare weather and climate between capital cities of australia

NAME           ID              SIZE     PROCESSOR          CONTEXT
qwen3.5:27b    193ec05b1e80    24 GB    43%/57% CPU/GPU    19000

eval count:           3370 token(s)
eval duration:        8m40.087510281s
eval rate:            6.48 tokens/s

저는 qwen3.5:27b를 테스트하여 OpenCode와 함께 이 모델의 성능에 대해 매우 좋은 인상을 받았습니다. 매우 유능하고, 지식적으로 우수하며, 실제로 도구 호출(tool calling)도 좋습니다. 다만 제 머신에서 Ollama를 사용할 때 느립니다. 저는 다른 LLM 셀프 호스팅 플랫폼을 시도해보다 훨씬 더 높은 속도를 얻었습니다. 이제는 Ollama를 떠나야 할 때라고 생각합니다. 이것에 대해 조금 나중에 글을 쓰겠습니다.

실용적인 권장 사항

대화형 챗을 위한

VRAM에 100% 들어가는 모델을 사용하세요:

  1. GPT-OSS 20B — 최대 속도 (139.93 t/s)
  2. Ministral 3 14B — Mistral 품질과 함께 좋은 속도 (70.13 t/s)
  3. Qwen3 14B — 최고의 지시 사항 따름 (61.85 t/s)

더 나은 채팅 경험을 위해, 로컬 Ollama를 위한 오픈소스 채트 UI를 고려해 보세요.

배치 처리를 위한

이것도 역시, 제 장비 - 14GB VRAM 기준입니다.

속도가 덜 중요한 경우:

  • Mistral Small 3.2 24B — 우수한 언어 품질
  • Qwen3-VL 30B — 비전 + 텍스트 기능

속도가 전혀 중요하지 않은 경우:

  • Qwen3.5:35b - 좋은 코딩 능력
  • Qwen3.5:27b - 매우 우수하지만 Ollama에서 느림. 하지만 llama.cpp에서 이 모델을 호스팅할 때 상당히 성공적이었습니다.

개발 및 코딩을 위한

Ollama로 애플리케이션을 빌드하는 경우:

대안 호스팅 옵션

Ollama의 한계가 우려된다면 (Ollama의 품질 저하 우려 참고), 로컬 LLM 호스팅 가이드에서 다른 옵션을 탐색하거나 Docker Model Runner vs Ollama를 비교해 보세요.

결론

16GB VRAM으로, 현명하게 선택한다면 인상적인 속도로 유능한 LLM을 실행할 수 있습니다. 주요 발견 사항:

  1. 대화형 사용을 위해 VRAM 한도 내에 머물러야 합니다. 대부분의 실용적인 목적으로, 140 tokens/sec의 20B 모델이 12 tokens/sec의 120B 모델보다 낫습니다.

  2. 순수한 속도에서는 GPT-OSS 20B가 승자이지만, Qwen3 14B는 지시 사항 따름 태스크에서 속도와 능력의 최적의 균형을 제공합니다.

  3. CPU 오프로딩은 작동하지만, 3-10배의 속도 저하를 예상해야 합니다. 배치 처리에는 허용 가능하지만, 채팅에는 좌절감을 줍니다.

  4. 컨텍스트 크기가 중요합니다. 여기에 사용된 19K 컨텍스트는 VRAM 사용량을 현저히 증가시킵니다. 더 나은 GPU 활용을 위해 컨텍스트를 줄이세요.

로컬 LLM과 웹 결과를 결합한 AI 기반 검색을 위해, Ollama와 Perplexica 셀프 호스팅을 참고하세요.

더 많은 벤치마크, VRAM과 처리량의 트레이드오프, 그리고 Ollama 및 기타 런타임 간의 성능 튜닝을 탐색하려면, 우리의 LLM 성능: 벤치마크, 병목 및 최적화 허브를 확인하세요.

유용한 링크

내부 리소스

외부 참조

구독하기

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