QAT
Jak działa
1) Do modelu wstawia się węzły symulowanej kwantyzacji (fake-quant) na wagach i zwykle na aktywacjach, wraz z obserwatorami szacującymi zakresy wartości (skala, punkt zerowy). 2) W przebiegu w przód wartości są kwantyzowane do siatki niskobitowej i dekwantyzowane, więc model liczy na wartościach obarczonych szumem kwantyzacji. 3) W przebiegu wstecznym nieróżniczkowalne zaokrąglenie omija się estymatorem prostego przejścia (STE), traktując kwantyzację jak funkcję tożsamościową dla gradientu. 4) Wagi są aktualizowane tak, aby minimalizować stratę mimo kwantyzacji. 5) Po treningu model eksportuje się do rzeczywistej reprezentacji całkowitoliczbowej/niskobitowej do wydajnej inferencji. Często QAT stosuje się jako krótki etap dostrajania na wstępnie wytrenowanym modelu.
Rozwiązany problem
Niskobitowa kwantyzacja drastycznie zmniejsza rozmiar modelu i koszt inferencji, ale naiwne zaokrąglenie wag wytrenowanego modelu (PTQ) powoduje utratę dokładności, szczególnie przy precyzjach poniżej 8 bitów. QAT rozwiązuje ten problem, pozwalając modelowi nauczyć się kompensować błędy kwantyzacji jeszcze w trakcie treningu.
Komponenty
Implementacja
Operacja zaokrąglania blokuje gradient; bez obejścia trening się nie uczy.
Aktywacje są trudniejsze do kwantyzacji niż wagi; wartości odstające mocno degradują dokładność przy niskiej precyzji.
Pełny QAT wymaga istotnych zasobów treningowych, co bywa niepraktyczne dla dużych modeli.
Ewolucja
Bengio, Léonard i Courville sformalizowali propagację gradientu przez nieróżniczkowalne/stochastyczne neurony — fundament dla późniejszego QAT.
Jacob i in. współprojektowali procedurę treningu z symulowaną kwantyzacją, definiując współczesne QAT dla wydajnej inferencji na CPU (MobileNety).
Przeniesienie QAT na duże modele językowe z podejściem bezdanowym (data-free), kwantyzujące wagi, aktywacje i cache KV.
Modele językowe trenowane z wagami ternarnymi (1,58 bita) od podstaw, pokazujące skrajnie niskobitowy trening świadomy kwantyzacji.
Wydajny algorytm QAT (trening blokowy) umożliwiający niskobitową kwantyzację LLM, w tym ~2-bitową, przy ograniczonych zasobach.
Hiperparametry (konfigurowalne osie)
Docelowa precyzja wag/aktywacji (np. 8, 4, 2 bity). Niższa precyzja = mniejszy model, trudniejszy trening.
Per-tensor, per-channel lub per-group — wpływa na dokładność vs narzut.
Symetryczny vs asymetryczny; osobne traktowanie wag i aktywacji.
Liczba kroków/danych na etapie QAT — równoważy koszt treningu i odzysk dokładności.
Równoległość
QAT zrównolegla się jak zwykły trening (data/model parallelism); dodatkowy narzut pochodzi z operacji fake-quant.
Wymagania sprzętowe
Oryginalny schemat celował w inferencję wyłącznie całkowitoliczbową na powszechnie dostępnych CPU (np. MobileNety on-device).
Ścieżki niskobitowe (INT8/INT4) na rdzeniach tensorowych przyspieszają inferencję modeli po QAT.