All Things AI
Deep Dive

Carbon Footprint Measurement

Intermediate

Carbon Footprint Measurement

As AI becomes a material contributor to an organization's carbon footprint, measuring and reporting that footprint accurately is no longer optional for public companies or regulated entities. This page covers the frameworks, tools, and practical approaches for quantifying the carbon impact of AI workloads.

Scope 1, 2, and 3 Emissions

The GHG Protocol (the standard framework for corporate greenhouse gas accounting) defines three scopes of emissions:

ScopeDefinitionAI Examples
Scope 1Direct emissions from owned/controlled sourcesOn-premise data center's diesel generators, natural gas HVAC
Scope 2Indirect emissions from purchased electricity/heatCloud compute electricity, on-premise server electricity
Scope 3All other indirect emissions in value chainGPU manufacturing, employee device use, customer-side inference

For most organizations using cloud AI: Scope 2 (electricity for cloud compute) is the dominant AI-related emission. Scope 3 (embodied carbon in hardware, user device inference) is typically larger but harder to measure.

Carbon Intensity of Electricity

Not all electricity is equally clean. The carbon intensity (grams of CO₂ equivalent per kWh) depends on the local energy mix:

  • Norway (99% hydro): ~18 gCO₂eq/kWh
  • France (75% nuclear): ~52 gCO₂eq/kWh
  • US national average: ~386 gCO₂eq/kWh
  • Germany (coal + natural gas transition): ~350 gCO₂eq/kWh
  • Australia (coal-heavy): ~610 gCO₂eq/kWh

Running the same workload in different cloud regions can vary the carbon footprint by 10–30×. This is a significant lever for organizations with flexibility in where they run compute.

Measurement Tools

CodeCarbon (Open Source)

The most widely used open-source tool for measuring AI workload emissions during development and training:

from codecarbon import EmissionsTracker

tracker = EmissionsTracker()
tracker.start()

# Your AI training / inference code here
model.fit(train_data, epochs=10)

emissions = tracker.stop()
print(f"Carbon: {emissions:.4f} kg CO₂eq")

CodeCarbon measures hardware power consumption, estimates energy use, looks up the carbon intensity of the local grid, and calculates equivalent CO₂. Results written to CSV for reporting.

Cloud Provider Carbon Tools

  • AWS Customer Carbon Footprint Tool - monthly breakdown of Scope 2 emissions from AWS usage; available in Cost Explorer
  • Google Cloud Carbon Footprint - per-product, per-region gross carbon emissions; available in Cloud Console; accounts for Google's renewable energy purchases
  • Azure Emissions Impact Dashboard - Scope 2 emissions from Azure consumption; includes market-based (with PPAs) and location-based views

LLM-Specific Tools

  • Hugging Face Model Cards - model cards on the Hugging Face Hub increasingly include training carbon footprint figures (some models report kgCO₂eq for full training run)
  • MLCO2 Calculator - simple web calculator; input hardware type, region, duration; outputs CO₂eq estimate for a training run
  • AI Energy Score (emerging) - standardized benchmark for model energy efficiency at inference; analogous to Energy Star ratings for appliances

What to Report

For organizations publishing AI carbon footprints, the emerging standard includes:

  • Energy consumed (kWh) - total training energy and inference energy over a period
  • Gross carbon emissions (kgCO₂eq) - before renewable energy purchases (location-based)
  • Net carbon emissions - after renewable energy certificates (RECs) and power purchase agreements (market-based)
  • Hardware embodied carbon (where estimable) - manufacturing CO₂eq per GPU type × number of GPUs × utilization fraction
  • PUE - to contextualize overhead vs compute efficiency

Measurement Limitations

  • API calls - when using Claude, GPT-4, or Gemini via API, the provider's server carbon is allocated across all users; you cannot measure the exact footprint of your specific calls without provider disclosure
  • Temporal variation - grid carbon intensity varies hour-by-hour; a workload run at 2am on a windy Tuesday has a different footprint than the same workload run at 7pm on a still Monday
  • Scope 3 opacity - GPU manufacturing emissions are estimates based on general semiconductor industry data; chipmakers do not publish per-SKU manufacturing carbon
  • Attribution across shared infrastructure - a shared cloud GPU used simultaneously by multiple customers; each customer's footprint is the allocated share, not the whole server