Szybka odpowiedź

Kwantyzacja zmniejsza wagi 2-4 razy względem BF16, więc na tej samej karcie mieści się większy model albo więcej użytkowników. FP8 to bezpieczny wybór domyślny: w publicznych badaniach jest praktycznie bezstratny. NVFP4 daje kolejne prawie dwukrotne zmniejszenie i natywne przyspieszenie na GPU Blackwell, ale jakość trzeba sprawdzić na własnych zadaniach, szczególnie u agentów. AWQ i GPTQ to 4-bitowe kwantyzacje samych wag, przydatne, gdy brakuje pamięci albo karty nie obsługują FP8. Nie wierz deklaracjom producenta ani benchmarkom: zmierz na własnym zbiorze testowym.

Czym różnią się FP8, NVFP4, MXFP4 i AWQ?

FormatCo jest kwantyzowaneBity na wartośćSprzętowe przyspieszenieTypowe źródło wag
BF16nic (punkt odniesienia)16wszystkie współczesne GPUoryginalne wagi producenta
FP8 (E4M3)wagi i aktywacje (W8A8)8rdzenie Tensor od generacji Ada i Hopper, także Blackwelloficjalne wersje producentów, np. Qwen
NVFP4wagi i aktywacje (W4A4), często tylko część warstwok. 4,5rdzenie Tensor piątej generacji (Blackwell)NVIDIA Model Optimizer, część producentów, np. Mistral
MXFP4wagi (np. eksperci w MoE)ok. 4,25Blackwell; na starszych kartach ścieżka zastępczanp. gpt-oss wydany od razu w MXFP4
AWQ, GPTQtylko wagi (W4A16)ok. 4 + skalenie potrzebują nowych rdzeni, działają od Turingaspołeczność, czasem producenci
GGUF (Q4, Q5, Q8)wagi, różne schematy4-8zależnie od silnikaspołeczność, dla llama.cpp i Ollamy

Kilka szczegółów, które mają znaczenie w praktyce:

  • FP8 ma 4 bity wykładnika i 3 bity mantysy (E4M3). Format opisuje praca Micikevicius i in. (2022). Qwen publikuje wersje FP8 z „drobnoziarnistą” kwantyzacją w blokach po 128 i deklaruje wyniki niemal identyczne z oryginałem (Qwen3.8-27B-FP8).
  • NVFP4 zapisuje wartości w formacie E2M1 (zakres mniej więcej od -6 do 6), w blokach po 16 wartości z jedną skalą FP8 na blok i drugą skalą FP32 na cały tensor. Daje to ok. 4,5 bita na wartość i według NVIDII zmniejsza pamięć ok. 3,5 raza względem FP16 i ok. 1,8 raza względem FP8 (NVIDIA).
  • MXFP4 to otwarty standard OCP z blokami po 32 wartości i skalą będącą potęgą dwójki (E8M0) (OCP Microscaling Formats). Mniejsze bloki i ułamkowa skala w NVFP4 dają dokładniejsze dopasowanie niż MXFP4.
  • AWQ wybiera ok. 1% najważniejszych kanałów wag na podstawie statystyk aktywacji i skaluje je przed kwantyzacją, żeby zmniejszyć błąd bez mieszania precyzji (Lin i in., 2023, nagroda za najlepszą pracę MLSys 2024). GPTQ kwantyzuje wagi warstwa po warstwie z korekcją błędu (Frantar i in., 2022).

Ile pamięci zajmuje model w każdym formacie i ile zostaje na cache KV, liczymy w przewodniku ile VRAM do lokalnego LLM.

Dlaczego „W8A8” i „W4A16” to nie to samo?

Oznaczenie mówi, co jest skwantyzowane: W to wagi, A to aktywacje.

  • W4A16 (AWQ, GPTQ) zmniejsza tylko wagi. Przy generowaniu token po tokenie, gdzie wąskim gardłem jest odczyt wag z pamięci, to przyspiesza. Ale obliczenia nadal idą w 16 bitach, więc przy długich promptach i wielu użytkownikach naraz, gdy karta liczy, a nie czeka na pamięć, zysk maleje.
  • W8A8 (FP8) i W4A4 (NVFP4) zmniejszają wagi i aktywacje, więc mnożenia macierzy idą na rdzeniach Tensor niższej precyzji. To przyspiesza także przetwarzanie długich promptów, czyli typowy ruch RAG i agentów.

