Porównanie wydajności LLM na Ollama na GPU z 16 GB VRAM
Test prędkości LLM na karcie RTX 4080 z 16 GB pamięci VRAM
Uruchamianie dużych modeli językowych lokalnie zapewnia prywatność, możliwość pracy offline oraz zerowe koszty API. Ten benchmark pokazuje dokładnie, czego można się spodziewać po 14 popularnych LLM w Ollama na karcie RTX 4080.
Dysponując kartą graficzną z 16 GB pamięci VRAM, musiałem ciągle dokonywać kompromisów: większe modele z potencjalnie lepszą jakością, czy mniejsze modele z szybszą inferencją. Więcej na temat wydajności LLM — przepustowość względem opóźnień, limity VRAM, równoległe żądania oraz benchmarki między różnymi środowiskami wykonawczymi — znajdziesz w artykule Wydajność LLM: Benchmarki, wąskie gardła i optymalizacja.
Ten artykuł koncentruje się na Ollama. Aby sprawdzić wyniki dla tej samej klasy GPU 16 GB zmierzone za pomocą llama.cpp z kontekstem 19K, 32K i 64K (VRAM, obciążenie GPU, tokeny na sekundę dla modeli dense i MoE), zobacz Benchmarki LLM na 16 GB VRAM z llama.cpp (prędkość i kontekst).
Gdy przepustowość i podział pamięci VRAM wydają się akceptowalne, obciążenia typu agentowego wciąż wymagają rozsądnych wartości temperatury i kar dla stosów w stylu Qwen i Gemma; zobacz Parametry inferencji agentowej dla Qwen i Gemma.

