CodeCarbon: un progetto per la sostenibilità ambientale dell’informatica e dell’intelligenza artificiale

Qual è l’impatto ambientale dell’informatica in generale e, nello specifico, dell’intelligenza artificiale? Affrontare la questione di quanto consumano i sistemi hardware non è di certo all’ordine del giorno, ma si tratta di un tema di grande importanza. Sviluppare e scrivere il codice per far funzionare gli algoritmi richiede, ad esempio, un notevole fabbisogno di energia, per via dell’enorme quantità di calcolo necessaria per elaborare i dati, e le conseguenze nocive per l’ambiente possono risultare rilevanti.

 

A tal proposito, un team di esperti provenienti da quattro diverse organizzazioni – Mila, una delle principali aziende al mondo nel campo della ricerca sull’AI con sede a Montreal, Bcg Gamma, la divisione di Boston Consulting Group dedicata all’applicazione della scienza dei dati e dell’AI, l’Haveford College della Pennsylvania e la Comet.ml sita a New York, specialista nell’ambito delle soluzioni di meta machine learning – ha ideato una soluzione idonea a ridurre le emissioni nocive, preservando completamente i benefici dell’intelligenza artificiale. Il risultato è stato la messa a punto di un innovativo software open source, chiamato CodeCarbon, che permette di tenere traccia dell’impronta di carbonio dell’intelligenza artificiale: uno strumento informatico in grado di stimare la quantità di CO2 prodotta dalle risorse di calcolo e di incentivare, di conseguenza, gli sviluppatori a ottimizzare l’efficienza del proprio operato, suggerendo loro come ridurre le emissioni mediante un accesso mirato all’infrastruttura cloud che utilizza fonti di energia a basso contenuto di carbonio.

Dal punto di vista tecnico, CodeCarbon è un software che si integra perfettamente nel linguaggio di programmazione Python, con il compito di calcolare la quantità di anidride carbonica generata dalle risorse di computing per l’esecuzione del codice.

Se si pensa che, mettere a punto un potente algoritmo di machine learning con milioni di parametri da verificare, possa essere un’attività particolarmente intensa dal punto di vista delle risorse informatiche utilizzate – adoperando diverse macchine di calcolo e unità di elaborazione grafica in modalità h24 per giorni o settimane – si può agevolmente intuire come l’efficientamento di questo processo possa evitare d’immettere in atmosfera svariate centinaia di chilogrammi di CO2 equivalenti.

Il tracker inserito nella codebase di Python registra la quantità di energia utilizzata dall’infrastruttura sottostante, sia che si tratti di grandi cloud provider (ad es. Amazon Web Services, Microsoft, Google) che di datacenter privati ospitati in sedi aziendali, alimentandosi grazie alle fonti di dati pubblicamente disponibili – gli open data – e relative ai consumi energetici di queste infrastrutture. Il software stima in tal modo la quantità di emissioni di CO2, calcolandola rispetto all’intensità di carbonio imputabile alla rete elettrica a cui è collegato l’hardware.

Ogni sviluppatore che lavora con CodeCarbon viene codificato per consentire il tracciamento dell’infrastruttura hardware utilizzata nel proprio lavoro e il software fa il resto, monitorando in tempo reale i consumi a livello di Cpu e Gpu, visualizzandone la reportistica. Tutte le emissioni di ogni singolo progetto vengono registrate, memorizzate e rese condivisibili, in modo da offrire a tutti i soggetti coinvolti una maggiore e più tangibile visibilità dell’impatto ambientale generato dall’esecuzione dei rispettivi modelli matematici, attraverso un cruscotto digitale di facile utilizzo. Le emissioni di CO2 vengono visualizzate e presentate mediante numeri facilmente comprensibili sottoforma di chilometri percorsi in automobile, ore passate davanti alla TV o energia giornaliera consumata da una famiglia media statunitense.

Si auspica inoltre che CodeCarbon contribuisca a introdurre maggiore trasparenza nella comunità degli sviluppatori, consentendo loro di misurare e poi mettere a fattor comune i dati relativi alle emissioni generate dall’esecuzione del codice.

Yoshua Bengio, fondatore di Mila, uno tra gli artefici di CodeCarbon, ha spiegato, durante la conference call di annuncio del progetto, che “la nostra missione è quella di aiutare la comunità AI a lavorare in modo più sostenibile, calcolando, divulgando e riducendo l’impronta di carbonio che produce, perché molti ricercatori e sviluppatori hanno a cuore la questione del climate change, ma spesso non conoscono gli impatti che le loro attività hanno sull’ambiente”. Il maggior consumo di energia, secondo l’esperto, è legato alla fase di upload delle immagini e dei contenuti video online, ed è quanto mai difficile stimare i costi legati alle emissioni di sostanze nocive di un progetto che richiede grandissime capacità di elaborazione dei dati.

Anche Sylvain Duranton, senior partner di Boston Consulting Group e responsabile globale di Bcg Gamma, è convinto che sviluppare in modo sostenibile e responsabile sia un passaggio cruciale per un utilizzo più oculato delle risorse energetiche disponibili su scala globale.

L’uso dell’informatica in generale, e dell’intelligenza artificiale in particolare, ha sottolineato il manager, “continuerà a espandersi in tutto il mondo e ciò implica una crescita esponenziale sull’impatto ambientale: oggi la carbon footprint del comparto Ict pesa per circa il 2% sulle emissioni totali di gas serra e questo livello non va assolutamente superato, semmai ridotto. Occorre quindi cambiare approccio, e CodeCarbon è per l’appunto una soluzione che può aiutare le organizzazioni a contenere ai minimi termini l’incremento della loro impronta di carbonio collettiva”.

Le capacità dell’intelligenza artificiale – spiega ancora Duranton – sono “direttamente proporzionali alla quantità di dati e di Cpu utilizzate, e per ridurre i consumi di energia occorre intervenire per l’appunto sui modelli e sui sistemi di elaborazione delle informazioni”.

La missione di convertire il mondo dei developer all’utilizzo di tool come CodeCarbon – come ha osservato Bengio – è comunque appena iniziato e le potenzialità dello strumento sono da considerarsi sicuramente ambiziose. Sintomatico, in tal senso, il commento di Niko Laskaris, data scientist di Comet.ml, secondo cui “i team possono continuare a costruire grandi modelli di sviluppo dell’AI, ma devono farlo con un nuovo parametro: l’impronta di carbonio del loro lavoro, attraverso il tracciamento e l’ottimizzazione del modello”.

Licenza Creative Commons
Quest’opera è distribuita con Licenza Creative Commons Attribuzione 4.0 Internazionale