GUIDA TECNICA

SmoothQuant e quantizzazione dell'attivazione

SmoothQuant è una tecnica che consente di comprimere modelli linguistici di grandi dimensioni fino a numeri interi a 8 bit sia per i pesi che per le attivazioni senza riqualificazione.

2 minuti di letturaUltimo aggiornamento

Panoramica

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

Immersione profonda

Quando si riduce un modello da numeri in virgola mobile a 16 bit a numeri interi a 8 bit, i pesi si comprimono facilmente ma le attivazioni sono problematiche: alcuni canali trasportano valori da 10 a 100 volte più grandi degli altri e forzarli in una griglia di numeri interi grossolani distrugge la precisione. SmoothQuant, introdotto da Xiao et al. nel 2022, osserva che i pesi sono uniformi e facili da quantizzare mentre le attivazioni sono irregolari. Quindi migra matematicamente la difficoltà: divide i canali di attivazione per una scala per canale e moltiplica i pesi corrispondenti per la stessa scala. Le due operazioni si annullano, lasciando invariato l'output del modello, ma ora entrambi i tensori si trovano in intervalli amichevoli. Il risultato è un'inferenza W8A8 (pesi e attivazioni a 8 bit) con perdita di precisione prossima allo zero e un aumento di velocità e un risparmio di memoria di circa 2 volte.

Approfondimento tecnico

Il trucco principale è un fattore di livellamento per canale s calcolato come s = max(|X|)^alpha / max(|W|)^(1-alpha). Le attivazioni vengono scalate di 1/s e i pesi di s, quindi il prodotto della matrice XW viene preservato. Poiché il ridimensionamento viene assorbito offline nei pesi del livello precedente o in un'operazione fusa, il costo di runtime è pari a zero. L'iperparametro alfa (spesso 0,5) controlla la quantità di oneri anomali spostati dalle attivazioni ai pesi.

Impatto strategico

Costo e budget

Le decisioni relative all'architettura determinano prestazioni e costi operativi per anni.

Decisioni più chiare

La formazione tecnica aiuta i team a scegliere lo stack giusto, non solo quello più nuovo.

Controllo di qualità

Migliori scelte ingegneristiche riducono gli incidenti legati all’affidabilità nella produzione.

Il futuro di SmoothQuant e della quantizzazione dell'attivazione

SmoothQuant ha stabilito che i valori anomali di attivazione sono migrabili anziché inevitabili e tale idea ora è alla base della produzione INT8 e del servizio FP8. Si prevede che il livellamento venga combinato con schemi a grana più fine come la quantizzazione per gruppo, il ridimensionamento appreso e la ricerca di attivazione a 4 bit (ad esempio metodi in grado di riconoscere valori anomali). Man mano che l'hardware FP8 (Hopper, Blackwell) matura, il bilanciamento in stile smoothing continuerà a essere integrato nelle pipeline del compilatore e del motore di inferenza, in modo che la quantizzazione rimanga quasi libera.

Implementazione nel mondo reale

Servire un LLM da 70B parametri su W8A8 su meno GPU dimezzando sia la memoria che il costo di moltiplicazione della matrice

Abilitazione dell'inferenza INT8 sui tensor core NVIDIA Hopper/Blackwell che accelerano nativamente la matematica intera a 8 bit

Distribuzione di modelli di chat su endpoint cloud a costi limitati in cui il raddoppio del throughput riduce direttamente la fattura per token

Compressione dei codificatori del trasformatore per il parlato o la traduzione sul dispositivo in cui i kernel a 8 bit funzionano più velocemente e con meno frequenza

Rischi e guardrail

L'ottimizzazione di un benchmark può nascondere debolezze di sistema più ampie.

I costi delle infrastrutture e della manutenzione sono spesso sottostimati.

Le lacune in termini di sicurezza e osservabilità possono aumentare man mano che i sistemi diventano più complessi.

Tabella di marcia per l'implementazione

1

Definire obiettivi di latenza, qualità e costi prima dell'implementazione.

2

Benchmark in condizioni di carico e dati realistiche.

3

Monitoraggio dello strumento per errori, deriva e impatto sull'utente.

4

Preparare percorsi di rollback e risposta agli incidenti prima della scalabilità.

Continua a esplorare

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.

Inizia il quiz

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

Prossima guida

Ingegneria dello sterzo e della rappresentazione dell'attivazione

Domande frequenti

What is SmoothQuant and Activation Quantization?

SmoothQuant è una tecnica che consente di comprimere modelli linguistici di grandi dimensioni fino a numeri interi a 8 bit sia per i pesi che per le attivazioni senza riqualificazione. È importante perché le attivazioni nei modelli di grandi dimensioni contengono valori anomali estremi che normalmente distruggono la matematica a bassa precisione e SmoothQuant li doma.

Quale problema affronta SmoothQuant in modo specifico nell'inferenza a bassa precisione?

SmoothQuant prende di mira i grandi valori anomali che compaiono in determinati canali di attivazione, che altrimenti distruggono la precisione quando le attivazioni vengono quantizzate a 8 bit.

In che modo SmoothQuant semplifica la quantizzazione delle attivazioni?

Divide i canali di attivazione per una scala per canale e moltiplica i pesi corrispondenti per quella scala, quindi il prodotto rimane invariato ma entrambi i tensori diventano più facili da quantizzare.

Cosa significa la notazione W8A8?

W8A8 denota la quantizzazione a 8 bit sia per i pesi (W) che per le attivazioni (A), il regime che SmoothQuant consente con una perdita di precisione minima.

Perché la scalabilità di SmoothQuant non aggiunge sostanzialmente alcun sovraccarico di runtime?

Le scale di livellamento vengono inserite nei pesi del livello precedente o in un'operazione fusa in anticipo, quindi non avviene alcun calcolo aggiuntivo durante l'inferenza.

Che ruolo gioca l'iperparametro alfa in SmoothQuant?

Alfa (comunemente 0,5) bilancia il fattore di livellamento, decidendo quanta parte della difficoltà di quantizzazione viene spostata dalle attivazioni ai pesi.