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.
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.
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.
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.
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.
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ą.
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.
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.
Pełne przyspieszenie FP4 wymaga rdzeni Tensor piątej generacji (NVIDIA Blackwell); na starszym sprzęcie korzyści są ograniczone lub emulowane programowo.
Pierwsza metoda kwantyzacji wag i aktywacji LLM do 4-bitowego formatu zmiennoprzecinkowego w trybie post-training, z kwantyzacją aktywacji per-kanał.
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).
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.
Otwartowagowe modele gpt-oss zostają udostępnione z wagami ekspertów MoE skwantyzowanymi do MXFP4, upowszechniając FP4 poza ekosystem NVIDIA.
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.
Wybór wariantu FP4 determinujący rozmiar bloku i format skali.
Liczba wartości dzielących jeden współczynnik skalujący. Mniejszy blok = drobniejsze skalowanie i mniejszy błąd.
Format liczbowy wspólnej skali bloku.
Czy FP4 stosuje się po treningu (inferencja) czy w trakcie pretreningu.
FP4 to format numeryczny stosowany w gęstych mnożeniach macierzy na rdzeniach Tensor; akumulacja odbywa się w wyższej precyzji.
Kwantyzacja i mnożenia FP4 są w pełni równoległe na rdzeniach Tensor GPU, zarówno w treningu, jak i inferencji.
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.
Formaty 4-bitowe nie są podstawowym natywnym trybem tensor na akceleratorach innych niż NVIDIA; wsparcie jest ograniczone lub programowe.