为模型显示碳排放
为什么计算模型的碳排放是有益的?
训练 ML 模型通常是能源密集型的,可能产生大量碳足迹,如 Strubell 等人所述。因此,跟踪和报告模型的排放量非常重要,以便更好地了解我们领域的环境影响。
我应该包含哪些关于模型碳足迹的信息?
如果可能,你应该包含以下信息:
- 模型训练的位置(地理位置)
- 使用的硬件——例如 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 量。
计算非常简单!➕
首先,你获取用于训练的电网的碳强度——这是每千瓦时电力产生的 CO2 量。碳强度取决于硬件的位置和该位置使用的能源结构——无论是太阳能 🌞、风能 🌬️ 和水力 💧 等可再生能源,还是煤炭 ⚫ 和天然气 💨 等不可再生能源。用于训练的可再生能源越多,碳强度就越低!
然后,你使用 pynvml 库获取训练期间 GPU 的功耗。
最后,你将功耗和碳强度乘以模型的训练时间,就得到了 CO2 排放的估算值。
请记住,这不是一个精确的数字,因为其他因素也会起作用——比如用于数据中心加热和冷却的能源——这将增加碳排放。但这会让你对模型产生的 CO2 排放规模有一个很好的了解!
要向模型添加碳排放元数据:
- 如果你使用 AutoTrain,这会自动为你跟踪 🔥
- 否则,在训练代码中使用 Code Carbon 等跟踪器,然后在模型卡片元数据中指定
co2_eq_emissions:
emissions: 1.2345
其中 1.2345 是以克为单位的排放值。
要了解更多关于 Transformers 的碳足迹,请查看 Hugging Face 课程中的视频!