显示模型的碳排放
为什么计算模型的碳排放是有益的?
如 Strubell 等人 所述,训练 ML 模型通常会消耗大量能源,并可能产生大量的碳足迹。 因此,重要的是要跟踪和报告模型的排放,以便更好地了解我们领域的环境影响。
关于模型的碳足迹,我应该包含哪些信息?
如果可以,您应该包含有关以下内容的信息
- 模型训练所在的位置(从位置方面考虑)
- 所使用的硬件,例如 GPU、TPU 或 CPU,以及数量
- 训练类型:预训练或微调
- 模型的估计碳足迹,使用 Code Carbon 包实时计算,或使用 ML CO2 计算器 在训练后计算。
碳足迹元数据
您可以将碳足迹数据添加到模型卡元数据(在 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。
计算方法很简单! ➕
首先,您需要了解用于训练的电网的碳排放强度,即每千瓦时(KwH)电能使用所产生的 CO2 量。 碳排放强度取决于硬件的位置和该位置的 能源组合,即使用的是可再生能源(如太阳能 🌞、风能 🌬️ 和水力 💧)还是不可再生能源(如煤炭 ⚫ 和天然气 💨)。 用于训练的可再生能源越多,训练的碳排放强度就越低!
然后,您需要使用 pynvml
库获取 GPU 在训练过程中的功耗。
最后,将功耗和碳排放强度乘以模型的训练时间,即可得到 CO2 排放量的估算值。
请注意,这并不是一个精确的数字,因为还有其他因素会影响碳排放,例如数据中心供暖和制冷所需的能源,这些因素会导致碳排放增加。 但是,这将使您大致了解模型产生的 CO2 排放量!
向模型添加碳排放元数据
- 如果您使用的是AutoTrain,系统会为您跟踪 🔥
- 否则,在训练代码中使用 Code Carbon 等跟踪器,然后指定
co2_eq_emissions:
emissions: 1.2345
在模型卡元数据中,其中 1.2345
是以克为单位的排放值。
要了解有关 Transformer 碳足迹的更多信息,请查看 视频,这是 Hugging Face 课程的一部分!
< > 更新 在 GitHub 上