Najlepsze modele LLM do Ollama na GPU z 16 GB VRAM

Test prędkości LLM na RTX 4080 z 16 GB VRAM

Page content

Uruchamianie dużych modeli językowych lokalnie zapewnia prywatność, możliwość pracy offline oraz zero kosztów API. Ten benchmark pokazuje dokładnie, co można oczekiwać od 9 popularnych LLM na Ollama na RTX 4080.

Z 16 GB VRAM GPU miałem stały wybór: większe modele z potencjalnie lepszym jakością, albo mniejsze modele z szybszymi wnioskami.

7 llamas - Porównanie LLM na Ollama

TL;DR

Oto tabela porównania wydajności LLM na RTX 4080 16 GB z Ollama 0.15.2:

Model RAM+VRAM użyte Podział CPU/GPU Tokenów/sec
gpt-oss:20b 14 GB 100% GPU 139.93
ministral-3:14b 13 GB 100% GPU 70.13
qwen3:14b 12 GB 100% GPU 61.85
qwen3-vl:30b-a3b 22 GB 30%/70% 50.99
glm-4.7-flash 21 GB 27%/73% 33.86
nemotron-3-nano:30b 25 GB 38%/62% 32.77
devstral-small-2:24b 19 GB 18%/82% 18.67
mistral-small3.2:24b 19 GB 18%/82% 18.51
gpt-oss:120b 66 GB 78%/22% 12.64

Główne spostrzeżenie: Modele, które mieszczą się całkowicie w VRAM, są znacznie szybsze. GPT-OSS 20B osiąga 139.93 tokenów/sec, podczas gdy GPT-OSS 120B z intensywnym wykorzystaniem CPU porusza się z prędkością 12.64 tokenów/sec – różnica wynosi 11x.

Konfiguracja sprzętu testu

Benchmark został przeprowadzony na poniższej konfiguracji:

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

To reprezentuje typową konfigurację wysokiego poziomu dla lokalnego wnioskowania LLM. 16 GB VRAM to kluczowy ogranicznik – decyduje, które modele działają całkowicie na GPU, a które wymagają wykorzystania CPU.

Zrozumienie jak Ollama wykorzystuje jądra CPU Intel staje się ważne, gdy modele przekraczają limit VRAM, ponieważ wydajność CPU bezpośrednio wpływa na prędkość wnioskowania warstw wydzielonych.

Cel tego benchmarku

Głównym celem było zmierzenie prędkości wnioskowania w rzeczywistych warunkach. Z doświadczenia już wiedziałem, że Mistral Small 3.2 24B wyróżnia się jakością języka, podczas gdy Qwen3 14B oferuje lepsze przestrzeganie instrukcji dla moich konkretnych przypadków użycia.

Ten benchmark odpowiada na praktyczne pytanie: Jak szybko może generować tekst każdy model, a jakie są konsekwencje prędkości przy przekraczaniu limitów VRAM?

Parametry testu były:

  • Wielkość kontekstu: 19 000 tokenów
  • Prompt: “porównaj pogodę i klimat między stolicami Australii”
  • Metryka: szybkość oceny (tokeny na sekundę podczas generowania)

Instalacja i wersja Ollama

Wszystkie testy wykorzystywały wersję Ollama 0.15.2, najnowszą wersję dostępna w czasie przeprowadzania testów. Aby uzyskać pełną listę poleceń Ollama używanych w tym benchmarku, zobacz cheatsheet Ollama.

Aby zainstalować Ollama na Linuxie:

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

Weryfikacja instalacji:

ollama --version

Jeśli potrzebujesz przechowywania modeli na innym dysku z powodu ograniczeń miejsca, sprawdź jak przenieść modele Ollama na inny dysk.

Modele testowane

Poniższe modele zostały przetestowane:

Model Parametry Kwantyzacja Uwagi
gpt-oss:20b 20B Q4_K_M Najlepsza ogólna wydajność
gpt-oss:120b 120B Q4_K_M Największy przetestowany
qwen3:14b 14B Q4_K_M Najlepsze przestrzeganie instrukcji
qwen3-vl:30b-a3b 30B Q4_K_M Wizualizacyjny
ministral-3:14b 14B Q4_K_M Efektywny model Mistral
mistral-small3.2:24b 24B Q4_K_M Wysoka jakość języka
devstral-small-2:24b 24B Q4_K_M Skupiony na kodowaniu
glm-4.7-flash 30B Q4_K_M Model myślenia
nemotron-3-nano:30b 30B Q4_K_M Oferta NVIDIA

Aby pobrać dowolny model:

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

Zrozumienie wydzielania do CPU

Kiedy wymagania pamięciowe modelu przekraczają dostępne VRAM, Ollama automatycznie dystrybuuje warstwy modelu między GPU i pamięć RAM systemu. Wynik pokazuje to jako procentowy podział, np. “18%/82% CPU/GPU”.

To ma ogromny wpływ na wydajność. Każda generacja tokena wymaga transferu danych między pamięcią CPU i GPU – to wąskie gardło, które pogarsza się z każdą warstwą wydzieloną do CPU.

Z naszych wyników wynika jasno:

  • Modele 100% GPU: 61–140 tokenów/sec
  • Modele 70–82% GPU: 19–51 tokenów/sec
  • 22% GPU (przeważnie CPU): 12,6 tokenów/sec

