Project Icon

Eco2AI

量化AI模型训练的碳足迹工具

Eco2AI是一个开源的Python库,用于追踪机器学习模型训练过程中的CO2排放。它通过监测CPU和GPU的能耗,结合地区排放系数来估算碳排放量。使用简单,只需在Python脚本中添加几行代码。Eco2AI记录详细的运行信息,包括项目名称、实验描述、耗电量和排放量等。该工具支持装饰器语法,并提供灵活的参数设置。Eco2AI致力于帮助研究人员和开发者量化AI模型训练的环境影响,为推动可持续AI发展提供数据支持。

<img src=https://github.com/sb-ai-lab/Eco2AI/blob/main/images/photo_2022-06-14_13-02-37.jpg />

PyPI 下载量 PyPI 总下载量

PyPI - 下载 PyPI - 下载 DOI Telegram支持

Eco2AI

关于Eco2AI :clipboard:

<img src=https://github.com/sb-ai-lab/Eco2AI/blob/main/images/eco2ai_logo_cut.jpg />

Eco2AI是一个用于跟踪CO2排放的Python库。它监控CPU和GPU设备的能耗,并根据地区排放系数估算等效碳排放量。 Eco2AI适用于所有Python脚本,您只需在代码中添加几行即可。所有排放数据和设备信息都会记录在本地文件中。

每次运行Tracker()都会在日志文件中添加一个会话描述,包括以下元素:

  • 项目名称
  • 实验描述
  • 开始时间
  • 持续时间(秒)
  • 能耗(kWh)
  • CO2排放量(kg)
  • CPU名称
  • GPU名称
  • 操作系统
  • 国家

安装

要安装eco2AI库,请运行以下命令:

pip install eco2ai

使用示例

eco2AI使用示例 在Colab中打开 您也可以在YouTube上找到eco2AI教程 YouTube

eco2AI的接口非常简单。以下是最简单的使用示例:

import eco2ai

tracker = eco2ai.Tracker(project_name="您的项目名称", experiment_description="训练<您的模型>模型")

tracker.start()

<您的GPU和(或)CPU计算>

tracker.stop()

eco2AI还支持装饰器。一旦执行装饰的函数,排放信息将被写入emission.csv文件:

from eco2ai import track

@track
def train_func(model, dataset, optimizer, epochs):
    ...

train_func(your_model, your_dataset, your_optimizer, your_epochs)

为了方便起见,每次您使用自定义参数实例化Tracker对象时,这些设置将被保存,直到库被删除。每个新的跟踪器都将使用您的自定义设置创建(如果您使用新参数创建跟踪器,它们将替代旧的参数)。例如:

import eco2ai

tracker = eco2ai.Tracker(
    project_name="您的项目名称", 
    experiment_description="训练<您的模型>模型",
    file_name="emission.csv"
    )

tracker.start()
<您的GPU和(或)CPU计算>
tracker.stop()

...

# 现在,我们要为新的计算创建一个新的跟踪器
tracker = eco2ai.Tracker()
# 现在,它等同于:
# tracker = eco2ai.Tracker(
#     project_name="您的项目名称", 
#     experiment_description="训练<您的模型>模型",
#     file_name="emission.csv"
# )
tracker.start()
<您的GPU和(或)CPU计算>
tracker.stop()

您也可以使用set_params()函数设置参数,如下例所示:

from eco2ai import set_params, Tracker

set_params(
    project_name="我的默认项目名称",
    experiment_description="我们训练了...",
    file_name="我的排放文件.csv"
)

tracker = Tracker()
# 现在,它等同于:
# tracker = Tracker(
#     project_name="我的默认项目名称",
#     experiment_description="我们训练了...",
#     file_name="我的排放文件.csv"
# )
tracker.start()
<您的代码>
tracker.stop()

重要提示

如果出于某些原因无法确定国家,那么排放系数将设为436.529千克/兆瓦时,这是全球平均水平。 全球电力评估

为了正确计算GPU和CPU的功耗,您应该在使用任何GPU或CPU之前创建一个"跟踪器"。

每次新的计算都要创建一个新的"跟踪器"。

Eco2AI的使用

一个使用该库的示例在这篇文章中给出。在该论文中,我们展示了使用eco2AI跟踪等效CO2排放的实验,这些实验是在训练具有13亿参数(Malevich, ruDALL-E XL 1.3B)和120亿参数(Kandinsky, ruDALL-E XL 12B)的ruDALL-E模型时进行的。这些是多模态预训练的transformer模型,它们学习了图像的条件分布,通过一些描述所需结果的俄语文本提示,能够生成任意图像。 下表给出了在Emojis数据集上对Malevich和Kandinsky进行微调时准确记录的碳排放和功耗。

模型训练时间功耗, 千瓦时CO2, 千克GPUCPU批次大小
Malevich4小时19分1.370.33A100显卡, 1块AMD EPYC 7742 64核4
Kandinsky9小时45分24.505.89A100显卡, 8块AMD EPYC 7742 64核12

我们还展示了使用优化版GELU激活函数训练Malevich的结果。使用8位版本的GELU训练Malevich可以让我们节省约10%的能源,从而产生更少的等效CO2排放。

引用Eco2AI

DOI

Eco2AI使用Apache许可证2.0授权。

如果在任何研究论文中使用Eco2AI库,请考虑引用以下论文:

@article{eco2AI,
title={eco2AI: Carbon Emissions Tracking of Machine Learning Models as the First Step Towards Sustainable AI},
url={https://doi.org/10.1134/S1064562422060230}, DOI={10.1134/S1064562422060230},
journal={Doklady Mathematics},
author={Budennyy, S. A. and Lazarev, V. D. and Zakharenko, N. N. and Korovin, A. N. and Plosskaya, O. A. and Dimitrov, D. V. and Akhripkin, V. S. and Pavlov, I. V. and Oseledets, I. V. and Barsola, I. S. and Egorov, I. V. and Kosterina, A. A. and Zhukov, L. E.}, year={2023}, month=jan, language={en}}

合作伙伴

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

稿定AI

稿定设计 是一个多功能的在线设计和创意平台,提供广泛的设计工具和资源,以满足不同用户的需求。从专业的图形设计师到普通用户,无论是进行图片处理、智能抠图、H5页面制作还是视频剪辑,稿定设计都能提供简单、高效的解决方案。该平台以其用户友好的界面和强大的功能集合,帮助用户轻松实现创意设计。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号