Code Carbon: meet en begrijp de klimaatimpact van code

16 januari 2025

De snelle voor­uit­gang in kunst­ma­tige intel­li­gentie (AI) en machine learning (ML) brengt aanzien­lijke voordelen, maar ook uitda­gingen met zich mee, waaronder het hoge ener­gie­ver­bruik van complexe modellen. Code Carbon is een open-source Python-pakket dat soft­wa­re­ont­wik­ke­laars en IT-managers helpt de CO2-uitstoot te meten die wordt veroor­zaakt door hun code. 

Het pakket is ontwik­keld in het Mila-lab in Montréal, onder leiding van Joshua Bengio, een van de pioniers van AI. De tool richt zich op het inzich­te­lijk maken van de ecolo­gi­sche voet­af­druk van software, met als uitein­de­lijke doel duur­za­mere code te stimuleren.

Hoe werkt Code Carbon?

Code Carbon monitort het elek­tri­ci­teits­ver­bruik van de CPU, GPU en RAM tijdens het uitvoeren van code. Dit verbruik wordt elke 10 seconden gemeten en gekoppeld aan de CO2-inten­si­teit van de gebruikte elek­tri­ci­teit. Deze inten­si­teit varieert sterk per regio en tijdstip. Zo kan de CO2-uitstoot in Frankrijk met zijn nucleaire ener­gie­op­wek­king slechts 51 gram per kWh bedragen, terwijl in Polen, waar kolen­cen­trales domineren, dit kan oplopen tot 900 gram per kWh.

Voor nauw­keu­rige regionale data maakt Code Carbon gebruik van statische gegevens of een koppeling met de API van Elec­tri­city Maps, die real-time CO2-inten­si­teit kan leveren. Hoewel de tool geen milli­me­terp­re­cisie nastreeft, biedt het devel­o­pers wel waar­de­volle inzichten om de klimaat­im­pact van hun software te beoordelen.

Het gebruik van Code Carbon is redelijk laag­drem­pelig en geschikt voor diverse ontwik­kelom­ge­vingen. Voor niet-Python projecten kan Code Carbon worden gebruikt als command line tool, waardoor het ook bruikbaar is voor appli­ca­ties in andere talen zoals Java of JavaScript. Python-ontwik­ke­laars kunnen bovendien profi­teren van deco­ra­tors en context managers om de inte­gratie verder te vereenvoudigen.

Inzicht in emissies

Een van de functies van Code Carbon is het dashboard. Hierin worden de verza­melde data visueel weer­ge­geven. Ontwik­ke­laars kunnen bijvoor­beeld zien:

  • Het ener­gie­ver­bruik in kilowattuur.
  • De geschatte CO2-uitstoot.
  • De emis­sieratio gedurende het uitvoeren van code.
  • Verge­lij­kingen van de uitstoot met alle­daagse acti­vi­teiten, zoals auto­rijden of tv-kijken.

Dit dashboard helpt bij het iden­ti­fi­ceren van energie-inten­sieve delen van de code en biedt een overzicht van de impact van wijzi­gingen in hardware of algo­ritmes. Momenteel wordt gewerkt aan een verbeterd dashboard met authen­ti­ca­tie­func­ti­o­na­li­teit, dat binnen­kort beschik­baar zal zijn.

Waarom kiezen voor Code Carbon?

Voordelen:

  • Toegan­ke­lijk­heid: Code Carbon is eenvoudig te instal­leren en te gebruiken, zelfs voor ontwik­ke­laars zonder ervaring met CO2-monitoring.
  • Inzicht: Het pakket maakt de ecolo­gi­sche voet­af­druk van software tastbaar en stimu­leert bewustwording.
  • Flexi­bi­li­teit: Dankzij de command line tool is de func­ti­o­na­li­teit niet beperkt tot Python, maar toepas­baar in bredere IT-omgevingen.

Beper­kingen:

  • Geen levens­cy­clusana­lyse: De tool houdt geen rekening met de CO2-uitstoot die wordt veroor­zaakt door de productie of het transport van hardware. Hoewel nieuwere hardware energie-effi­ci­ënter kan zijn, kan de totale impact op het milieu toch hoger uitvallen.
  • Geen opti­ma­li­sa­tie­sug­ges­ties: Code Carbon biedt geen aanbe­ve­lingen om de uitstoot te vermin­deren, maar laat wel zien hoe veran­de­ringen in de code of hardware de impact beïnvloeden.

Hieronder is een video te vinden van een presen­tatie over Code Carbon tijdens de Green IO Paris 2024-conferentie.

Pin It on Pinterest

Share This