TL;DR
Oto zaktualizowana tabela porównawcza wydajności LLM na karcie RTX 4080 16 GB z Ollama 0.17.7, (2026-03-09) dodano modele Qwen 3.5 9b, 9bq8, 27b oraz 35b:
| Model | Użyta pamięć RAM+VRAM | Podział CPU/GPU | Tokeny/sek |
|---|---|---|---|
| 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 |
Kluczowa wniosek: Modele mieszczące się całkowicie w pamięci VRAM są dramatycznie szybsze. GPT-OSS 20B osiąga 139,93 tokeny/sek, podczas gdy GPT-OSS 120B z intensywnym offloadem na procesor działa z prędkością 12,64 tokenów/sek — to różnica 11-krotna.
Konfiguracja sprzętu testowego
Benchmark został przeprowadzony na następującym systemie:
- GPU: NVIDIA RTX 4080 z 16 GB pamięci VRAM
- CPU: Intel Core i7-14700 (8 rdzeni P + 12 rdzeni E)
- RAM: 64 GB DDR5-6000
Jest to typowa konfiguracja konsumencka klasy high-end do lokalnej inferencji LLM. 16 GB pamięci VRAM jest kluczowym ograniczeniem — determinuje, które modele działają całkowicie na GPU, a które wymagają offloadu na procesor.
Zrozumienie sposobu użycia rdzeni CPU Intel przez Ollama staje się ważne, gdy modele przekraczają pojemność pamięci VRAM, ponieważ wydajność procesora bezpośrednio wpływa na szybkość inferencji warstw przeniesionych na CPU.
Cel tego benchmarku
Głównym celem było zmierzenie prędkości inferencji w realistycznych warunkach. Z doświadczenia już wiedziałem, że Mistral Small 3.2 24B wyróżnia się jakością językową, podczas gdy Qwen3 14B oferuje lepsze przestrzeganie instrukcji w moich konkretnych przypadkach użycia.
Ten benchmark odpowiada na praktyczne pytanie: Jak szybko każdy model może generować tekst i jaka jest kara za przekroczenie limitów pamięci VRAM?
Parametry testów były następujące:
- Rozmiar kontekstu: 19 000 tokenów. To średnia wartość w moich żądaniach generowania.
- Prompt: “compare weather and climate between capital cities of australia” (porównaj pogodę i klimat między stolicami Australii)
- Metryka: eval rate (tokeny na sekundę podczas generowania)
Instalacja i wersja Ollama
Wszystkie testy wykorzystywały wersję Ollama 0.15.2, najnowsze wydanie w czasie testów. Później ponownie uruchomiłem testy na Ollama v 0.17.7 - aby dodać modele Qwen3.5. Pełną referencję poleceń Ollama użytych w tym benchmarkie znajdziesz w ściągawce do Ollama.
Aby szybko przypomnieć sobie - instalacja Ollama na Linuksie:
curl -fsSL https://ollama.com/install.sh | sh
Weryfikacja instalacji:
ollama --version
Jeśli musisz przechowywać modele na innym dysku z powodu ograniczeń miejsca, sprawdź, jak przenieść modele Ollama na inny dysk.
Testowane modele
Następujące modele zostały poddane benchmarkowaniu, w kolejności alfabetycznej:
| Model | Parametry | Kwantyzacja | Uwagi |
|---|---|---|---|
| devstral-small-2:24b | 24B | Q4_K_M | Skupiony na kodzie |
| glm-4.7-flash | 30B | Q4_K_M | Model do myślenia |
| gpt-oss:20b | 20B | Q4_K_M | Najszybszy ogólnie |
| gpt-oss:120b | 120B | Q4_K_M | Największy testowany |
| ministral-3:14b | 14B | Q4_K_M | Efektywny model od Mistral |
| mistral-small3.2:24b | 24B | Q4_K_M | Silna jakość językowa |
| nemotron-3-nano:30b | 30B | Q4_K_M | Oferta od NVIDIA |
| qwen3:14b | 14B | Q4_K_M | Najlepsze przestrzeganie instrukcji |
| qwen3.5:9b | 9B | Q4_K_M | Szybki, całkowicie na GPU |
| qwen3.5:9b-q8_0 | 9B | Q8_0 | Wyższa jakość, całkowicie na GPU |
| qwen3.5:27b | 27B | Q4_K_M | Wyśmienita jakość, powolny na Ollama |
| qwen3-vl:30b-a3b | 30B | Q4_K_M | Zdolny do widzenia |
| qwen3-coder:30b | 30B | Q4_K_M | Skupiony na kodzie |
| qwen3.5:35b | 35B | Q4_K_M | Dobre zdolności kodowania |
Aby pobrać dowolny model:
ollama pull gpt-oss:20b
ollama pull qwen3:14b
Zrozumienie offloadu na CPU
Gdy wymagania pamięciowe modelu przekraczają dostępną pamięć VRAM, Ollama automatycznie dystrybuje warstwy modelu między GPU a pamięcią systemową. Wyjście pokazuje to jako procentowy podział, np. “18%/82% CPU/GPU”.
Ma to ogromny wpływ na wydajność. Każdy token generowany wymaga transferu danych między pamięcią CPU a GPU — wąskim gardłem, które narasta z każdą warstwą przeniesioną na procesor.
Wzorzec jest jasny z naszych wyników:
- Modele 100% na GPU: 61-140 tokenów/sek
- Modele 70-82% na GPU: 19-51 tokenów/sek
- 22% na GPU (głównie CPU): 12,6 tokenów/sek
Wyjaśnia to, dlaczego model o 20 miliardach parametrów może w praktyce przewyższyć model o 120 miliardach parametrów 11-krotnie. Jeśli planujesz obsługę wielu równoległych żądań, zrozumienie sposobu obsługi równoległych żądań przez Ollama staje się niezbędne do planowania wydajności. Podany powyżej podział offloadu na CPU to w istocie problem budżetu pamięci KV-cache i wagów w przebraniu — artykuł KV Cache na GPU 16 GB przedstawia dokładne obliczenia oraz ustawienia OLLAMA_KV_CACHE_TYPE, które pozwalają odzyskać rezerwę pamięci bez przechodzenia na mniejszy model.
Szczegółowe wyniki benchmarku
Modele działające w 100% na GPU
GPT-OSS 20B — Mistrz szybkości
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
Przy 139,93 tokenów/sek, GPT-OSS 20B jest wyraźnym zwycięzcą w aplikacjach, w których liczy się szybkość. Zużywa tylko 14 GB pamięci VRAM, pozostawiając zapas na większe okna kontekstowe lub inne obciążenia GPU.
Qwen3 14B — Wyśmienity balans
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 oferuje najlepsze przestrzeganie instrukcji w moim odczuciu, z komfortowym śladem pamięciowym wynoszącym 12 GB. Przy 61,85 tokenów/sek jest wystarczająco responsywny do użycia interaktywnego.
Dla deweloperów integrujących Qwen3 z aplikacjami, zobacz Strukturalne wyjście LLM z Ollama i Qwen3 w celu ekstrakcji strukturalnych odpowiedzi JSON.
Ministral 3 14B — Szybki i kompaktowy
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
Mniejszy model od Mistral osiąga 70,13 tokenów/sek, mieszcząc się całkowicie w pamięci VRAM. Solidny wybór, gdy potrzebujesz jakości rodziny Mistral przy maksymalnej prędkości.
qwen3.5:9b - szybki i nowy
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 - kwantyzacja q8
Ta kwantyzacja obniża wydajność qwen3.5:9b o 30% w porównaniu z q4.
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
Modele wymagające offloadu na CPU
qwen3-coder:30b - najszybszy z zestawu LLM 30b ze względu na pracę tylko z tekstem
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 — Najlepsza wydajność przy częściowym offloadzie
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
Mimo że 30% warstw znajduje się na CPU, Qwen3-VL utrzymuje 50,99 tokenów/sek — to szybciej niż niektóre modele działające w 100% na GPU. Zdolność wizyjna dodaje wszechstronności dla zadań wielomodalnych.
Mistral Small 3.2 24B — Kompromis między jakością a szybkością
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 oferuje wyższą jakość językową, ale płaci wysoką cenę za szybkość. Przy 18,51 tokenów/sek wydaje się zauważalnie wolniejszy w interaktywnym czacie. Warto to rozważyć w zadaniach, gdzie jakość jest ważniejsza niż opóźnienie.
GLM 4.7 Flash — Myślący model 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 to model Mixture of Experts (MoE) 30B-A3B — 30 miliardów parametrów łącznie, z których aktywnych jest tylko 3 miliardy na każdy token. Jako model „myślący", generuje wewnętrzne rozumowanie przed odpowiedziami. Wynik 33,86 tokenów/sek obejmuje zarówno tokeny myślowe, jak i wyjściowe. Mimo offloadu na CPU, architektura MoE utrzymuje go w rozsądnie szybkim tempie.
qwen3.5:35b - Nowy model z przyzwoitą wydajnością self-hosted
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 — Ciężkie kalibry
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
Uruchamianie modelu 120B na 16 GB VRAM jest technicznie możliwe, ale bolesne. Przy 78% obciążenia CPU, prędkość 12,64 tokenów/sek powoduje frustrację przy użyciu interaktywnym. Bardziej nadaje się do przetwarzania partiami, gdzie opóźnienie nie ma znaczenia.
qwen3.5:27b - Mądry, ale wolny na 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
Przetestowałem qwen3.5:27b i bardzo dobrze oceniłem wydajność tego modelu z OpenCode. Jest bardzo zdolny, oczytany, naprawdę dobry w wywoływaniu narzędzi, choć jest wolny na moim maszynie w Ollama. Próbowałem innych platform self-hostingowych dla LLM i uzyskałem znacznie wyższe prędkości. Uważam, że nadszedł czas, aby odpuścić Ollama. Napiszę o tym trochę później.
Praktyczne rekomendacje
Do czatu interaktywnego
Używaj modeli, które mieszczą się w 100% w pamięci VRAM:
- GPT-OSS 20B — Maksymalna szybkość (139,93 t/s)
- Ministral 3 14B — Dobra szybkość z jakością Mistral (70,13 t/s)
- Qwen3 14B — Najlepsze przestrzeganie instrukcji (61,85 t/s)
Lepiej doświadczenie czatu uzyskasz, rozważając Open-Source Chat UIs dla lokalnego Ollama.
Do przetwarzania partiami
To znowu, na moim sprzęcie - 14 GB VRAM.
Gdy szybkość jest mniej krytyczna:
- Mistral Small 3.2 24B — Wyższa jakość językowa
- Qwen3-VL 30B — Zdolność wizyjna + tekst
Gdy szybkość nie ma znaczenia wcale:
- Qwen3.5:35b - Dobre zdolności kodowania
- Qwen3.5:27b - Wyjątkowo dobry, ale wolny na Ollama. Miałem spory sukces hostując ten model na llama.cpp.
Do rozwoju i kodowania
Jeśli budujesz aplikacje z Ollama:
Alternatywne opcje hostowania
Jeśli obawiasz się ograniczeń Ollama (zobacz Obawy o degradację Ollama), rozważ inne opcje w Przewodniku po lokalnym hostowaniu LLM lub porównaj Docker Model Runner vs Ollama.
Wniosek
Z 16 GB pamięci VRAM można uruchamiać wydajne LLM z imponującymi prędkościami — jeśli wybierze się je mądrze. Kluczowe ustalenia:
-
Pozostawaj w granicach VRAM do użycia interaktywnego. Model 20B przy 140 tokenów/sek wygrywa z modelem 120B przy 12 tokenów/sek w większości praktycznych zastosowań.
-
GPT-OSS 20B wygrywa w czystej szybkości, ale Qwen3 14B oferuje najlepszy balans szybkości i możliwości dla zadań przestrzegania instrukcji.
-
Offload na CPU działa, ale spodziewaj się spowolnienia o 3-10x. Akceptowalne do przetwarzania partiami, frustrujące dla czatu.
-
Rozmiar kontekstu ma znaczenie. Użyty tutaj kontekst 19K znacząco zwiększa zużycie VRAM. Zmniejsz kontekst dla lepszego wykorzystania GPU.
Dla wyszukiwania opartego na AI łączącego lokalne LLM z wynikami z sieci, zobacz self-hosting Perplexica z Ollama.
Aby eksplorować więcej benchmarków, kompromisów między VRAM a przepustowością oraz optymalizacji wydajności w Ollama i innych środowiskach, zajrzyj do naszego huba Wydajność LLM: Benchmarki, wąskie gardła i optymalizacja.
Przydatne linki
Zasoby wewnętrzne
- Ściągawka Ollama: Najbardziej przydatne polecenia Ollama
- Jak Ollama obsługuje równoległe żądania
- Jak Ollama wykorzystuje rdzenie wydajnościowe i efektywne CPU Intel
- Lokalny hosting LLM: Kompletny przewodnik na 2026 - Ollama, vLLM, LocalAI, Jan, LM Studio i inne