Ako funguje kvantizácia modelov umelej inteligencie – a prečo na tom záleží
Kvantizácia modelov umelej inteligencie zmenšuje rozsiahle neurónové siete redukciou numerickej presnosti, čím znižuje využitie pamäte a zrýchľuje inferenciu pri zachovaní presnosti – táto technika pretvára spôsob, akým sa umelá inteligencia nasadzuje.
Problém: Modely umelej inteligencie sú príliš rozsiahle
Moderné modely umelej inteligencie sú obrovské. Rozsiahly jazykový model so siedmimi miliardami parametrov vyžaduje približne 14 gigabajtov pamäte v štandardnom 16-bitovom formáte s pohyblivou desatinnou čiarkou – a najväčšie modely sú stokrát väčšie. Spúšťanie týchto modelov si vyžaduje drahý špecializovaný hardvér, spotrebúva obrovské množstvo energie a takmer znemožňuje nasadenie na telefónoch, notebookoch alebo periférnych zariadeniach.
Kvantizácia ponúka elegantné riešenie: zmenšiť model znížením numerickej presnosti jeho vnútorných hodnôt. Namiesto ukladania každého čísla ako 32-bitovej alebo 16-bitovej hodnoty s pohyblivou desatinnou čiarkou, kvantizácia ich konvertuje na 8-bitové celé čísla alebo ešte menšie formáty. Výsledkom je model, ktorý využíva zlomok pamäte, beží rýchlejšie a spotrebúva menej energie – často s zanedbateľnou stratou presnosti.
Ako funguje kvantizácia
Vo svojej podstate je kvantizácia problémom mapovania. Neurónové siete ukladajú dva hlavné typy čísel: váhy (naučené parametre, ktoré definujú model) a aktivácie (dynamické výstupy produkované pri prechode dát cez každú vrstvu). V modeloch s plnou presnosťou sú tieto hodnoty typicky uložené ako 32-bitové čísla s pohyblivou desatinnou čiarkou (FP32), čo dáva každej hodnote približne sedem desatinných miest presnosti.
Kvantizácia komprimuje tieto hodnoty do formátov s nižšou presnosťou. Medzi najbežnejšie ciele patrí FP16 (16-bitová pohyblivá desatinná čiarka), BF16 (brain floating-point, preferovaná pre trénovanie), INT8 (8-bitové celé číslo) a novší formát FP8. Každý formát alokuje bity odlišne medzi znamienko, exponent a mantisu, pričom vymieňa rozsah a presnosť za kompaktnosť.
Proces funguje výpočtom škálovacieho faktora, ktorý mapuje pôvodný rozsah hodnôt do menšieho rozsahu cieľového formátu. Napríklad, ak sa hodnoty tenzora pohybujú od −3,0 do 3,0, škálovací faktor mapuje tento rozsah na rozsah −128 až 127 formátu INT8. Granularita tohto mapovania – či už sa aplikuje na tenzor, kanál alebo blok – priamo ovplyvňuje presnosť.
Dva hlavné prístupy
Kvantizácia po trénovaní (PTQ)
PTQ je jednoduchšia a populárnejšia metóda. Vezme plne natrénovaný model a konvertuje jeho váhy (a voliteľne aj aktivácie) na nižšiu presnosť bez akéhokoľvek pretrénovania. PTQ len s váhami kvantizuje statické parametre priamo. PTQ s váhami a aktiváciami komprimuje aj dynamické aktivácie, ale vyžaduje malú kalibračnú dátovú sadu na určenie optimálnych škálovacích faktorov. Podľa technickej dokumentácie spoločnosti NVIDIA, pokročilé algoritmy PTQ ako AWQ chránia kritické váhové kanály prostredníctvom analýzy aktivácií, zatiaľ čo GPTQ používa informácie o Hessiánovej matici pre presnejšiu kompresiu.
Kvantizáciou riadené trénovanie (QAT)
QAT integruje kvantizáciu do samotného trénovacieho procesu. Vkladá moduly „falošnej kvantizácie“, ktoré simulujú efekty nízkej presnosti počas prechodov dopredu, čo umožňuje modelu prispôsobiť svoje váhy tak, aby kompenzovali chyby zaokrúhľovania. QAT vo všeobecnosti produkuje presnejšie kvantizované modely ako PTQ, ale vyžaduje prístup k trénovacím dátam a značné výpočtové zdroje.
Výkonnostný zisk
Výhody sú značné. Kvantizácia INT8 môže znížiť pamäťovú stopu modelu o 75 percent v porovnaní s FP32, pričom poskytuje až štyrikrát rýchlejšiu inferenciu na kompatibilnom hardvéri. Prechod z FP16 na FP8 opäť znižuje pamäť na polovicu – zmenšuje 14-gigabajtový model na približne sedem gigabajtov. Moderné GPU ako NVIDIA H100 a H200 obsahujú vyhradené tenzorové jadrá pre operácie FP8, vďaka čomu je kvantizovaná inferencia nielen menšia, ale aj natívne rýchlejšia.
Nedávno oznámený algoritmus TurboQuant od spoločnosti Google posúva hranice ešte ďalej, komprimuje pamäť cache kľúč-hodnota šesťnásobne pomocou iba troch bitov na hodnotu – s nulovou merateľnou stratou presnosti. Ako informoval TechCrunch, táto technika nevyžaduje trénovanie a je dátovo neutrálna, čo znamená, že organizácie ju môžu aplikovať na existujúce modely bez pretrénovania.
Kompromisy
Kvantizácia nie je zadarmo. Agresívna kompresia – najmä pod 8 bitov – môže zhoršiť presnosť pri úlohách vyžadujúcich jemné numerické uvažovanie. Odľahlé hodnoty vo váhach alebo aktiváciách môžu byť slabo reprezentované vo formátoch s nízkou presnosťou, čo vedie k chybám, ktoré sa kaskádovito šíria sieťou. Techniky ako SmoothQuant, ktorá aplikuje škálovanie na kanál na prerozdelenie magnitúd odľahlých hodnôt, pomáhajú zmierniť tieto efekty.
Dôležitý je aj výber metódy. PTQ je rýchla a pohodlná, ale môže obetovať presnosť pri citlivých úlohách. QAT lepšie zachováva presnosť, ale jej implementácia je nákladnejšia. V praxi väčšina produkčných nasadení používa kombináciu: PTQ pre počiatočnú kompresiu, s cielenou QAT pre kritické komponenty modelu.
Prečo na tom teraz záleží
Keďže modely umelej inteligencie rastú a dopyt po inferencii na zariadeniach exploduje, kvantizácia sa stala nevyhnutnou infraštruktúrou. Umožňuje chatbotom spúšťať sa na smartfónoch, lekárskej umelej inteligencii fungovať vo vidieckych klinikách bez cloudovej konektivity a spoločnostiam obsluhovať milióny používateľov bez budovania nových dátových centier. S novými formátmi ako FP8, ktoré sa stávajú hardvérovo natívnymi, a algoritmami ako TurboQuant, ktoré posúvajú kompresné pomery stále vyššie, kvantizácia nenápadne pretvára to, kde a ako môže umelá inteligencia fungovať.