Dobrze to widać w dużym badaniu na całej rodzinie Llama 3.1 (ponad 500 tys. ewaluacji): FP8 W8A8 okazał się praktycznie bezstratny, dobrze dostrojony INT8 tracił 1-3%, a W4A16 wypadł zaskakująco dobrze, porównywalnie z kwantyzacją 8-bitową. Autorzy rekomendują W4A16 przy pojedynczych zapytaniach, a W8A8 przy ciągłym batchingu wielu zapytań (Kurtic i in., ACL 2025).

Co mówią publiczne pomiary jakości NVFP4?

  • NVIDIA podaje, że DeepSeek-R1-0528 po kwantyzacji z FP8 do NVFP4 traci 1% lub mniej na kluczowych zadaniach, np. MMLU-Pro 85% wobec 84% i GPQA Diamond 81% wobec 80% (NVIDIA).
  • Karta nvidia/Qwen3.8-27B-NVFP4 pokazuje wyniki w granicach około punktu procentowego od BF16: GPQA Diamond 88,92 wobec 88,01, IFBench 80,07 wobec 78,93, a AA-LCR nawet nieco wyżej (72,63 wobec 73,38). Ważny szczegół: to kwantyzacja mieszana. NVFP4 objął warstwy MLP i głowicę wyjściową, a warstwy uwagi zostały w FP8.

Te liczby są wiarygodne, ale mierzą to, co mierzą: odpowiedzi na pytania testowe. Nie mierzą, czy agent wywoła właściwe narzędzie z poprawnymi argumentami ani czy model utrzyma wymagany format przez setki kroków.

Co widzimy w praktyce na Blackwellu?

Na naszych GPU NVIDIA Blackwell serwujemy modele z tych samych rodzin w wariantach FP8 i NVFP4 i porównujemy je na prawdziwym ruchu agentów i baz wiedzy. Nie publikujemy tu naszych pomiarów przepustowości. Opisujemy obserwacje jakościowe, które zmieniły nasze decyzje:

  1. Zwykły tekst i matematyka bez różnic, wywołania narzędzi gorsze. W jednym teście wariant NVFP4 pisał poprawną prozę i liczył poprawnie, ale część wywołań narzędzi była zduplikowana, a w części model zmyślał argumenty. Silnik w tej wersji nie miał natywnej ścieżki FP4 dla części warstw i używał kernela zastępczego, kwantyzującego tylko wagi. Wniosek: NVFP4 nie nadawał się jako bezpośredni zamiennik FP8 dla agenta.
  2. Ten sam silnik, różny format odpowiedzi. W porównaniu A/B na identycznym silniku i identycznych promptach wariant NVFP4 wyraźnie częściej łamał ścisły format odpowiedzi, którego wymagała aplikacja, niż wariant FP8, który go nie łamał. Ponieważ silnik i prompty były te same, przyczyną była kwantyzacja. Wróciliśmy do FP8 bez zmian po stronie klientów, pod tym samym adresem.
  3. Tam, gdzie wystarczy „dobry tekst”, NVFP4 działa. Model z innej rodziny w NVFP4 długo i stabilnie obsługiwał u nas opisywanie obrazów przy indeksowaniu dokumentów i odpowiedzi po polsku.
  4. AWQ jako wyjście awaryjne. Kwantyzacje AWQ INT4 stosowaliśmy wcześniej dla dużych modeli gęstych, gdy liczyła się pamięć. Dziś, gdy producenci publikują oficjalne wersje FP8 i NVFP4, sięgamy po nie rzadziej.

Dlatego dziś domyślnie serwujemy agentów w FP8, a NVFP4 wybieramy dla zadań, w których zweryfikowaliśmy, że różnica nie ma znaczenia.

Wsparcie sprzętu i silnika: sprawdź logi

