Fundamentele AI

Măsurarea și reducerea amprentei de carbon a IA cu CodeCarbon

mm
Adaugă Unite.AI la sursele tale preferate pe Google

Sarcinile de IA consumă electricitate, iar emisiile de gaze cu efect de seră asociate acelei electricități depind de locul și momentul în care rulează calculul. CodeCarbon este un instrument open-source care estimează emisiile operaționale prin combinarea estimărilor de energie ale sarcinii cu intensitatea de carbon a electricității.

O estimare este utilă atunci când limitele și incertitudinea ei sunt explicite. Aceasta nu include automat fabricarea hardware-ului, construcția centrelor de date, rețelistică, stocare sau efectele ulterioare ale implementării unui model.

Puncte cheie

  • Consumul de energie și emisiile de carbon sunt legate, dar nu identice; intensitatea de carbon a rețelei variază în funcție de regiune și de timp.
  • CodeCarbon estimează energia CPU, GPU și a memoriei, apoi aplică factori de emisii dependenți de locație.
  • Utilizarea hardware-ului, durata execuției, supraîncărcarea centrului de date și sursa de măsurare afectează acuratețea.
  • Scopul practic este raportarea și reducerea comparabile, nu precizia falsă.
Measuring and Reducing AI’s Carbon Footprint with CodeCarbon diagram showing workload, power telemetry, energy, grid intensity, co₂e estimate, reduce + report
Stabiliți limita și incertitudinea; folosiți estimările pentru a compara și a reduce.

Energie, putere și intensitatea de carbon

Puterea este rata de consum de energie, măsurată în mod obișnuit în wați. Energia se acumulează în timp, de obicei în kilowați-oră. Echivalentul operațional de dioxid de carbon este estimat prin înmulțirea energiei cu un factor de emisii, cum ar fi grame de CO₂e pe kilowatt-oră.

Aceeași sarcină poate avea emisii diferite când este rulată pe o rețea mai curată sau într-un interval cu emisii reduse de carbon. Un accelerator mai rapid poate consuma mai multă putere instantanee, dar mai puțină energie totală dacă finalizează mult mai repede.

Ce măsoară CodeCarbon

CodeCarbon observă sau estimează energia pentru componentele de calcul și înregistrează metadate precum durata și locația. Când hardware-ul expune telemetrie directă a puterii, estimările pot fi mai precise; în caz contrar, instrumentul folosește modele hardware și presupuneri de utilizare.

Modul online poate utiliza intensitatea de carbon în funcție de locație, în timp ce setările offline se bazează pe factori configurați. Rezultatul este o estimare a cărei metodă, versiune de software și configurare ar trebui păstrate împreună cu experimentul.

Alegeți o limită de raportare

O limită la nivel de execuție poate acoperi un singur job de antrenament. O limită de proiect poate include căutarea hiperparametrilor, execuții eșuate, preprocesare și inferență. O limită de serviciu poate include rețelistică, stocare și implementare continuă.

Eficiența utilizării energiei în centrele de date (PUE) ține cont de supraîncărcarea facilității dincolo de echipamentele IT. Emisiile încorporate din fabricare și construcție necesită date de ciclu de viață pe care un tracker de runtime de obicei nu le furnizează. Rapoartele ar trebui să menționeze excluderile în loc să amestece totaluri incomparabile.

Reduceți înainte de compensare

Începeți cu valoarea sarcinii: eliminați experimentele redundante, folosiți oprirea timpurie, reutilizați punctele de control și selectați linii de bază eficiente. Îmbunătățiți utilizarea, grupați corespunzător și potriviți dimensiunea modelului cu sarcina. Transfer learning poate evita antrenarea de la zero.

Planificați lucrul flexibil în regiuni sau intervale cu emisii reduse de carbon, acolo unde este legal și practic din punct de vedere operațional. Comprimați modelele și alegeți hardware de servire eficient; edge AI poate reduce transferul de date, dar poate și să duplicateze hardware subutilizat, așa că măsurați întregul sistem.

