Robocikowo>ROBOCIKOWO
Trening

Low-bit training

2017AktywnyOpublikowany
Trening sieci neuronowych w niskiej precyzji liczbowej (FP8, FP4, INT8, 1-bit/ternary) redukujący pamięć i koszt obliczeń.
Kluczowa innowacja
Pozwala trenować sieci neuronowe w precyzji poniżej 16 bitów (FP8, FP4/MXFP4, INT8, a nawet 1-bitowe/ternarne wagi), drastycznie redukując zużycie pamięci, przepustowość komunikacji i koszt obliczeń przy zachowaniu jakości modelu.
Kategoria
Trening
Poziom abstrakcji
Wzorzec
Poziom operacji
TreningModelPo-trening
Zastosowania
Pretrening dużych modeli językowych (LLM)Redukcja kosztu i energii treningu w skaliTrening rozproszony z mniejszym wolumenem komunikacjiQuantization-aware training pod niskobitową inferencjęTrening modeli na brzegu/urządzeniach o ograniczonej pamięci

Jak działa

Rdzeniem jest reprezentacja tensorów w wąskim formacie (np. 8, 4 lub mniej bitów) przy jednoczesnym kontrolowaniu błędu kwantyzacji. W treningu mieszanej precyzji mnożenia macierzy wykonywane są w niskiej precyzji, ale akumulacja i aktualizacja wag odbywa się na kopii w wyższej precyzji (master weights), a skalowanie straty zapobiega niedomiarowi (underflow) małych gradientów. Dla FP8 i FP4 stosuje się współczynniki skali (per-tensor lub per-block, jak w formatach mikroskalowanych MX), które dopasowują zakres dynamiczny danych do wąskiego formatu. W quantization-aware training wprowadza się operacje "fake quantization" w przebiegu w przód, a gradient przepuszczany jest przez nie estymatorem prostym (straight-through estimator). Architektury 1-bitowe/ternarne (BitNet) zastępują warstwy liniowe wariantem BitLinear, który trenuje skrajnie niskobitowe wagi od zera.

Rozwiązany problem

Rosnące modele wymagają coraz więcej pamięci, przepustowości i energii na trening. Standardowa precyzja FP32/FP16 marnuje zasoby, bo zakres i dokładność liczb są większe, niż potrzeba. Low-bit training zmniejsza rozmiar wag i aktywacji, przyspiesza mnożenia macierzy na dedykowanym sprzęcie oraz ogranicza wolumen komunikacji w treningu rozproszonym.

Komponenty

Kopia wag w wysokiej precyzji (master weights)Stabilizacja aktualizacji wag

Kopia wag przechowywana w FP32/BF16, aktualizowana przez optymalizator; chroni przed kumulacją błędu zaokrągleń przy aktualizacjach małymi krokami.

Skalowanie straty (loss scaling)Zachowanie zakresu gradientów

Mnożenie straty przez współczynnik przed propagacją wsteczną, aby małe gradienty nie wpadły w niedomiar w niskiej precyzji; może być statyczne lub dynamiczne.

Oficjalna

Współczynniki skali / mikroskalowanieDopasowanie zakresu do formatu

Współczynniki per-tensor lub per-block dopasowujące zakres dynamiczny danych do wąskiego formatu (FP8, FP4, MXFP4); w formatach MX współdzielone w obrębie bloku.

Oficjalna

Symulowana kwantyzacja (fake quant) + STEPrzygotowanie do niskobitowej inferencji

W QAT operacja kwantyzacji w przebiegu w przód symuluje niską precyzję, a gradient przechodzi przez nią estymatorem prostym (STE).

Oficjalna

Niskobitowe mnożenie macierzy (low-bit GEMM)Źródło przyspieszenia obliczeń

Operacja mnożenia macierzy wykonywana w niskiej precyzji z akumulacją w wyższej precyzji, zwykle na rdzeniach tensorowych GPU/TPU.

Implementacja

Pułapki implementacyjne
Wartości odstające i zakres dynamicznyWysoka

Aktywacje LLM zawierają wartości odstające o dużej amplitudzie, które przy wąskim formacie powodują duży błąd kwantyzacji i niestabilność.

Rozwiązanie:Skalowanie per-block/mikroskalowanie, osobne traktowanie kanałów odstających lub zachowanie wrażliwych warstw w wyższej precyzji.
Niedomiar gradientów (underflow)Wysoka

Małe gradienty w FP16/FP8 wpadają w zero, zatrzymując uczenie.

