Wróć do bloga

Jak uruchomić modele GGUF lokalnie: Ollama, llama.cpp i vLLM

7 września 2026

Pobrałeś plik .gguf i zastanawiasz się, jak go w ogóle odpalić? Najszybsza droga: ollama run hf.co/<repo>:Q4_K_M — Ollama ciągnie GGUF prosto z Hugging Face i serwuje go. GGUF to jednoplikowy format modeli, który wprowadził llama.cpp i którym mówi dziś każde narzędzie do lokalnych LLM, więc ten sam plik działa w Ollamie, llama.cpp, LM Studio, Jan i (z zastrzeżeniami) vLLM. Ten przewodnik przechodzi przez każdy runner z komendami do wklejenia, pokazuje, jak dobrać właściwą kwantyzację pod twój VRAM, i wymienia błędy ładowania, które naprawdę trafisz.

Co to jest plik GGUF?

GGUF (GGML Universal File) to format pojemnika dla skwantyzowanych modeli językowych. Jeden plik trzyma wagi, tokenizator i metadane modelu — nic więcej do pobierania, żadnej zupy konfiguracyjnej. Wagi w środku są skwantyzowane: ścieśnione z 16-bitowych floatów do 4-bitowych (albo niższych) liczb całkowitych, dlatego model 9B, który w pełnej precyzji potrzebuje ~18 GB, mieści się w ~5,5 GB jako plik Q4 i rusza na gamingowym GPU, a nawet na CPU.

Dwie rzeczy w nazwie pliku GGUF mają znaczenie:

  1. Model bazowygemma-3-4b-it-GGUF to dostrojony Gemma 3 4B wyeksportowany do GGUF.
  2. Tag quantaQ4_K_M, Q8_0, IQ4_XS i koledzy mówią, jak agresywnie ścieśniono wagi. O wyborze niżej.

Czy Ollama uruchamia modele GGUF?

Tak — GGUF to natywny format Ollamy, a od 2024 potrafi pociągnąć go wprost z Hugging Face, nie dotykając żadnego pliku ręcznie:

# Pociągnij kwant GGUF prosto z Hugging Face i pogadaj z nim
ollama run hf.co/bartowski/gemma-2-9b-it-GGUF:Q4_K_M

# Tag quanta po dwukropku wybiera plik wewnątrz repo
ollama run hf.co/ggml-org/gemma-3-4b-it-GGUF:Q8_0

Masz już sam pobrany plik .gguf? Skieruj na niego Modelfile:

# Modelfile — wystarczy jedna linia
FROM ./gemma-2-9b-it-Q4_K_M.gguf
ollama create gemma9b -f Modelfile
ollama run gemma9b

Ollama sama decyduje o zrzucie warstw na GPU i wystawia API zgodne z OpenAI na porcie 11434, więc każde narzędzie mówiące tym API może używać modelu. Cena za wygodę to kontrola: nie wybierasz, ile warstw idzie na GPU.

Jak uruchomić plik GGUF w llama.cpp?

llama.cpp to miejsce, gdzie GGUF się rodzi — format istnieje dla niego — więc wsparcie jest najgłębsze i najświeższe. Binarka llama-server daje jednocześnie UI czatu i endpoint zgodny z OpenAI:

# Pobierz wprost z Hugging Face (dobierze pasujący GGUF do twojej maszyny)
llama-server -hf ggml-org/gemma-3-4b-it-GGUF --port 8080

# Albo odpal plik, który już masz, z pełnym zrzuceniem na GPU
llama-server -m ./gemma-2-9b-it-Q4_K_M.gguf -ngl 99 --port 8080

-ngl 99 wciska 99 warstw na GPU; ustaw niżej, niż pozwala twój VRAM, a reszta zostaje na CPU. Ten suwak częściowego zrzutu to supermoc llama.cpp — model 9B działa dobrze na karcie 6 GB przy 20 z 48 warstw zrzuconych, tylko wolniej. Do jednorazowego promptowania zamiast serwera zamień llama-server na llama-cli z tą samą flagą -m.

LM Studio to ten sam silnik za desktopowym GUI: upuść plik .gguf do jego katalogu modeli (albo przeszukaj Hugging Face w aplikacji) i kliknij load. Co do samego wyboru narzędzi, porównanie Ollama vs LM Studio mówi, co podłożyć pod modele.

Którą kwantyzację GGUF pobrać?

