Quantizzazione
Anche: quantizzazione del modello, 4 bit, 8 bit
Aggiornato il
Definizione
La quantizzazione consiste nel memorizzare i numeri di un modello con meno bit ciascuno, per esempio 4 o 8 bit dove l’originale ne usava 16 o 32. Rende il modello più piccolo e più leggero in memoria, di solito con una piccola perdita di precisione.
Un modello è soprattutto un elenco lunghissimo di numeri, chiamati pesi. Dopo l’addestramento, ogni peso è di solito un valore in virgola mobile a 32 o 16 bit. La quantizzazione li riscrive in una forma più grossolana. La documentazione di Apple la definisce come la riduzione del numero di bit che rappresentano un numero.
È per questo che lo stesso modello può comparire come più download di dimensioni diverse, con etichette come 4bit, 8bit o Q4. Sono un unico modello a diversi livelli di compressione.
Quanto più piccolo
La dimensione segue i bit quasi direttamente. Dimezza i bit per peso e il file sarà grande circa la metà.
Un esempio pubblicato lo rende concreto. Per un modello linguistico da 8 miliardi di parametri, il file a 16 bit è di circa 15 GiB, quello a 8 bit di circa 8 GiB e una comune versione a 4 bit di circa 4,6 GiB. La versione a 4 bit corrisponde a circa 4,9 bit per peso, non esattamente 4, perché alcune parti sono mantenute a una precisione più alta.
Cosa si perde
Un po’ di precisione. Numeri più grossolani significano che i calcoli del modello sono leggermente imprecisi ovunque, e gli errori si sommano. Quanto si nota dipende dal modello e da quanto ti spingi.
Secondo le indicazioni di Apple, comprimere a 8 bit, e per alcuni modelli a 6 o 4, può funzionare con solo una lieve perdita di precisione.
Cosa si guadagna oltre alla dimensione
Apple elenca come possibili vantaggi della compressione di un modello un minore uso di memoria, una latenza più bassa e un consumo energetico ridotto, singolarmente o insieme. Su un portatile spesso è la memoria quella che conta: un modello che ci sta comodo lascia spazio a tutto il resto che hai aperto.
Leggere le etichette
L’etichetta indica la precisione dei pesi.
- fp32 o float32: precisione piena, quella con cui viene addestrata la maggior parte dei modelli.
- fp16, bf16 o float16: mezza precisione. Spesso è la forma in cui un modello viene pubblicato.
- 8bit o int8: un quarto della precisione piena.
- 4bit o int4: un ottavo della precisione piena. La scelta abituale per far girare modelli grandi su un portatile.
- Q4, Q5, Q8 seguiti da lettere: la stessa idea in un formato di file diffuso, dove le lettere indicano il metodo usato.
Quantizzazione e palettizzazione
Gli strumenti di Apple offrono due modi per memorizzare i pesi con meno bit. La quantizzazione lineare mappa l’intervallo dei valori originali su un piccolo intervallo di numeri interi. La palettizzazione, chiamata anche clustering dei pesi, raggruppa i pesi in cluster e memorizza ogni peso come un indice in una breve tabella di riferimento.
Secondo le indicazioni di Apple, la palettizzazione di solito funziona meglio sul Neural Engine, e la quantizzazione a 4 bit può funzionare bene per i modelli che girano sul chip grafico di un Mac.
Le domande più frequenti.
Cosa significa 4 bit per un modello?
Che i suoi pesi sono memorizzati con circa 4 bit ciascuno, dove l’originale ne usava 16 o 32. Il file è molto più piccolo, e il modello è leggermente meno preciso.
La quantizzazione peggiora un modello?
Leggermente. Sacrifica un po’ di precisione in cambio di dimensioni più piccole e di un minore uso di memoria. Secondo le indicazioni di Apple, 8 bit, e per alcuni modelli 6 o 4, comportano solo una lieve perdita di precisione.
È meglio un modello a 4 bit o a 8 bit?
Il modello a 8 bit è più vicino all’originale, e quello a 4 bit è grande circa la metà. Scegli 8 bit se hai la memoria e 4 bit se non ce l’hai.
La quantizzazione rende un modello più veloce?
Può farlo. Apple elenca una latenza più bassa tra i possibili vantaggi, insieme a un minore uso di memoria e a un consumo energetico ridotto.
Si può quantizzare qualsiasi modello?
La maggior parte sì, con strumenti che convertono i pesi pubblicati. Quanto regge il risultato varia da modello a modello.
La quantizzazione è la stessa cosa della compressione?
È un tipo di compressione dei modelli. Altri sono il pruning, che rimuove pesi, e la palettizzazione, che memorizza i pesi come voci di una tabella di riferimento.