To wyjaśnia, dlaczego model 20B może w praktyce przewyższać model 120B o 11x. Jeśli planujesz obsługę wielu żądań równoległych, zrozumienie jak Ollama obsługuje żądania równoległe staje się kluczowe dla planowania pojemności.

Szczegółowe wyniki benchmarku

Modele działające 100% na GPU

GPT-OSS 20B — Zwycięzca pod względem prędkoś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

Z prędkością 139.93 tokenów/sec, GPT-OSS 20B jest wyraźnym zwycięzcą w aplikacjach krytycznych pod względem prędkości. Używa tylko 14 GB VRAM, pozostawiając miejsce na większe okna kontekstu lub inne obciążenia GPU.

Qwen3 14B — Świetny 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 z mojego doświadczenia, z wygodnym zapotrzebowaniem na pamięć 12 GB. Z prędkością 61.85 tokenów/sec, jest wystarczająco szybki do interaktywnego użytkowania.

Dla programistów łączących Qwen3 z aplikacjami, zobacz Strukturalne wyjście LLM z Ollama i Qwen3 do wyciągania odpowiedzi w formacie JSON.

Ministral 3 14B — Szybki i zwarty

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 Mistral dostarcza 70.13 tokenów/sec, przy czym całkowicie mieści się w VRAM. Solidna opcja, gdy potrzebujesz jakości rodziny Mistral z maksymalną prędkością.

Modele wymagające wydzielania do CPU

Qwen3-VL 30B — Najlepsza wydajność częściowo wydzielona

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 30% warstw na CPU, Qwen3-VL utrzymuje 50.99 tokenów/sec – szybszy niż niektóre modele 100% GPU. Możliwość wizualizacji dodaje elastyczności w zadaniach multimodalnych.

Mistral Small 3.2 24B — Współczynnik jakości vs prędkoś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ęzyka, ale płaci wysoki koszt prędkości. Z prędkością 18.51 tokenów/sec, czuć wyraźne opóźnienie w interaktywnych rozmowach. Warto, jeśli jakość ma większą wagę niż opóźnienie.

GLM 4.7 Flash — Model myślenia typu 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 typu MoE (Mixture of Experts) z 30B parametrami – tylko 3B aktywnych na token. Jako “model myślenia”, generuje wewnętrzne rozumowanie przed odpowiedziami. 33.86 tokenów/sec obejmuje zarówno tokeny myślenia, jak i wyjścia. Mimo wydzielania do CPU, architektura MoE utrzymuje rozsądną prędkość.

GPT-OSS 120B — Duży model

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 frustrujące. Z 78% na CPU, 12.64 tokenów/sec czyni interaktywne użycie bardzo trudnym. Lepszy do przetwarzania wsadowego, gdzie opóźnienie nie ma znaczenia.

Praktyczne rekomendacje

Dla rozmów interaktywnych

Używaj modeli, które mieszczą się całkowicie w VRAM:

  1. GPT-OSS 20B — Maksymalna prędkość (139.93 t/s)
  2. Ministral 3 14B — Dobra prędkość z jakością Mistral (70.13 t/s)
  3. Qwen3 14B — Najlepsze przestrzeganie instrukcji (61.85 t/s)

Dla lepszego doświadczenia w rozmowach, rozważ Otwarte interfejsy użytkownika do lokalnego Ollama.

Dla przetwarzania wsadowego

Gdy prędkość jest mniej krytyczna:

  • Mistral Small 3.2 24B — Wyższa jakość języka
  • Qwen3-VL 30B — Możliwość wizualizacji + tekst

Dla tworzenia aplikacji i kodowania

Jeśli tworzysz aplikacje z Ollama:

Alternatywne opcje hostingu

Jeśli ograniczenia Ollama są dla Ciebie krytyczne (zobacz Ograniczenia Ollama), rozważ inne opcje w Przewodniku hostingu LLM lokalnie lub porównaj Docker Model Runner vs Ollama.

Podsumowanie

Z 16 GB VRAM możesz uruchomić wydajne modele LLM z imponującą prędkością – jeśli wybierzesz je zrozumiale. Kluczowe spostrzeżenia:

  1. Zachowuj się w granicach VRAM dla interaktywnego użytkowania. Model 20B z prędkością 140 tokenów/sec przewyższa model 120B z prędkością 12 tokenów/sec w większości praktycznych przypadków.

  2. GPT-OSS 20B wygrywa pod względem prędkości, ale Qwen3 14B oferuje najlepszy balans prędkości i możliwości dla zadań przestrzegania instrukcji.

  3. Wydzielanie do CPU działa, ale oczekuj spadku prędkości o 3–10x. Akceptowalne dla przetwarzania wsadowego, frustrujące dla rozmów.

  4. Wielkość kontekstu ma znaczenie. Wielkość kontekstu 19K użyta tutaj znacząco zwiększa zużycie VRAM. Zmniejsz kontekst dla lepszego wykorzystania GPU.

Dla wyszukiwania zasilanego AI, łączącego lokalne LLM z wynikami internetowymi, zobacz samowystarczalne Perplexica z Ollama.

Przydatne linki

Wewnętrzne zasoby

Zewnętrzne referencje