„Blackwell” to kilka wariantów układu. GPU do centrów danych (np. B200, B300) i karty stacjonarne oraz stacje robocze z serii RTX mają różne architektury obliczeniowe, a silniki dodają dla nich kernele w różnym tempie. Publiczny przykład: zgłoszenie w vLLM z grudnia 2025 r. opisuje, że na kartach RTX Blackwell (SM120) model w MXFP4 nie trafiał do natywnych kerneli i silnik przechodził na kernel Marlin z ostrzeżeniem, że to kwantyzacja samych wag, która może obniżyć wydajność (vLLM #31085).

Co z tego wynika:

  • Po uruchomieniu modelu przeczytaj logi silnika. Ostrzeżenie o braku natywnego wsparcia FP4 albo użyciu kernela Marlin oznacza, że nie dostajesz tego, za co płacisz formatem 4-bitowym.
  • Ścieżka zastępcza może zmienić nie tylko szybkość, ale i zachowanie modelu. U nas to właśnie wtedy pogorszyły się wywołania narzędzi.
  • Tabela wsparcia sprzętu w dokumentacji vLLM nie ma osobnej kolumny dla Blackwella (vLLM: Quantization), więc wsparcie dla Twojej karty i Twojej wersji silnika trzeba sprawdzić w praktyce.
  • Wybór silnika też ma znaczenie: vLLM i SGLang różnią się kernelami dla tych samych formatów. Porównanie silników opisujemy w artykule vLLM czy SGLang.

Kto zrobił kwantyzację?

Ten sam model w NVFP4 od trzech różnych autorów to trzy różne modele. Różnią się danymi kalibracyjnymi, metodą i tym, które warstwy zostały w wyższej precyzji.

  • Producent modelu: Qwen publikuje oficjalne wersje FP8, Mistral oficjalną wersję NVFP4 Mistral Small 4, Google kwantyzacje Gemma 4 trenowane świadomie pod 4 bity (QAT), które według Google zachowują jakość zbliżoną do BF16 (Gemma 4 QAT).
  • NVIDIA: publikuje wersje NVFP4 popularnych modeli przygotowane w Model Optimizer (NVIDIA Model Optimizer), zwykle z tabelą wyników w karcie.
  • Społeczność: wersje AWQ, GPTQ i GGUF. Bywają świetne, ale jakość zależy od autora. Własną kwantyzację zrobisz np. narzędziem LLM Compressor.

Kolejność preferencji: kwantyzacja trenowana (QAT) lub oficjalna od producenta, potem od NVIDII z opublikowanymi wynikami, na końcu społecznościowa.

Kiedy który format?

SytuacjaWybór
Agenci z narzędziami, ścisły format odpowiedziFP8, NVFP4 dopiero po teście A/B na własnych zadaniach
RAG, streszczenia, opisy obrazów, czatNVFP4 warto przetestować, często wystarcza
Model nie mieści się w FP8NVFP4 (Blackwell) albo AWQ/GPTQ (starsze karty)
Starsze GPU bez FP8AWQ lub GPTQ
Pojedynczy użytkownik, CPU, MacGGUF w llama.cpp lub Ollamie
Model wydany od razu w 4 bitach (QAT, MXFP4)wersja producenta, bez dodatkowej kwantyzacji

Osobna decyzja to cache KV w FP8. Zmniejsza o połowę pamięć na kontekst, więc pozwala obsłużyć więcej rozmów albo dłuższy kontekst (vLLM: Quantized KV Cache). Też warto ją sprawdzić na długich promptach.

Lista kontrolna przed zmianą formatu

  1. Masz punkt odniesienia: ten sam model w FP8 albo BF16 na tym samym silniku.
  2. Zbiór testowy obejmuje Twoje prawdziwe zadania, a nie tylko pytania wiedzy ogólnej.
  3. Osobno mierzysz wywołania narzędzi: właściwe narzędzie, poprawne argumenty, brak duplikatów.
  4. Osobno mierzysz wymagany format odpowiedzi i język.
  5. Testujesz długi kontekst, bo błędy kwantyzacji kumulują się w długich sesjach.
  6. W logach silnika sprawdzasz, czy używa natywnych kerneli dla formatu.
  7. Wiesz, kto zrobił kwantyzację i na jakich danych ją kalibrowano.
  8. Masz plan powrotu: poprzednie wagi i konfiguracja zostają gotowe do szybkiego przełączenia.

Jak budujemy i utrzymujemy serwowanie modeli na GPU, opisujemy na stronie Infrastruktura AI. Jak wybrać sam model, zanim zdecydujesz o formacie, piszemy w artykule Qwen, Gemma, GLM, Mistral czy Bielik.

Źródła

Formaty i metody:

Karty modeli i narzędzia:

Silniki: