Energi och miljöpåverkan
Kunna uppskatta energiåtgång för träning och inferens och jämföra alternativ.
Förkunskaper
Intuition
AI förbrukar el. Frågan är hur mycket, jämfört med vad, och vilka val som faktiskt gör skillnad.
Två poster:
| Träning | Inferens | |
|---|---|---|
| När | en gång | varje anrop |
| Storleksordning | MWh till GWh | wattsekunder |
| Dominerar totalt? | i början | efter tillräckligt många anrop |
En stor modell som används av miljoner människor förbrukar med tiden mer på inferens än på träning. Träningen är en engångskostnad; inferensen fortsätter.
Var elen kommer ifrån spelar enormt stor roll. Samma beräkning i Sverige och i ett kolberoende elnät skiljer sig ungefär en tiopotens i koldioxidutsläpp. Det är en större faktor än nästan alla tekniska optimeringar tillsammans.
Formellt
Grundformeln för träning:
| Storhet | Betyder | Typiskt |
|---|---|---|
| effekt per GPU | 0,3–0,7 kW | |
| tid | timmar | |
| antal GPU:er | ||
| PUE | overhead för kylning m.m. | 1,1–1,6 |
Exempel: 512 GPU:er à 0,4 kW i 30 dygn, PUE 1,2:
Det motsvarar ungefär åtta svenska villors årsförbrukning. Med svensk elmix (cirka 30 g CO₂e/kWh) blir det ungefär 5 ton CO₂e; med en kolberoende mix (700 g/kWh) närmare 124 ton.
Inferens per anrop är litet men mångfaldigas. En grov uppskattning för en medelstor modell: 0,3–3 Wh per svar. Vid 10 miljoner svar per dygn blir det 3–30 MWh per dygn — alltså i samma härad som en hel träningskörning, varje vecka.
Vad som faktiskt påverkar, i storleksordning:
| Val | Effekt |
|---|---|
| Elens ursprung | upp till 20× skillnad i CO₂e |
| Modellstorlek | ungefär proportionell mot beräkning |
| Kvantisering | 2–4× mindre energi per anrop |
| Batchning | bättre GPU-utnyttjande, ofta 2–5× |
| Caching | eliminerar anropet helt |
| Att inte träna om i onödan | den största besparingen som finns |
Var ärlig om osäkerheten. Siffrorna ovan är storleksordningar, inte mätvärden — verklig förbrukning beror på hårdvara, utnyttjandegrad och datacenter. codecarbon och liknande verktyg mäter faktisk förbrukning under körning och är att föredra framför skattningar när det går.
Och sätt det i sammanhang. Ett enskilt LLM-svar förbrukar mindre än att streama video i några minuter. Det gör inte frågan oviktig — summan över miljarder anrop är betydande, och datacentrens andel av elförbrukningen växer snabbt — men proportionerna är värda att ha rätt när man argumenterar.
Kod
SVENSK_MIX = 30 # g CO2e/kWh
EU_MIX = 250
KOL_MIX = 700
def traningsenergi(gpu_effekt_kw, gpu_antal, dygn, pue=1.2):
return gpu_effekt_kw * 24 * dygn * gpu_antal * pue # kWh
def co2(kwh, g_per_kwh):
return kwh * g_per_kwh / 1000 # kg CO2e
E = traningsenergi(0.4, 512, 30)
print(f"{E:,.0f} kWh") # 176,947 kWh
for namn, mix in (("svensk", SVENSK_MIX), ("EU", EU_MIX), ("kol", KOL_MIX)):
print(f" {namn:<7} {co2(E, mix) / 1000:>6.1f} ton CO2e")
# svensk 5.3 ton CO2e
# EU 44.2 ton CO2e
# kol 123.9 ton CO2e ← 23× skillnad, samma beräkning
# Jämför med vardagliga referenser
VILLA_AR = 20_000 # kWh
FLYG_STHLM_NY = 1_000 # kg CO2e per passagerare, tur och retur (grov siffra)
print(f" = {E / VILLA_AR:.1f} villors årsförbrukning")
print(f" = {co2(E, SVENSK_MIX) / FLYG_STHLM_NY:.1f} flygresor Stockholm–New York (svensk mix)")
# Inferens dominerar med tiden
WH_PER_SVAR = 1.0
for svar_per_dygn in (100_000, 10_000_000):
arlig = svar_per_dygn * WH_PER_SVAR * 365 / 1000
print(f"{svar_per_dygn:>12,} svar/dygn → {arlig:>10,.0f} kWh/år "
f"({arlig / E:.1f}× träningen)")
# 100,000 svar/dygn → 36,500 kWh/år (0.2× träningen)
# 10,000,000 svar/dygn → 3,650,000 kWh/år (20.6× träningen)
# Mät i stället för att skatta när det går:
# from codecarbon import EmissionsTracker
# with EmissionsTracker() as t: trana()
Behärskning innebär
- Uppskattar energiåtgång för träning och inferens
- Jämför med vardagliga referenser
- Vet vilka val som faktiskt påverkar
Logga in för att göra övningarna och bygga upp din behärskning.
Källor
- arXiv — Carbon Emissions and Large Neural Network Training — arXiv (öppen åtkomst; licens per artikel)
- CodeCarbon (MIT) — MIT
- Energimyndigheten — myndighetsmaterial