Hugging Face Hub 탄소 배출 추적
Hugging Face는 머신러닝 모델의 탄소 배출량(CO₂)을 추적, 보고 및 필터링할 수 있는 도구와 통합 기능을 도입했습니다. 이러한 이니셔티브는 GPU, 스토리지 및 기타 컴퓨팅 인프라의 에너지 소비를 통해 AI 모델을 학습·배포할 때 발생하는 CO₂에 대한 투명성을 높이는 것을 목표로 합니다.
허브에서 탄소 발자국으로 모델 필터링
huggingface_hub 라이브러리에는 이제 emissions_threshold 매개변수가 포함되어 있어 사용자가 학습 시 발생한 배출량을 기준으로 모델을 검색할 수 있습니다. 이를 통해 개발자는 모델 선택 과정에서 친환경적이고 배출량이 낮은 모델을 우선적으로 고려할 수 있습니다.
사용자는 CO₂ 그램 수 범위를 지정하여 결과를 필터링할 수 있습니다. 예를 들어 HfApi 클래스를 사용해 최대 100그램 배출량을 가진 모델을 검색하면 esiebomajeremiah/autonlp-email-classification-657119381(3.516그램) 등 191개의 모델이 반환됩니다. 반대로 최소 500그램 배출량을 기준으로 검색하면 Maltehb/aelaectra-danish-electra-small-cased(4009.5그램)와 같이 배출량이 큰 모델을 확인할 수 있습니다.
Transformers와 함께하는 자동 배출량 추적
보고를 용이하게 하기 위해 Hugging Face는 codecarbon을 transformers 라이브러리에 통합했습니다. 시스템에 codecarbon이 설치되어 있으면 Trainer 객체가 학습 과정에서 자동으로 CodeCarbonCallback을 구현합니다.
이 통합은 출력 디렉터리(예: codecarbon-text-classification) 내에 emissions.csv 파일을 자동으로 생성합니다. 이 파일은 다양한 학습 실행에서의 탄소 배출량을 추적하여 연구자가 최종 모델 버전과 연관된 구체적인 배출량을 파악할 수 있게 합니다.
모델 카드에 배출량 보고
투명성은 배출량 데이터를 모델 메타데이터에 직접 포함함으로써 달성됩니다. 학습이 완료되고 codecarbon을 통해 배출량이 추적되면 사용자는 모델 카드 상단에 co2_eq_emissions 값을 추가할 수 있습니다.
이 표준화된 메타데이터 형식 덕분에 Hugging Face Hub는 배출량 데이터를 색인화하여 앞서 설명한 emissions_threshold 매개변수를 통해 검색할 수 있게 됩니다. 메타데이터 형식에 대한 자세한 가이드는 공식 Hub 문서에서 확인할 수 있습니다.
AI 탄소 배출에 영향을 미치는 요인
머신러닝 모델 수명 주기 동안 배출되는 총 CO₂ 양은 다음 세 가지 주요 요인에 의해 결정됩니다:
- 런타임: 학습 과정의 지속 시간.
- 하드웨어: 사용된 구체적인 컴퓨팅 자원(예: 다양한 GPU 아키텍처).
- 탄소 집약도: 인프라에 전력을 공급하는 에너지 원의 탄소 발자국.