Robocikowo>ROBOCIKOWO
Wnioskowanie

FP4

2023AktywnyOpublikowano: 2 września 2026Aktualizacja: 2 września 2026Opublikowany
Kwantyzacja do 4-bitowych formatów zmiennoprzecinkowych (E2M1) z mikroblokowym skalowaniem (NVFP4, MXFP4) do inferencji i treningu, wspierana sprzętowo w rdzeniach Tensor NVIDIA Blackwell.
Kluczowa innowacja
Kompresja wag i aktywacji sieci neuronowych do 4-bitowych formatów zmiennoprzecinkowych (E2M1) z blokowym współczynnikiem skalowania, co pozwala na inferencję i trening z dwukrotnie mniejszym zużyciem pamięci i wyższą przepustowością niż FP8 przy zbliżonej jakości.
Kategoria
Wnioskowanie
Poziom abstrakcji
Wzorzec
Poziom operacji
Element architekturyModelInferencjaTrening
Zastosowania
Inferencja dużych modeli językowychSerwowanie modeli MoE (np. wagi ekspertów w MXFP4)Pretrening dużych modeli językowych w 4-bitach (NVFP4)Redukcja zużycia pamięci i kosztu obliczeń na GPUModele rozumujące o dużym budżecie tokenów

Jak działa

Wartości tensora są rzutowane na 4-bitowy format E2M1, który reprezentuje tylko kilkanaście poziomów. Aby zachować zakres dynamiczny, tensor dzieli się na małe bloki (16 wartości w NVFP4, 32 w MXFP4); dla każdego bloku wyznaczany jest współczynnik skalujący (E4M3 w NVFP4, E8M0 w MXFP4), który sprowadza wartości bloku do zakresu reprezentowalnego w FP4. NVFP4 dodaje drugą, globalną skalę FP32 na cały tensor (skalowanie dwupoziomowe). Mnożenia macierzy wykonywane są na rdzeniach Tensor w FP4, a akumulacja odbywa się w wyższej precyzji. W treningu FP4 stosuje się dodatkowe techniki stabilizujące: transformaty Hadamarda tłumiące wartości odstające, kwantyzację dwuwymiarową, stochastyczne zaokrąglanie gradientów oraz pozostawianie wybranych warstw w wyższej precyzji.

Rozwiązany problem

Duże modele językowe są ograniczane przepustowością pamięci i jej pojemnością. Formaty 8- i 16-bitowe wciąż wymagają dużo pamięci i przepustowości. FP4 o połowę zmniejsza rozmiar wag względem FP8 i podwaja przepustowość obliczeń macierzowych, obniżając koszt i pobór energii inferencji oraz treningu modeli frontier.

Komponenty

Format E2M1Reprezentacja wag i aktywacji w 4 bitach

4-bitowy format zmiennoprzecinkowy: 1 bit znaku, 2 bity wykładnika, 1 bit mantysy. Reprezentuje kilkanaście dyskretnych wartości w zakresie ok. -6 do +6 (0, 0.5, 1, 1.5, 2, 3, 4, 6 i ich wartości ujemne). Wspólny układ bitowy dla NVFP4 i MXFP4.

NVFP4Wariant FP4 zoptymalizowany dla rdzeni Tensor Blackwell

Format FP4 firmy NVIDIA ze skalowaniem dwupoziomowym: mikroblok 16 wartości ze skalą E4M3 FP8 (dopuszcza skale nie będące potęgą dwójki, z precyzją ułamkową) oraz dodatkowa skala FP32 na cały tensor. Mniejszy blok niż w MXFP4 daje drobniejsze skalowanie i mniejszy błąd kwantyzacji; ok. 1% lub mniej degradacji dokładności względem FP8 na DeepSeek-R1.

MXFP4Otwarty, branżowy wariant FP4

Format FP4 zgodny ze standardem Microscaling (MX) Open Compute Project: bloki po 32 wartości ze wspólną skalą w formacie E8M0 (wyłącznie potęgi dwójki, 8-bitowy wykładnik). Prostszy sprzętowo od NVFP4, lecz o grubszym skalowaniu. Wykorzystywany m.in. w otwartowagowych modelach gpt-oss firmy OpenAI.

Skalowanie blokowe (microscaling)Zachowanie zakresu dynamicznego przy 4 bitach

Mechanizm nadający każdemu małemu blokowi wartości osobny współczynnik skalujący, aby zmieścić rozkład bloku w wąskim zakresie FP4. Rozmiar bloku i format skali (E4M3 vs E8M0) determinują kompromis między dokładnością a złożonością sprzętową.

Implementacja

Pułapki implementacyjne
Skrajnie wąski zakres 4 bitówKrytyczna

4 bity reprezentują tylko kilkanaście poziomów, więc bez skalowania blokowego dochodzi do dużego błędu kwantyzacji, przepełnienia lub zapadania wartości do zera.

