mlco2/ecologits

🌱 EcoLogits tracks the energy consumption and environmental footprint of using generative AI models through APIs.

EcoLogits – 生成系 AI 呼び出しの炭素影響を推定

何か – EcoLogits は Python ライブラリで、主流の生成系 AI API(OpenAI、Anthropic、Cohere、Google‑GenAI、HuggingFace、Mistral AI など)への推論リクエストのエネルギー使用量と温室効果ガス排出量を測定します。クライアントコードに組み込み、通常通りリクエストを送信すると、推定 kWh と CO₂‑当量値を含む impacts オブジェクトが返ります。

なぜ重要か – 大規模言語モデルが普及するにつれ、計算フットプリントが拡大しています。EcoLogits は開発者に隠れたコストを可視化するシンプルな手段を提供し、チームがより持続可能な選択をしたり、排出量を報告したり、使用分をオフセットしたりできるよう支援します。

インストール

pip install ecologits                # コアパッケージ
pip install ecologits[openai]        # 特定プロバイダー(例: OpenAI)用のサポートを追加

サポートされているプロバイダーはドキュメントに記載されており、anthropiccoheregoogle-genaihuggingface-hubmistralaiopenai が含まれます。

基本的な使い方

from ecologits import EcoLogits
from openai import OpenAI

EcoLogits.init(providers=["openai"])   # OpenAI 呼び出しのトラッキングを有効化
client = OpenAI(api_key="<YOUR_KEY>")

response = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[{"role": "user", "content": "Tell me a funny joke!"}]
)

print("Energy consumption:", response.impacts.energy.value.mean, "kWh")
print("GHG emissions:",    response.impacts.gwp.value.mean, "kgCO2eq")

response.impacts オブジェクトはエネルギー(kWh)と地球温暖化係数(kg CO₂‑eq)の平均(および場合によっては分布)推定値を提供します。

主な機能

  • プロバイダー非依存:オプションの extras により主要な LLM API をサポート。
  • 定量的指標:電力使用量と CO₂‑当量排出量の両方を返す。
  • 軽量統合:数行のコードでトラッキング開始。
  • オープンソース&コミュニティ主導:CodeCarbon の非営利組織の一部、MIT‑style MPL‑2.0 ライセンス。
  • ドキュメントとツール:完全なドキュメントは https://ecologits.ai、Colab ノートブック、Discord コミュニティでサポート。

利用者 – 研究者、プロダクトチーム、サステナビリティ担当者など、AI サービスの環境コストを監査する必要がある人々。

コントリビューション – ドキュメントに貢献ガイドと開発環境設定が記載されています(Contributing to EcoLogits を参照)。プロジェクトは貢献を歓迎し、複数のスポンサーに支えられています。


EcoLogits は生成系 AI の隠れたエネルギーコストを可視化し、より責任ある開発と報告を可能にします。