Microsoft Research rilascia il quartetto heavy-metal dei compilatori di intelligenza artificiale Rammer, Roller, Welder e Grinder

Microsoft Research rilascia i compilatori di intelligenza artificiale Rammer, Roller, Welder e Grinder.

L’evoluzione dei modelli di intelligenza artificiale (AI) e degli acceleratori hardware ha portato a sfide uniche per i compilatori. Queste sfide derivano dall’architettura in costante evoluzione dei modelli AI, come la transizione da RNN e CNN a modelli più recenti come i Transformers, insieme ai rapidi progressi negli acceleratori hardware come le GPU e le NPU. Di conseguenza, la compilazione efficiente è diventata cruciale per garantire che questi nuovi modelli AI possano funzionare in modo efficace sull’hardware moderno.

I compilatori tradizionali per l’AI hanno generalmente affrontato limitazioni nell’ottimizzazione dell’esecuzione delle reti neurali profonde (DNN). I compilatori attuali trattano il calcolo DNN come flussi di dati con funzioni di libreria opache, con una pianificazione a due livelli che comporta un significativo overhead e una sottoutilizzazione delle risorse hardware. Inoltre, la suddivisione dei dati e l’ottimizzazione dell’accesso alla memoria per i modelli AI possono richiedere molto tempo.

Infine, la maggior parte dei compilatori AI si è concentrata principalmente sull’ottimizzazione dell’esecuzione dei flussi di dati, prestando spesso attenzione all’esecuzione efficiente del codice di flusso di controllo all’interno dei modelli AI. Questa limitazione influisce sui modelli con logica di controllo complessa, ostacolando la loro capacità di sfruttare appieno l’accelerazione hardware.

Un gruppo di ricercatori di Microsoft Research ha introdotto un innovativo insieme di compilatori AI chiamato “quartetto heavy-metal”. Questo quartetto include Rammer, Roller, Welder e Grinder, ognuno progettato per affrontare aspetti specifici della compilazione AI.

  • Rammer: Rammer ripensa lo spazio di pianificazione per la compilazione AI come un piano bidimensionale e ottimizza l’esecuzione dei carichi di lavoro DNN su unità di accelerazione parallelle massive. Rammer riduce al minimo l’overhead di pianificazione a runtime organizzando i compiti computazionali come “mattoni” su questo piano, migliorando significativamente l’utilizzo dell’hardware.
  • Roller: Roller ottimizza l’efficienza della compilazione formulando in modo efficiente strategie per la suddivisione dei blocchi di dati. Genera kernel altamente ottimizzati in pochi secondi, ottenendo un miglioramento di tre ordini di grandezza nei tempi di compilazione rispetto ai compilatori esistenti.
  • Welder: Welder ottimizza in modo olistico l’efficienza dell’accesso alla memoria per i modelli DNN, riducendo il divario tra larghezza di banda della memoria e utilizzo del core di calcolo. Ottenendo notevoli miglioramenti delle prestazioni su vari modelli DNN e compilatori.
  • Grinder: Grinder si concentra sull’ottimizzazione dell’esecuzione del flusso di controllo all’interno dei modelli AI, integrando efficacemente il flusso di controllo nel flusso di dati per un’esecuzione efficiente sugli acceleratori hardware. Ottenendo velocizzazioni sostanziali per i modelli DNN con flusso di controllo intensivo.

Le prestazioni del quartetto sono state valutate su diversi dispositivi e modelli AI. Rammer ha superato i compilatori all’avanguardia, ottenendo velocizzazioni fino a 20,1 volte sulle GPU. Roller ha dimostrato una riduzione di tre ordini di grandezza nei tempi di compilazione mantenendo prestazioni competitive. Welder ha superato i framework e i compilatori esistenti fino a 21,4 volte, con miglioramenti ancora più significativi su hardware con core di calcolo più veloci. Grinder ha ottenuto velocizzazioni fino a 8,2 volte su modelli DNN con flusso di controllo intensivo, diventando il più veloce tra i compilatori DNN per il flusso di controllo.

In conclusione, con l’evoluzione dei modelli AI e dell’hardware, il ruolo dei compilatori nel garantire un’esecuzione efficiente diventa ancora più vitale. I contributi del quartetto in questo ambito aprono la strada a una distribuzione AI più efficace in una serie di applicazioni, dal riconoscimento delle immagini all’NLP, avanzando ulteriormente le capacità della tecnologia AI nel mondo digitale.