📖

Cos'è Quantizzazione?

La quantizzazione nell'IA è una tecnica di compressione dei modelli che riduce la precisione numerica di pesi e attivazioni, così le reti neurali sono più veloci e usano meno memoria, spesso con una perdita di accuratezza minima.

La quantizzazione nell'IA è una tecnica di compressione dei modelli che riduce la precisione numerica dei pesi e delle attivazioni di una rete neurale. Invece di memorizzare ogni parametro come numero in virgola mobile a 32 bit, i modelli quantizzati usano formati a 8 bit, 4 bit o anche inferiori. Poiché la memoria e il calcolo scalano con il numero di bit, questa singola modifica può ridurre un modello di 2–8 volte e accelerare l'inferenza, rendendo pratico eseguire modelli di grandi dimensioni su smartphone, laptop, browser e dispositivi embedded.

Come funziona la quantizzazione

Ogni peso è originariamente un numero reale preciso, ma la maggior parte di quella precisione è raramente necessaria. La quantizzazione mappa l'intervallo originale di valori su un insieme più piccolo di livelli rappresentabili. Nella quantizzazione post-training (PTQ), un modello completamente addestrato viene convertito una sola volta, tipicamente scalando i pesi float così da farli rientrare in un intervallo intero più ristretto. Una semplice mappatura lineare della forma quantized = round(weight / scale) + zero_point svolge la maggior parte del lavoro, e lo stesso scale e zero_point vengono usati per dequantizzare gli output di nuovo in float durante l'inferenza.

Ad esempio, un intero a 8 bit può rappresentare solo 256 valori distinti, quindi uno strato i cui pesi spaziano originariamente in [-1.0, 1.0] in float32 deve suddividerli in 256 passi equidistanti. Più quei passi sono calibrati sulla distribuzione reale dei pesi, minore è l'accuratezza persa. Per risultati migliori, il quantization-aware training (QAT) simula gli errori di arrotondamento durante il fine-tuning, così il modello si adatta al rumore, recuperando spesso quasi tutta l'accuratezza originale.

Perché è importante

La quantizzazione è ciò che permette a un modello con miliardi di parametri di stare in pochi gigabyte di RAM e di rispondere in meno di un secondo su una CPU di laptop. Riduce il consumo energetico, abbassa i costi dei server e rende possibile l'IA on-device per casi d'uso sensibili alla privacy o offline. Interagisce inoltre con l'hardware: GPU, NPU e CPU moderne dispongono di unità dedicate INT8 e INT4 per le matrici, quindi un modello quantizzato può girare diverse volte più veloce dello stesso modello in float32.

Tipologie principali

  • Quantizzazione post-training (PTQ): converte un modello già addestrato. Opzione più economica, con una piccola perdita di accuratezza.
  • Quantization-aware training (QAT): simula la quantizzazione durante l'addestramento così i pesi si adattano. Migliore accuratezza, richiede calcolo extra.
  • Quantizzazione dinamica: mantiene i pesi a bassa precisione ma calcola le attivazioni al volo. Utile per modelli NLP con lunghezze di sequenza variabili.
  • Quantizzazione weight-only: memorizza i pesi a 4 bit o meno, dequantizzando al volo. Diffusa per servire modelli linguistici di grandi dimensioni.
  • GPTQ, AWQ, GGUF: algoritmi e formati di file diffusi per la quantizzazione a 4 bit degli LLM, che applicano schemi diversi per preservare l'accuratezza.

La quantizzazione è diventata un passaggio standard nella pipeline di deployment dell'IA. Strumenti come torch.quantization di PyTorch, NVIDIA TensorRT e ONNX Runtime integrano queste tecniche negli stack di produzione, permettendo ai team di scambiare una piccola quantità di accuratezza per guadagni sostanziali in velocità, memoria e costi.

Domande frequenti

Does quantization reduce AI accuracy?
It can, but usually only slightly. Aggressive quantization to 4-bit can cause noticeable drops on harder tasks, while 8-bit quantization typically preserves accuracy within about 1% of the original model. Quantization-aware training helps recover most of any lost accuracy.
What is the difference between quantization and pruning?
Quantization reduces the precision of each individual number, while pruning removes entire weights or neurons that contribute little. They are complementary compression techniques, and combining them can yield even smaller, faster models.
Why is 4-bit quantization popular for LLMs?
Large language models have billions of parameters, so halving the bit width roughly halves memory use and often lets a model that needs an 80GB GPU run on a single 24GB consumer GPU. Methods like GPTQ, AWQ, and GGUF tune the quantization to preserve quality at 4 bits.
Can quantization be undone?
No. Quantization is a lossy mapping, so original full-precision weights cannot be perfectly recovered. However, the dequantized values used at inference time are close enough that downstream outputs are usually indistinguishable from the original model.