Questo articolo sull’Intelligenza Artificiale di Google presenta una serie di ottimizzazioni che raggiungono collettivamente cifre di latenza rivoluzionarie per l’esecuzione di grandi modelli di diffusione su vari dispositivi.

Google's AI article presents optimizations that collectively achieve revolutionary latency figures for running large diffusion models on various devices.

Le dimensioni dei modelli e i carichi di lavoro di inferenza sono cresciuti in modo significativo poiché i grandi modelli di diffusione per la produzione di immagini sono diventati più comuni. A causa delle limitazioni delle risorse, l’ottimizzazione delle prestazioni per l’elaborazione di inferenze di ML su dispositivi mobili è un delicato equilibrio. A causa dei considerevoli requisiti di memoria e delle richieste computazionali di questi modelli, l’esecuzione di inferenza di grandi modelli di diffusione (LDM) sui dispositivi rappresenta ostacoli ancora più grandi, soprattutto alla luce della necessità di economicità e privacy dell’utente.

La creazione rapida e l’ampio utilizzo dei modelli di base hanno completamente trasformato l’intelligenza artificiale. Grazie alla sua versatilità e alla capacità di produrre immagini fotorealistiche, i grandi modelli di diffusione hanno attirato molta attenzione. La riduzione dei costi dei server, le capacità offline e il miglioramento della privacy degli utenti sono solo alcuni dei vantaggi del deploy di questi modelli localmente sul dispositivo dell’utente. A causa delle limitate risorse computazionali e di memoria sui dispositivi, i tipici grandi modelli di diffusione hanno oltre 1 miliardo di parametri, creando difficoltà. Google ha offerto un insieme di modifiche all’implementazione di grandi modelli di diffusione che consentono la latenza di inferenza più veloce su dispositivi mobili con GPU ad oggi. Questi aggiornamenti migliorano l’esperienza complessiva dell’utente su vari dispositivi e aumentano la portata dell’uso dell’IA generativa.

Grazie ai suoi numerosi vantaggi rispetto ai metodi basati su server, come la latenza ridotta, la maggiore privacy e la maggiore scalabilità, l’accelerazione dell’inferenza del modello sul dispositivo ha recentemente suscitato molto interesse. La complessità dell’operazione softmax utilizzata frequentemente nell’apprendimento profondo ha motivato gli sforzi di ottimizzazione, che hanno portato a diverse strategie di accelerazione. La convoluzione di Winograd è stata sviluppata per migliorare l’efficienza del calcolo convoluzionale minimizzando il numero di moltiplicazioni richieste, il che è particolarmente utile per le unità di elaborazione grafica (GPU).

Il successo e l’adozione diffusa del design Transformer hanno suscitato la ricerca per accelerare il meccanismo di attenzione. Reformer utilizza un’approximation sparsa per ridurre il costo di calcolo, mentre altri lavori utilizzano l’approximation di basso rango o una combinazione di tecniche di approssimazione. FlashAttention, d’altra parte, è un algoritmo di attenzione preciso che considera le configurazioni hardware per ottenere prestazioni migliori.

Il focus principale è sulla sfida di creare immagini a partire da descrizioni scritte mediante l’impiego di grandi modelli di diffusione. Anche se questa spiegazione si concentra su come le migliorie proposte funzionano con l’architettura Stable Diffusion, è importante notare che queste ottimizzazioni sono facilmente trasferibili ad altri grandi modelli di diffusione. L’inferenza dal testo richiede una condizionatura extra basata sulla descrizione testuale desiderata per guidare il processo di diffusione inversa.

Il blocco di attenzione impiegato ampiamente dal modello di denoiser nel LDM presenta un’area ottimale per il miglioramento. Il modello può concentrarsi sulle informazioni rilevanti dando ai blocchi di attenzione maggior peso in input. I moduli di attenzione possono essere ottimizzati in diversi modi; i ricercatori spesso utilizzano solo una delle due ottimizzazioni dettagliate di seguito, quella che produce i migliori risultati.

La prima ottimizzazione, denominata softmax parzialmente fuso, riduce la quantità di memoria letta e scritta durante il softmax del modulo di attenzione fondendolo con la moltiplicazione matriciale. L’altra modifica utilizza un metodo di attenzione preciso orientato all’I/O chiamato FlashAttention. Il numero di accessi alla memoria ad alta larghezza di banda dalla GPU viene ridotto con questo approccio, rendendolo una scelta eccellente per applicazioni con larghezza di banda della memoria limitata. Sono necessari un gran numero di registri, e hanno scoperto che il metodo funziona solo con determinate dimensioni di SRAM. Pertanto, utilizzano questo metodo solo su un sottoinsieme di GPU per matrici di attenzione di una dimensione specifica.

Inoltre, il team ha scoperto che le finestre di fusione per i livelli e le unità comunemente utilizzati nei LDM devono essere notevolmente più grandi su una GPU mobile rispetto a quelle attualmente disponibili dalle motorizzazioni di inferenza ML accelerate da GPU disponibili commercialmente. Alla luce delle limitazioni delle regole di fusione standard, hanno ideato implementazioni personalizzate in grado di eseguire una vasta gamma di operatori neurali. La loro attenzione si è concentrata su due sotto-campi: l’unità lineare di errore gaussiana (GELU) e il livello di normalizzazione di gruppo.

Le limitazioni delle dimensioni dei file dei modelli, delle esigenze di memoria di runtime massive e della prolungata latenza di inferenza si sono dimostrate ostacoli significativi nella realizzazione di inferenze di machine learning di grandi modelli sul dispositivo stesso. I ricercatori hanno capito che l’utilizzo della larghezza di banda della memoria era il principale vincolo. Pertanto, si sono concentrati sul miglioramento dell’utilizzo della larghezza di banda della memoria mantenendo un sano rapporto efficienza ALU/memory. Insieme, le ottimizzazioni dimostrate hanno permesso l’esecuzione di grandi modelli di diffusione su una vasta gamma di dispositivi con valori di latenza senza precedenti. Grazie a queste migliorie, l’applicabilità del modello è ampliata e l’esperienza dell’utente è migliorata su una vasta gamma di dispositivi.