Robocikowo>ROBOCIKOWO
Wnioskowanie

NVFP4

2025AktywnyOpublikowany
NVFP4 to 4-bitowy format zmiennoprzecinkowy NVIDIA (element FP4 E2M1) z dwupoziomowym skalowaniem: skala FP8 (E4M3) na blok 16 elementów i globalna skala FP32 na tensor.
Kluczowa innowacja
Wprowadza dwupoziomowe skalowanie 4-bitowego formatu FP4: współdzieloną skalę FP8 (E4M3) na mały blok 16 elementów oraz globalną skalę FP32 na tensor, co daje wyższą dokładność niż MXFP4 przy tej samej liczbie bitów danych.
Kategoria
Wnioskowanie
Poziom abstrakcji
Wzorzec
Poziom operacji
ModelTreningInferencja
Zastosowania
Inferencja dużych modeli językowych w 4-bitowej precyzji z dokładnością bliską FP8Trening (pretraining) dużych modeli językowych w niskiej precyzji na sprzęcie BlackwellRedukcja zużycia pamięci i przepustowości względem formatów 8-bitowychSerwowanie modeli reasoningowych (np. DeepSeek-R1) przy minimalnej utracie jakości

Jak działa

Tensor jest najpierw normalizowany jednym globalnym współczynnikiem w formacie FP32 na cały tensor. Następnie dzieli się go na bloki 16 kolejnych elementów; dla każdego bloku wyznaczany jest osobny współczynnik skali w formacie FP8 E4M3 (4-bitowy wykładnik, 3-bitowa mantysa — skala ułamkowa, nie tylko potęgi dwójki). Elementy są skalowane i zapisywane w 4-bitowym formacie FP4 E2M1, kodującym 16 wartości (0, ±0,5, ±1, ±1,5, ±2, ±3, ±4, ±6). Mnożenia macierzy wykonują rdzenie Tensor piątej generacji NVIDIA Blackwell, które natywnie mnożą wartości FP4, uwzględniają skale blokowe i tensorowe, a akumulują w wyższej precyzji. W treningu (praca NVIDIA) format uzupełniają techniki takie jak losowe transformaty Hadamarda dla wartości odstających, kwantyzacja dwuwymiarowa, zaokrąglanie stochastyczne gradientów oraz pozostawianie wrażliwych warstw w wyższej precyzji.

Rozwiązany problem

Kwantyzacja 4-bitowa z pojedynczym współczynnikiem na tensor lub z gruboziarnistą skalą potęgi dwójki (jak w MXFP4) traci zbyt dużo dokładności przy tak małej liczbie bitów. NVFP4 ogranicza tę stratę dzięki mniejszym blokom (16 elementów) i dokładniejszej, ułamkowej skali FP8 E4M3 wspartej globalną normalizacją FP32, dając niską zajętość pamięci przy dokładności zbliżonej do FP8.

Komponenty

Blok mikroskalowania (16 elementów)Jednostka grupowania dla drobnoziarnistego skalowania blokowego.

Grupa 16 kolejnych wartości tensora dzielących jeden współczynnik skali FP8 E4M3.

Współczynnik skali bloku (FP8 E4M3)Dokładne dopasowanie zakresu wartości bloku.

8-bitowy współczynnik zmiennoprzecinkowy (4 bity wykładnika, 3 bity mantysy) skalujący blok 16 elementów; skala ułamkowa, nie tylko potęgi dwójki.

Globalny współczynnik tensora (FP32)Globalna normalizacja zakresu tensora (drugi poziom skalowania).

Pojedynczy współczynnik FP32 na cały tensor, normalizujący jego ogólny zakres przed skalowaniem blokowym.

Element FP4 (E2M1)Reprezentacja pojedynczych elementów po przeskalowaniu.

4-bitowa wartość zmiennoprzecinkowa: 1 bit znaku, 2 bity wykładnika, 1 bit mantysy; koduje 16 poziomów, maksimum ±6.

Implementacja

Pułapki implementacyjne
Narzut dwupoziomowego skalowania (blok 16 + FP32)Średnia

NVFP4 używa mniejszego bloku (16) i skali FP8 E4M3 na blok oraz globalnej skali FP32. Daje to wyższą dokładność niż MXFP4, ale większy narzut bitów skali (~4,5 bita/element) i bardziej złożoną ścieżkę kwantyzacji/dekwantyzacji.

