Kwantyzację można przeprowadzić ślepo: wziąć wagi, policzyć zakresy, zaokrąglić. Można też najpierw sprawdzić, jak model faktycznie pracuje — i wtedy zaokrąglić świadomie.
Czym jest kalibracja
Kalibracja to etap poprzedzający kwantyzację, w którym przez model przepuszcza się reprezentatywną próbkę tekstu, obserwując rozkłady aktywacji w poszczególnych warstwach. Zebrane statystyki pozwalają określić, które wagi mają realny wpływ na wynik, gdzie gromadzą się wartości odstające i które warstwy wymagają wyższej precyzji.
Co daje
Bez kalibracji wszystkie wagi traktowane są tak samo — liczy się wyłącznie ich amplituda. Z kalibracją można rozróżnić wagę dużą, ale rzadko używaną, od wagi małej, lecz stale aktywnej. Metody takie jak GPTQ czy AWQ opierają się właśnie na tej informacji, przesuwając błąd zaokrąglenia tam, gdzie najmniej szkodzi.
Różnica w jakości między wariantem kalibrowanym a niekalibrowanym przy tej samej liczbie bitów bywa większa niż różnica między czterema a ośmioma bitami bez kalibracji.
Problem doboru danych
Kalibracja jest tak dobra, jak dane, na których ją przeprowadzono. Jeśli zbiór kalibracyjny składa się z tekstów angielskich i fragmentów kodu, statystyki odzwierciedlają wzorce aktywowane przez ten materiał — a wzorce związane z fleksją, rzadszą składnią i idiomami innych języków pozostają nieuwzględnione.
Konsekwencja jest praktyczna: ten sam wariant modelu może tracić po polsku zauważalnie więcej niż po angielsku, mimo identycznych deklarowanych parametrów. Publikowane benchmarki kwantyzacji są niemal zawsze wykonywane na korpusach angielskich.
Kwantyzacja po treningu kontra w trakcie
Opisany tu mechanizm należy do kwantyzacji po treningu, wykonywanej na gotowym modelu. Alternatywą jest trening świadomy kwantyzacji, w którym model uczy się od początku z uwzględnieniem docelowej precyzji — daje lepsze wyniki, ale wymaga dostępu do procesu treningowego.