
Definizione in una frase
Reducción de la precisión numérica de pesos o activaciones para usar menos memoria y acelerar la inferencia.
Definizione: rappresentare i numeri con meno livelli
Nell’IA, la quantizzazione è il processo di rappresentazione di valori numerici mediante un insieme di livelli più ristretto rispetto a quello usato dalla rappresentazione originale. In una rete neurale, questi valori possono essere i pesi, le attivazioni intermedie o gli elementi della cache chiavi-valori (KV) di un modello linguistico. Ridurre il numero di livelli può diminuire la memoria necessaria e, se software e hardware eseguono le operazioni adatte, anche il costo o il tempo di calcolo.
Questa definizione descrive una trasformazione numerica; da sola non garantisce che un modello occupi una frazione precisa delle dimensioni originali, che venga eseguito più velocemente o che mantenga inalterata la qualità. Il risultato dipende dai componenti quantizzati, dal modo in cui vengono codificati e dall’implementazione che li utilizza. Perciò, dire che un modello è «a 4 bit» fornisce un’informazione incompleta, non una previsione delle prestazioni.
In questa scheda distinguiamo due domande: quali valori vengono trasformati e come sono assegnati ai livelli disponibili. La prima definisce l’ambito della quantizzazione; la seconda riguarda la rappresentazione e il possibile errore. Per approfondire il vocabolario correlato, consulta le voci del glossario su quantizzazione, inferenza, modelli locali e LoRA, oltre alla sezione dedicata ai confronti.
Come funziona la mappatura
Nella quantizzazione lineare, una scala mette in relazione i livelli interi con i valori del dominio originale. Molti schemi usano anche un punto zero, che indica quale codice intero rappresenta lo zero reale; può essere rilevante, per esempio, quando i valori non sono distribuiti simmetricamente intorno allo zero. Il processo prevede spesso un arrotondamento e, se un valore cade al di fuori dell’intervallo rappresentabile, il suo ritaglio al livello estremo disponibile. In fase di ricostruzione, la scala e il punto zero permettono di tornare a un’approssimazione nel dominio originale.
Non esiste un’unica convenzione valida per tutti i metodi. Alcuni formati usano scale e punti zero; altri impiegano codici o livelli non uniformi. Scala, punto zero e codice di quantizzazione sono quindi concetti collegati, ma non intercambiabili: descrivono parti diverse della rappresentazione. Possono inoltre cambiare il modo in cui vengono scelti i parametri, gli intervalli e i gruppi di valori.
Elementi che descrivono una quantizzazione
Questi termini identificano decisioni diverse all’interno di uno schema di quantizzazione.
| Elemento | Che cosa descrive | Perché è importante |
|---|---|---|
| Numero di bit | Quanti bit codificano ciascun valore in una determinata parte del modello. | Limita i codici disponibili, ma non riassume tutti i costi di archiviazione. |
| Scala | La relazione tra i codici e i valori reali. | Influisce sulla risoluzione e sull’errore di ricostruzione. |
| Punto zero | Il codice che rappresenta lo zero reale in alcuni schemi lineari. | Può consentire di rappresentare intervalli non simmetrici. |
| Granularità | Se i parametri sono condivisi per tensore, canale o blocco. | Modifica l’adattamento della rappresentazione e la quantità di metadati. |
| Calibrazione | La procedura e i dati usati per stimare parametri o intervalli. | Il risultato può dipendere da quanto quei dati sono rappresentativi. |
Che cosa significa — e che cosa non significa — il numero di bit
Con b bit si possono codificare al massimo 2 elevato alla b schemi distinti. In uno schema a 4 bit sono quindi disponibili fino a 16 codici per valore. Il numero di codici, però, non determina da solo quali valori rappresentino, quale precisione effettiva si ottenga o quanto occupi il modello completo. Contano anche la distribuzione dei livelli e l’uso di metadati come scale e punti zero.
L’archiviazione effettiva può comprendere informazioni ausiliarie e strutture di impacchettamento, oltre ai valori quantizzati. Inoltre, un modello in esecuzione richiede memoria per elementi che potrebbero non essere quantizzati allo stesso modo, come le attivazioni, la cache KV, i buffer del programma e altri componenti del runtime. Anche la percentuale del modello che resta a precisione maggiore modifica il totale.
La velocità non si può dedurre soltanto dai bit. Per ottenere un’accelerazione, l’hardware, i kernel e il runtime devono supportare in modo efficiente la rappresentazione e le operazioni pertinenti. In alcuni ambienti, la conversione o l’accesso ai dati può introdurre costi; in altri, la minore quantità di dati può essere un vantaggio. Il confronto utile è empirico e va eseguito sull’implementazione di interesse.
Quali parti di un modello si possono quantizzare
La quantizzazione dei pesi trasforma i parametri appresi dalla rete. È una scelta comune per ridurre lo spazio occupato dai modelli caricati per l’inferenza. Non equivale a quantizzare l’intero modello: le attivazioni che si producono durante il calcolo possono restare a un’altra precisione.
La quantizzazione delle attivazioni rappresenta con meno livelli i valori intermedi che attraversano la rete. Può essere combinata con la quantizzazione dei pesi, ma non è necessario farlo. Per esempio, SmoothQuant studia la quantizzazione post-training di pesi e attivazioni nei LLM; i risultati riguardano il metodo e le valutazioni pubblicate, non costituiscono una garanzia per qualsiasi modello o dispositivo.
Nei modelli linguistici con generazione, la cache KV conserva informazioni intermedie associate ai token già elaborati. Quantizzare questa cache è diverso dal quantizzare i pesi: interviene su un altro componente della memoria e può avere effetti differenti sull’inferenza. Il lavoro KVQuant si occupa specificamente della quantizzazione della cache KV; è un esempio utile per capire perché sia opportuno indicare con precisione che cosa viene trasformato.
Per descrivere una configurazione in modo riproducibile, è meglio evitare espressioni come «modello quantizzato» senza specificare che cosa è stato quantizzato. Conviene distinguere almeno pesi, attivazioni e cache KV, indicando se le parti non menzionate mantengono una precisione maggiore.
Componenti e domande pratiche
La tabella aiuta a precisare l’ambito di una configurazione; non implica che ogni metodo quantizzi tutti e tre i componenti.
| Componente | Che cosa viene rappresentato con meno livelli | Domanda da porsi nella valutazione |
|---|---|---|
| Pesi | Parametri appresi. | Quanta memoria occupano i pesi e quale precisione mantengono? |
| Attivazioni | Valori intermedi prodotti durante il calcolo. | Quali operazioni e livelli sono coinvolti e quale impatto si osserva sul compito? |
| Cache KV | Stato conservato per la generazione di sequenze. | Come cambiano l’uso della memoria e il comportamento nel contesto valutato? |
Quando si quantizza: PTQ e QAT
La quantizzazione post-training, abbreviata PTQ, viene applicata dopo l’addestramento del modello. A seconda del metodo, può usare dati di calibrazione per stimare intervalli o altri parametri di quantizzazione. Questi dati non servono necessariamente a riaddestrare tutti i pesi: aiutano a configurare la mappatura. La scelta e la rappresentatività dei dati di calibrazione possono quindi influire sul risultato.
La quantizzazione consapevole dell’addestramento, o QAT, integra durante l’addestramento una simulazione o una considerazione degli effetti della quantizzazione, così che il modello possa adattarsi a essi. Il lavoro di Jacob e collaboratori presenta un metodo di quantizzazione e addestramento orientato all’inferenza con aritmetica intera. PTQ e QAT differiscono per momento e procedura; non c’è motivo di affermare che una sia sempre superiore all’altra: dipende dalla rete, dall’obiettivo e dal processo disponibile.
Anche la granularità è importante. Uno schema può condividere i parametri di quantizzazione su un intero tensore, usare parametri per canale o raggruppare i valori in blocchi. Una granularità più localizzata può rappresentare meglio le differenze nella distribuzione dei valori, ma comporta anche costi e requisiti specifici. Non bisogna presumere che due configurazioni con lo stesso numero nominale di bit, ma granularità diverse, siano equivalenti.
Come leggere una configurazione quantizzata
Prima di confrontare due risultati, identifica i componenti e le condizioni descritti. Se manca un dato importante, annotalo come incertezza invece di dedurlo dal numero di bit.
- 01Indicare se si tratta di PTQ o QAT e, quando pertinente, quali dati di calibrazione sono stati usati.
- 02Precisare se sono stati quantizzati i pesi, le attivazioni, la cache KV o un’altra parte, e quali elementi sono rimasti esclusi.
- 03Registrare bit, tipo di rappresentazione, granularità e metadati pertinenti.
- 04Distinguere la memoria dei pesi dalla memoria totale durante l’esecuzione.
- 05Misurare qualità e prestazioni sul compito, sull’hardware e con il runtime in cui il modello verrà usato.
Tre esempi applicati
Gli esempi seguenti illustrano usi diversi della quantizzazione; non sono raccomandazioni su formati né promesse di risultato. In ogni caso, l’effetto va verificato con il modello, l’implementazione e le condizioni d’uso reali.
blocks
Concetti vicini da non confondere
Il pruning elimina o riduce connessioni, pesi o strutture per ottenere una rete più sparsa o compatta; la quantizzazione, invece, modifica la rappresentazione numerica dei valori che vengono mantenuti. Alcuni metodi combinano le due idee, ma non si tratta della stessa procedura.
La distillazione trasferisce il comportamento di un modello docente a un modello studente attraverso un processo di addestramento. Può produrre un modello più piccolo, ma il suo meccanismo non consiste nel mappare i valori su un numero inferiore di livelli. Anche una rete distillata può essere quantizzata in seguito: sono scelte compatibili, ma distinte.
LoRA è una tecnica di fine-tuning che aggiunge adattatori a basso rango per modificare il comportamento del modello. QLoRA combina l’addestramento degli adattatori con un modello base quantizzato. LoRA, quindi, non è un formato di quantizzazione e QLoRA non indica genericamente qualsiasi modello a bassa precisione.
INT4 indica di solito una rappresentazione intera a 4 bit, mentre NF4 è un tipo di dato a 4 bit proposto nel lavoro su QLoRA per rappresentare i valori dei pesi. Non sono termini intercambiabili: descrivono rappresentazioni diverse. Inoltre, la larghezza nominale dei dati non fornisce da sola informazioni sull’implementazione, sull’impacchettamento o sul costo totale.
Infine, ridurre la precisione non equivale semplicemente a passare da un formato floating point a un altro senza modificarne lo scopo. I formati a precisione ridotta possono avere intervalli e proprietà differenti; «precisione inferiore» è una descrizione ampia, mentre «quantizzazione» indica un processo di mappatura da specificare.
Le differenze in una frase
Queste categorie possono essere combinate in un flusso di lavoro, ma descrivono operazioni distinte.
| Termine | Operazione principale |
|---|---|
| Quantizzazione | Rappresentare i valori con meno livelli. |
| Pruning | Eliminare o ridurre parti della rete. |
| Distillazione | Addestrare un modello studente usando segnali provenienti da un docente. |
| LoRA | Adattare un modello mediante adattatori a basso rango. |
| QAT | Addestrare tenendo conto degli effetti della quantizzazione. |
Limiti, errori frequenti e criteri pratici
L’errore di quantizzazione si verifica perché un valore originale potrebbe non avere un livello rappresentabile identico. La grandezza e la distribuzione di questi errori possono influire sull’output della rete, e l’impatto non è necessariamente uguale per tutti i livelli o compiti. Una valutazione pertinente dovrebbe osservare il comportamento importante per l’applicazione, non soltanto una metrica generica o l’etichetta del formato.
Un errore frequente consiste nel presumere che meno bit garantiscano una riduzione proporzionale della memoria. Metadati, impacchettamento, componenti che restano a precisione maggiore e memoria di esecuzione modificano il totale. Un altro errore è concludere che meno bit accelerino sempre l’inferenza: se il runtime o i kernel non sfruttano la rappresentazione sull’hardware disponibile, la latenza potrebbe non migliorare o potrebbe risentire di costi aggiuntivi.
È inoltre opportuno non trattare la calibrazione come un dettaglio irrilevante. Se un metodo dipende da dati rappresentativi per stimare i parametri, una calibrazione poco simile agli input reali potrebbe non riflettere adeguatamente l’uso previsto. Sensibilità del modello, distribuzione degli input, lunghezza del contesto e compito possono cambiare il risultato. Gli articoli su GPTQ, AWQ, SmoothQuant e KVQuant valutano metodi e configurazioni specifici; i dati pubblicati non vanno generalizzati senza misurazioni.
Nel documentare una configurazione, è utile registrare il metodo, i componenti quantizzati, la precisione e la granularità, gli eventuali dati di calibrazione, la memoria osservata, le metriche di qualità, l’hardware, il runtime e le condizioni di prova. In questo modo si possono confrontare i risultati senza trasformare un’etichetta come «4 bit» in un’affermazione generale sulla qualità o sulla velocità.
Criteri pratici prima di un confronto
Un confronto utile mantiene costanti le condizioni pertinenti ed esplicita i dati che potrebbero modificare l’interpretazione.
- 01Definire quale problema deve risolvere il modello e quali input deve gestire.
- 02Specificare quali componenti vengono quantizzati e quali mantengono un’altra precisione.
- 03Registrare metodo, bit, granularità, schema di calibrazione e formato.
- 04Misurare separatamente la memoria dei pesi e la memoria massima durante l’esecuzione.
- 05Valutare qualità, latenza e prestazioni con l’hardware e il runtime di destinazione.
- 06Dichiarare limiti e dati mancanti; non presentare un test come garanzia universale.
Per continuare
La quantizzazione è uno strumento di rappresentazione, non una categoria che descriva da sola il comportamento completo di un sistema. Per interpretare una scheda tecnica o una valutazione, inizia identificando che cosa è stato quantizzato, come sono codificati i valori e in quale ambiente sono stati misurati i risultati.
Come percorso di approfondimento, consulta l’indice del glossario e le voci correlate a inferenza, modello locale, LoRA, distillazione e valutazione. La sezione dedicata ai confronti aiuta a organizzare le differenze tra metodi quando sono disponibili condizioni comparabili; questa scheda non propone un formato universale e non sostituisce una valutazione applicata.