Rozwiązanie:Stosować format na sprzęcie z natywnym wsparciem FP4 (Blackwell); rozważyć kompromis narzut/dokładność wobec MXFP4 zależnie od modelu.
Wartości odstające przy tak niskiej precyzjiWysoka

FP4 E2M1 koduje tylko 16 wartości, więc wartości odstające silnie degradują jakość, zwłaszcza w treningu. Praca NVIDIA stosuje losowe transformaty Hadamarda, kwantyzację 2D, zaokrąglanie stochastyczne gradientów i pozostawianie wrażliwych warstw w wyższej precyzji.

Rozwiązanie:Kwantyzować selektywnie (mixed precision), tłumić wartości odstające (Hadamard) i stosować zaokrąglanie stochastyczne w treningu.

Ewolucja

Oryginalny paper · 2025 · arXiv 2025 · NVIDIA
Pretraining Large Language Models with NVFP4
NVIDIA, Felix Abecassis, Anjulie Agrusa
2025
NVIDIA przedstawia NVFP4 dla inferencji
Punkt przełomowy

NVIDIA prezentuje NVFP4 jako 4-bitowy format o dwupoziomowym skalowaniu (skala FP8 E4M3 na blok 16 + globalna skala FP32) dla efektywnej i dokładnej inferencji niskiej precyzji na architekturze Blackwell.

2025
Trening LLM w NVFP4 (12B / 10 bln tokenów)
Punkt przełomowy

Praca NVIDIA „Pretraining Large Language Models with NVFP4” pokazuje trening modelu 12B na 10 bln tokenów w 4-bitowej precyzji, z jakością porównywalną do bazy FP8, dzięki losowym transformatom Hadamarda, kwantyzacji 2D i zaokrąglaniu stochastycznemu.

Hiperparametry (konfigurowalne osie)

Rozmiar blokuKrytyczna

Liczba elementów dzielących jeden współczynnik skali. W NVFP4 wynosi 16 (dwukrotnie mniej niż w MXFP4).

16Rozmiar bloku NVFP4.
Format elementuKrytyczna

Format pojedynczego elementu: FP4 E2M1 (2 bity wykładnika, 1 bit mantysy).

E2M1Ten sam element co w MXFP4.
Format skali blokuKrytyczna

Format współczynnika skali na blok; w NVFP4 to FP8 E4M3 (skala ułamkowa) zamiast E8M0 z MXFP4.

E4M3 (FP8)4 bity wykładnika, 3 bity mantysy.
Format skali tensoraWysoka

Format globalnego współczynnika na cały tensor; w NVFP4 to FP32.

FP32Drugi poziom skalowania (globalny).

Złożoność obliczeniowa

Złożoność przestrzenna: ~4 bity/element + skala FP8 (E4M3) na 16 elementów + jeden FP32 na tensor.

Wąskie gardło obliczeniowe

Przepustowość pamięci i dekwantyzacja

Celem NVFP4 jest odciążenie przepustowości i pojemności pamięci dzięki 4-bitowemu przechowywaniu wag. Wąskie gardło przesuwa się ku przepustowości arytmetycznej rdzeni Tensor oraz — na sprzęcie bez natywnego wsparcia FP4 — ku kosztowi dekwantyzacji bloków i stosowania dwóch poziomów skali.

Zależy od
Natywne wsparcie sprzętowe (Blackwell, 5. gen. Tensor Cores)Obsługa dwupoziomowego skalowania (blok 16 + tensor FP32)

Paradygmat wykonania

Tryb główny
Gęsty

NVFP4 to format numeryczny stosowany w mnożeniach macierzy na rdzeniach Tensor; skalowanie działa na poziomie bloku 16 elementów i całego tensora, a akumulacja odbywa się w wyższej precyzji.

Równoległość

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

Skalowanie blokowe i mnożenia NVFP4 są w pełni równoległe na rdzeniach Tensor GPU; format stosowany zarówno w inferencji, jak i w treningu.

Zakres
InferencjaTreningPomiędzy urządzeniami

Wymagania sprzętowe

Podstawowe

Rdzenie Tensor piątej generacji w architekturze NVIDIA Blackwell natywnie obsługują mnożenia NVFP4 z dwupoziomowym skalowaniem (blok 16 + tensor).

Możliwe

Format można emulować programowo, ale bez akceleracji sprzętowej i korzyści wydajnościowych.

Ograniczony

CPU nie ma natywnych mnożeń FP4; użycie ogranicza się do emulacji lub dekwantyzacji do wyższej precyzji.