一种模型训练能耗计算方法、装置、系统及可读存储介质与流程



1.本技术涉及模型训练技术领域,更具体地说,涉及一种模型训练能耗计算方法、装置、系统及可读存储介质。


背景技术:



2.随着人工智能的兴起和深度学习技术的突破,超大规模神经网络模型在一系列领域中取得了成功。例如,bert(具有340 million参数)、gpt-3(具有175 billion参数)等超大规模语言模型在多项自然语言处理任务中取得了重大突破,在计算机视觉领域transformer vision(具有632 million参数)及其变种模型已经得到广泛应用。然而,随着模型复杂度增加、模型参数成倍增加,训练模型带来的能源消耗和二氧化碳排放当量已经成为不可忽视的因素。
3.目前,对于模型训练的过程中的能耗评估计算还处于起步阶段,且目前业界主要关注具体设备实体的核算问题,缺少针对软件ai(artificial intelligence,人工智能)模型能耗测量和核算指南。
4.综上所述,如何对模型训练的能耗进行计算,以为模型训练以及大规模计算产生的能耗评估提供技术参考,是目前本领域技术人员亟待解决的技术问题。


技术实现要素:



5.有鉴于此,本技术的目的是提供一种模型训练能耗计算方法、装置、系统及可读存储介质,用于对模型训练的能耗进行计算,以为模型训练以及大规模计算产生的能耗评估提供技术参考。
6.为了实现上述目的,本技术提供如下技术方案:一种模型训练能耗计算方法,包括:获取用于进行模型训练的服务器中参与所述模型训练的各类设备的个数,并获取所述服务器对应的碳电信息;采集所述模型训练的过程中各类所述设备的运行参数;根据各类所述设备的个数、各类所述设备的运行参数及所述碳电信息,计算所述模型训练对应的能耗数据。
7.优选的,采集所述模型训练的过程中各类所述设备的运行参数,包括:每隔预设时间间隔采集所述模型训练的过程中各类所述设备的功率、运行时长及设备线程占用率;根据各类所述设备的个数、各类所述设备的运行参数及所述碳电信息,计算所述模型训练对应的能耗数据,包括:计算各类所述设备的平均功率、设备线程平均占用率;根据各类所述设备的个数、各类所述设备的平均功率、各类所述设备的设备线程平均占用率、各类所述设备的运行时长及所述碳电信息,计算所述模型训练对应的能耗数
据。
8.优选的,根据各类所述设备的个数、各类所述设备的平均功率、各类所述设备的设备线程平均占用率、各类所述设备的运行时长及所述碳电信息,计算所述模型训练对应的能耗数据,包括:利用,计算所述模型训练对应的能耗开销;利用,计算所述模型训练对应的碳排放当量;其中,为第i类设备的个数,为第i类设备的设备线程平均占用率,为第i类设备的平均功率,为第i类设备的运行时长,为所述服务器对应的电源使用效率,为所述服务器对应的碳强度,为数据中心碳抵消系数。
9.优选的,当所述设备包括cpu和/或gpu时,则每隔预设时间间隔采集所述模型训练的过程中各类所述设备的功率、运行时长及设备线程占用率,包括:每隔预设时间间隔调用cpu和/或gpu对应第三方工具,利用cpu和/或gpu对应的第三方工具采集所述模型训练的过程中相应设备的功率、运行时长及设备线程占用率。
10.优选的,获取所述服务器对应的碳电信息,包括:在线获取所述服务器的地理位置信息;根据所述服务器的地理位置信息获取所述服务器对应的碳电信息。
11.优选的,在线获取所述服务器的地理位置信息,包括:利用geojs api通过获取所述服务器的地理位置信息。
12.优选的,获取所述服务器对应的碳电信息,包括:预先将地理位置信息、数据中心信息与碳电信息的映射关系存储在本地;获取所述服务器的地理位置信息,或者,获取所述服务器的地理位置信息及所述服务器所在的数据中心的信息;根据存储在本地的所述映射关系及所述服务器的地理位置信息,或者根据存储在本地的所述映射关系、所述服务器的地理位置信息及所述服务器所在的数据中心的信息,获取所述服务器对应的碳电信息。
13.优选的,还包括:获取各类所述设备的静态信息;所述静态信息包括所述设备的名称、型号、额定功率、额定计算性能。
14.优选的,还包括:获取所述模型训练对应的模型参数信息,根据所述模型参数信息得到模型的总计算量;根据所述模型的总计算量及各类所述设备的额定计算性能,得到完成所述模型的总计算量的预估时间;根据各类所述设备的个数、各类所述设备的额定功率、各类所述设备的设备线程
理论占用率、所述预估时间及所述碳电信息,计算所述模型训练的预测能耗数据。
15.优选的,根据各类所述设备的个数、各类所述设备的额定功率、各类所述设备的设备线程理论占用率、所述预估时间及所述碳电信息,计算所述模型训练的预测能耗数据,包括:利用,计算所述模型训练对应的预测能耗开销;利用,计算所述模型训练对应的碳排放当量;其中,为第i类设备的个数,为第i类设备的设备线程理论占用率,为第i类设备的额定功率,为所述预估时间,为所述服务器对应的电源使用效率,为所述服务器对应的碳强度,为数据中心碳抵消系数。
16.优选的,还包括:获取所述服务器的操作系统版本、python版本及所述服务器的内存大小。
17.优选的,还包括:获取所述模型训练对应的进程号、所述服务器中参与所述模型训练的设备的设备号;获取用于进行模型训练的服务器中参与所述模型训练的各类设备的个数,包括:当接收到能耗计算指令时,根据所述设备号获取所述服务器中参与所述模型训练的各类所述设备的个数;采集所述模型训练的过程中各类所述设备的运行参数,包括:根据所述进程号,采集所述模型训练的过程中各类所述设备的运行参数。
18.一种模型训练能耗计算装置,包括:第一获取模块,用于获取用于进行模型训练的服务器中参与所述模型训练的各类设备的个数,并获取所述服务器对应的碳电信息;采集模块,用于采集所述模型训练的过程中各类所述设备的运行参数;第一计算模块,用于根据各类所述设备的个数、各类所述设备的运行参数及所述碳电信息,计算所述模型训练对应的能耗数据。
19.一种模型训练能耗计算系统,包括:设备信息收集器,用于获取用于进行模型训练的服务器中参与所述模型训练的各类设备的个数;碳排放信息收集器,用于获取所述服务器对应的碳电信息;硬件设备实时采样器,用于采集所述模型训练的过程中各类所述设备的运行参数;碳排放/能耗信息输出器,用于根据各类所述设备的个数、各类所述设备的运行参数及所述碳电信息,计算所述模型训练对应的能耗数据。
20.一种可读存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述的模型训练能耗计算方法的步骤。
21.本技术提供了一种模型训练能耗计算方法、装置、系统及可读存储介质,其中,该方法包括:获取用于进行模型训练的服务器中参与模型训练的各类设备的个数,并获取服务器对应的碳电信息;采集模型训练的过程中各类设备的运行参数;根据各类设备的个数、各类设备的运行参数及碳电信息,计算模型训练对应的能耗数据。
22.本技术公开的上述技术方案,通过获取用于进行模型训练的服务器中参与模型训练的各类设备的个数、服务器对应的碳电信息,采集模型训练的过程中各类设备的运行参数,根据各类设备的个数、各类设备的运行参数及碳电信息,实现快速、有效地计算模型训练对应的能耗数据,以为模型训练以及大规模计算产生的能耗评估提供技术参考,对促进节能减排,实现碳达峰、碳中和具有重要意义。
附图说明
23.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
24.图1为本技术实施例提供的一种模型训练能耗计算方法的流程图;图2为本技术实施例提供的模型训练能耗计算系统进行能耗计算的流程图;图3为本技术实施例提供的获取服务器对应的碳电信息的实现示意图;图4为本技术实施例提供的模型训练能耗计算系统应用示例图;图5为本技术实施例提供的一种模型训练能耗计算装置的结构示意图;图6为本技术实施例提供的一种模型训练能耗计算系统的结构示意图;图7为本技术实施例提供的模型训练能耗计算系统各器件逻辑关系及执行流程示意图。
具体实施方式
25.随着模型复杂度增加、模型参数成倍增加,训练模型带来的能源消耗和二氧化碳排放当量已经成为不可忽视的因素,如何快速、有效地评估神经网络模型训练的能耗开销,已经成为业界关注的热点问题。
26.为此,本技术提供一种模型训练能耗计算方法、装置、系统及可读存储介质,用于对模型训练的能耗进行计算,以为模型训练以及大规模计算产生的能耗评估提供技术参考。
27.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
28.参见图1,其示出了本技术实施例提供的一种模型训练能耗计算方法的流程图,本技术实施例提供的一种模型训练能耗计算方法,可以包括:
s11:获取用于进行模型训练的服务器中参与模型训练的各类设备的个数,并获取服务器对应的碳电信息。
29.在进行模型训练能耗计算时,模型训练能耗计算系统可以获取用于进行模型训练的服务器中参与模型训练的各类设备的个数。其中,这里提及的模型具体可为神经网络模型,且各类设备可以包括cpu(central processing unit / processor,中央处理器)、gpu(graphics processing unit,图形处理器)、内存等,具体可以根据模型训练的需求而进行确定,各类设备的个数也可以预先由相关人员根据模型结构等进行指定。
30.另外,还可以获取服务器对应的pue(power usage effectiveness,电源使用效率)、ci(carbon intensity,碳强度)等关键的碳电信息。其中,pue是数据中心消耗的所有能源与it(internet technology,互联网技术)负载消耗的能源的比值,pue=数据中心总设备能耗/it设备能耗,无单位;ci是指单位gdp(gross domestic product,国内生产总值)的二氧化碳排放量,计算公式为ci=二氧化碳排放总量/gdp,碳强度高低不表明效率高低,单位:kgco2e/kwh。
31.通过获取服务器中参与模型训练的各类设备的个数以及服务器所对应的碳电信息而使得这两类信息可以参与到模型训练的能耗计算中,以提高模型训练能耗计算的有效性和准确性。
32.s12:采集模型训练的过程中各类设备的运行参数。
33.其中,在模型训练能耗计算中,可以开启多线程同时启动模型训练过程和模型训练能耗计算系统,具体可以参见图2,其示出了本技术实施例提供的模型训练能耗计算系统进行能耗计算的流程图,通过开启多线程可以便于一边进行模型训练,一边进行各类设备的运行参数采集以及模型训练能耗计算。
34.在模型训练过程中,模型训练能耗计算系统可以采集在模型训练的过程中服务器中参与模型训练的各类设备的运行参数。前述提及的运行参数具体指的是对模型训练的能耗有影响的运行参数,以通过采集这些运行参数而使得这些运行参数参与到模型训练的能耗计算中,从而提高模型训练能耗计算的有效性和准确性。
35.其中,模型训练能耗计算可以采集从模型训练开始到模型训练结束这一过程中各类设备的运行参数,以便于基于采集到的整个模型训练过程的运行参数计算整个模型训练过程对应的能耗数据,也可以采集从模型训练开始到模型训练到一定阶段(例如60%、80%等)的运行参数,以便于基于这一阶段的运行参数计算模型训练在这一阶段对应的能耗数据等。
36.s13:根据各类设备的个数、各类设备的运行参数及碳电信息,计算模型训练对应的能耗数据。
37.在步骤s11和步骤s12的基础上,模型训练能耗计算系统可以根据服务器中参与模型训练的各类设备的个数、采集到的各类设备在模型训练过程中的运行参数以及服务器对应的碳电信息来计算模型训练对应的能耗数据,以实现快速、有效地评估计算模型训练的能耗开销。
38.另外,在计算得到模型训练对应的能耗数据之后,还可以生成模型训练能耗报告,并可以输出模型训练能耗报告。其中,该模型训练能耗报告中可以包括采集各类设备运行参数的阶段(具体为整个模型训练过程,还是从模型训练开始到模型训练到一定阶段,或者
是其他情况等)及对应的能耗数据,当然,还可以包括模型的相关信息等,以便于相关人员可以通过模型训练能耗报告得到模型训练的相关能耗开销等。
39.本技术公开的上述技术方案,通过获取用于进行模型训练的服务器中参与模型训练的各类设备的个数、服务器对应的碳电信息,采集模型训练的过程中各类设备的运行参数,根据各类设备的个数、各类设备的运行参数及碳电信息,实现快速、有效地计算模型训练对应的能耗数据,以为模型训练以及大规模计算产生的能耗评估提供技术参考,对促进节能减排,实现碳达峰、碳中和具有重要意义。
40.本技术实施例提供的一种模型训练能耗计算方法,采集模型训练的过程中各类设备的运行参数,可以包括:每隔预设时间间隔采集模型训练的过程中各类设备的功率、运行时长及设备线程占用率;根据各类设备的个数、各类设备的运行参数及碳电信息,计算模型训练对应的能耗数据,可以包括:计算各类设备的平均功率、设备线程平均占用率;根据各类设备的个数、各类设备的平均功率、各类设备的设备线程平均占用率、各类设备的运行时长及碳电信息,计算模型训练对应的能耗数据。
41.在本技术中,模型训练能耗计算系统具体可以每隔预设时间间隔采集模型训练的过程中各类设备的功率(具体为各类设备在采样时刻的实际功率)、各类设备从模型训练开始到采样时刻的运行时长以及各类设备在采样时刻的设备线程占用率,也即模型训练能耗计算系统可以按照设定的预设时间间隔进行周期性的采样。其中,设备线程占用率中的线程指的是模型训练对应的线程,设备线程占用率具体为模型训练对应的线程对相应设备的占用率,预设时间间隔的大小可以根据实际需求等进行设定,例如可以为5s等。
42.在上述基础上,可以对采集的各类设备的功率、运行时长及设备线程占用率进行汇总统计(例如计算采样均值、方差等统计量)。具体地,可以分别对采集到的各类设备在模型训练过程中的功率进行平均计算,以分别得到各类设备的平均功率,并可以分别对采集到的各类设备的设备线程占用率进行平均计算,以分别得到各类设备的设备线程平均占用率,且可以得到各类设备的运行时长。之后,则可以根据各类设备的个数、各类设备的平均功率、各类设备的设备线程平均占用率、各类设备的运行时长以及服务器对应的碳电信息,计算模型训练对应的能耗数据,也即采用均值法计算模型训练对应的能耗数据,以提高模型训练能耗开销计算的通用性和有效性。
43.当然,也可以对每个设备的功率、设备线程占用率进行平均,并根据每个设备的平均功率、每个设备的设备线程平均占用率、每个设备的运行时长及服务器对应的碳电信息,计算模型对应的能耗数据。
44.本技术实施例提供的一种模型训练能耗计算方法,根据各类设备的个数、各类设备的平均功率、各类设备的设备线程平均占用率、各类设备的运行时长及碳电信息,计算模型训练对应的能耗数据,可以包括:利用,计算模型训练对应的能耗开销;
利用,计算模型训练对应的碳排放当量;其中,为第i类设备的个数,为第i类设备的设备线程平均占用率,为第i类设备的平均功率,为第i类设备的运行时长,为服务器对应的电源使用效率,为服务器对应的碳强度,为数据中心碳抵消系数。
45.在本技术中,具体可以利用计算模型训练对应的能耗开销,并可以利用,计算模型训练对应的碳排放当量,碳排放当量即为每吨二氧化碳当量。其中,,也即设备类型具体为cpu、gpu、ram(random access memory,随机存取存储器,也叫内存)等不同的硬件设备类型,为第i类设备的个数,为第i类设备的设备线程平均占用率,为第i类设备的平均功率,为第i类设备的运行时长。为服务器对应的电源使用效率,为服务器对应的碳强度,pue和ci是数据中心关于能耗和碳排放的两个系数,对于给定的数据中心(服务器所在的数据中心)一般为常数,其中,pue值越接近于1,表示一个数据中心的绿化程度越高,当前,国外先进的数据中心机房pue值通常小于2,而我国的大多数数据中心的pue值在2-3之间,ci的数值越小表明该国家/地区能源利用效率越高,2019年我国碳强度接近0.7。为数据中心(服务器所在的数据中心)碳抵消系数,一般为1.0,但也有设置为0.85的工作。
46.通过采用上述计算方式可以实现对模型训练对应的能耗开销的有效计算,并提高模型训练对应的能耗开销计算的准确性。
47.为了更清楚地对上述实施例进行说明,则举例如下:某ai模型训练阶段始于模型参数初始化,经过一系列梯度计算和梯度反向传递过程,到模型参数与训练数据拟合完毕,ai模型训练结束。训练阶段的清单数据主要包含训练过程中的能源消耗。某ai模型产品训练过程中相关硬件设备使用信息如下表所示:表1 某ai模型产品训练过程中相关硬件设备使用信息表
编号设备名称数量平均设备运行功率平均设备运行时长平均设备占用率1cpu8100瓦120小时45%2gpu260瓦100小时95%3内存140瓦120小时20%
则上述ai模型训练对应的能耗消耗为:则上述ai模型训练对应的能耗消耗为:本技术实施例提供的一种模型训练能耗计算方法,当设备包括cpu和/或gpu时,则
每隔预设时间间隔采集模型训练的过程中各类设备的功率、运行时长及设备线程占用率,可以包括:每隔预设时间间隔调用cpu和/或gpu对应第三方工具,利用cpu和/或gpu对应的第三方工具采集模型训练的过程中相应设备的功率、运行时长及设备线程占用率。
48.在本技术中,当服务器中参与模型训练的设备中包括cpu和/或gpu时,则对于参与模型训练的cpu和/或gpu而言,则在进行相应运行参数采集时,可以每隔预设时间间隔调用cpu和/或gpu对应第三方工具,并利用cpu和/或gpu对应的第三方工具采集模型训练的过程中相应设备的功率、运行时长及设备线程占用率,也即对于cpu,则每隔预设时间间隔调用cpu对应的第三方工具,利用cpu对应的第三方工具采集模型训练的过程中cpu的功率、运行时长及设备线程占用率;对于gpu,则每隔预设时间间隔调用gpu对应的第三方工具,利用gpu对应的第三方工具采集模型训练的过程中gpu的功率、运行时长及设备线程占用率。
49.其中,这里提及的cpu和/或gpu对应第三方工具具体可以由相应厂商进行提供,例如对于intel cpu,则采用 intel rapl、intel power gadget等工具,对于nvida gpu,则采用pynvml and nvml 以及nvidia-smi获取相关功率、能耗信息。
50.对于cpu和gpu,通过借助第三方工具可以提高这些设备的运行参数获取的便利性和准确性,以便于快速、准确地计算模型训练的能耗数据。
51.需要说明的是,当服务器中参与模型训练的设备包括内存时,对于内存在模型训练过程中的运行参数采集,可以直接利用模型训练能耗计算系统的指令进行查看获取。
52.具体可以参见图3,其示出了本技术实施例提供的获取服务器对应的碳电信息的实现示意图。本技术实施例提供的一种模型训练能耗计算方法,获取服务器对应的碳电信息,可以包括:在线获取服务器的地理位置信息;根据服务器的地理位置信息获取服务器对应的碳电信息。
53.由于pue、ci等碳电信息是和国家、地区有关的,因此,在获取服务器对应的碳电信息时,可以先在线获取服务器的地理位置信息,然后,可以根据服务器的地理位置信息获取服务器对应的碳电信息,以实现进行在线数据的获取,并提高碳电信息获取的准确性,从而提高模型训练对应的能耗开销计算的准确性。
54.本技术实施例提供的一种模型训练能耗计算方法,在线获取服务器的地理位置信息,可以包括:利用geojs api通过获取服务器的地理位置信息。
55.在本技术中,具体可以利用geojs api通过request(请求)方法获取ip地址的实际物理地址,并通过实际物理地址得到服务器的地理位置信息,以实现在线获取服务器的地址位置信息,从而便于根据地址位置信息得到服务器对应的碳电信息。
56.其中,geojs旨在对科学和地理空间位置感知数据集进行高性能可视化和交互式数据探索,它请求访问浏览器的地理位置api(application program interface,应用程序界面),并使用返回的数据向公共api发出请求,以获取诸如地址、、邻里、市镇等信息。
57.本技术实施例提供的一种模型训练能耗计算方法,获取服务器对应的碳电信息,可以包括:
预先将地理位置信息、数据中心信息与碳电信息的映射关系存储在本地;获取服务器的地理位置信息,或者,获取服务器的地理位置信息及服务器所在的数据中心的信息;根据存储在本地的映射关系及服务器的地理位置信息,或者根据存储在本地的映射关系、服务器的地理位置信息及服务器所在的数据中心的信息,获取服务器对应的碳电信息。
58.模型训练能耗计算系统除了支持在线获取碳电信息外,还可以通过本地静态数据获取碳电信息。具体地,模型训练能耗计算系统可以预先将地理位置信息、数据中心信息与碳电信息的映射关系存储在本地。由于服务器所在数据中心不同,碳电信息也会有所不同,因此,在进行本地存储时,也可以将数据中心信息与碳电信息的映射关系进行存储。另外,还可以对硬件设备信息进行本地存储。
59.当进行模型训练能耗数据计算时,模型训练能耗计算系统可以获取服务器的地理位置信息,或者可以获取服务器的地理位置信息以及服务器所在的数据中心的信息,然后,可以根据预先存储在本地的地理位置信息、数据中心信息与碳电信息的映射关系以及获取到的服务器的地理位置信息,或者可以根据预先存储在本地的地理位置信息、数据中心信息与碳电信息的映射关系、获取到的服务器的地理位置信息及服务器所在的数据中心的信息,得到服务器对应的碳电信息。其中,根据服务器的地理位置信息及服务器所在的数据中心的信息进行服务器对应的碳电信息获取的准确性要比仅根据服务器的地理位置信息进行服务器对应的碳电信息获取的准确性高,模型训练能耗计算系统可以根据实际情况而选择使用。
60.本技术实施例提供的一种模型训练能耗计算方法,还可以包括:获取各类设备的静态信息;静态信息可以包括设备的名称、型号、额定功率、额定计算性能。
61.模型训练能耗计算系统还可以获取服务器中参与模型训练的各类设备的静态信息,其中,这里提及的静态信息可以包括设备的名称、设备的型号、设备的额定功率、设备的额定计算性能(flop/s)等,以便于可以将各类设备的静态信息也写入模型训练能耗报告中,从而便于相关人员进行相关信息的获取,且便于进行模型训练的预测能耗数据的计算。
62.其中,对于cpu和gpu的静态信息,可以通过相应的第三方工具进行获取,例如对于intel cpu,则采用 intel rapl、intel power gadget等工具,对于nvida gpu,则采用pynvml and nvml 以及nvidia-smi获取相关功率、能耗信息。
63.本技术实施例提供的一种模型训练能耗计算方法,还可以包括:获取模型训练对应的模型参数信息,根据模型参数信息得到模型的总计算量;根据模型的总计算量及各类设备的额定计算性能,得到完成模型的总计算量的预估时间;根据各类设备的个数、各类设备的额定功率、各类设备的设备线程理论占用率、预估时间及碳电信息,计算模型训练的预测能耗数据。
64.在本技术中,模型训练能耗计算系统除了可以计算模型在实际训练过程中对应的能耗数据外,还可以计算模型训练对应的预测能耗数据,以便于相关人员可以在模型训练之前能够大致获取模型训练对应的能耗数据等。
65.具体地,模型训练能耗计算系统可以获取模型训练对应的模型参数信息,并根据模型参数信息计算得到模型的总计算量c,然后,可以根据模型的总计算量c以及各类设备的额定计算性能,利用计算得到完成模型的总计算量的预估时间,其中,为参与模型训练的所有设备的额定计算性能的总和。之后,可以根据各类设备的个数、各类设备的额定功率、各类设备的设备线程理论占用率、预估时间以及碳电信息计算模型训练的预测能耗数据。其中,设备线程理论占用率中的线程同样指的是模型训练对应的线程,设备线程理论占用率具体为模型训练对应的线程对相应设备的理论占用率。
66.本技术实施例提供的一种模型训练能耗计算方法,根据各类设备的个数、各类设备的额定功率、各类设备的设备线程理论占用率、预估时间及碳电信息,计算模型训练的预测能耗数据,可以包括:利用,计算模型训练对应的预测能耗开销;利用,计算模型训练对应的碳排放当量;其中,为第i类设备的个数,为第i类设备的设备线程理论占用率,为第i类设备的额定功率,为预估时间,为服务器对应的电源使用效率,为服务器对应的碳强度,为数据中心碳抵消系数。
67.在本技术中,对于模型训练的预测能耗数据的计算可以采用与模型训练对应的能耗数据计算相类似的方式。具体地,对于模型训练的预测能耗数据的计算,可以利用计算模型训练对应的预测能耗开销,并可以利用计算模型训练对应的碳排放当量。其中,为第i类设备的个数,为第i类设备的设备线程理论占用率,为第i类设备的额定功率,为预估时间,为服务器对应的电源使用效率,为服务器对应的碳强度,为数据中心碳抵消系数。
68.通过上述方式可以实现对模型训练的预测能耗数据的准确计算。
69.本技术实施例提供的一种模型训练能耗计算方法,还可以包括:获取服务器的操作系统版本、python版本及服务器的内存大小。
70.在本技术中,模型训练能耗计算系统还可以获取服务器的操作系统版本、python版本及服务器的内存大小,以便于将这些信息也写入到模型训练能耗报告中。
71.其中,操作系统版本信息可以依赖python package import platform实现;
python是实现模型训练的软件,操作系统版本和python版本的获取可以便于相关人员获知模型具体是在何种环境下进行训练的,从而便于给训练完成的模型的应用带来参考;内存大小等相关信息的获取依赖python package import psutil实现,内存大小的获取可以便于相关人员获取服务器内存情况等。
72.本技术实施例提供的一种模型训练能耗计算方法,还可以包括:获取模型训练对应的进程号、服务器中参与模型训练的设备的设备号;获取用于进行模型训练的服务器中参与模型训练的各类设备的个数,可以包括:当接收到能耗计算指令时,根据设备号获取服务器中参与模型训练的各类设备的个数;采集模型训练的过程中各类设备的运行参数,可以包括:根据进程号,采集模型训练的过程中各类设备的运行参数。
73.具体可以参见图4,其示出了本技术实施例提供的模型训练能耗计算系统应用示例图。在本技术中,模型训练能耗计算系统实现模型训练能耗计算的程序可以直接嵌入在模型训练的脚本中,在模型训练脚本中启动多进程同时启动模型训练能耗计算的程序和模型训练的过程。也即在此情况下,在模型训练开始时,模型训练能耗计算系统可以同时开始获取用于进行模型训练的服务器中参与模型训练的各类设备的个数,并获取服务器对应的碳电信息,且开始采集模型训练的过程中各类设备的运行参数,以进行模型训练能耗计算。
74.当然,模型训练能耗计算的程序也可以独立于模型训练脚本使用,在此情况下,在模型训练的过程中,需要进行模型训练能耗计算时,则需要进行人为手动启动模型训练能耗计算系统,也即需要像模型训练能耗计算系统发送能耗计算指令,以使得模型训练能耗计算系统进行模型训练对应的能耗数据的计算。且,为了成功进行模型训练对应的能耗数据的计算,则模型训练脚本需要向模型训练能耗计算系统发送模型训练对应的进程号、服务器中国参与模型训练的设备的设备号,以便于基于这些信息进行模型训练对应的能耗数据的计算。具体地,模型训练能耗计算系统可以获取模型训练对应的进程号、服务器中参与所述模型训练的设备的设备号。相应地,在此情况下,模型训练能耗计算系统在获取用于进行模型训练的服务器中参与所述模型训练的各类设备的个数时,具体可以当接收到能耗计算指令时,根据设备号获取服务器中参与模型训练的各类设备的个数,且,在采集模型训练的过程中各类设备的运行参数时,具体可以根据进程号采集模型训练的过程中各类设备的运行参数。
75.本技术实施例还提供了一种模型训练能耗计算装置,参见图5,其示出了本技术实施例提供的一种模型训练能耗计算装置的结构示意图,可以包括:第一获取模块51,用于获取用于进行模型训练的服务器中参与模型训练的各类设备的个数,并获取服务器对应的碳电信息;采集模块52,用于采集模型训练的过程中各类设备的运行参数;第一计算模块53,用于根据各类设备的个数、各类设备的运行参数及碳电信息,计算模型训练对应的能耗数据。
76.本技术实施例提供的一种模型训练能耗计算装置,采集模块52可以包括:第一采集单元,用于每隔预设时间间隔采集模型训练的过程中各类设备的功率、运行时长及设备线程占用率;
第一计算模块53可以包括:第一计算单元,用于计算各类设备的平均功率、设备线程平均占用率;第二计算单元,用于根据各类设备的个数、各类设备的平均功率、各类设备的设备线程平均占用率、各类设备的运行时长及碳电信息,计算模型训练对应的能耗数据。
77.本技术实施例提供的一种模型训练能耗计算装置,第二计算单元可以包括:第一计算子单元,用于利用,计算模型训练对应的能耗开销;第二计算子单元,用于利用,计算模型训练对应的碳排放当量;其中,为第i类设备的个数,为第i类设备的设备线程平均占用率,为第i类设备的平均功率,为第i类设备的运行时长,为服务器对应的电源使用效率,为服务器对应的碳强度,为数据中心碳抵消系数。
78.本技术实施例提供的一种模型训练能耗计算装置,当设备包括cpu和/或gpu时,采集单元可以包括:采集子单元,用于每隔预设时间间隔调用cpu和/或gpu对应第三方工具,利用cpu和/或gpu对应的第三方工具采集模型训练的过程中相应设备的功率、运行时长及设备线程占用率。
79.本技术实施例提供的一种模型训练能耗计算装置,第一获取模块51可以包括:第一获取单元,用于在线获取服务器的地理位置信息;第二获取单元,用于根据服务器的地理位置信息获取服务器对应的碳电信息。
80.本技术实施例提供的一种模型训练能耗计算装置,第一获取单元可以包括:获取子单元,用于利用geojs api通过获取服务器的地理位置信息。
81.本技术实施例提供的一种模型训练能耗计算装置,第一获取模块51可以包括:存储单元,用于预先将地理位置信息、数据中心信息与碳电信息的映射关系存储在本地;第三获取单元,用于获取服务器的地理位置信息,或者,获取服务器的地理位置信息及服务器所在的数据中心的信息;第四获取单元,用于根据存储在本地的映射关系及服务器的地理位置信息,或者根据存储在本地的映射关系、服务器的地理位置信息及服务器所在的数据中心的信息,获取服务器对应的碳电信息。
82.本技术实施例提供的一种模型训练能耗计算装置,还可以包括:第二获取模块,用于获取各类设备的静态信息;静态信息可以包括设备的名称、型号、额定功率、额定计算性能。
83.本技术实施例提供的一种模型训练能耗计算装置,还可以包括:第三获取模块,用于获取模型训练对应的模型参数信息,根据模型参数信息得到模型的总计算量;
得到模块,用于根据模型的总计算量及各类设备的额定计算性能,得到完成模型的总计算量的预估时间;第二计算模块,用于根据各类设备的个数、各类设备的额定功率、各类设备的设备线程理论占用率、预估时间及碳电信息,计算模型训练的预测能耗数据。
84.本技术实施例提供的一种模型训练能耗计算装置,第二计算模块可以包括:第三计算单元,用于利用,计算模型训练对应的预测能耗开销;第四计算单元,用于利用,计算模型训练对应的碳排放当量;其中,为第i类设备的个数,为第i类设备的设备线程理论占用率,为第i类设备的额定功率,为预估时间,为服务器对应的电源使用效率,为服务器对应的碳强度,为数据中心碳抵消系数。
85.本技术实施例提供的一种模型训练能耗计算装置,还可以包括:第四获取模块,用于获取服务器的操作系统版本、python版本及服务器的内存大小。
86.本技术实施例提供的一种模型训练能耗计算装置,还可以包括:第五获取模块,用于获取模型训练对应的进程号、服务器中参与模型训练的设备的设备号;第一获取模块51可以包括:第五获取单元,用于当接收到能耗计算指令时,根据设备号获取服务器中参与模型训练的各类设备的个数;采集模块52可以包括:第二采集单元,用于根据进程号,采集模型训练的过程中各类设备的运行参数。
87.本技术实施例还提供了一种模型训练能耗计算系统,参见图6,其示出了本技术实施例提供的一种模型训练能耗计算系统的结构示意图,可以包括:设备信息收集器,用于获取用于进行模型训练的服务器中参与模型训练的各类设备的个数;碳排放信息收集器,用于获取服务器对应的碳电信息;硬件设备实时采样器,用于采集模型训练的过程中各类设备的运行参数;碳排放/能耗信息输出器,用于根据各类设备的个数、各类设备的运行参数及碳电信息,计算模型训练对应的能耗数据。
88.本技术所提供的模型训练能耗计算系统可以包括设备信息收集器、碳排放信息收集器、硬件设备实时采样器(sampler模块)及碳排放/能耗信息输出器,其中,设备信息收集器主要负责收集设备的静态信息,设备信息收集器,用于获取用于进行模型训练的服务器中参与模型训练的各类设备的个数;碳排放信息收集器,用于获取服务器对应的碳电信息;
硬件设备实时采样器,用于采集模型训练的过程中各类设备的运行参数;碳排放/能耗信息输出器,用于根据各类设备的个数、各类设备的运行参数及碳电信息,计算模型训练对应的能耗数据。系统各器件主要逻辑和执行流程如图7所示,其示出了模型训练能耗计算系统各器件逻辑关系及执行流程示意图。在进行模型训练能耗计算时,首先为设备信息收集器和碳排放信息收集器配置相关静态参数,然后,开启多进程同时启动模型训练和模型训练能耗计算系统。
89.本技术实施例提供的一种模型训练能耗计算系统,硬件设备实时采样器,具体用于每隔预设时间间隔采集模型训练的过程中各类设备的功率、运行时长及设备线程占用率;计算各类设备的平均功率、设备线程平均占用率;碳排放/能耗信息输出器,具体用于根据各类设备的个数、各类设备的平均功率、各类设备的设备线程平均占用率、各类设备的运行时长及碳电信息,计算模型训练对应的能耗数据。
90.其中,硬件设备实时采样器可按照设置的预设时间间隔(例如5秒间隔)进行周期性采样,并完成采样数据的汇总统计,在模型训练过程结束后,硬件设备实时采样器结束采样,并将汇总的数据传输给碳排放/能耗信息输出器,最后碳排放/能耗信息输出器计算并输出模型训练的能耗数据。具体地,硬件设备实时采样器主要负责监测各类设备,对重要信息进行采样(具体为功率、运行时长及设备线程占用率等)。
91.本技术实施例提供的一种模型训练能耗计算系统,碳排放/能耗信息输出器,具体用于利用,计算模型训练对应的能耗开销;利用,计算模型训练对应的碳排放当量;其中,为第i类设备的个数,为第i类设备的设备线程平均占用率,为第i类设备的平均功率,为第i类设备的运行时长,为服务器对应的电源使用效率,为服务器对应的碳强度,为数据中心碳抵消系数。
92.在本技术中,碳排放/能耗信息输出器可以通过上述提及的能耗评估理论计算模型计算并输出模型训练对应的能耗开销和碳排放当量。
93.本技术实施例提供的一种模型训练能耗计算系统,当设备包括cpu和/或gpu时,硬件设备实时采样器,具体用于每隔预设时间间隔调用cpu和/或gpu对应第三方工具,利用cpu和/或gpu对应的第三方工具采集模型训练的过程中相应设备的功率、运行时长及设备线程占用率。
94.硬件设备实时采样器主要包含硬件信息采样器以及采样调度器两部分,其中,硬件信息采样器调用设备信息收集器对应的第三方工具实时获取硬件设备运行功率、运行时长、占用率等相关信息;采样调度器负责处理采样频率,主要用于周期性调度硬件信息采样器进行采样,并计算采样均值、方差等统计量。也即,硬件设备实时采样器主要使用硬件设备相关工具对重要信息进行采样,并处理采样频率,计算采样均值、方差等统计量。
95.本技术实施例提供的一种模型训练能耗计算系统,碳排放信息收集器,具体用于在线获取服务器的地理位置信息;根据服务器的地理位置信息获取服务器对应的碳电信
息。
96.本技术实施例提供的一种模型训练能耗计算系统,碳排放信息收集器,具体用于利用geojs api通过获取服务器的地理位置信息。
97.本技术实施例提供的一种模型训练能耗计算系统,碳排放信息收集器,具体用于预先将地理位置信息、数据中心信息与碳电信息的映射关系存储在本地;获取服务器的地理位置信息,或者,获取服务器的地理位置信息及服务器所在的数据中心的信息;根据存储在本地的映射关系、服务器的地理位置信息,或者根据存储在本地的映射关系、服务器的地理位置信息及服务器所在的数据中心的信息,获取服务器对应的碳电信息。
98.在本技术中,碳排放信息收集器支持使用两类数据收集碳电信息:在线数据和本地静态数据,其中,在线数据指支持在线获取地理位置信息,主要依赖geojs api通过request方法获取ip地址的实际物理地址;本地静态数据主要包括硬件设备信息、数据中心相关信息和地理位置相关信息与碳电信息的对应关系,存储于本地。基于本地数据可以实现地理位置信息到碳电信息的映射,从而获取此次模型训练的碳电信息。
99.本技术实施例提供的一种模型训练能耗计算系统,设备信息收集器,还用于获取各类设备的静态信息;静态信息可以包括设备的名称、型号、额定功率、额定计算性能。
100.本技术实施例提供的一种模型训练能耗计算系统,碳排放/能耗信息输出器,还用于获取模型训练对应的模型参数信息,根据模型参数信息得到模型的总计算量;根据模型的总计算量及各类设备的额定计算性能,得到完成模型的总计算量的预估时间;根据各类设备的个数、各类设备的额定功率、各类设备的设备线程理论占用率、预估时间及碳电信息,计算模型训练的预测能耗数据。
101.本技术实施例提供的一种模型训练能耗计算系统,碳排放/能耗信息输出器,具体用于利用,计算模型训练对应的预测能耗开销;利用,计算模型训练对应的碳排放当量;其中,为第i类设备的个数,为第i类设备的设备线程理论占用率,为第i类设备的额定功率,为预估时间,为服务器对应的电源使用效率,为服务器对应的碳强度,为数据中心碳抵消系数。
102.在本技术中,碳排放/能耗信息输出器可以实现模型训练能耗数据预测和能耗数据监测两种功能,其中,预测模式不需要真正执行模型训练任务,仅需要输入相关数据即可完成计算;监测模式需要执行模型训练的代码,详细测量模型训练的相关数据,并根据相关数据进行计算,具有较强的准确率。
103.本技术实施例提供的一种模型训练能耗计算系统,设备信息收集器,还用于获取服务器的操作系统版本、python版本及服务器的内存大小。
104.本技术实施例提供的一种模型训练能耗计算系统,设备信息收集器,还用于获取模型训练对应的进程号、服务器中参与模型训练的设备的设备号;并具体用于当接收到能耗计算指令时,根据设备号获取服务器中参与模型训练的各类设备的个数;硬件设备实时采样器,具体用于根据进程号,采集模型训练的过程中各类设备的
运行参数。
105.本技术实施例还提供了一种可读存储介质,可读存储介质中存储有计算机程序,计算机程序被处理器执行时可实现如下步骤:获取用于进行模型训练的服务器中参与模型训练的各类设备的个数,并获取服务器对应的碳电信息;采集模型训练的过程中各类设备的运行参数;根据各类设备的个数、各类设备的运行参数及碳电信息,计算模型训练对应的能耗数据。
106.该可读存储介质可以包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
107.本技术实施例提供的一种模型训练能耗计算装置、系统及可读存储介质中相关部分的说明可以参见本技术实施例提供的一种模型训练能耗计算方法中相关部分的详细说明,在此不再赘述。
108.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、
ꢀ“
包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。另外,本技术实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。
109.对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

技术特征:


1.一种模型训练能耗计算方法,其特征在于,包括:获取用于进行模型训练的服务器中参与所述模型训练的各类设备的个数,并获取所述服务器对应的碳电信息;采集所述模型训练的过程中各类所述设备的运行参数;根据各类所述设备的个数、各类所述设备的运行参数及所述碳电信息,计算所述模型训练对应的能耗数据。2.根据权利要求1所述的模型训练能耗计算方法,其特征在于,采集所述模型训练的过程中各类所述设备的运行参数,包括:每隔预设时间间隔采集所述模型训练的过程中各类所述设备的功率、运行时长及设备线程占用率;根据各类所述设备的个数、各类所述设备的运行参数及所述碳电信息,计算所述模型训练对应的能耗数据,包括:计算各类所述设备的平均功率、设备线程平均占用率;根据各类所述设备的个数、各类所述设备的平均功率、各类所述设备的设备线程平均占用率、各类所述设备的运行时长及所述碳电信息,计算所述模型训练对应的能耗数据。3.根据权利要求2所述的模型训练能耗计算方法,其特征在于,根据各类所述设备的个数、各类所述设备的平均功率、各类所述设备的设备线程平均占用率、各类所述设备的运行时长及所述碳电信息,计算所述模型训练对应的能耗数据,包括:利用,计算所述模型训练对应的能耗开销;利用,计算所述模型训练对应的碳排放当量;其中,为第i类设备的个数,为第i类设备的设备线程平均占用率,为第i类设备的平均功率,为第i类设备的运行时长,为所述服务器对应的电源使用效率,为所述服务器对应的碳强度,为数据中心碳抵消系数。4.根据权利要求2所述的模型训练能耗计算方法,其特征在于,当所述设备包括cpu和/或gpu时,则每隔预设时间间隔采集所述模型训练的过程中各类所述设备的功率、运行时长及设备线程占用率,包括:每隔预设时间间隔调用cpu和/或gpu对应第三方工具,利用cpu和/或gpu对应的第三方工具采集所述模型训练的过程中相应设备的功率、运行时长及设备线程占用率。5.根据权利要求1所述的模型训练能耗计算方法,其特征在于,获取所述服务器对应的碳电信息,包括:在线获取所述服务器的地理位置信息;根据所述服务器的地理位置信息获取所述服务器对应的碳电信息。6.根据权利要求5所述的模型训练能耗计算方法,其特征在于,在线获取所述服务器的
地理位置信息,包括:利用geojs api通过获取所述服务器的地理位置信息。7.根据权利要求1所述的模型训练能耗计算方法,其特征在于,获取所述服务器对应的碳电信息,包括:预先将地理位置信息、数据中心信息与碳电信息的映射关系存储在本地;获取所述服务器的地理位置信息,或者,获取所述服务器的地理位置信息及所述服务器所在的数据中心的信息;根据存储在本地的所述映射关系及所述服务器的地理位置信息,或者根据存储在本地的所述映射关系、所述服务器的地理位置信息及所述服务器所在的数据中心的信息,获取所述服务器对应的碳电信息。8.根据权利要求1所述的模型训练能耗计算方法,其特征在于,还包括:获取各类所述设备的静态信息;所述静态信息包括所述设备的名称、型号、额定功率、额定计算性能。9.根据权利要求8所述的模型训练能耗计算方法,其特征在于,还包括:获取所述模型训练对应的模型参数信息,根据所述模型参数信息得到模型的总计算量;根据所述模型的总计算量及各类所述设备的额定计算性能,得到完成所述模型的总计算量的预估时间;根据各类所述设备的个数、各类所述设备的额定功率、各类所述设备的设备线程理论占用率、所述预估时间及所述碳电信息,计算所述模型训练的预测能耗数据。10.根据权利要求9所述的模型训练能耗计算方法,其特征在于,根据各类所述设备的个数、各类所述设备的额定功率、各类所述设备的设备线程理论占用率、所述预估时间及所述碳电信息,计算所述模型训练的预测能耗数据,包括:利用,计算所述模型训练对应的预测能耗开销;利用,计算所述模型训练对应的碳排放当量;其中,为第i类设备的个数,为第i类设备的设备线程理论占用率,为第i类设备的额定功率,为所述预估时间,为所述服务器对应的电源使用效率,为所述服务器对应的碳强度,为数据中心碳抵消系数。11.根据权利要求1所述的模型训练能耗计算方法,其特征在于,还包括:获取所述服务器的操作系统版本、python版本及所述服务器的内存大小。12.根据权利要求1所述的模型训练能耗计算方法,其特征在于,还包括:获取所述模型训练对应的进程号、所述服务器中参与所述模型训练的设备的设备号;获取用于进行模型训练的服务器中参与所述模型训练的各类设备的个数,包括:
当接收到能耗计算指令时,根据所述设备号获取所述服务器中参与所述模型训练的各类所述设备的个数;采集所述模型训练的过程中各类所述设备的运行参数,包括:根据所述进程号,采集所述模型训练的过程中各类所述设备的运行参数。13.一种模型训练能耗计算装置,其特征在于,包括:第一获取模块,用于获取用于进行模型训练的服务器中参与所述模型训练的各类设备的个数,并获取所述服务器对应的碳电信息;采集模块,用于采集所述模型训练的过程中各类所述设备的运行参数;第一计算模块,用于根据各类所述设备的个数、各类所述设备的运行参数及所述碳电信息,计算所述模型训练对应的能耗数据。14.一种模型训练能耗计算系统,其特征在于,包括:设备信息收集器,用于获取用于进行模型训练的服务器中参与所述模型训练的各类设备的个数;碳排放信息收集器,用于获取所述服务器对应的碳电信息;硬件设备实时采样器,用于采集所述模型训练的过程中各类所述设备的运行参数;碳排放/能耗信息输出器,用于根据各类所述设备的个数、各类所述设备的运行参数及所述碳电信息,计算所述模型训练对应的能耗数据。15.一种可读存储介质,其特征在于,所述可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至12任一项所述的模型训练能耗计算方法的步骤。

技术总结


本申请涉及模型训练技术领域,公开了一种模型训练能耗计算方法、装置、系统及可读存储介质,方法包括:获取用于进行模型训练的服务器中参与模型训练的各类设备的个数,并获取服务器对应的碳电信息;采集模型训练的过程中各类设备的运行参数;根据各类设备的个数、各类设备的运行参数及碳电信息,计算模型训练对应的能耗数据。本申请公开的技术方案,通过获取用于进行模型训练的服务器中参与模型训练的各类设备的个数、服务器对应的碳电信息,采集模型训练的过程中各类设备的运行参数,根据各类设备的个数、各类设备的运行参数及碳电信息,实现快速、有效地计算模型训练对应的能耗数据,以为模型训练以及大规模计算产生的能耗评估提供技术参考。评估提供技术参考。评估提供技术参考。


技术研发人员:

王丽 郭振华 赵雅倩 曹芳 高开

受保护的技术使用者:

浪潮电子信息产业股份有限公司

技术研发日:

2022.11.16

技术公布日:

2022/12/19

本文发布于:2024-09-23 15:29:01,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/43598.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:模型   设备   所述   服务器
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议