Greening AI 7 Strategie per Rendere le Applicazioni più Sostenibili

Greening AI 7 Strategie per Rendere le Applicazioni più Sostenibili e Rispettose dell'Ambiente

 

Le applicazioni di intelligenza artificiale possiedono capacità computazionali senza precedenti che possono accelerare il progresso a un ritmo senza precedenti. Tuttavia, questi strumenti si affidano pesantemente a centri dati ad alta intensità energetica per le loro operazioni, risultando in una preoccupante mancanza di sensibilità energetica che contribuisce in modo significativo alla loro impronta di carbonio. Sorprendentemente, queste applicazioni di intelligenza artificiale rappresentano già una sostanziale 2,5-3,7 percentuale delle emissioni globali di gas serra, superando le emissioni del settore dell’aviazione.

E sfortunatamente, questa impronta di carbonio sta aumentando a un ritmo veloce.

Attualmente, l’esigenza urgente è misurare l’impronta di carbonio delle applicazioni di apprendimento automatico, come sottolineato dalla saggezza di Peter Drucker che dice: “Non puoi gestire ciò che non puoi misurare”. Attualmente, esiste una significativa mancanza di chiarezza nel quantificare l’impatto ambientale dell’intelligenza artificiale, con cifre precise che ci sfuggono.

Oltre a misurare l’impronta di carbonio, i leader del settore dell’intelligenza artificiale devono concentrarsi attivamente sulla sua ottimizzazione. Questo approccio duale è fondamentale per affrontare le preoccupazioni ambientali legate alle applicazioni di intelligenza artificiale e garantire un percorso più sostenibile per il futuro.

 

Quali fattori contribuiscono all’impronta di carbonio delle applicazioni di intelligenza artificiale

 

L’aumento dell’uso del machine learning richiede un aumento dei centri dati, molti dei quali sono avidi di energia e quindi hanno un’impronta di carbonio significativa. L’uso globale di elettricità da parte dei centri dati ammontava al 0,9-1,3 percento nel 2021.

Uno studio del 2021 ha stimato che questo consumo può aumentare al 1,86 percento entro il 2030. Questo dato rappresenta la tendenza crescente della domanda energetica dovuta ai centri dati  

In particolare, maggiore è il consumo energetico, maggiore sarà l’impronta di carbonio. I centri dati si surriscaldano durante l’elaborazione e possono guastarsi e persino smettere di funzionare a causa del surriscaldamento. Pertanto, necessitano di raffreddamento, il che richiede energia aggiuntiva. Circa il 40 percento dell’elettricità consumata dai centri dati è per il condizionamento dell’aria. 

 

Calcolo dell’intensità di carbonio per le applicazioni di intelligenza artificiale

 

Data l’aumento dell’utilizzo dell’intelligenza artificiale, è necessario tener conto dell’intensità di carbonio di questi strumenti. Attualmente, la ricerca su questo argomento è limitata ad analisi di alcuni modelli e non affronta adeguatamente la diversità dei modelli citati.

Ecco una metodologia evoluta e alcuni strumenti efficaci per calcolare l’intensità di carbonio dei sistemi di intelligenza artificiale.

 

Metodologia per stimare l’intensità di carbonio dell’intelligenza artificiale

 

Lo standard di Intensità di Carbonio del Software (SCI) standard è un approccio efficace per stimare l’intensità di carbonio dei sistemi di intelligenza artificiale. A differenza delle metodologie convenzionali che impiegano un approccio contabile del carbonio di attribuzione, utilizza un approccio calcolante conseguenziale.

L’approccio conseguenziale cerca di calcolare il cambiamento marginale delle emissioni derivante da un intervento o una decisione, come la decisione di generare un’unità extra. Mentre l’attribuzione si riferisce all’attribuzione dei dati di intensità media o inventari statici delle emissioni. 

Un articolo su “Misurare l’Intensità di Carbonio dell’Intelligenza Artificiale nelle Istanze di Cloud” di Jesse Doge et al. ha utilizzato questa metodologia per portare una ricerca più informata. Poiché una quantità significativa di addestramento dei modelli di intelligenza artificiale viene effettuata su istanze di cloud computing, può essere un framework valido per calcolare l’impronta di carbonio dei modelli di intelligenza artificiale. L’articolo perfeziona la formula SCI per tali stime come: 

che è raffinata da:

dove:

E: Energia consumata da un sistema software, principalmente di unità di elaborazione grafica-GPU che è l’hardware specializzato ML.

I: Emissioni di carbonio marginali basate sulla posizione dalla rete che alimenta il datacenter.

M: Carbonio incorporato o presente, che è il carbonio emesso durante l’uso, la creazione e lo smaltimento dell’hardware.

R: Unità funzionale, che in questo caso è un compito di addestramento dell’apprendimento automatico.

C= O+M, dove O è uguale a E*I

Il documento utilizza la formula per stimare il consumo di elettricità di un’istanza cloud singola. Nei sistemi di apprendimento automatico basati sull’apprendimento profondo, il consumo di energia principale è dovuto alla GPU, che è inclusa in questa formula. Hanno addestrato un modello BERT-base utilizzando una singola GPU NVIDIA TITAN X (12 GB) in un server di tipo commerciale con due CPU Intel Xeon E5-2630 v3 (2,4 GHz) e 256 GB di RAM (16x16GB DIMM) per sperimentare l’applicazione di questa formula. La figura seguente mostra i risultati di questo esperimento:

La GPU rappresenta il 74 percento del consumo energetico. Anche se gli autori del documento affermano che si tratti ancora di una sottovalutazione, l’inclusione della GPU è un passo nella giusta direzione. Non è l’obiettivo delle tecniche di stima convenzionali, il che significa che un importante contributore delle emissioni di carbonio viene trascurato nelle stime. Evidentemente, SCI offre un calcolo più completo e affidabile dell’intensità di carbonio.

Approcci per misurare in tempo reale l’impronta di carbonio del cloud computing

Il training dei modelli di IA viene spesso effettuato su istanze di calcolo cloud, poiché il cloud offre flessibilità, accessibilità ed efficienza dei costi. Il cloud computing fornisce l’infrastruttura e le risorse per implementare e addestrare modelli di IA su larga scala. Ecco perché il training dei modelli sul cloud computing sta aumentando gradualmente.

È importante misurare l’intensità di carbonio in tempo reale delle istanze di calcolo cloud per identificare aree adatte per gli sforzi di mitigazione. Tenere conto delle emissioni marginali specifiche per il tempo e la posizione per unità di energia può aiutare a calcolare le emissioni di carbonio operative, come riportato da un documento del 2022.

È disponibile anche uno strumento opensource, software Cloud Carbon Footprint (CCF), per calcolare l’impatto delle istanze cloud.

Migliorare l’efficienza in termini di carbonio delle applicazioni di IA

Ecco 7 modi per ottimizzare l’intensità di carbonio dei sistemi di IA.

1. Scrivere codice migliore, più efficiente

I codici ottimizzati possono ridurre il consumo di energia di 30 percento attraverso la diminuzione dell’utilizzo di memoria e processore. Scrivere un codice a basso impatto di carbonio comporta l’ottimizzazione degli algoritmi per una maggiore velocità di esecuzione, la riduzione di calcoli non necessari e la selezione di hardware a basso consumo energetico per svolgere compiti con meno potenza.

I programmatori possono utilizzare strumenti di profilazione per individuare i collo di bottiglia delle prestazioni e le aree da ottimizzare nel loro codice. Questo processo può portare a software più efficienti dal punto di vista energetico. Inoltre, si consiglia di implementare tecniche di programmazione consapevole dell’energia, in cui il codice è progettato per adattarsi alle risorse disponibili e per privilegiare percorsi di esecuzione a basso consumo energetico.

2. Selezionare un modello più efficiente

La scelta di algoritmi e strutture dati corretti è fondamentale. Gli sviluppatori dovrebbero optare per algoritmi che minimizzano la complessità computazionale e di conseguenza, il consumo energetico. Se il modello più complesso produce solo un miglioramento del 3-5% ma richiede 2-3 volte più tempo per essere addestrato, allora scegliere il modello più semplice e veloce.

La distillazione del modello è un’altra tecnica per condensare modelli di grandi dimensioni in versioni più piccole al fine di renderli più efficienti pur conservando le conoscenze essenziali. Ciò può essere ottenuto addestrando un modello ridotto per imitare quello grande o rimuovendo connessioni non necessarie da una rete neurale.

3. Sintonizza i parametri del modello

