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?
| Format | Co jest kwantyzowane | Bity na wartość | Sprzętowe przyspieszenie | Typowe źródło wag |
|---|---|---|---|---|
| BF16 | nic (punkt odniesienia) | 16 | wszystkie współczesne GPU | oryginalne wagi producenta |
| FP8 (E4M3) | wagi i aktywacje (W8A8) | 8 | rdzenie Tensor od generacji Ada i Hopper, także Blackwell | oficjalne wersje producentów, np. Qwen |
| NVFP4 | wagi i aktywacje (W4A4), często tylko część warstw | ok. 4,5 | rdzenie Tensor piątej generacji (Blackwell) | NVIDIA Model Optimizer, część producentów, np. Mistral |
| MXFP4 | wagi (np. eksperci w MoE) | ok. 4,25 | Blackwell; na starszych kartach ścieżka zastępcza | np. gpt-oss wydany od razu w MXFP4 |
| AWQ, GPTQ | tylko wagi (W4A16) | ok. 4 + skale | nie potrzebują nowych rdzeni, działają od Turinga | społeczność, czasem producenci |
| GGUF (Q4, Q5, Q8) | wagi, różne schematy | 4-8 | zależnie od silnika | społ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:
- 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.
- 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.
- 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.
- 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?
| Sytuacja | Wybór |
|---|---|
| Agenci z narzędziami, ścisły format odpowiedzi | FP8, NVFP4 dopiero po teście A/B na własnych zadaniach |
| RAG, streszczenia, opisy obrazów, czat | NVFP4 warto przetestować, często wystarcza |
| Model nie mieści się w FP8 | NVFP4 (Blackwell) albo AWQ/GPTQ (starsze karty) |
| Starsze GPU bez FP8 | AWQ lub GPTQ |
| Pojedynczy użytkownik, CPU, Mac | GGUF 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
- Masz punkt odniesienia: ten sam model w FP8 albo BF16 na tym samym silniku.
- Zbiór testowy obejmuje Twoje prawdziwe zadania, a nie tylko pytania wiedzy ogólnej.
- Osobno mierzysz wywołania narzędzi: właściwe narzędzie, poprawne argumenty, brak duplikatów.
- Osobno mierzysz wymagany format odpowiedzi i język.
- Testujesz długi kontekst, bo błędy kwantyzacji kumulują się w długich sesjach.
- W logach silnika sprawdzasz, czy używa natywnych kerneli dla formatu.
- Wiesz, kto zrobił kwantyzację i na jakich danych ją kalibrowano.
- 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:
- NVIDIA: Introducing NVFP4 for Efficient and Accurate Low-Precision Inference (2025)
- Open Compute Project: OCP Microscaling Formats (MX) v1.0
- Micikevicius i in.: FP8 Formats for Deep Learning (2022)
- Lin i in.: AWQ, Activation-aware Weight Quantization for LLM Compression and Acceleration (2023)
- Frantar i in.: GPTQ, Accurate Post-Training Quantization for Generative Pre-trained Transformers (2022)
- Kurtic i in.: „Give Me BF16 or Give Me Death”? Accuracy-Performance Trade-Offs in LLM Quantization (ACL 2025)
Karty modeli i narzędzia:
- nvidia/Qwen3.8-27B-NVFP4
- Qwen/Qwen3.8-27B-FP8
- mistralai/Mistral-Small-4-119B-2603-NVFP4
- google/gemma-4-31B-it-qat-w4a16-ct
- NVIDIA Model Optimizer
- vLLM LLM Compressor
Silniki:
