Automatic AI Model Greenness Track Toolkit是整合蚂蚁绿色计算项目中的一个子项目,其主要目的为打造通用、开放的AI模型绿色度衡量工具。Automatic AI Model Greenness Track Toolkit以算力、能耗、碳排放三个绿色度指标评估AI算法对于环境的友好程度,可以有效的协助AI开发者发现或优化模型。
功能特性
Automatic AI Model Greenness Track Toolkit能够通过几行代码注入,快速准确的采集能耗和算力。
采集工具的整体架构上图所示。所有模块都基于绿色人工智能指数系统,可以分为以下三个层次:
from greenness_track_toolkit import Agent
with tf.Session() as sess:
global_step = get_or_create_global_step()
opt = tf.train.GradientDescentOptimizer(learning_rate=0.01).minimize(loss_, global_step=global_step)
# 仅需使用Agent包裹自定义Training Loop即可
with Agent(
server="localhost:16886",
username="test",
session=sess,
batch_size=batch_size,
log_path="../logs",
) as agent:
for epoch in range(0, epochs):
for step in range(0, batch_per_epoch):
pass
# Customer training loop
示例输出
------------------------------------------
Automatic AI Model Greenness Track Toolkit
2023-01-03 15:54:46~2023-01-03 15:56:07
time-consuming: 80 seconds
FLOPs: 5167867.895263999 GFLOPs
Energy: 0.0006787550620902952 kWh
CO2: 0.00032240865449289016 kg
------------------------------------------
from greenness_track_toolkit import Server
if __name__ == '__main__':
# log_path 本地日志文件路径,由Agent产出
Server(server_mode="LOCAL", log_path="./logs",api_port=8001).start()
Automatic AI Model Greenness Track Toolkit
背景
Automatic AI Model Greenness Track Toolkit是整合蚂蚁绿色计算项目中的一个子项目,其主要目的为打造通用、开放的AI模型绿色度衡量工具。Automatic AI Model Greenness Track Toolkit以算力、能耗、碳排放三个绿色度指标评估AI算法对于环境的友好程度,可以有效的协助AI开发者发现或优化模型。
功能特性
Automatic AI Model Greenness Track Toolkit能够通过几行代码注入,快速准确的采集能耗和算力。
采集工具的整体架构上图所示。所有模块都基于绿色人工智能指数系统,可以分为以下三个层次:
第一层是Agent,主要用于连接用户计算机的硬件接口,获取元数据,进行初步处理(包括数据拆分和二氧化碳转换),同时将处理后的数据存储在用户的本地文件系统中,供用户后续查看和报告核心系统使用。
第二层是核心系统(Server)。在这一层中,Agent采集的数据将根据用户的实验维度进行收集和聚合,并由服务器提供数据存储和数据监控服务。同时,服务器端将收集用户的所有计算节点中的Agent,以确保用户整个实验的绿色数据的完整性。
第三层是用户界面。这一层主要为用户提供视觉交互界面和数据服务接口。用户可以根据自己的需求启动服务器来可视化绿色数据,并可以通过开放接口对绿色数据进行二次开发。
能耗
Automatic AI Model Greenness Track Toolkit支持以下硬件的能耗采集:
算力
Automatic AI Model Greenness Track Toolkit支持以下深度学习框架的算力采集:
安装
pip install -r requirement.txt python setup.py build python setup.py install
快速开始
能耗与算力采集(Agent)
参数说明
必填参数
可选参数
TensorFlow Estimator
TensorFlow Keras
TensorFlow Customer Training Loop
示例输出
Server
参数说明
中心服务器模式启动方法
Python代码启动
命令行启动
本地服务模型启动方法
Python代码启动
命令行启动
注意事项
获取能耗需要root权限
如何贡献
本工具是在Apache 2.0许可下发布的,并遵循非常标准的Github开发流程,使用Github的问题跟踪器来解决问题,并将拉取请求合并到主分支。如果有其他的问题,可以通过邮件联系相关的作者。
致谢
相关开发由汤成富、刘国栋、林秀晶、屈维亮、赵耀、周正磊等共同完成。
开源许可
本开源遵循Apache2.0 协议