Robocikowo>ROBOCIKOWO
Trening

QAT

2018AktywnyOpublikowano: 16 października 2026Aktualizacja: 16 października 2026Opublikowany
Technika treningu/dostrajania, w której model uczony jest z symulacją niskobitowej kwantyzacji wag i aktywacji, aby zachować dokładność po właściwej kwantyzacji.
Kluczowa innowacja
Wprowadził symulację kwantyzacji (fake quantization) do pętli treningu, z propagacją gradientu przez estymator prostego przejścia (STE), dzięki czemu model uczy się kompensować błędy kwantyzacji i zachowuje dokładność przy inferencji niskobitowej.
Kategoria
Trening
Poziom abstrakcji
Wzorzec
Poziom operacji
TreningPo-trening
Zastosowania
Inferencja na urządzeniach mobilnych i brzegowych (on-device)Kompresja dużych modeli językowych do niskiej precyzjiWdrożenia na sprzęcie wspierającym arytmetykę całkowitoliczbowąRedukcja zużycia pamięci i energii przy zachowaniu dokładnościEkstremalnie niskobitowe modele (np. ~2-bitowe lub ternarne)

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

Symulowana kwantyzacja (fake quantization)Odwzorowuje efekt kwantyzacji w przebiegu w przód (kwantyzacja + dekwantyzacja), aby model trenował na wartościach obarczonych szumem.
Obserwatory zakresów (scale / zero-point)Szacują zakresy wartości wag i aktywacji, wyznaczając parametry kwantyzacji (skalę i punkt zerowy).
Estymator prostego przejścia (STE)Umożliwia propagację gradientu przez nieróżniczkowalną operację zaokrąglania, traktując ją jako tożsamość.

Implementacja

Pułapki implementacyjne
Nieróżniczkowalna kwantyzacjaWysoka

Operacja zaokrąglania blokuje gradient; bez obejścia trening się nie uczy.

Rozwiązanie:Stosuje się estymator prostego przejścia (STE) do propagacji gradientu przez kwantyzację.
Kwantyzacja aktywacji i wartości odstająceWysoka

Aktywacje są trudniejsze do kwantyzacji niż wagi; wartości odstające mocno degradują dokładność przy niskiej precyzji.

Koszt treninguŚrednia

Pełny QAT wymaga istotnych zasobów treningowych, co bywa niepraktyczne dla dużych modeli.

Rozwiązanie:Metody wydajnego QAT (np. trening blokowy / EfficientQAT) ograniczają koszt.

Ewolucja

Oryginalny paper · 2018 · CVPR 2018 · Benoit Jacob
Quantization and Training of Neural Networks for Efficient Integer-Arithmetic-Only Inference
Benoit Jacob, Skirmantas Kligys, Bo Chen, Menglong Zhu, Matthew Tang, Andrew Howard, Hartwig Adam, Dmitry Kalenichenko
2013
Estymator prostego przejścia (STE)

Bengio, Léonard i Courville sformalizowali propagację gradientu przez nieróżniczkowalne/stochastyczne neurony — fundament dla późniejszego QAT.

2018
QAT dla inferencji całkowitoliczbowej (Google)
Punkt przełomowy

Jacob i in. współprojektowali procedurę treningu z symulowaną kwantyzacją, definiując współczesne QAT dla wydajnej inferencji na CPU (MobileNety).

2023
LLM-QAT (Meta)

Przeniesienie QAT na duże modele językowe z podejściem bezdanowym (data-free), kwantyzujące wagi, aktywacje i cache KV.

2024
BitNet b1.58 — era modeli 1-bitowych
Punkt przełomowy

Modele językowe trenowane z wagami ternarnymi (1,58 bita) od podstaw, pokazujące skrajnie niskobitowy trening świadomy kwantyzacji.

2024
EfficientQAT

Wydajny algorytm QAT (trening blokowy) umożliwiający niskobitową kwantyzację LLM, w tym ~2-bitową, przy ograniczonych zasobach.

Hiperparametry (konfigurowalne osie)

Szerokość bitowaKrytyczna

Docelowa precyzja wag/aktywacji (np. 8, 4, 2 bity). Niższa precyzja = mniejszy model, trudniejszy trening.

Granularność kwantyzacjiWysoka

Per-tensor, per-channel lub per-group — wpływa na dokładność vs narzut.

Schemat kwantyzacjiWysoka

Symetryczny vs asymetryczny; osobne traktowanie wag i aktywacji.

Budżet dostrajaniaŚrednia

Liczba kroków/danych na etapie QAT — równoważy koszt treningu i odzysk dokładności.

Równoległość

Poziom równoległości
Częściowo równoległy

QAT zrównolegla się jak zwykły trening (data/model parallelism); dodatkowy narzut pochodzi z operacji fake-quant.

Zakres
TreningPomiędzy urządzeniami

Wymagania sprzętowe

Dobry fit

Oryginalny schemat celował w inferencję wyłącznie całkowitoliczbową na powszechnie dostępnych CPU (np. MobileNety on-device).

Dobry fit

Ścieżki niskobitowe (INT8/INT4) na rdzeniach tensorowych przyspieszają inferencję modeli po QAT.