La quantizzazione consente ai modelli di machine learning di utilizzare meno memoria e potenza di calcolo in modo da ottenere risposte più rapide e ridurre i costi. Tuttavia, può rendere l'inferenza dell'intelligenza artificiale meno precisa.
Dopo aver letto questo articolo sarai in grado di:
Argomenti correlati
Cos'è il machine learning?
Cos'è l'intelligenza artificiale (IA)?
Inferenza e addestramento dell'IA
Large Language Model (LLM)
Cos'è il deep learning?
Abbonati a theNET, il riepilogo mensile di Cloudflare sulle tematiche più discusse in Internet.
Copia link dell'articolo
La quantizzazione è una tecnica per alleggerire il carico di esecuzione di modelli di machine learning e intelligenza artificiale (IA). Mira a ridurre la memoria richiesta per l'inferenza dell'intelligenza artificiale. La quantizzazione è particolarmente utile per i modelli linguistici di grandi dimensioni (LLM).
In generale, la quantizzazione è un processo di conversione di un segnale digitale da un formato altamente preciso a un formato che occupa meno spazio ed è di conseguenza meno preciso. L'obiettivo è rendere il segnale più piccolo affinché possa essere elaborato più velocemente. Nel machine learning e nell'intelligenza artificiale, la quantizzazione mira a far sì che i modelli vengano eseguiti più velocemente, utilizzino meno potenza di calcolo o entrambe le cose. Ciò consente in ultima analisi agli utenti di eseguire modelli di intelligenza artificiale su hardware più economico, idealmente sacrificando il meno possibile la precisione.
Per capire come questo faccia sì che l'inferenza dell'intelligenza artificiale occupi meno memoria, immagina un tubo di una certa larghezza, magari cinque centimetri, e immagina che qualcuno debba far rotolare un sacco di biglie al suo interno. Se si rotolano biglie di grandi dimensioni, solo due o tre potranno passare contemporaneamente attraverso un punto nel tubo. Se si lanciano biglie piccole, ne possono passare molte altre. Pertanto, utilizzando biglie più piccole, è possibile far passare più biglie nel tubo più velocemente.
La quantizzazione converte le biglie grandi in biglie piccole. Le informazioni necessarie per calcolare le inferenze occupano meno spazio nella memoria, quindi è possibile elaborare più informazioni più rapidamente e il calcolo dell'intelligenza artificiale diventa più efficiente.
I modelli utilizzati per il machine learning, un tipo di intelligenza artificiale, sono estremamente complessi. Usano enormi quantità di memoria e potenza di calcolo. In effetti, la crescente popolarità dell'intelligenza artificiale ha portato a problemi di alimentazione: i server che eseguono modelli avanzati di machine learning necessitano di enormi quantità di elettricità. In alcuni casi, la rete elettrica pubblica non è in grado di fornire tutto. Ciò ha portato a una serie di soluzioni creative, dall’aumento dell’uso dell’energia solare alla riattivazione delle centrali nucleari dismesse.
La quantizzazione mira a ridurre il carico computazionale dall'altra parte, in modo che i modelli di intelligenza artificiale stessi consumino meno energia. Per gli sviluppatori e le organizzazioni che gestiscono modelli di intelligenza artificiale, questo può contribuire a rendere l'intelligenza artificiale molto più conveniente, poiché non tutti possono permettersi di riattivare vecchie centrali nucleari.
Per capire perché la quantizzazione influisce sulla precisione, immagina di chiedere indicazioni a qualcuno. La persona potrebbe fornire un elenco dettagliato delle strade, i nomi di ciascuna strada e i nomi delle strade prima e dopo ciascuna strada. Un tale insieme di indicazioni è estremamente preciso ma potrebbe essere difficile da ricordare. Al contrario, qualcuno potrebbe dire qualcosa come "seconda a sinistra, quarta a destra, prima a sinistra". Questo è molto più facile da ricordare, anche se meno preciso.
Nell'intelligenza artificiale, la quantizzazione funziona riducendo il numero di bit utilizzati dai punti dati. La perdita di bit potrebbe comportare una perdita di precisione. Il risultato può essere più errori nell'output (proprio come un conducente potrebbe identificare erroneamente la "quarta a sinistra" nell'esempio sopra senza il nome della strada). Tuttavia, esistono diversi tipi di quantizzazione, alcuni dei quali sono più precisi di altri.
Nella pratica, le aziende o gli utenti hanno casi d'uso in cui il modello di intelligenza artificiale quantizzata è "abbastanza buono". Il caso d'uso spesso non ha bisogno di risultati altamente precisi. Un esempio di tale caso d'uso è il monitoraggio delle tendenze e delle menzioni sui social media senza la necessità di punti dati esatti, concentrandosi sul sentiment e sul coinvolgimento generale.
La quantizzazione post-addestramento (PTQ) è l'applicazione della quantizzazione a modelli preesistenti che sono già stati addestrati. PTQ può essere applicato in tempi relativamente brevi ai modelli addestrati. È in contrasto con l'addestramento basato sulla quantizzazione (QAT), che avviene prima dell'addestramento di un modello e richiede una notevole potenza di calcolo. PTQ funziona convertendo i numeri in virgola mobile in numeri in virgola fissa.
La rappresentazione in virgola mobile è un metodo altamente preciso per rappresentare i numeri comunemente usato nel machine learning e nel deep learning. I numeri memorizzati tramite rappresentazione in virgola mobile occupano un numero di bit definito, 16 o 32 (a seconda del tipo di rappresentazione in virgola mobile utilizzata).
Molti tipi di quantizzazione lo riducono a 8 bit. Il risultato è che i numeri quantizzati occupano la metà o un quarto dello spazio in memoria. Naturalmente, con meno bit, i valori quantizzati non sono precisi quanto i numeri in virgola mobile, proprio come un numero con meno posizioni decimali (ad esempio, 3.14) è meno preciso di un numero con più posizioni decimali (ad esempio, 3.141592654).
La quantizzazione del peso sensibile all'attivazione (AWQ) è una tecnica che mira a bilanciare i miglioramenti dell'efficienza con la precisione. AWQ protegge i pesi più importanti all'interno di un modello dall'alterazione. (I pesi sono valori che misurano la relazione tra gli elementi all'interno di un set di dati). Ripensa all'esempio delle indicazioni di cui sopra. Immagina invece di "seconda a sinistra, quarta a destra, prima a sinistra", dice il datore di direzione, "seconda a sinistra, a destra sulla 12th Street, quindi prima a sinistra". Questo ha alcune informazioni più precise ma è ancora un elenco di indicazioni relativamente breve (e facile da ricordare). AWQ funziona in modo simile, mantenendo invariati alcuni numeri interi di un modello e modificandone altri.
Cloudflare Workers AI supporta diversi modelli linguistici di grandi dimensioni (LLM) che incorporano sia la quantizzazione in virgola mobile che AWQ in modo che siano più leggeri in termini di memoria e utilizzino meno potenza di calcolo mantenendo la precisione. Per ulteriori informazioni, consulta la documentazione di Cloudflare Workers AI.