Wróć do bloga

Czy vLLM uruchomi GGUF? Tak — tylko na GPU

23 września 2026

W zeszłym tygodniu czytelnik zapytał, dlaczego jego plik GGUF wywala się w vLLM na maszynie bez GPU, podczas gdy ten sam plik działa bez zarzutu w Ollamie. Krótka odpowiedź, zanim cokolwiek innego: tak, vLLM uruchamia GGUF — przez oficjalną wtyczkę, tylko na GPU. Wtyczka nazywa się vllm-gguf-plugin, składnia to repo:quant_type, a w momencie, gdy próbujesz na CPU, wyszedłeś poza tabelę wspieranego sprzętu. Wszystko poniżej pochodzi z dokumentacji vLLM i historii repozytorium vllm-project/vllm (ponad 92 tys. gwiazdek od lutego 2023) — z dokumentów, nie z mojego stanowiska testowego.

Jak serwować model GGUF w vLLM?

Dwa kroki: zainstaluj wtyczkę, potem skieruj vLLM na model. Wsparcie GGUF nie mieszka już w rdzeniu vLLM — dokumentacja odnotowuje, że „zmigrował do vllm-gguf-plugin”, więc samo pip install vllm nie wystarczy:

uv pip install vllm-gguf-plugin

# Bezpośrednio z Hugging Face, w formacie repo_id:quant_type:
vllm serve unsloth/Qwen3-0.6B-GGUF:Q4_K_M 
  --tokenizer Qwen/Qwen3-0.6B

# Albo już pobrany plik lokalny:
vllm serve ./Qwen3-0.6B-Q4_K_M.gguf 
  --tokenizer Qwen/Qwen3-0.6B

Flaga --tokenizer to nie ozdoba. Oficjalna dokumentacja zaleca tokenizer z modelu bazowego, bo konwersja tokenizera z GGUF jest „czasochłonna i niestabilna, szczególnie przy modelach z dużym słownikiem”. Jej pominięcie to zamiana flagi z jednej linii na długi, kapryśny start.

Dwie GPU, jeden model: dodaj --tensor-parallel-size 2, żeby rozdzielić ten sam GGUF na obie karty — tensor parallelism działa z GGUF tak samo jak z każdym innym formatem.

Dlaczego vLLM odrzuca GGUF na CPU?

To jest część, która zaskakuje. Reputacja GGUF to najpierw CPU — to format, na którym llama.cpp zbudowało swoją nazwę, działając na laptopach i Raspberry Pi. Wewnątrz vLLM sytuacja się odwraca. Oficjalna tabela zgodności sprzętowej oznacza GGUF:

SprzętGGUF w vLLM
NVIDIA Volta / Turing / Ampere / Ada / Hopperobsługiwany
GPU AMDobsługiwany
GPU Intelnieobsługiwany
CPU x86nieobsługiwany
CPU Armnieobsługiwany

Źródło: dokumentacja kwantyzacji vLLM. Powód jest architektoniczny: ścieżka GGUF w vLLM dekwantyzuje bloki do kerneli GPU zbudowanych pod serwowanie partiami. Za nimi nie stoi kernel CPU — bo vLLM to silnik serwowania, nie zabawka na laptopa. Bez GPU na maszynie żadna flaga nie pomoże — użyj llama.cpp.

Co się psuje: uczciwa lista ograniczeń

Ta sama strona dokumentacji niesie ostrzeżenie warte dosłownego cytatu: „wsparcie GGUF w vLLM jest wysoce eksperymentalne i słabo zoptymalizowane”. Konkretnie:

  • Pokrycie kwantyzacji jest węższe niż w llama.cpp. K-quantly, które wszyscy pobierają (Q4_K_M i spółka), działają; egzotyczne schematy nie zawsze. llama.cpp pozostaje referencyjną implementacją formatu.
  • Wsparcie architektur nadąża z opóźnieniem. Nowe rodziny modeli lądują najpierw w llama.cpp; wtyczka nadchodzi później.
  • Brak leniwego ładowania przez mmap. llama.cpp mapuje plik do pamięci; vLLM ładuje go jak każdy inny checkpoint.
  • To przede wszystkim funkcja śladu pamięciowego. Dokumentacja przedstawia GGUF jako sposób na zejście z zużyciem VRAM, nie jako zakład o przepustowość.

Nic z tego nie jest ukryte. Wszystko stoi w pierwszym akapicie oficjalnej strony GGUF — więcej niż daje większość funkcji eksperymentalnych.

vLLM czy llama.cpp do GGUF: kto wygrywa?

Różne narzędzia czytające ten sam plik:

vLLM + GGUFllama.cpp
Inferencja na CPUnietak, pierwsza klasa
Użytkownicy równocześniecontinuous batching, stworzone do tegoograniczone
Pokrycie quantówpodzbiór, eksperymentalnepunkt odniesienia
InstalacjavLLM + wtyczkajedna binarka
Idealne dlajedna GPU, wielu użytkownikówjeden użytkownik, dowolny sprzęt

Jeśli serwujesz model zespołowi z jednej GPU, vLLM + GGUF pozwala ponownie użyć tych samych plików Q4_K_M, którymi dzieli się cały świat local-LLM — z większym wyborem w naszym przewodniku po kwantyzacji GGUF. Po pełne porównanie silników zobacz llama.cpp vs Ollama i jak uruchamiać modele GGUF lokalnie.

Reguła w jednej linii: ten sam plik, przeciwne instynkty — llama.cpp traktuje GGUF jako format nadrzędny, vLLM jako jedną z opcji.

FAQ

Czy vLLM uruchomi modele GGUF?

Tak. Zainstaluj vllm-gguf-plugin i serwuj składnią repo:quant_type — ale tylko na GPU. Ścieżka CPU w vLLM nie obsługuje GGUF.

Czy vLLM uruchomi GGUF na CPU?

Nie. Oficjalna tabela zgodności sprzętowej oznacza GGUF jako nieobsługiwany na CPU x86 i Arm — llama.cpp albo Ollama pozostają drogą CPU.

Serwować GGUF przez vLLM czy llama.cpp?

vLLM, gdy jedna GPU ma obsługiwać wielu użytkowników naraz; llama.cpp, gdy maszyna nie ma GPU albo chcesz najszerszego pokrycia kwantyzacji.

— mrsaynothing

— mrsaynothing

Notatki z pogranicza AI, Linuksa i self-hostingu.

Otrzymaj następną instrukcję mailem

Jeden mail na wpis. Napraw i idź dalej.

self-hosted · zero podmiotów trzecich · wypisz się jednym kliknięciem

co to jest?

128k kontekstu na desktopie to kłamstwo. Cache KV zjadł go w całości.

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