Rozwiązanie:Stosuj skalowanie blokowe (microscaling): NVFP4 z blokiem 16 i skalą E4M3 lub MXFP4 z blokiem 32 i skalą E8M0.
Wartości odstające i wrażliwe warstwyWysoka

Wartości odstające w aktywacjach oraz warstwy wrażliwe na precyzję (normalizacja, softmax, gradienty) mogą znacząco tracić dokładność w FP4, zwłaszcza przy treningu.

Rozwiązanie:Transformaty Hadamarda tłumiące odstające wartości, stochastyczne zaokrąglanie gradientów i pozostawienie wybranych warstw w wyższej precyzji.
Zależność od sprzętu BlackwellŚrednia

Pełne przyspieszenie FP4 wymaga rdzeni Tensor piątej generacji (NVIDIA Blackwell); na starszym sprzęcie korzyści są ograniczone lub emulowane programowo.

Rozwiązanie:Planuj wdrożenia FP4 pod GPU Blackwell; na starszym sprzęcie rozważ FP8.

Ewolucja

Oryginalny paper · 2023 · EMNLP 2023 · Shih-yang Liu
LLM-FP4: 4-Bit Floating-Point Quantized Transformers
Shih-yang Liu, Zechun Liu, Xijie Huang, Pingcheng Dong, Kwang-Ting Cheng
2023
LLM-FP4: kwantyzacja LLM do 4-bitowego floata (post-training)
Punkt przełomowy

Pierwsza metoda kwantyzacji wag i aktywacji LLM do 4-bitowego formatu zmiennoprzecinkowego w trybie post-training, z kwantyzacją aktywacji per-kanał.

2023
Standard Microscaling (MX) OCP — definicja MXFP4
Punkt przełomowy

Open Compute Project standaryzuje formaty MX (m.in. MXFP4) łączące wąski format zmiennoprzecinkowy E2M1 z blokową skalą E8M0 (bloki po 32 wartości).

2025
Sprzętowe FP4 w NVIDIA Blackwell i format NVFP4
Punkt przełomowy

Rdzenie Tensor piątej generacji w architekturze Blackwell natywnie obsługują FP4; NVIDIA wprowadza NVFP4 (bloki 16, skala E4M3 + FP32) do dokładnej inferencji o niskiej precyzji.

2025
OpenAI udostępnia gpt-oss z wagami MoE w MXFP4

Otwartowagowe modele gpt-oss zostają udostępnione z wagami ekspertów MoE skwantyzowanymi do MXFP4, upowszechniając FP4 poza ekosystem NVIDIA.

2025
Pretrening LLM w NVFP4 (12B na 10T tokenów)
Punkt przełomowy

NVIDIA demonstruje pretrening modelu 12B na 10 bln tokenów w NVFP4 — najdłuższy publicznie udokumentowany trening w 4-bitach — z jakością porównywalną do FP8.

Hiperparametry (konfigurowalne osie)

Wariant formatu (NVFP4 / MXFP4)Krytyczna

Wybór wariantu FP4 determinujący rozmiar bloku i format skali.

NVFP4Blok 16, skala E4M3 + FP32 na tensor
MXFP4Blok 32, skala E8M0 (potęga dwójki)
Rozmiar bloku skalowaniaWysoka

Liczba wartości dzielących jeden współczynnik skalujący. Mniejszy blok = drobniejsze skalowanie i mniejszy błąd.

16NVFP4
32MXFP4
Format współczynnika skalowaniaWysoka

Format liczbowy wspólnej skali bloku.

E4M3 (FP8)NVFP4 — skale nie będące potęgą dwójki
E8M0MXFP4 — wyłącznie potęgi dwójki
Etap zastosowaniaŚrednia

Czy FP4 stosuje się po treningu (inferencja) czy w trakcie pretreningu.

post-training (inferencja)Najczęstsze zastosowanie
pretraining (NVFP4)Trening 12B na 10T tokenów

Paradygmat wykonania

Tryb główny
Gęsty

FP4 to format numeryczny stosowany w gęstych mnożeniach macierzy na rdzeniach Tensor; akumulacja odbywa się w wyższej precyzji.

Równoległość

Poziom równoległości
W pełni równoległy

Kwantyzacja i mnożenia FP4 są w pełni równoległe na rdzeniach Tensor GPU, zarówno w treningu, jak i inferencji.

Zakres
TreningInferencjaPomiędzy urządzeniami

Wymagania sprzętowe

Podstawowe

FP4 (NVFP4, MXFP4) jest natywnie wspierany przez rdzenie Tensor piątej generacji w architekturze NVIDIA Blackwell, dając ok. 2x przepustowość względem FP8 i ok. 1.8x mniejsze zużycie pamięci.

Ograniczony

Formaty 4-bitowe nie są podstawowym natywnym trybem tensor na akceleratorach innych niż NVIDIA; wsparcie jest ograniczone lub programowe.