W niektórych miejscach modelu siedzą pojedyncze wartości kilkanaście albo kilkadziesiąt razy większe od sąsiadów. Nie są błędem treningu i nie są przypadkowe — pojawiają się konsekwentnie w tych samych miejscach, niezależnie od architektury i od tego, kto model trenował.
Czym są wartości odstające
Wartości odstające to wagi lub aktywacje o amplitudzie wielokrotnie przekraczającej typowy rozkład w danej warstwie. Model wykształca je w trakcie treningu jako nośniki sygnału o szczególnym znaczeniu — usunięcie ich albo nadmierne zaokrąglenie degraduje jakość znacznie bardziej, niż wynikałoby z ich liczby.
Dlaczego psują kwantyzację
Współczynnik skalujący grupy wyznacza się z największej wartości bezwzględnej w tej grupie. Jedna wartość odstająca rozciąga skalę dla wszystkich pozostałych: przy szesnastu dostępnych poziomach rozłożonych na całym tym dystansie sąsiednie wagi lądują na tym samym poziomie i przestają się od siebie różnić.
Paradoks polega na tym, że sama wartość odstająca zostaje odwzorowana dobrze — to ona wyznaczyła skalę. Cierpi cała reszta grupy.
Jak się je chroni
Najprostsza odpowiedź to wyłączenie ich z kwantyzacji: kilka wag na grupę zapisuje się w pełnej precyzji wraz z ich pozycją i nie bierze się ich pod uwagę przy wyznaczaniu skali. Kosztuje to ułamek procenta rozmiaru pliku i ratuje większość dokładności — żadna inna decyzja w kwantyzacji nie ma takiego stosunku zysku do kosztu.
Bardziej rozbudowane metody przesuwają problem z aktywacji na wagi albo odwrotnie, korzystając z tego, że jedne łatwiej kwantyzować niż drugie.
Gdzie strata wychodzi
Nierównomiernie. Model nie staje się o kilka procent gorszy we wszystkim — pozostaje nieodróżnialny w zadaniach typowych i zaczyna się sypać tam, gdzie odpowiedź zależy od wąskiego marginesu: przy rzadkiej wiedzy, poprawnej składni, długich zadaniach i tekście w języku słabiej reprezentowanym w danych treningowych.