一个量化和交流机器学习方法碳足迹的工具

cumulator的Python项目详细描述


一个用于量化和报告学术界和医疗保健领域机器学习计算和通信的碳足迹的工具

目的

提高对机器学习方法的碳足迹的认识,鼓励进一步优化和合理使用人工智能工具。 这项工作提倡可持续人工智能和合理使用IT系统。在

主要碳指标

  • 1小时的GPU负载相当于112 gCO2eq
  • 1gb的数据流量相当于31个gCO2eq

安装和使用

免费软件:麻省理工学院许可证

pip install cumulator<;-安装累积器

from cumulator import base<;-导入脚本

cumulator = base.Cumulator()<;-创建累积器实例

测量计算成本。在执行ML计算时(通常在每个交互中),使用cumulator.on()cumulator.off()激活或停用计时器。它将自动将每个持续时间记录在cumulator.time_list中,并在cumulator.cumulated_time()中求和。然后使用cumulator.computation_costs()返回所有计算的碳足迹。在

测量通信成本。每次您的模型将数据文件发送到网络的另一个节点时,请记录使用cumulator.data_transferred(file_size)进行通信的文件的大小(以千字节为单位)。传输的数据量自动记录在cumulator.file_size_list中,并累计到cumulator.cumulated_data_traffic。然后使用cumulator.communication_costs()返回所有通信的碳足迹。在

使用cumulator.total_carbon_footprint()返回总碳足迹。您还可以使用display_carbon_footprint()

默认假设(可以手动修改以获得更好的估计):

self.hardware_load = 250 / 3.6e6<;-计算成本:典型GPU的功耗(瓦特)转换为kWh/s

self.one_byte_model = 6.894E-8<;-通信成本:典型数据中心流量的平均能量影响,kWh/kB

self.carbon_intensity = 447<;-转换为碳足迹:欧盟2014年平均碳强度值(gCO2eq/kWh)

self.n_gpu = 1<;-并行使用的GPU数

项目结构

src/
├── cumulator
    ├── base.py           <- implementation of the Cumulator class
    └── bonus.py          <- Impact Statement Protocol

变更日志

  • 2020年6月18日:0.0.6更新自述文件.rst在
  • 2020年6月11日:0.0.5添加处理器数量(0.0.4失败)
  • 2020年6月8日:增加0.0.3奖金.py碳影响声明
  • 2020年6月7日:0.0.2增加通信成本并清理src/
  • 2020年5月21日:在PypI上部署0.0.1并与Alg-E集成

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在表被注释到配置之前获取表的元数据?   java滚动条不会出现在JList上   java JOGL监视器GPU内存   java为什么要使用RecyclerView onDraw延迟   java定制Oppo Reno 2 Z CPH1951(手机型号)的固件(闪存文件)   java自定义线程池执行器   java如何解决发布版本中重复的jar条目[com/安卓/volley/R.class]?   java如何使用Bukkit API触发事件?   java在blazemeter jmeter RTE插件中使用ctrl+w输入   C#/Visual Studio的java JDT等价物   java为什么当maxread值很大而收到的消息数量很小时,卡夫卡消费者会无限期消费?   java游戏2。x:包含模板列表的绑定模型   带压缩的java日志旋转   运行时。exec用java运行程序读取它正在做什么