Code Carbon: meet en begrijp de klimaatimpact van code

16 januari 2025

De snelle vooruitgang in kunstmatige intelligentie (AI) en machine learning (ML) brengt aanzienlijke voordelen, maar ook uitdagingen met zich mee, waaronder het hoge energieverbruik van complexe modellen. Code Carbon is een open-source Python-pakket dat softwareontwikkelaars en IT-managers helpt de CO2-uitstoot te meten die wordt veroorzaakt door hun code. 

Het pakket is ontwikkeld in het Mila-lab in Montreal, onder leiding van Joshua Bengio, een van de pioniers van AI. De tool richt zich op het inzichtelijk maken van de ecologische voetafdruk van software, met als uiteindelijke doel duurzamere code te stimuleren.

Hoe werkt Code Carbon?

Code Carbon monitort het elektriciteitsverbruik van de CPU, GPU en RAM tijdens het uitvoeren van code. Dit verbruik wordt elke 10 seconden gemeten en gekoppeld aan de CO2-intensiteit van de gebruikte elektriciteit. Deze intensiteit varieert sterk per regio en tijdstip. Zo kan de CO2-uitstoot in Frankrijk met zijn nucleaire energieopwekking slechts 51 gram per kWh bedragen, terwijl in Polen, waar kolencentrales domineren, dit kan oplopen tot 900 gram per kWh.

Voor nauwkeurige regionale data maakt Code Carbon gebruik van statische gegevens of een koppeling met de API van Electricity Maps, die real-time CO2-intensiteit kan leveren. Hoewel de tool geen millimeterprecisie nastreeft, biedt het developers wel waardevolle inzichten om de klimaatimpact van hun software te beoordelen.

Het gebruik van Code Carbon is redelijk laagdrempelig en geschikt voor diverse ontwikkelomgevingen. Voor niet-Python projecten kan Code Carbon worden gebruikt als command line tool, waardoor het ook bruikbaar is voor applicaties in andere talen zoals Java of JavaScript. Python-ontwikkelaars kunnen bovendien profiteren van decorators en context managers om de integratie verder te vereenvoudigen.

Inzicht in emissies

Een van de functies van Code Carbon is het dashboard. Hierin worden de verzamelde data visueel weergegeven. Ontwikkelaars kunnen bijvoorbeeld zien:

  • Het energieverbruik in kilowattuur.
  • De geschatte CO2-uitstoot.
  • De emissieratio gedurende het uitvoeren van code.
  • Vergelijkingen van de uitstoot met alledaagse activiteiten, zoals autorijden of tv-kijken.

Dit dashboard helpt bij het identificeren van energie-intensieve delen van de code en biedt een overzicht van de impact van wijzigingen in hardware of algoritmes. Momenteel wordt gewerkt aan een verbeterd dashboard met authenticatiefunctionaliteit, dat binnenkort beschikbaar zal zijn.

Waarom kiezen voor Code Carbon?

Voordelen:

  • Toegankelijkheid: Code Carbon is eenvoudig te installeren en te gebruiken, zelfs voor ontwikkelaars zonder ervaring met CO2-monitoring.
  • Inzicht: Het pakket maakt de ecologische voetafdruk van software tastbaar en stimuleert bewustwording.
  • Flexibiliteit: Dankzij de command line tool is de functionaliteit niet beperkt tot Python, maar toepasbaar in bredere IT-omgevingen.

Beperkingen:

  • Geen levenscyclusanalyse: De tool houdt geen rekening met de CO2-uitstoot die wordt veroorzaakt door de productie of het transport van hardware. Hoewel nieuwere hardware energie-efficiënter kan zijn, kan de totale impact op het milieu toch hoger uitvallen.
  • Geen optimalisatiesuggesties: Code Carbon biedt geen aanbevelingen om de uitstoot te verminderen, maar laat wel zien hoe veranderingen in de code of hardware de impact beïnvloeden.

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

redactie@belgiumcloud

redactie@belgiumcloud

Persberichten, blogs en andere content kunt u mailen naar robbert@belgiumcloud.com

Pin It on Pinterest

Share This