Ottimizzare i software nei modelli di deep learning

Condividi

I ricercatori del MIT hanno scoperto che l’uso di diagrammi per rappresentare le interazioni in sistemi multiparte può migliorare la progettazione dei software.

Coordinare sistemi interattivi complessi, che si tratti delle diverse modalità di trasporto in una città o dei vari componenti che devono collaborare per realizzare un robot efficace ed efficiente, è un argomento sempre più importante da affrontare per gli sviluppatori di software. I ricercatori del MIT hanno ideato un modo completamente nuovo di affrontare questi problemi complessi, utilizzando semplici diagrammi come strumento per rivelare approcci migliori all’ottimizzazione del software nei modelli di deep learning. II metodo è descritto sulla rivista Transactions of Machine Learning Research, in un articolo del dottorando Vincent Abbott e del professor Gioele Zardini del Laboratory for Information and Decision Systems (LIDS) del MIT: “Abbiamo progettato un nuovo linguaggio per parlare di questi nuovi sistemi. Un linguaggio basato sui diagrammi si basa in larga misura sulla cosiddetta teoria delle categorie” afferma Zardini. 

Tutto ha a che fare con la progettazione dell’architettura sottostante degli algoritmi informatici, ovvero i programmi che effettivamente finiranno per rilevare e controllare le diverse parti del sistema in fase di ottimizzazione. “I componenti sono diverse parti di un algoritmo e devono comunicare tra loro, scambiarsi informazioni, ma anche tenere conto del consumo energetico, del consumo di memoria e così via”. Tali ottimizzazioni sono notoriamente difficili, perché ogni modifica di una parte del sistema può a sua volta causare modifiche di altre parti, che a loro volta possono influenzare ulteriormente altre parti e così via.

Algoritmi di deep learning

I ricercatori hanno deciso di concentrarsi su una particolare classe di algoritmi di apprendimento profondo. Esso è alla base dei grandi modelli di intelligenza artificiale, inclusi i grandi modelli linguistici come ChatGPT e i modelli di generazione di immagini come Midjourney. Questi modelli manipolano i dati mediante una serie “profonda” di moltiplicazioni di matrici intervallate da altre operazioni. I numeri all’interno delle matrici sono parametri e vengono aggiornati durante lunghe sessioni di addestramento, consentendo di individuare modelli complessi. Tali modelli sono costituiti da miliardi di parametri, quindi il calcolo risulta costoso. 

Secondo la ricerca del Massachussets Institut of Technology, i diagrammi possono rappresentare i dettagli delle operazioni parallelizzate che compongono i modelli di deep learning, rivelando le relazioni tra gli algoritmi e l’hardware dell’unità di elaborazione grafica (GPU) parallelizzata su cui vengono eseguiti. Come spiega il ricercatore: “Sembra che abbiamo trovato un linguaggio che descrive molto bene gli algoritmi di apprendimento profondo, rappresentando esplicitamente tutti gli aspetti importanti, ovvero gli operatori utilizzati”, per esempio il consumo energetico, l’allocazione di memoria e qualsiasi altro parametro che si sta cercando di ottimizzare.

Lo sviluppo dei software potrebbe diventare molto più rapido, perché “il ricercatore carica il suo codice e, con il nuovo algoritmo, rileva automaticamente cosa può essere migliorato e ottimizzato e restituisce all’utente una nuova versione dell’algoritmo” continua Zardini. 

Oltre ad automatizzare l’ottimizzazione degli algoritmi, i ricercatori osservano che un’analisi approfondita del modo in cui gli algoritmi di deep learning si relazionano all’utilizzo delle risorse hardware consente una progettazione congiunta sistematica di hardware e software. Questa linea di lavoro si integra con l’attenzione alla progettazione congiunta categoriale, che utilizza gli strumenti della teoria delle categorie per ottimizzare simultaneamente vari componenti dei sistemi ingegnerizzati.

L’altro autore, il dottorando Abbott, afferma che “l’intero campo dei modelli di apprendimento profondo ottimizzati è ancora in gran parte inesplorato, ed è per questo che questi diagrammi sono così interessanti. Aprono le porte a un approccio sistematico a questo problema”.

Il nuovo linguaggio basato su diagrammi, pubblicato online, ha già attirato grande attenzione e interesse da parte degli sviluppatori di software. 

Foto: iStock

Fonte: MIT News

Articoli correlati

Abbiamo intervistato Ivan Figliolo, general manager di Tornos Technologies Italia, storica casa svizzera specializzata nella tornitura automatica. Una realtà che […]

Carico e scarico, controllo delle scorte, gestione di fatture e documenti, tracciabilità delle operazioni, velocità operativa e clienti soddisfatti. L’effetto […]

Con oltre 35 anni di esperienza nello sviluppo di software per la lavorazione della lamiera, Libellula continua a innovare nel […]

Abbiamo intervistato l’amministratore delegato di Gerardi, Ivano Gerardi Jr., per un aggiornamento su mercati e tecnologie d’automazione industriale. La Gerardi […]