Rozwiązanie:Skalowanie straty (statyczne lub dynamiczne) oraz akumulacja w wyższej precyzji.
Gradient przez kwantyzację (STE)Średnia

Operacja kwantyzacji jest nieróżniczkowalna; estymator prosty (STE) wprowadza obciążenie gradientu, co może pogarszać zbieżność.

Rozwiązanie:Dobór progów/skal, miękkie warianty kwantyzacji, stopniowe wprowadzanie kwantyzacji.
Niestabilność przy skrajnie niskich bitachWysoka

Trening 1-bit/ternarny i FP4 jest wrażliwy na dobór hiperparametrów, inicjalizację i schemat skalowania; łatwo o rozbieżność.

Rozwiązanie:Dedykowane warstwy (BitLinear), formaty mikroskalowane, mieszanie precyzji dla wrażliwych operacji.

Ewolucja

Oryginalny paper · 2017 · ICLR 2018 · Paulius Micikevicius
Mixed Precision Training
Paulius Micikevicius, Sharan Narang, Jonah Alben, Gregory Diamos, Erich Elsen, David Garcia, Boris Ginsburg, Michael Houston
2017
Trening mieszanej precyzji (FP16)
Punkt przełomowy

NVIDIA wprowadza trening w FP16 z master weights i loss scaling, obniżając koszt bez utraty dokładności.

2017
Quantization-aware training (INT8)

Jacob i in. łączą symulowaną kwantyzację z treningiem, by umożliwić inferencję całkowitoliczbową.

2022
Format FP8 (E4M3/E5M2)
Punkt przełomowy

Wspólna propozycja NVIDIA/Arm/Intel standaryzuje 8-bitowy format zmiennoprzecinkowy do treningu i inferencji.

2023
BitNet (wagi 1-bitowe)

Pierwszy skalowalny Transformer trenowany od zera z wagami 1-bitowymi (warstwa BitLinear).

2023
Formaty mikroskalowane (MX, MXFP4)

Formaty MX z per-blokowym współczynnikiem skali umożliwiają trening generatywnych modeli językowych poniżej 8 bitów.

2024
BitNet b1.58 (wagi ternarne)
Punkt przełomowy

Wagi {-1,0,1} dorównują modelom FP16 przy tej samej liczbie parametrów i tokenów, definiując nowe prawo skalowania.

2024
Trening FP8 w skali (DeepSeek-V3)

DeepSeek-V3 (671B parametrów MoE) wykorzystuje framework treningu mieszanej precyzji FP8 w bardzo dużej skali.

2025
Pretrening w NVFP4
Punkt przełomowy

NVIDIA demonstruje pretrening dużych modeli językowych w 4-bitowym formacie NVFP4.

Hiperparametry (konfigurowalne osie)

Format liczbowy / szerokość bitowaKrytyczna

Wybór formatu: BF16/FP16, FP8 (E4M3/E5M2), FP4/MXFP4/NVFP4, INT8, 1-bit/ternary. Decyduje o kompromisie pamięć/dokładność.

FP8 (E4M3/E5M2)
MXFP4 / NVFP4
ternary (1.58-bit)
Granularność skalowaniaWysoka

Poziom, na którym dobierany jest współczynnik skali: per-tensor, per-channel lub per-block (mikroskalowanie). Drobniejsza granularność poprawia stabilność przy niższych bitach.

per-tensor
per-block (MX, blok 32 elementów)
Strategia kwantyzacjiWysoka

PTQ (po treningu) vs QAT (świadomy kwantyzacji) vs trening natywnie niskobitowy od zera. Wpływa na jakość przy niskich bitach.

QAT
native low-bit (BitNet)
Skalowanie stratyŚrednia

Statyczny lub dynamiczny współczynnik zapobiegający niedomiarowi gradientów; kluczowy przy FP16/FP8.

dynamic
static (np. 1024)

Złożoność obliczeniowa

Złożoność przestrzenna: O(b).

Równoległość

Zakres
TreningPomiędzy urządzeniami

Wymagania sprzętowe

Podstawowe

Rdzenie tensorowe GPU natywnie wspierają formaty niskobitowe: FP8 od architektury Hopper, FP4 (NVFP4/MXFP4) od architektury Blackwell.

Dobry fit

TPU wspierają BF16 i formaty całkowitoliczbowe oraz coraz niższe precyzje w treningu.

Ograniczony

Bez dedykowanych jednostek niskobitowych korzyść wydajnościowa jest ograniczona; zysk jest głównie pamięciowy.