Raportați incertitudinea și comparați corect

Publicați hardware-ul, locația, timpul de execuție, energia, factorul de emisii, numărul de execuții și dacă valoarea este măsurată sau estimată. Separați calculul exploratoriu de execuția finală de antrenament. Evitați raportarea cu multe zecimale când presupunerile domină precizia.

Comparați sistemele la aceeași calitate a sarcinii și la aceeași limită. Un model cu consum redus de energie care nu îndeplinește sarcina nu este eficient, în timp ce o mică creștere a acurateții poate să nu justifice o mare creștere a resurselor. Carbonul este un impact alături de cost, apă, ciclu de viață al hardware-ului și beneficiu social.

Ce estimează CodeCarbon

CodeCarbon estimează consumul de energie și emisiile de carbon asociate unei calcule. În funcție de mediu și de telemetria disponibilă, poate citi consumul CPU, GPU, RAM sau al sistemului, să integreze energia în timp și să înmulțească cu o estimare a intensității de carbon pentru regiunea electrică. Rezultatele sunt estimări modelate de acoperirea hardware, intervalul de eșantionare, atribuirea procesului, modelele de putere, locația și datele rețelei. Acestea ar trebui să includă unități, versiune, metodologie și incertitudine, în loc să fie raportate ca măsurători fizice exacte.

Emisiile operaționale provin din electricitate în timpul antrenamentului și inferenței; emisiile încorporate provin din fabricarea, transportul și eliminarea hardware-ului și sunt de obicei în afara unui tracker de runtime. Serverele partajate complică alocarea, în timp ce instanțele cloud pot expune telemetrie limitată. Intensitatea medie a rețelei diferă de intensitatea marginală și se modifică în funcție de timp. Contractele de energie regenerabilă și compensările sunt instrumente contabile, nu dovada că o sarcină a generat emisii zero. Stabiliți clar limita înainte de a compara execuții sau furnizori.

Proiectarea unui experiment de măsurare semnificativ

Monitorizați sarcina, modelul, datele, hardware-ul, regiunea, durata, utilizarea, energia, estimarea de carbon, calitatea și numărul de rezultate reușite. Efectele de încălzire și cache pot distorsiona execuțiile scurte, așa că repetați măsurătorile sub sarcină controlată. Comparați modelele la calitate și obiective de serviciu egale, în loc de un singur epoc de antrenament sau număr de tokeni. Includeți pregătirea datelor, căutarea hiperparametrilor, experimentele eșuate, resursele inactive și inferența recurentă acolo unde este relevantă. O amprentă de antrenament mai mică poate fi copleșită de servirea cu volum mare.

Folosiți instrumentul pentru a identifica pârghiile de inginerie: reduceți execuțiile inutile, utilizați oprirea timpurie, dimensionați corect acceleratoarele, îmbunătățiți utilizarea și gruparea, selectați modele eficiente, cuantizați sau distilați, memorați rezultatele în cache, programați lucrul flexibil în perioade sau regiuni cu emisii reduse de carbon și eliminați resursele inactive. Fiecare optimizare trebuie să păstreze acuratețea, latența, siguranța și fiabilitatea necesare. Mutarea calculului fără a ține cont de transferul de date sau de constrângerile regionale poate muta impactul în loc să îl reducă.

Raportare și guvernanță

Publicați metodologia, versiunea software, hardware-ul, presupunerea geografică, metrica de calitate și incertitudinea alături de estimare. Evitați compararea organizațiilor care utilizează limite diferite. Stabiliți bugete și revizuiți experimentele mari înainte de execuție, dar nu recompensați echipele pentru ascunderea calculului în afara mediilor măsurate. Asigurați metadatele experimentului și evitați înregistrarea solicitărilor sau datelor private. CodeCarbon face vizibil costul de mediu și comparabil în cadrul unei metode disciplinate; nu poate oferi o evaluare completă a ciclului de viață sau înlocui contabilitatea de energie și carbon verificată independent.

