Hub 文档

显示模型的碳排放量

Hugging Face's logo
加入 Hugging Face 社区

并获得增强的文档体验

开始使用

显示模型的碳排放量

为什么计算模型的碳排放量是有益的?

正如 Strubell 等人所述,训练 ML 模型通常是能源密集型的,并且会产生大量的碳足迹。因此,*跟踪*和*报告*模型的排放量对于更好地了解我们领域对环境的影响非常重要。

关于模型的碳足迹,我应该包含哪些信息?

如果可以,您应该包含有关以下方面的信息

  • 模型训练地点(位置方面)
  • 使用的硬件 —— 例如 GPU、TPU 或 CPU,以及数量
  • 训练类型:预训练或微调
  • 模型的估计碳足迹,可以使用 Code Carbon 包实时计算,或在训练后使用 ML CO2 Calculator 计算。

碳足迹元数据

您可以将碳足迹数据添加到模型卡元数据中(在 README.md 文件中)。元数据的结构应为

---
co2_eq_emissions:
  emissions: number (in grams of CO2)
  source: "source of the information, either directly from AutoTrain, code carbon or from a scientific article documenting the model"
  training_type: "pre-training or fine-tuning"
  geographical_location: "as granular as possible, for instance Quebec, Canada or Brooklyn, NY, USA. To check your compute's electricity grid, you can check out https://app.electricitymap.org."
  hardware_used: "how much compute and what kind, e.g. 8 v100 GPUs"
---

我的模型的碳足迹是如何计算的? 🌎

考虑到计算硬件、位置、使用情况和训练时间,您可以估算模型产生的 CO2 量。

计算方法非常简单! ➕

首先,您需要获取用于训练的电网的*碳强度* —— 这表示每千瓦时电力产生的 CO2 量。碳强度取决于硬件的位置以及该位置使用的能源结构 —— 无论是太阳能 🌞、风能 🌬️ 和水力 💧 等可再生能源,还是煤炭 ⚫ 和天然气 💨 等不可再生能源。训练中使用的可再生能源越多,碳强度就越低!

然后,使用 pynvml 库获取训练期间 GPU 的功耗。

最后,将功耗和碳强度乘以模型的训练时间,您就可以得到 CO2 排放量的估算值。

请记住,这并不是一个精确的数字,因为还有其他因素会影响结果 —— 例如数据中心供暖和制冷所消耗的能量 —— 这会增加碳排放量。但这将使您对模型产生的 CO2 排放量规模有一个很好的概念!

要将 **碳排放** 元数据添加到您的模型中

  1. 如果您正在使用 **AutoTrain**,则会自动为您跟踪 🔥
  2. 否则,请在您的训练代码中使用像 Code Carbon 这样的跟踪器,然后指定
co2_eq_emissions: 
  emissions: 1.2345

在您的模型卡元数据中,其中 1.2345 是以**克**为单位的排放值。

要了解有关 Transformers 碳足迹的更多信息,请观看 Hugging Face 课程中的 视频

< > 更新 在 GitHub 上