Regola gli iperparametri del modello utilizzando l’ottimizzazione a doppio obiettivo che bilancia le prestazioni del modello (ad esempio, accuratezza) e il consumo di energia. Questo approccio a doppio obiettivo assicura che tu non stia sacrificando l’uno per l’altro, rendendo i tuoi modelli più efficienti.

Sfrutta tecniche come il Parameter-Efficient Fine-Tuning (PEFT) il cui obiettivo è ottenere prestazioni simili al fine-tuning tradizionale, ma con un numero ridotto di parametri addestrabili. Questo approccio prevede il fine-tuning di un piccolo subset di parametri del modello mantenendo la maggior parte dei Large Language Models (LLM) pre-addestrati congelati, con conseguenti riduzioni significative delle risorse di calcolo e del consumo di energia.

4. Comprimi i dati e utilizza archiviazione a basso consumo energetico

Implementa tecniche di compressione dati per ridurre la quantità di dati trasmessi. I dati compressi richiedono meno energia per il trasferimento e occupano meno spazio su disco. Durante la fase di utilizzo del modello, l’utilizzo di una cache può aiutare a ridurre le chiamate effettuate al livello di archiviazione online, riducendo così il consumo di risorse di calcolo.

Inoltre, scegliere la giusta tecnologia di archiviazione può comportare guadagni significativi. Ad esempio, AWS Glacier è una soluzione di archiviazione dati efficiente e può rappresentare un approccio più sostenibile rispetto all’utilizzo di S3 se i dati non devono essere accessibili frequentemente.

5. Addestra i modelli con energia pulita

Se stai utilizzando un servizio cloud per l’addestramento del modello, puoi scegliere la regione in cui eseguire i calcoli. Scegli una regione che utilizza fonti di energia rinnovabile per questo scopo e potrai ridurre le emissioni fino a 30 volte. Un post sul blog di AWS illustra l’equilibrio tra ottimizzazione degli obiettivi aziendali e di sostenibilità.

Un’altra opzione è selezionare il momento opportuno per eseguire il modello. In determinati momenti della giornata, l’energia è più pulita e tali dati possono essere acquisiti tramite un servizio a pagamento come Electricity Map, che offre accesso a dati in tempo reale e previsioni future sulla intensità di carbonio dell’elettricità in diverse regioni.

6. Utilizza data center e hardware specializzati per l’addestramento del modello

Scegliere data center e hardware più efficienti può fare una grande differenza in termini di intensità di carbonio. I data center e l’hardware specifici per l’apprendimento automatico possono essere da 1,4 a 2 e da 2 a 5 volte più efficienti dal punto di vista energetico rispetto a quelli generali.

7. Utilizza distribuzioni senza server come AWS Lambda, Azure Functions

Le distribuzioni tradizionali richiedono che il server sia sempre acceso, il che comporta un consumo energetico 24×7. Le distribuzioni senza server come AWS Lambda e Azure Functions funzionano bene con una minima intensità di carbonio.

Note finali

Il settore dell’IA sta vivendo una crescita esponenziale, permeando ogni aspetto del business e dell’esistenza quotidiana. Tuttavia, questa espansione comporta un costo – una crescente impronta di carbonio che minaccia di allontanarci ulteriormente dall’obiettivo di limitare l’aumento della temperatura globale a soli 1°C.

Questa impronta di carbonio non è solo una preoccupazione attuale; le sue ripercussioni potrebbero estendersi alle generazioni future, colpendo coloro che non hanno alcuna responsabilità per la sua creazione. Pertanto, diventa imperativo prendere decisioni decisive per mitigare le emissioni di carbonio legate all’IA ed esplorare vie sostenibili per sfruttarne il potenziale. È cruciale assicurare che i benefici dell’IA non siano a spese dell’ambiente e del benessere delle future generazioni.

[Ankur Gupta](https://www.linkedin.com/in/ankurgupta101) è un leader ingegneristico con un decennio di esperienza che spazia nei settori della sostenibilità, dei trasporti, delle telecomunicazioni e dell’infrastruttura; attualmente ricopre la posizione di Responsabile dell’Ingegneria presso Uber. In questo ruolo, svolge un ruolo fondamentale nell’impulsare l’avanzamento della piattaforma dei veicoli Uber, guidando l’innovazione verso un futuro a zero emissioni attraverso l’integrazione di veicoli elettrici e connessi all’avanguardia.