Più somme e meno moltiplicazioni nelle reti neurali

Più somme e meno moltiplicazioni nelle reti neurali

Condividi con i tuoi amici...

Le reti neurali profonde, specialmente quelle utilizzate nei modelli di linguaggio di grandi dimensioni (LLM), fanno ampio uso della moltiplicazione di matrici (MatMul). Questo calcolo è cruciale per molte operazioni di base, come la moltiplicazione tra i pesi della rete e gli input, la convoluzione nelle reti convoluzionali (CNN), e i meccanismi di auto-attenzione nei Transformer. La MatMul, tuttavia, è computazionalmente costosa, richiedendo significative risorse di calcolo e memoria, specialmente quando i modelli scalano a miliardi di parametri. Questo impatto diventa un ostacolo significativo nell’ottimizzazione delle prestazioni e nell’efficienza energetica dei modelli di intelligenza artificiale.

Un esempio classico è la moltiplicazione di un vettore di input x con una matrice di pesi W per ottenere l’output y:

y=xW

In una rete neurale convoluzionale (CNN), la MatMul è utilizzata nelle operazioni di convoluzione per estrarre caratteristiche dai dati di input, come le immagini. Nei Transformer, utilizzati nei modelli di linguaggio come BERT e GPT, la MatMul è fondamentale per calcolare le rappresentazioni di attenzione, che consentono al modello di focalizzarsi su parti rilevanti dell’input durante la traduzione o la comprensione del testo.

Tecnica della Quantizzazione

La quantizzazione è una tecnica che riduce la precisione dei pesi e delle attivazioni nei modelli di rete neurale, mappando i valori continui a un insieme discreto di valori.

Un metodo comune è la quantizzazione ternaria, che limita i pesi a tre possibili valori: −1, 0, e +1.

Questa tecnica semplifica notevolmente i calcoli necessari durante la propagazione in avanti e l’addestramento del modello.

La quantizzazione migliora l’efficienza riducendo la complessità computazionale delle operazioni di moltiplicazione. Invece di eseguire calcoli con numeri a precisione completa, le operazioni si riducono a semplici addizioni e sottrazioni, che sono molto meno costose in termini di risorse computazionali. Questo porta a un uso più efficiente della memoria e a un minor consumo energetico, rendendo i modelli più adatti per implementazioni su hardware specializzato come FPGA e GPU.

Uno studio recente, presentato da Zhu et al: Scalable MatMul-free Language Modeling ha esplorato un approccio innovativo per eliminare completamente le operazioni MatMul nei modelli di linguaggio di grandi dimensioni. Utilizzando pesi quantizzati e tecniche di ottimizzazione hardware, il team ha sviluppato un modello di linguaggio scalabile chiamato MatMul-free LM. Questo modello ha dimostrato prestazioni competitive rispetto ai Transformer all’avanguardia, riducendo significativamente il consumo di memoria e migliorando l’efficienza energetica.

La quantizzazione dei pesi rappresenta una svolta significativa nell’ottimizzazione dei modelli di rete neurale, riducendo la complessità computazionale e migliorando l’efficienza. La ricerca e l’innovazione nel campo, come dimostrato dal lavoro di Zhu et al., mostrano che è possibile ottenere prestazioni elevate senza la necessità di operazioni MatMul, aprendo la strada a modelli di linguaggio più sostenibili e accessibili.