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:
| Scope | Definition | AI Examples |
|---|---|---|
| Scope 1 | Direct emissions from owned/controlled sources | On-premise data center's diesel generators, natural gas HVAC |
| Scope 2 | Indirect emissions from purchased electricity/heat | Cloud compute electricity, on-premise server electricity |
| Scope 3 | All other indirect emissions in value chain | GPU 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