Exemplu practic: compararea a două execuții de antrenament de model

O echipă antrenează același model de imagini pe două tipuri de acceleratoare și folosește CodeCarbon cu date identice, obiectiv de calitate, logică de batch și regulă de oprire. Înregistrează versiunea instrumentului, hardware-ul, regiunea, eșantionarea, utilizarea, durata, energia, sursa de intensitate de carbon și incertitudinea. Compararea include încercări eșuate și preprocesare, în timp ce emisiile încorporate ale hardware-ului sunt explicit în afara estimării de runtime. Rezultatele sunt normalizate pe fiecare execuție de antrenament calificată prin calitate.

Configurația mai eficientă este apoi testată pentru latența inferenței, fiabilitate și acuratețea ulterioară. Inginerii reduc timpul inactiv și execuțiile de hiperparametri, îmbunătățesc gruparea și programează lucrul flexibil în zone cu intensitate de rețea mai mică, fără a muta datele reglementate. Un raport publică presupunerile și evită afirmația unui impact zero din contractele de energie regenerabilă. Estimarea devine un semnal de buget și de proiectare, nu un badge de marketing. Măsurarea repetată verifică dacă optimizarea a redus volumul total de lucru al ciclului de viață, nu doar o execuție vizibilă.

Dovezi de implementare și pregătire operațională

O decizie de producție necesită mai mult decât o demonstrație de succes. Definiți utilizatorii vizați, mediul de operare, intrările, ieșirile, dependențele, proprietarul și consecința fiecărui eșec important. Stabiliți o bază reproducibilă și un set de evaluare versionat înainte de ajustare. Testați cazuri obișnuite, condiții de frontieră, intrări defecte sau lipsă, schimbarea distribuției, întreruperi ale dependențelor, utilizare greșită și grupurile sau mediile cel mai probabil subservite. Măsurați calitatea sarcinii împreună cu calibrarea sau incertitudinea, latența, debitul, costul resurselor, accesibilitatea, confidențialitatea și securitatea. Înregistrați fiecare transformare și prag astfel încât un evaluator independent să poată reproduce rezultatul și să distingă dovezile de un prototip atrăgător.

Înainte de lansare, atribuiți autoritatea pentru eliberare, excepții, modificări, revenire și retragere. Utilizați o implementare etapizată, păstrați o revenire sigură și verificați monitorizarea cu eșecuri injectate deliberat. Telemetria operațională ar trebui să dezvăluie calitatea intrărilor, comportamentul ieșirilor, versiunea modelului sau a regulii, starea dependențelor, intervențiile umane și rezultatele confirmate fără a colecta date sensibile inutile. Definiți pragurile de alertă și un responsabil de răspuns, apoi revizuiți dovezile din viața reală după implementare în loc să presupuneți că performanța offline va persista. Reevaluează ori de câte ori sursele de date, utilizatorii, modelele, furnizorii, politicile, hardware-ul sau obiectivele se modifică. Un sistem întreținut necesită, de asemenea, proceduri documentate de recuperare, învățare din incidente, ștergere și păstrare, și un punct clar la care să fie dezactivat sau înlocuit.

Întrebări frecvente

CodeCarbon măsoară direct CO₂ emis de un computer?

Nu. Estimează emisiile pe baza consumului de energie și a intensității de carbon a electricității; computerele nu emit direct gaze cu efect de seră ale rețelei.

Este cloud computing întotdeauna cu emisii mai reduse de carbon?

Nu. Rezultatele depind de eficiența hardware-ului, utilizare, supraîncărcarea centrului de date, mixul rețelei, regiune, timp și mișcarea datelor.

Referințe principale

Blogger și programator cu specializări în Machine Learning și Deep Learning subiecte. Daniel speră să ajute pe alții să folosească puterea inteligenței artificiale pentru binele social.