Metody kwantyzacji LLM: uruchomienie modelu 70B na pojedynczym GPU
Artykuł omawia pięć metod kwantyzacji dla dużych modeli językowych, które zmniejszają wymagania pamięciowe modeli o wielkości 70B. Każda z nich rozwiązuje problem wartości odstających (outlierów) na innym etapie procesu.
Metody kwantyzacji LLM: uruchomienie modelu 70B na pojedynczym GPU
Model o rozmiarze 70B parametrów w formacie FP16 wymaga około 140 GB pamięci wyłącznie na przechowywanie wag. W formacie 4-bitowym objętość ta spada do 35 GB, co mieści się na jednym procesorze graficznym.
Jednak proste zaokrąglanie wartości nie sprawdza się w przypadku dużych modeli. Około 0,1% wymiarów ukrytych zawiera wartości nawet 20-krotnie większe niż pozostałe elementy tensora, co zaburza siatkę kwantyzacji dla wszystkich innych parametrów.
Każda z pięciu opisanych poniżej metod zajmuje się problemem outlierów na różnych etapach:
RTN (Round-To-Nearest) Ignoruje problem. Każda waga jest po prostu zaokrąglana do najbliższego poziomu kwantyzacji bez wykorzystania danych kalibracyjnych. Najtańsza opcja, ale najsłabsza przy niskiej precyzji.
GPTQ Koreguje skutki zaokrągleń. Kwantyzuje warstwa po warstwie i kolumna po kolumnie; po każdym kroku dostosowuje pozostałe wagi, aby skompensować błąd przed przejściem dalej.
AWQ (Activation-aware Weight Quantization) Chroni ważne wagi przed zaokrągleniem. Identyfikuje około 1% kanałów wagowych mających największy wpływ i skaluje je tak, aby lepiej znosiły kwantyzację. Finalny model nadal działa całkowicie w standardowym formacie INT4.
LLM.int8() Izoluje outliery podczas wnioskowania. Wymiary zawierające odchylenia są obliczane w FP16, podczas gdy pozostałe 99,9% parametrów działa w INT8. Wyniki są następnie łączone.
QAT (Quantization-Aware Training) Rozwiązuje problem podczas trenowania. Model jest dostrojony z uwzględnieniem kwantyzacji: zaokrąglanie jest wbudowane w każdy forward pass, dzięki czemu model adaptuje się do powstających strat przed faktycznym zastosowaniem kwantyzacji.
Wszystkie pięć metod prowadzi do tego samego rezultatu — modelu działającego z niższą precyzją reprezentacji w porównaniu do oryginalnej wersji wytrenowanej. Różnica polega jedynie na tym, kiedy problem outlierów jest adresowany.
Poniższa wizualizacja dobrze podsumowuje te podejścia.
Istnieje doskonały artykuł ze szczegółowym studium metod kwantyzacji LLM: Czytaj więcej
Dlaczego to ważne
AnalizaTe metody kwantyzacji pozwalają znacząco zredukować wymagania pamięciowe dużych modeli, czyniąc je bardziej dostępnymi do użytku na standardowych kartach graficznych. Zrozumienie tych podejść jest kluczowe dla deweloperów chcących optymalizować swoje modele.
Dyskutuj w społeczności
Dziel się swoimi pytaniami i spostrzeżeniami z programistami