Sommario
Gli algoritmi di deep learning utilizzati in campi come la diagnostica medica e il riconoscimento vocale richiedono enormi quantità di calcoli per processare strutture dati complesse, il che comporta un elevato consumo energetico. Per affrontare questo problema, i ricercatori del Massachusetts Institute of Technology (MIT) hanno sviluppato SySTeC, un compilatore avanzato che permette di sfruttare contemporaneamente due forme di ridondanza nei dati: la sparse computing (sparse data optimization) e la simmetria (symmetric data optimization).
Questa innovazione consente di ridurre drasticamente il numero di operazioni richieste per l’addestramento e l’esecuzione dei modelli AI, con un aumento della velocità fino a 30 volte rispetto ai metodi tradizionali.
Il problema della ridondanza nei calcoli delle reti neurali
Nei modelli di machine learning, i dati vengono rappresentati come tensori, ovvero array multidimensionali di numeri. Questi tensori vengono sottoposti a ripetute operazioni di moltiplicazione e somma di matrici, che consentono alle reti neurali di apprendere schemi complessi nei dati. Tuttavia, queste operazioni sono computazionalmente intensive e possono contenere una significativa ridondanza.
Sparse computing: eliminare i calcoli inutili
In molti dataset, la maggior parte dei valori presenti nei tensori è zero. Ad esempio, in un database di recensioni di un e-commerce, non tutti gli utenti hanno valutato ogni prodotto, il che significa che i tensori che rappresentano tali dati contengono molti valori nulli. Questo fenomeno è noto come sparsità, e un modello AI può ottimizzare i calcoli eseguendo operazioni solo sui valori diversi da zero, riducendo il consumo di memoria e aumentando l’efficienza.
Simmetria nei tensori: dimezzare i calcoli
Un altro tipo di ridondanza riguarda la simmetria nei tensori, dove alcune porzioni di dati sono speculari. Ad esempio, in un modello matematico che rappresenta connessioni tra punti in uno spazio tridimensionale, la parte superiore e inferiore di un tensore possono essere identiche. In questi casi, il sistema non ha bisogno di calcolare entrambe le parti, riducendo ulteriormente la complessità computazionale.
SySTeC: il compilatore che sfrutta sparse computing e simmetria
Il principale contributo di SySTeC è la sua capacità di combinare entrambe le ottimizzazioni in un’unica soluzione, qualcosa che in precedenza richiedeva una significativa riscrittura manuale del codice.
Il compilatore è stato progettato per identificare tre tipi di ottimizzazioni basate sulla simmetria:
- Output tensor symmetric optimization – Se il tensore in uscita è simmetrico, il sistema calcola solo metà dei valori.
- Input tensor symmetric optimization – Se il tensore in ingresso è simmetrico, il sistema legge solo la metà necessaria.
- Intermediate tensor symmetric optimization – Se i tensori intermedi delle operazioni sono simmetrici, vengono evitati calcoli duplicati.
Dopo questa prima fase di ottimizzazione della simmetria, SySTeC applica una seconda trasformazione per eliminare i valori nulli e ridurre il consumo di memoria. Il risultato finale è un codice ottimizzato pronto per essere eseguito, senza necessità di intervento manuale da parte dello sviluppatore.
Test e risultati: un aumento di velocità fino a 30 volte
I ricercatori del MIT hanno testato SySTeC su diversi modelli di deep learning, osservando un miglioramento delle prestazioni fino a un fattore 30 rispetto alle implementazioni standard. Poiché il sistema è completamente automatizzato, SySTeC risulta particolarmente utile per scienziati e ingegneri che vogliono ottimizzare gli algoritmi senza essere esperti di compilatori o ottimizzazione del codice.
Il prossimo obiettivo del team è integrare SySTeC nei compilatori di tensori esistenti, per offrire un’interfaccia ancora più accessibile agli sviluppatori e migliorare l’efficienza di applicazioni scientifiche complesse.
Implicazioni per il futuro dell’AI e del calcolo scientifico
L’innovazione introdotta da SySTeC potrebbe avere un impatto significativo su diversi ambiti tecnologici, tra cui:
- AI a basso consumo energetico – Riducendo il numero di operazioni computazionali, i modelli AI potrebbero essere eseguiti su dispositivi con risorse limitate, come smartphone e dispositivi edge.
- Simulazioni scientifiche più efficienti – Campi come la fisica computazionale e la biologia molecolare potrebbero beneficiare della riduzione dei costi computazionali.
- Sostenibilità nel cloud computing – Le grandi infrastrutture di data center potrebbero ottimizzare il consumo energetico dei modelli AI, riducendo l’impatto ambientale.
Lo sviluppo di SySTeC è stato finanziato da Intel, National Science Foundation, DARPA e il Dipartimento dell’Energia degli Stati Uniti, segno dell’importanza strategica della ricerca nell’ambito dell’ottimizzazione computazionale per l’AI.