Jak działa kwantyzacja modeli AI – i dlaczego ma to znaczenie
Kwantyzacja modeli AI zmniejsza ogromne sieci neuronowe poprzez redukcję precyzji numerycznej, obniżając zużycie pamięci i przyspieszając wnioskowanie przy zachowaniu dokładności – to technika, która zmienia sposób wdrażania AI.
Problem: Modele AI są zbyt duże
Współczesne modele AI są ogromne. Duży model językowy z siedmioma miliardami parametrów wymaga około 14 gigabajtów pamięci w standardowym 16-bitowym formacie zmiennoprzecinkowym – a największe modele są setki razy większe. Uruchamianie tych modeli wymaga drogiego, specjalistycznego sprzętu, zużywa ogromne ilości energii i sprawia, że wdrożenie na telefonach, laptopach lub urządzeniach brzegowych jest niemal niemożliwe.
Kwantyzacja oferuje eleganckie rozwiązanie: zmniejszenie modelu poprzez redukcję precyzji numerycznej jego wewnętrznych wartości. Zamiast przechowywać każdą liczbę jako 32-bitową lub 16-bitową wartość zmiennoprzecinkową, kwantyzacja konwertuje je na 8-bitowe liczby całkowite lub nawet mniejsze formaty. Rezultatem jest model, który zużywa ułamek pamięci, działa szybciej i pobiera mniej energii – często z pomijalną utratą dokładności.
Jak działa kwantyzacja
U podstaw kwantyzacji leży problem mapowania. Sieci neuronowe przechowują dwa główne typy liczb: wagi (wyuczone parametry, które definiują model) i aktywacje (dynamiczne wyjścia generowane, gdy dane przepływają przez każdą warstwę). W modelach o pełnej precyzji wartości te są zazwyczaj przechowywane jako 32-bitowe liczby zmiennoprzecinkowe (FP32), co daje każdej wartości około siedmiu cyfr dziesiętnych precyzji.
Kwantyzacja kompresuje te wartości do formatów o niższej precyzji. Najczęstsze cele to FP16 (16-bitowa zmiennoprzecinkowa), BF16 (zmiennoprzecinkowa mózgowa, preferowana do trenowania), INT8 (8-bitowa liczba całkowita) i nowszy format FP8. Każdy format alokuje bity inaczej w zakresie znaku, wykładnika i mantysy, wymieniając zakres i precyzję na zwartość.
Proces działa poprzez obliczenie współczynnika skali, który mapuje oryginalny zakres wartości na mniejszy zakres formatu docelowego. Na przykład, jeśli wartości tensora wahają się od -3,0 do 3,0, współczynnik skali mapuje ten zakres na zakres od -128 do 127 formatu INT8. Granularność tego mapowania – niezależnie od tego, czy jest stosowana na tensor, kanał czy blok – bezpośrednio wpływa na dokładność.
Dwa główne podejścia
Kwantyzacja po treningu (PTQ)
PTQ to prostsza i bardziej popularna metoda. Pobiera w pełni wytrenowany model i konwertuje jego wagi (i opcjonalnie aktywacje) na niższą precyzję bez ponownego trenowania. PTQ tylko dla wag kwantyzuje bezpośrednio parametry statyczne. PTQ wag i aktywacji kompresuje również dynamiczne aktywacje, ale wymaga małego zbioru danych kalibracyjnych do określenia optymalnych współczynników skali. Zgodnie z dokumentacją techniczną NVIDIA, zaawansowane algorytmy PTQ, takie jak AWQ, chronią krytyczne kanały wag poprzez analizę aktywacji, podczas gdy GPTQ wykorzystuje informacje o macierzy Hessego w celu dokładniejszej kompresji.
Kwantyzacja uwzględniająca trening (QAT)
QAT integruje kwantyzację z samym procesem treningu. Wstawia moduły „fałszywej kwantyzacji”, które symulują efekty niskiej precyzji podczas przejść do przodu, umożliwiając modelowi dostosowanie wag w celu skompensowania błędów zaokrągleń. QAT generalnie generuje dokładniejsze modele skwantyzowane niż PTQ, ale wymaga dostępu do danych treningowych i znacznych zasobów obliczeniowych.
Korzyści wydajnościowe
Korzyści są znaczne. Kwantyzacja INT8 może zmniejszyć rozmiar pamięci modelu o 75 procent w porównaniu z FP32, zapewniając jednocześnie do czterech razy szybsze wnioskowanie na kompatybilnym sprzęcie. Przejście z FP16 na FP8 ponownie zmniejsza o połowę pamięć – zmniejszając model o rozmiarze 14 gigabajtów do około siedmiu gigabajtów. Nowoczesne procesory graficzne, takie jak NVIDIA H100 i H200, zawierają dedykowane rdzenie tensorowe dla operacji FP8, dzięki czemu skwantyzowane wnioskowanie jest nie tylko mniejsze, ale i natywnie szybsze.
Niedawno ogłoszony algorytm Google TurboQuant przesuwa granice jeszcze dalej, kompresując pamięć podręczną klucz-wartość sześciokrotnie, używając zaledwie trzech bitów na wartość – przy zerowej mierzalnej utracie dokładności. Jak donosi TechCrunch, technika ta nie wymaga treningu i jest niezależna od danych, co oznacza, że organizacje mogą zastosować ją do istniejących modeli bez ponownego trenowania.
Kompromisy
Kwantyzacja nie jest darmowa. Agresywna kompresja – szczególnie poniżej 8 bitów – może obniżyć dokładność w zadaniach wymagających precyzyjnego rozumowania numerycznego. Wartości odstające w wagach lub aktywacjach mogą być słabo reprezentowane w formatach o niskiej precyzji, co prowadzi do błędów, które kaskadowo przechodzą przez sieć. Techniki takie jak SmoothQuant, która stosuje skalowanie na kanał w celu redystrybucji wielkości wartości odstających, pomagają złagodzić te efekty.
Wybór metody również ma znaczenie. PTQ jest szybkie i wygodne, ale może poświęcić dokładność w wrażliwych zadaniach. QAT lepiej zachowuje dokładność, ale jest droższe we wdrożeniu. W praktyce większość wdrożeń produkcyjnych wykorzystuje kombinację: PTQ do wstępnej kompresji, z ukierunkowanym QAT dla krytycznych komponentów modelu.
Dlaczego to ma teraz znaczenie
Wraz ze wzrostem rozmiarów modeli AI i eksplozją zapotrzebowania na wnioskowanie na urządzeniach, kwantyzacja stała się niezbędną infrastrukturą. Umożliwia chatbotom działanie na smartfonach, medycznej AI działanie w wiejskich klinikach bez łączności z chmurą oraz firmom obsługę milionów użytkowników bez budowania nowych centrów danych. Wraz z pojawianiem się nowych formatów, takich jak FP8, stających się natywnymi dla sprzętu, i algorytmów, takich jak TurboQuant, zwiększających współczynniki kompresji, kwantyzacja po cichu zmienia to, gdzie i jak może działać AI.