Technologie

Jak funguje kvantizace modelů umělé inteligence – a proč na tom záleží

Kvantizace modelů umělé inteligence zmenšuje rozsáhlé neuronové sítě snížením numerické přesnosti, čímž snižuje využití paměti a zrychluje inferenci při zachování přesnosti – technika, která mění způsob nasazování umělé inteligence.

R
Redakcia
4 min čtení
Sdílet
Jak funguje kvantizace modelů umělé inteligence – a proč na tom záleží

Problém: Modely umělé inteligence jsou příliš velké

Moderní modely umělé inteligence jsou obrovské. Velký jazykový model se sedmi miliardami parametrů vyžaduje přibližně 14 gigabajtů paměti ve standardním 16bitovém formátu s plovoucí desetinnou čárkou – a největší modely jsou stokrát větší. Provoz těchto modelů vyžaduje drahý specializovaný hardware, spotřebovává obrovské množství energie a znemožňuje nasazení na telefonech, laptopech nebo okrajových zařízeních.

Kvantizace nabízí elegantní řešení: zmenšit model snížením numerické přesnosti jeho vnitřních hodnot. Místo ukládání každého čísla jako 32bitové nebo 16bitové hodnoty s plovoucí desetinnou čárkou je kvantizace převede na 8bitová celá čísla nebo ještě menší formáty. Výsledkem je model, který využívá zlomek paměti, běží rychleji a spotřebovává méně energie – často s zanedbatelnou ztrátou přesnosti.

Jak kvantizace funguje

Kvantizace je ve své podstatě problém mapování. Neuronové sítě ukládají dva hlavní typy čísel: váhy (naučené parametry, které definují model) a aktivace (dynamické výstupy produkované při průchodu dat každou vrstvou). V modelech s plnou přesností jsou tyto hodnoty obvykle uloženy jako 32bitová čísla s plovoucí desetinnou čárkou (FP32), což dává každé hodnotě přibližně sedm desetinných míst přesnosti.

Kvantizace komprimuje tyto hodnoty do formátů s nižší přesností. Mezi nejběžnější cíle patří FP16 (16bitová plovoucí desetinná čárka), BF16 (brain floating-point, upřednostňovaný pro trénink), INT8 (8bitové celé číslo) a novější formát FP8. Každý formát alokuje bity odlišně napříč znaménkem, exponentem a mantisou, přičemž vyměňuje rozsah a přesnost za kompaktnost.

Proces funguje tak, že se vypočítá faktor škálování, který mapuje původní rozsah hodnot do menšího rozsahu cílového formátu. Například, pokud se hodnoty tenzoru pohybují od −3,0 do 3,0, faktor škálování mapuje tento rozsah na rozsah −128 až 127 formátu INT8. Granularita tohoto mapování – ať už se aplikuje na tenzor, kanál nebo blok – přímo ovlivňuje přesnost.

Dva hlavní přístupy

Kvantizace po tréninku (PTQ)

PTQ je jednodušší a populárnější metoda. Vezme plně natrénovaný model a převede jeho váhy (a volitelně i aktivace) na nižší přesnost bez jakéhokoli přetrénování. PTQ pouze s váhami kvantizuje statické parametry přímo. PTQ s váhami a aktivacemi také komprimuje dynamické aktivace, ale vyžaduje malou kalibrační datovou sadu pro určení optimálních faktorů škálování. Podle technické dokumentace NVIDIA pokročilé algoritmy PTQ, jako je AWQ, chrání kritické váhové kanály prostřednictvím analýzy aktivace, zatímco GPTQ používá informace o Hessiánské matici pro přesnější kompresi.

Kvantizačně-vědomý trénink (QAT)

QAT integruje kvantizaci do samotného tréninkového procesu. Vkládá moduly „falešné kvantizace“, které simulují efekty nízké přesnosti během dopředných průchodů, což modelu umožňuje přizpůsobit své váhy tak, aby kompenzovaly chyby zaokrouhlování. QAT obecně produkuje přesnější kvantizované modely než PTQ, ale vyžaduje přístup k tréninkovým datům a značné výpočetní zdroje.

Výkonnostní zisk

Výhody jsou značné. Kvantizace INT8 může snížit paměťovou stopu modelu o 75 procent ve srovnání s FP32 a zároveň poskytnout až čtyřikrát rychlejší inferenci na kompatibilním hardwaru. Přechod z FP16 na FP8 opět zmenší paměť na polovinu – zmenší model o velikosti 14 gigabajtů na přibližně sedm gigabajtů. Moderní GPU, jako jsou NVIDIA H100 a H200, obsahují vyhrazená tenzorová jádra pro operace FP8, díky čemuž je kvantizovaná inference nejen menší, ale nativně rychlejší.

Nedávno oznámený algoritmus TurboQuant od Googlu posouvá hranice dále a komprimuje paměť mezipaměti klíč-hodnota šestkrát pomocí pouhých tří bitů na hodnotu – s nulovou měřitelnou ztrátou přesnosti. Jak uvedl TechCrunch, tato technika nevyžaduje trénink a je datově agnostická, což znamená, že ji organizace mohou aplikovat na stávající modely bez přetrénování.

Kompromisy

Kvantizace není zadarmo. Agresivní komprese – zejména pod 8 bitů – může snížit přesnost u úloh vyžadujících jemné numerické uvažování. Odlehlé hodnoty ve vahách nebo aktivacích mohou být špatně reprezentovány ve formátech s nízkou přesností, což vede k chybám, které se kaskádovitě šíří sítí. Techniky jako SmoothQuant, která aplikuje škálování na kanál pro redistribuci velikostí odlehlých hodnot, pomáhají tyto efekty zmírnit.

Záleží také na volbě metody. PTQ je rychlá a pohodlná, ale může obětovat přesnost u citlivých úloh. QAT zachovává přesnost lépe, ale její implementace je nákladnější. V praxi většina produkčních nasazení používá kombinaci: PTQ pro počáteční kompresi, s cíleným QAT pro kritické komponenty modelu.

Proč na tom záleží právě teď

S tím, jak se modely umělé inteligence zvětšují a poptávka po inferenci na zařízení prudce roste, se kvantizace stala nezbytnou infrastrukturou. Umožňuje chatbotům spouštět se na chytrých telefonech, lékařské umělé inteligenci fungovat ve venkovských klinikách bez cloudového připojení a společnostem obsluhovat miliony uživatelů bez budování nových datových center. S novými formáty, jako je FP8, které se stávají nativními pro hardware, a algoritmy, jako je TurboQuant, které posouvají kompresní poměry stále výše, kvantizace tiše mění to, kde a jak může umělá inteligence fungovat.

Tento článek je dostupný také v jiných jazycích:

Zůstaňte v obraze!

Sledujte nás na Facebooku a nic vám neunikne.

Sledujte nás na Facebooku

Související články