Műszaki ÚTMUTATÓ

SmoothQuant és aktiválási kvantálás

A SmoothQuant egy olyan technika, amely lehetővé teszi a nagy nyelvi modellek 8 bites egész számokra történő tömörítését mind súlyozás, mind aktiválás céljából, átképzés nélkül.

2 perc olvasásUtoljára frissítve

Áttekintés

It matters because activations in big models contain extreme outliers that normally wreck low-precision math, and SmoothQuant tames them.

Mély merülés

Ha egy modellt 16 bites lebegtetésről 8 bites egészekre zsugorít, a súlyozások könnyen tömörülnek, de az aktiválások gondot okoznak: bizonyos csatornák 10-100-szor nagyobb értékeket hordoznak, mint a többiek, és durva egész rácsra kényszerítése tönkreteszi a pontosságot. SmoothQuant, amelyet Xiao et al. 2022-ben megfigyeli, hogy a súlyok egyenletesek és könnyen kvantifikálhatók, míg az aktiválások tüskések. Tehát matematikailag migrálja a nehézséget: az aktiválási csatornákat csatornánkénti skálával osztja el, és a megfelelő súlyokat ugyanazzal a skálával szorozza meg. A két művelet törlődik, így a modell kimenete változatlan marad, de most mindkét tenzor barátságos tartományban van. Az eredmény a W8A8 (8 bites súlyozások és aktiválások) következtetés, közel nulla pontossági veszteséggel és nagyjából 2-szeres gyorsítással és memóriamegtakarítással.

Technikai betekintés

Az alapvető trükk egy csatornánkénti s simítási tényező, amely a következőképpen számítható ki: s = max(|X|)^alpha / max(|W|)^(1-alpha). Az aktiválások 1/s-kal, a súlyozások s-vel vannak skálázva, így megmarad az XW mátrixszorzat. Mivel a méretezés offline módban felszívódik az előző réteg súlyaiba vagy egy összevont műveletbe, nulla futási költséggel jár hozzá. Az alfa-hiperparaméter (gyakran 0,5) azt szabályozza, hogy mekkora a kiugró terhek áthelyezése az aktiválásokról a súlyozásokra.

Stratégiai hatás

Költség és költségvetés

Az építészeti döntések évekig növelik a teljesítményt és a működési költségeket.

Tisztább döntések

A technikai oktatás segít a csapatoknak a megfelelő verem kiválasztásában, nem csak a legújabb készletben.

Minőségellenőrzés

A jobb mérnöki döntések csökkentik a termelés megbízhatósági incidenseit.

A SmoothQuant és az aktivációs kvantálás jövője

A SmoothQuant megállapította, hogy az aktiválási kiugró értékek inkább migrálhatók, mint elkerülhetetlenek, és ez az ötlet most az éles INT8 és FP8 kiszolgálás alapja. Várható, hogy a simítást olyan finomabb szemcsés sémákkal kombinálják, mint a csoportonkénti kvantálás, a tanult skálázás és a 4 bites aktiválási kutatás (pl. outlier-aware módszerek). Ahogy az FP8 hardver (Hopper, Blackwell) kifejlődik, a simító-stílusú kiegyensúlyozás folyamatosan beépül a fordító és a következtetési motor folyamataiba, így a kvantálás szinte ingyenes marad.

Valós megvalósítás

70B-paraméteres LLM kiszolgálása a W8A8-nál kevesebb GPU-n a memória és a mátrixszorzó költségek felére csökkentésével

Az INT8 következtetés engedélyezése az NVIDIA Hopper/Blackwell tenzormagokon, amelyek natívan gyorsítják a 8 bites egész matematikát

Csevegési modellek telepítése költségkorlátozott felhővégpontokon, ahol az átviteli sebesség megkétszerezése közvetlenül csökkenti a tokenenkénti számlát

Transzformátorkódolók tömörítése az eszközön belüli beszédhez vagy fordításhoz, ahol a 8 bites kernelek gyorsabban és hűvösebben futnak

Kockázatok és védőkorlátok

Egy benchmark optimalizálása elrejtheti a rendszer általános hiányosságait.

Az infrastrukturális és karbantartási költségeket gyakran alábecsülik.

A biztonsági és megfigyelhetőségi hiányosságok a rendszerek bonyolultabbá válásával nőhetnek.

Végrehajtási ütemterv

1

Határozza meg a késleltetési, minőségi és költségcélokat a megvalósítás előtt.

2

Benchmark reális terhelési és adatviszonyok mellett.

3

Műszerfigyelés a hibák, az eltolódás és a felhasználói hatások szempontjából.

4

A méretezés előtt készítse elő a visszagörgetési és az incidensre adott válaszútvonalakat.

Folytassa a felfedezést

Free newsletter

Get the daily AI briefing

Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.

One email each weekday. Unsubscribe in one click. We never sell or share your address.

Test yourself

Take the SmoothQuant and Activation Quantization quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

Kezdő kvíz

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

Következő útmutató

Aktiválási irányítás és reprezentáció tervezése

Gyakran ismételt kérdések

What is SmoothQuant and Activation Quantization?

A SmoothQuant egy olyan technika, amely lehetővé teszi a nagy nyelvi modellek 8 bites egész számokra történő tömörítését mind súlyozás, mind aktiválás céljából, átképzés nélkül. Ez azért fontos, mert a nagy modelleknél az aktiválások szélsőséges kiugró értékeket tartalmaznak, amelyek általában tönkreteszik az alacsony pontosságú matematikát, és a SmoothQuant megszelídíti őket.

Milyen problémával foglalkozik a SmoothQuant az alacsony pontosságú következtetések során?

A SmoothQuant megcélozza az egyes aktiválási csatornákban megjelenő nagy kiugró értékeket, amelyek egyébként tönkreteszik a pontosságot, amikor az aktiválásokat 8 bitesre kvantáljuk.

Hogyan teszi könnyebbé a SmoothQuant az aktiválások kvantálását?

Az aktiválási csatornákat csatornánkénti skálával osztja fel, és az egyező súlyokat ezzel a skálával megszorozza, így a szorzat változatlan marad, de mindkét tenzort könnyebben kvantálni lehet.

Mit jelent a W8A8 jelölés?

A W8A8 8 bites kvantálást jelent mind a súlyozáshoz (W), mind az aktiváláshoz (A), a SmoothQuant rendszer minimális pontossági veszteséggel tesz lehetővé.

Miért nem növeli a SmoothQuant skálázása lényegében futási többletköltséget?

A simító mérlegeket az előző réteg súlyaiba vagy egy olvasztott műveletbe hajtogatják idő előtt, így nem történik extra számítás a következtetésnél.

Milyen szerepet játszik az alfa hiperparaméter a SmoothQuantban?

Az alfa (általában 0,5) kiegyenlíti a simítási tényezőt, és eldönti, hogy a kvantálási nehézség mekkora része kerül át az aktiválásokból a súlyozásra.