Hugging Face Hub カーボン排出量トラッキング
Hugging Face は、機械学習モデルの二酸化炭素(CO2)排出量に基づいて追跡、報告、フィルタリングするためのツールと統合機能のスイートを導入しました。これらの取り組みは、GPU、ストレージ、その他のコンピューティングインフラのエネルギー消費によって AI モデルのトレーニングやデプロイ時に排出される CO2 の環境影響に関する透明性を高めることを目的としています。
Hub 上でのカーボンフットプリントによるモデルのフィルタリング
huggingface_hub ライブラリには、emissions_threshold パラメータが追加され、ユーザーはトレーニング時の排出量に基づいてモデルを検索できるようになりました。これにより、開発者は選択プロセスで環境に優しい低排出モデルを優先できるようになります。
ユーザーは CO2 のグラム数の範囲を指定して結果をフィルタリングできます。たとえば、HfApi クラスを使用して最大 100 グラムの排出量のモデルを検索すると、191 件のモデルが返され、その中には esiebomajeremiah/autonlp-email-classification-657119381(3.516 グラム)などの例が含まれます。逆に、最低閾値を 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 カーボン排出量に影響を与える要因
機械学習モデルのライフサイクル全体で排出される CO2 の総量は、主に次の 3 つの要因によって決まります。
- ランタイム: トレーニングプロセスの期間。
- ハードウェア: 使用される具体的なコンピューティングリソース(例: 異なる GPU アーキテクチャ)。
- カーボンインテンシティ: インフラを駆動するエネルギー源の炭素フットプリント。