AWQ
Jak działa
AWQ przepuszcza przez model mały zbiór kalibracyjny i mierzy magnitudy aktywacji na wejściu każdej warstwy liniowej. Kanały wag odpowiadające największym aktywacjom uznaje za istotne. Dla każdego kanału wyznacza współczynnik skalujący: wagę istotnego kanału mnoży się przez skalę (redukując jej relatywny błąd kwantyzacji), a odpowiadającą aktywację dzieli przez tę samą skalę, co zachowuje wynik mnożenia macierzy. Optymalną skalę dobiera się siatkowo, minimalizując błąd wyjścia warstwy. Po wyznaczeniu skal wagi kwantyzuje się grupowo do 4 bitów. Metoda nie wymaga wstecznej propagacji ani rekonstrukcji drugiego rzędu, więc jest szybka i dobrze generalizuje na różne domeny.
Rozwiązany problem
Naiwna kwantyzacja 4-bitowa traci dokładność, bo niewielki ułamek wag odpowiadających kanałom o dużej magnitudzie aktywacji jest krytyczny dla jakości modelu, a jednolita kwantyzacja psuje właśnie te kanały. AWQ rozwiązuje to, identyfikując istotne kanały z rozkładu aktywacji i skalując je tak, by ich błąd kwantyzacji był znikomy, bez potrzeby danych treningowych z etykietami ani wstecznej propagacji.
Kluczowe mechanizmy
Mocne strony i ograniczenia
Komponenty
Pomiar magnitud aktywacji na zbiorze kalibracyjnym w celu wskazania kanałów wag krytycznych dla jakości wyjścia.
Mnożenie wag istotnego kanału przez skalę i dzielenie aktywacji przez tę samą skalę, co zmniejsza błąd kwantyzacji bez zmiany wyniku mnożenia.
Po dobraniu skal wagi kwantyzuje się grupowo (np. grupy po 128) do całkowitych 4-bitowych wartości ze skalą per grupa.
Implementacja
Identyfikacja istotnych kanałów zależy od statystyk aktywacji; zbiór kalibracyjny odbiegający od danych docelowych daje suboptymalne skale.
Korzyść wydajnościowa AWQ wymaga kerneli obsługujących spakowane wagi INT4; uruchomienie przez naiwną dekwantyzację niweluje przyspieszenie.
Ewolucja
Zespół MIT Han Lab przedstawia AWQ jako metodę kwantyzacji 4-bit świadomą aktywacji, bez wstecznej propagacji.
Metoda staje się jednym ze standardów kwantyzacji 4-bit i zostaje zintegrowana w vLLM oraz TensorRT-LLM.
Hiperparametry (konfigurowalne osie)
Docelowa precyzja skwantyzowanych wag.
Liczba wag dzielących skalę przy kwantyzacji grupowej.
Rozmiar zbioru używanego do pomiaru statystyk aktywacji.
Złożoność obliczeniowa
Złożoność czasowa: O(L x G x N_kalib) kalibracja + inferencja jak gęsty model. Złożoność przestrzenna: ~4,x bita / waga (INT4 + skale per kanał).
W pracy źródłowej (MLSys 2024, Best Paper) AWQ osiąga niższą perplexity niż round-to-nearest i konkuruje z GPTQ na modelach LLaMA/OPT przy 4-bit, przy zachowaniu jakości na zadaniach instruktażowych i multimodalnych. Proces kwantyzacji jest szybki (rzędu minut-godzin zależnie od rozmiaru), bo nie wymaga treningu ani odwracania Hesjanu.
Wąskie gardło obliczeniowe
Koszt AWQ dominują przejścia zbioru kalibracyjnego przez model i przeszukiwanie siatki skal per warstwa; inferencja jest ograniczona pamięcią jak w INT4.
Paradygmat wykonania
Wszystkie kanały pozostają aktywne; różnicowane jest jedynie skalowanie wag.
AWQ nie wprowadza routingu; to metoda kwantyzacji wag dla gęstych obliczeń.
Równoległość
Kalibracja przebiega warstwa po warstwie (statystyki aktywacji), ale w obrębie warstwy jest równoległa; inferencja w pełni równoległa.
Wymagania sprzętowe
Modele AWQ działają z zoptymalizowanymi kernelami INT4 (np. w vLLM, TensorRT-LLM, AutoAWQ) na GPU NVIDIA, łącząc małą pamięć z wysoką przepustowością.
Wagi AWQ można eksportować do formatów uruchamialnych na CPU, choć szczytową wydajność osiąga się na GPU.