Odpowiedź domyślna: Q4_K_M. To społecznościowy sweet spot — w granicach jednego–dwu procenta jakości pełnej precyzji przy mniej więcej jednej czwartej rozmiaru. Drabinka, od największego:

  • Q8_0 — prawie bezstratna; bierz, jeśli twój VRAM zje 8,5 bita na wagę i nie zauważy.
  • Q6_K / Q5_K_M — stopień niżej rozmiarem, nadal znakomite dla modeli 30B+.
  • Q4_K_M — domyślna. Dla modeli 7–14B tu szczytuje jakość na gigabajt.
  • IQ4_XS / Q3_K_M — żeby wcisnąć duży model na małą kartę; utrata jakości robi się zauważalna.
  • Q2_K i niżej — ostatnia deska ratunku; model zaczyna rozłazić się w bełkot w połowie zdania.

Reguła kciuka dopasowania: rozmiar pliku w GB plus ~1–2 GB narzutu na kontekst powinny zmieścić się w VRAM-ie. Q4_K_M o rozmiarze 4,7 GB dla modelu 9B jest komfortowy na karcie 8 GB. Wybieraj mniejszy model w wyższym kwancie zamiast większego modelu w fatalnym kwancie — Q8 4B zwykle bije Q2 9B.

GGUF vs Safetensors: którego formatu potrzebujesz?

Safetensors to nieskwantyzowany format archiwum — wagi pełnej precyzji do treningu, fine-tuningu i narzędzi typu transformers albo ComfyUI. GGUF to skwantyzowany, uruchamialny format do inferencji na własnym sprzęcie. Nie zrobisz fine-tuningu GGUF-a, a pliku safetensors nie odpalisz w Ollamie ani llama.cpp bez wcześniejszej konwersji (do tego służy skrypt convert_hf_to_gguf.py w llama.cpp). Reguła: trening albo pipeline’y obrazowe → safetensors; lokalny czat i serwowanie → GGUF. Jeśli twoje wyszukiwanie zaczęło się od „gguf vs safetensors”, ten podział to cała odpowiedź.

Którego runnera GGUF użyć?

RunnerNajlepszy doInstalacjaZrzut na GPUAPI zgodne z OpenAI
OllamaUsługa nastaw-i-zapomnijOne-liner z curlAutomatycznyTak (:11434/v1)
llama.cppMaksimum kontroli, najnowsze funkcjeKompilacja albo menedżer pakietówRęczny suwak -nglTak (llama-server)
LM StudioDesktopowe GUI, przeglądanie modeliPobranie aplikacjiAutomatycznyTak (lokalny serwer)
vLLMSerwowanie wielu użytkowników wsadowopip install vllmAutomatycznyTak (natywne)

Wybierz Ollamę, jeśli chcesz mieć to odpalone od bootu i poza zasięgiem wzroku — tak robię na swoim homelabie, żeby serwować modele całej sieci. Wybierz llama.cpp, gdy potrzebujesz funkcji w dniu premiery (nowe architektury lądują tam najpierw) albo chcesz kontroli pamięci na poziomie warstw. Wybierz LM Studio do GUI. Wybierz vLLM tylko wtedy, gdy jeden model ma obsłużyć wielu równoczesnych użytkowników — jego wsparcie GGUF działa, ale jest drugiej klasy wobec natywnych formatów.

Dlaczego mój model GGUF się nie ładuje?

Cztery błędy pokrywające większość przypadków:

  1. unknown model architecture — GGUF używa architektury nowszej niż twój runtime (nowe modele MoE i wizyjne lądują non stop). Zaktualizuj Ollamę albo przebuduj llama.cpp; innej naprawy nie ma.
  2. Brak pamięci przy ładowaniu — kwant jest za duży na twój VRAM plus kontekst. Zejdź o szczebel (Q4_K_MQ3_K_M), obniż -ngl albo ścieśnij kontekst przez -c 4096.
  3. Pobieranie urwane / uszkodzone — ładowanie GGUF pada z błędem magic number albo metadanych. Pobierz ponownie i porównaj SHA256 pokazany na stronie Hugging Face.
  4. ollama run ./model.gguf odmawia — oczekiwane: run w Ollamie bierze nazwy modeli, nie ścieżki. Użyj drogi z Modelfilem pokazanej wyżej.

Ostatni kąt warty znajomości: lokalny endpoint GGUF dobrze pasuje do narzędzi agentic coding — skieruj na niego klienta zgodnego z OpenAI, a uzupełnienia kosztują wyłącznie prąd. Najlepsze lokalne LLM do kodowania testowały, które modele zasługują na to miejsce, gdy hydraulika z tego przewodnika już działa.

— mrsaynothing

Get the next one by email

One email per post. No spam, no algorithms.

self-hosted · no third parties · one-click unsubscribe

what is this?

Git: synchronizacja forka z upstream na 3 bezpieczne sposoby

Podobają się teksty? Tak buduję zawodowo. zatrudnij mnie