CN109711555B - 一种预测深度学习模型单轮迭代时间的方法和系统 - Google Patents

一种预测深度学习模型单轮迭代时间的方法和系统 Download PDF

Info

Publication number
CN109711555B
CN109711555B CN201811578363.8A CN201811578363A CN109711555B CN 109711555 B CN109711555 B CN 109711555B CN 201811578363 A CN201811578363 A CN 201811578363A CN 109711555 B CN109711555 B CN 109711555B
Authority
CN
China
Prior art keywords
layer
time
model
deep learning
layers
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811578363.8A
Other languages
English (en)
Other versions
CN109711555A (zh
Inventor
孙军欢
张骏雪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Zhixing Technology Co Ltd
Original Assignee
Shenzhen Zhixing Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Zhixing Technology Co Ltd filed Critical Shenzhen Zhixing Technology Co Ltd
Priority to CN201811578363.8A priority Critical patent/CN109711555B/zh
Publication of CN109711555A publication Critical patent/CN109711555A/zh
Application granted granted Critical
Publication of CN109711555B publication Critical patent/CN109711555B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供一种预测深度学习模型单轮迭代时间的方法和系统,通过利用深度学习模型的分层结构,逐层估算/测量,获得每层的计算时间和传输时间,并累加得到该模型的单轮迭代时间。上述的预测深度学习模型单轮迭代时间的方法和系统,虽不能直接预测模型多轮迭代总的训练时间,但采用本发明提供的方法、系统,预测获得模型单轮迭代时间,并据此推测模型的训练时间,在一定程度上达成了预测模型训练时间的目标,以此亦能指导任务调度、资源分配等。

Description

一种预测深度学习模型单轮迭代时间的方法和系统
技术领域
本发明涉及深度学习技术领域;具体地,涉及一种预测深度学习模型单轮迭代时间的方法和系统。
背景技术
深度学习目前已经在诸如金融保险、安防监控等个行业得到了广泛应用。深度学习的核心方法是使用神经网络模型分析和描述数据的特征。相较于线性算法,深度学习往往需要更为庞大的数据训练方能取得准确的模型。训练一个神经网络模型往往需要数天或者数周的时间才能完成。
正是因为上面的原因,仅靠单一节点来训练深度学习模型显然需要花费更长的时间;对此,当前主流的深度学习框架均支持通过并行计算实现分布式训练模型。训练一个深度学习的模型需要以秒为数量级的频率进行多轮迭代,并且每一轮重复进行以下四个步骤的计算:a参数获取、b前向传播、c反向传播、d参数汇总。广义上的分布式训练包括两种:一种是数据并行,另一种是模型并行。在数据并行的场景下,通过预测深度学习模型的训练时间,对动辄数天、数周、数月的深度学习模型训练过程中的资源调配、模型评估等都有着重要的意义。特别是在多个不同的模型训练任务并存的情形下,提前预测训练时间,合理调配资源,将大幅提高资源利用率。即便是不能预测直接模型的训练时间,通过预测模型的单轮迭代时间,也能在一定程度上实现推测模型训练时间的目的。
发明内容
有鉴于此,本发明提供一种预测深度学习模型单轮迭代时间的方法和系统,通过利用深度学习模型的分层结构,逐层估算/测量,获得每层的计算时间和传输时间,并累加得到该模型的单轮迭代时间。上述的预测深度学习模型单轮迭代时间的方法和系统,虽不能直接预测模型多轮迭代总的训练时间,但采用本发明提供的方法、系统,预测获得模型单轮迭代时间,并据此推测模型的训练时间,在一定程度上达成了预测模型训练时间的目标,以此亦能指导任务调度、资源分配等。
一方面,本发明提供一种预测深度学习模型单轮迭代时间的方法。
上述的预测深度学习模型单轮迭代时间的方法,包括:对于任一待预测的深度学习模型,首先解析该模型输入的数据流图,根据其分层结构获得层集合V,然后依次遍历集合V中的每个层,对于任一属于集合V的层li,分别预测该层的传输时间Tn(li)、计算时间Tc(li);其中,
根据解析获取层li的参数规模以及传输速率,预测层li的传输时间Tn(li);
根据历史日志D中的相似层计算时间预测层li的计算时间Tc(li):查询历史日志D,若历史日志D中有和层li相似的层,则根据其计算时间估算层li的计算时间Tc(li);若历史日志D中没有和层li相似的层或估算不可接受,则测量层li的计算时间Tc(li);
最后,根据模型的流水线策略将各层的计算时间Tc和传输时间Tn累加,获得该模型的单轮迭代时间。
可选地,根据层属性p评估集合V中和层li相似的层:
对于集合V中任一的层lj,若其与层li的输入、输出规模相同,即SI(lj)=SI(li)、SO(lj)=SO(li),则认定其为与层li系相同类型的层;
对任一的被认为是与层li相同类型的层lj,若其任一属性pm(lj),pm(lj)∈PL K,均与层li与之相对应的属性pm(li)相同(其中的m表示pm(lj)、pm(li)为不同层的相对应属性),即pm(lj)=pm(li)(pm(lj)∈PL K),则认定其为层li的相似层;
其中,前面述及的数据流图中包含每个层的全部属性p,每层的全部属性p构成集合PL(其中,上述的层输入、输出规模也分别为全部层属性p中的一种);解析时即去获取层属性,在解析数据流图后获得上述的全部层属性p;
全部属性p中的一些对层计算时间的影响是非线性的,即关键属性pK;全部的关键属性pK构成前面述及的集合PL K。对应地,除关键属性外的其他属性对层计算时间的影响则是线性的,即非关键属性。
进一步,可选地,对前面述及的任一被认为是与层li相似的层lj,若其任一属性pm(lj),pm(lj)∈PL-PL K,也与层li与之相对应的属性pm(li)相同,即pm(lj)=pm(li)(pm(lj)∈PL-PL K),则认定其为层li的相同层。
再进一步,可选地,前面述及的根据相似层的计算时间估算层li的计算时间Tc(li),包括:
遍历历史日志D中的层计算时间,
若存在和层li相同的层,则复用该相同层计算时间,作为层li的计算时间Tc(li);
否则,根据相同层外的其他相似层的计算时间估算层li的计算时间Tc(li)。
虽然,根据相似层的计算时间估算层li的计算时间Tc(li)看上去实现的方式有很多,例如,仅存在一个相似层时即以其计算时间作为Tc(li);在存在多个相似层时,以其平均值或中位数作为Tc(li);但是,上述的方式难免存在较大误差。
因此,可选地,利用层li的最大计算时间ti max、最小计算时间ti min评估估算是否可接受:
若其最大计算时间ti max、最小计算时间ti min之差小于设定的阈值Ts,即ti max-ti min<Ts,则该估算可接受;
否则,该估算不可接受;
其中,根据层间的偏序关系,
上述的最大计算时间ti max,是根据历史日志中偏序关系上计算时间大于层li的相似层计算时间赋值的;最小计算时间ti min是根据历史日志中偏序关系上计算时间小于层li的相似层计算时间赋值的;
若存在多个相似层时,可根据层间相似程度选择合适的相似层计算时间赋值;如选择在偏序关系上邻近层li的相似层时间赋值;
基于非关键属性对计算时间的线性影响这一特点,上述的偏序关系应满足:
对层li和其相似层中任一的正向影响层计算时间的非关键属性,若该非关键属性单调增加时使其计算时间单调增加,
且对它们中任一的反向影响层计算时间的非关键属性,若该非关键属性单调减小时使其计算时间单调增加;
另,上述的阈值Ts可以设定为最小计算时间ti min乘以系数γ,即Ts=γti min;γ值将限定每层估算的误差。
进一步,可选地,利用前面述及的最大计算时间ti max、最小计算时间ti min估算层li的计算时间Tc(li):
分别将最大计算时间ti max、最小计算时间ti min初始化为0和无穷大;
遍历历史日志D中的层li的相似层,
对其中任一的相似层lj
根据前面述及的偏序关系,
若其偏序关系上的计算时间大于层li,即
Figure BDA0001916320040000031
则将其归入集合ML,若其偏序关系上的计算时间小于层li,即
Figure BDA0001916320040000032
则将其归入集合LL;
根据历史日志中的计算时间大小对集合ML中的层升序排序,选择第一个的层计算时间赋值作为ti max
根据历史日志中的计算时间大小对集合LL中的层降序排序,选择第一个的层计算时间赋值作为ti min
若上述的最大计算时间ti max、最小计算时间ti min之差小于设定的阈值Ts,即ti max-ti min<Ts,则对ti max、ti min求平均值,作为层li的计算时间Tc(li),即Tc(li)=(ti max+ti min)/2。
可选地,采用辅助图测量层li的计算时间Tc(li),包括:
构建新的数据流图作为辅助图G’,该辅助图G’包括输入层和输出层、以及成对的Pad层和Slice层;
将层li插入图G’中的Pad层和Slice层中间,构建图G”;在图G”,Pad层的输出作为层li的输入,层li的输出作为Slice层的输入;
测量图G’、G”的执行时间Tc(G’)、Tc(G”),将图G”、G’的执行时间差作为层li的计算时间,即Tc(li)=Tc(G”)-Tc(G’),以解决直接测量层的计算时间时因系统开销导致测量不准确的问题。
可选地,前面述及的相似层计算时间,是测量得到的,而非估算得到的,以避免放大(以及潜在地级联放大)以估算时的误差。
可选地,假设参数以最大速率传输,将网络带宽作为前面述及的传输速率,则,
对于传输时间Tn(li),其计算方式为,
Tn(li)=|fi|/C,
其中,|fi|为层li的参数集,C为网络带宽。
一般而言,深度学习应用程序在执行数据流图时会遵循固定的模式,一轮迭代的总时间包括4个部分:获取参数、正向传递、反向传递、汇总参数。其中,获取参数、汇总参数部分的时间,即前面述及的传输时间;正向传递、反向传递部分的时间,即前面述及的计算时间。为了加快训练,一些深度学习框架改进参数传输(获取参数、汇总参数)和计算传递(正向传递、反向传递)的流水线策略;例如,Poseidon框架中反向传播可以和获取参数、汇总参数同时进行;而TensorFlow框架中仅反向传播计算只能和汇总参数同时进行,而正向传播、获取参数不与其他部分同时进行。这意味着,不同框架下的深度学习模型,其流水线各部分在时间上或存在重合。
因此,可选地,将前面述及的层li的传输时间Tn(li)、计算时间Tc(li),根据其在数据流图中流水线上的作用,分别确定为Tn pull(li)或Tn push(li)、Tc forward(li)或Tc backward(li),并根据该模型的流水线策略,
若不存在重合,则仅累加流水线上的各部分时间,即,
Titeration=Tn pull+Tc forward+Tc backward+Tn push
其中,Titeration即该模型单轮迭代的总时间,Tn pull、Tn push分别为各层获取参数、汇总参数的传输时间之和,Tc forward、Tc backward分别为各层正向传递、反向传递的计算时间之和;
若存在重合,则在累加后扣除重合部分的时间。
进一步可选地,对于TensorFlow框架下或像TensorFlow那样反向传播计算和汇总参数同时进行的框架下的模型,其计算公式如下:
Titeration=Tn pull+Tc forward+max{Tc backward,Tn push}。
可选地,模型的数据流图是使用独立于框架的描述文件(如JSON文件)定义的。该方法在预测单轮迭代时间时,可独立地与各种深度学习框架的任何具体实现一起工作,且采用描述性文件将更通用且易于扩展。理论上,使用Open Neural Network ExchangeFormant(ONNX)将能获得更好的兼容性。此外,描述性文件其他的优点还包括无需修改任何代码即可快速更改描述性文件,以及是开发人员在优化算法是能够更容易的进行子图分析,排查影响其分布式性能的部分。
可选地,将前面述及的测量得到的计算时间Tc(li)保存在历史日志D中,以丰富历史日志D。
另一方面,本发明提供一种预测深度学习模型单轮迭代时间的系统。
结合第一方面,上述的预测深度学习模型单轮迭代时间的系统,包括:
协调器、预测器、学习器;其中,
协调器,用于解析模型输入的数据流图;根据模型的分层结构,解析后获得层集合V;
预测器,用于预测模型的单轮迭代时间;依次遍历前面述及的集合V中的每个层,对于任一的层li,分别预测层li的传输时间Tn(li)、计算时间Tc(li):
根据解析获取层li的参数规模以及传输速率,预测层li的传输时间Tn(li);
根据历史日志D中层li的相似层计算时间预测层li的计算时间Tc(li);
最后,根据模型的流水线策略将各层的计算时间Tc和传输时间Tn累加,获得该模型的单轮迭代时间;
其中,若在历史日志D中无层li的相似层或估算不可接受时,预测器将调用学习器测量层li的计算时间Tc(li);
学习器,用于在调用时测量层li的计算时间Tc(li)。
可选地,前面述及的预测深度学习模型单轮迭代时间的系统,还包括知识库,用于存储测量结果,如前面述及的学习器的测量结果,以丰富历史日志D,以便预测器查询。
可选地,前面述及的预测深度学习模型单轮迭代时间的系统,还包括模型选择器,用于在预测之初识别输入的模型,进而方便解析等后续的预测工作。
结合第一方面,可选地,前面述及的预测深度学习模型单轮迭代时间的系统,包括执行第一方面中任一实施例述及的预测深度学习模型单轮迭代时间方法的系统。
本发明提供的预测深度学习模型单轮迭代时间的方法和系统,具有诸多的有益效果:
一,通用性,其能够适应不同深度学习框架;
二,低开销,由于大量复用、估算,避免一些相似层(特别是相同层)的重复测量/计算极大地降低了开销;
三,支持模型更新,由于采用了层粒度,而深度学习模型由类似的层构建,故使用新模型,训练时间预测算法可以重用大多数图层的测量结果。
四,本地化,可以在本地进行分布式训练的迭代时间计算,训练时间预测算法不需要在分布式环境中运行整个应用程序。通过分析数据流图并基于知识库中的历史日志,估算图层的执行时间。测量各层的准确计算时间可以在一台机器上完成,故可使深度学习开发人员即使在模型设计阶段也可通过本地资源了解分布式深度学习的性能。
附图说明
为更加清楚地说明本发明实施例或现有技术中的技术方案,下面将对本发明中一部分实施例涉及的附图做简单介绍。
图1为本发明的一实施例提供的预测深度学习模型单轮迭代时间方法的流程示意图;
图2为上述的方法中采用辅助图测量层li的示意图;
图3a,b,c,d分别展示上述实施例实现时用于验证预测效果时的常见的深度学习模型、及其不同条件下的预测效果;
图4为本发明的另一实施例提供的预测深度学习模型单轮迭代时间系统的结构示意图。
具体实施方式
下面结合本发明实施例的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
以下为本发明的一个优选实施例。
其中,图1为该实施例提供的一种在tensorflow深度学习框架下的预测模型单轮迭代时间方法的流程示意图。如图1所示,该方法包括:
1)数据流图解析
输入数据流图、以及网络带宽C、流水线策略等;其中,流水线图是采用JSON定义的,该数据流图描述文件将每个层描述为JSON条目,包括层名称和层属性;
以下为其中一个模型数据流图的描述文件示例,
[
{
"layer_name":"conv1","layer_id":1,"tf_layer_name":"conv2d","params":{
"input_size":112,"kernel_size":3,"ch_in":3,"ch_out":64,"batch_size":32,"stride":1}
},
{
"layer_name":"fc1","layer_id":2,"input_id":1,"tf_layer_name":"dense","params":{"num_units":1000}
},
...
]
解析该数据流图,按照其分层结构获得层集合V。
2)预测层传输时间和计算时间
遍历集合V中的每个层:
对于任一属于集合V的层li
获取其参数集|fi|以及网络带宽C,计算其传输时间Tn(li),其中,Tn(li)=|fi|/C;
估算/测量层li的计算时间:
首先,利用层li的最大计算时间ti max、最小计算时间ti min估算层li的计算时间Tc(li),其过程包括:
分别将最大计算时间ti max、最小计算时间ti min初始化为0和无穷大;
遍历历史日志D中的层li的相似层,
对其中任一的相似层lj
根据层间的偏序关系上的计算时间,
Figure BDA0001916320040000071
则将其归入集合ML,若
Figure BDA0001916320040000072
则将其归入集合LL;
根据时间大小对集合ML中的层升序偏序,选择第一个层的计算时间赋值作为ti max
根据时间大小对集合LL中的层降序排序,选择第一个层的计算时间赋值作为ti min
若最大计算时间ti max、最小计算时间ti min之差小于设定的阈值Ts,即ti max-ti min<Ts,则对ti max、ti min求平均值,作为层li的计算时间Tc(li),即Tc(li)=(ti max+ti min)/2;
其中,对层li的相似层做如下定义:
A符号定义
层输入规模:SI;层输出规模:SO;层属性:p;层属性集合:PL;关键属性:pK;关键属性集合:PL K;其中,上述的层输入、输出规模也分别为全部层属性p中的一种;
其中,本实施例中的关键属性,如kernel_size等,对层计算时间的影响是非线性的;而如batch_size等,对层计算时间的影响是线性的,即为非关键属性;
B相同类型层
对于任一层lj,SI(lj)=SI(li)、SO(lj)=SO(li),则其与层li系相同类型的层;
C相似层
对于任一层lj,层lj为层li的相同类型层,pm(lj)=pm(li),pm(lj)∈PL K,则其为层li的相似层;
D相同层
对于任一层lj,层lj为层li的相同类型层,pm(lj)=pm(li),pm(lj)∈PL,则其为层li的相同层;
基于非关键属性对计算时间的线性影响这一特点,上述的偏序关系满足:
对层li和其相似层中任一的正向影响层计算时间的非关键属性,若该非关键属性单调增加时使其计算时间单调增加,
且对它们中任一的反向影响层计算时间的非关键属性,若该非关键属性单调减小时使其计算时间单调增加;
若最大计算时间ti max、最小计算时间ti min之差大于等于设定的阈值Ts(Ts=γti min)在本实施例中,γ取值20%,以有效控制估算误差),则认为历史日志D中没有和层li相似的层或估算不可接受。针对上述情形,利用辅助图测量层li的计算时间Tc(li),包括:
构建新的数据流图作为辅助图G’,该辅助图G’包括输入层和输出层、以及成对的Pad层和Slice层;
将层li插入图G’中的Pad层和Slice层中间,构建图G”;在图G”,Pad层的输出作为层li的输入,层li的输出作为Slice层的输入;
测量图G’、G”的执行时间Tc(G’)、Tc(G”),将图G”、G’的执行时间差作为层li的计算时间,即Tc(li)=Tc(G”)-Tc(G’);
将测量得到的计算时间Tc(li)保存在历史日志D中,来丰富历史日志D;其中历史日志D中也均是测量得到的层计算时间;
3)根据流水线策略累加各层的计算时间Tc和传输时间Tn
根据流水线策略,通过前面获得的各层传输时间Tn(li)、计算时间Tc(li),计算模型单轮迭代的总时间,其中,根据流水线策略确定全部各层的传输时间Tn(li)、计算时间Tc(li)为Tn pull(li)或Tn push(li)、Tc forward(li)或Tc backward(li);
则模型单轮迭代的总时间Titeration的计算公式如下:
Titeration=Tn pull+Tc forward+max{Tc backward,Tn push};
其中,Tn pull、Tn push分别为各层获取参数、汇总参数的传输时间之和,Tc forward、Tc backward分别为各层正向传递、反向传递的计算时间之和。
以下是对本实施例中的方法在不同条件下实现时的验证,
在图3a中,列举了在验证时用到的几种常见的深度学习模型;
而图3b展示了上述模型应用分别在两种GPU硬件配置条件下的预测效果;
图3c展示了不同类型模型、GPU硬件配置、网络带宽条件下的预测效果差异;
图3d则展示了网络带宽升级情况下的预测情况;
其中,从图3b中,我们不难看出,不同模型应用下的单轮迭代时间的误差均在10%以下,而从图3c中,我们更是看到,在1080Ti GPU和50Gbps网络下,CNN模型的平均误差为8.47%,而在CNN模型的平均误差为9.99%;
在50Gbps网络下,在GPU硬件配置为Nividia 1080Ti和K40m时,其平均误差分别为8.45%和8.04%;
而在1080Ti GPU硬件配置下,不同网络带宽下的平均误差被控制在10%以下,特别是在25Gbps网络下,平均误差下降到4.78%;
以上证明:该实施例提供的预测模型单轮迭代时间的方法在不同模型、以及不同类型模型、GPU硬件配置、网络带宽的条件下,均能够获得一个误差在可接受范围内的预测结果;
在图3d中,我们则看到在网络带宽升级的情况下,基于先前的经验值和从零开始重新预测两种策略下的模型单轮迭代时间预测,我们看到复用原来的经验值,并不会在很大程度地影响预测结果;即我们可以认为,在网络带宽变化的情况下,并不会大幅改变本实施例中的方法预测结果的改变(由于该方法中对传输时间的预测来自计算,故主要是不会对计算时间预测),因此,我们可以在网络带宽升级的情况下,仍利用原来的经验值,而不是重新预测,来减少预测耗时。
以下则为本发明的另一个优选实施例。
图4为该优选实施例提供的预测深度学习模型单轮迭代时间系统的结构示意图。如图4所示,该系统,包括了:
模型选择器,在预测之初识别输入的模型,进而方便解析等,使后续的预测工作顺利和高效地进行;
协调器,解析模型输入的数据流图,根据模型的分层结构,解析后获得层集合V;
预测器,为系统最为重要的功能模块,其基本实现了对模型单轮迭代时间的预测:
依次遍历前面述及的集合V中的每个层,对于任一的层li,分别预测该层的传输时间Tn(li)、计算时间Tc(li),其中,
根据层li的参数规模以及传输速率,预测层li的传输时间Tn(li);
通过查询历史日志D中层li的相似层计算时间,据此预测层计算时间Tc(li);对历史日志D中没有和层li相似的层或估算不可接受的,则调用学习器测量层li的计算时间Tc(li);
最后,根据模型的流水线策略将各层的计算时间Tc和传输时间Tn累加,获得该模型的单轮迭代时间;
学习器,则即是被预测器调用以测量层li的计算时间Tc(li);
以及知识库,用于存储测量结果,如前面述及的学习器的测量结果,以丰富历史日志D,以便预测器查询;
以上所述仅为本发明的具体实施方式,但本发明的保护范围并不局限于此。

Claims (14)

1.一种预测深度学习模型单轮迭代时间的方法,其特征在于,该方法包括:
对于任一待预测的深度学习模型,所述模型为神经网络模型,
首先解析该模型输入的数据流图,根据其分层结构获得包括所述神经网络模型中各层的层集合V
然后依次遍历集合V中的每个层,对于任一属于集合V的层l i ,分别预测该层的传输时间T n (l i )、计算时间T c (l i );其中,
根据解析获取层l i 的参数规模以及传输速率,预测层l i 的传输时间T n (l i ):
查询历史日志D,根据与层l i 的相似程度利用历史日志D中的相似层计算时间预测层l i 的计算时间T c (l i );若历史日志D中无相似层计算时间或估算不可接受,则测量层l i 的计算时间T c (l i );
根据模型的流水线策略将各层的计算时间T c 和传输时间T n 累加,获得该模型的单轮迭代时间;
其中,所述的相似层,是指满足如下条件的层:对于任一的层l j ,要求其任一关键属性均与层l i 对应的关键属性相同,即其任一属性p m (l j ),p m (l j )∈P L K p m (l j )= p m (l i ),且是层l i 相同类型的层;所述的与层l i 相同类型的层,是指满足如下条件:对于任一的层l j ,要求其输入、输出规模与层l i 相同的层,即S I (l j )= S I (l i )、S O (l j )= S O (l i );所述的关键属性,即p K ,是指全部属性p中的那些对层计算时间的影响是非线性的属性;所述的P L K ,即全部的关键属性p K 构成的集合;所述的相似程度,是根据所述相似层与层l i 的偏序关系确定的,与层l i 在偏序关系上相邻的层认为最为相似;而所述的偏序关系,则指满足:对其任一的正向影响层计算时间的非关键属性,若该非关键属性单调增加时使其计算时间单调增加,且对其任一的反向影响层计算时间的非关键属性,若该非关键属性单调减小时使其计算时间单调增加。
2.根据权利要求1所述的预测深度学习模型单轮迭代时间的方法,其特征在于,
遍历历史日志D,若有层l i 的相同层计算时间,则直接以所述的相同层计算时间作为层l i 的计算时间T c (l i );否则,继续根据所述相同层以外的其他相似层计算时间估算层l i 的计算时间T c (l i )或测量;
所述的相同层,是指满足如下条件:对于任一的相似层l j ,要求其任一非关键属性也均与层l i 对应的非关键属性相同,即其任一属性p m (l j ),p m (l j )∈P L -P L K p m (l j )= p m (l i ),则认定其为层l i 的相同层,P L 为全部层属性的集合。
3.根据权利要求1所述的预测深度学习模型单轮迭代时间的方法,其特征在于,
利用层l i 的最大计算时间t i max 、最小计算时间t i min 评估估算是否可接受:
t i max - t i min T s ,则该估算可接受;
否则,该估算不可接受;
其中,所述的最大计算时间t i max ,是根据历史日志中在所述偏序关系上计算时间大于层l i 的相似层计算时间赋值的;最小计算时间t i min 是根据历史日志中在所述偏序关系上计算时间小于层l i 的相似层计算时间赋值的; T s 为设定的阈值。
4.根据权利要求3所述的预测深度学习模型单轮迭代时间的方法,其特征在于,
利用所述的最大计算时间t i max 、最小计算时间t i min 估算层l i 的计算时间T c (l i ),包括:
分别将最大计算时间t i max 、最小计算时间t i min 初始化为0和无穷大;
遍历历史日志D中的层l i 的相似层,
对其中任一的相似层l j
根据所述的偏序关系,若l i l j ,则将其归入集合ML,若l j l i ,则将其归入集合LL
在计算时间上,根据时间大小对集合ML中的层升序排序,选择第一个的层计算时间赋值作为t i max ;根据时间大小对集合LL中的层降序排序,选择第一个的层计算时间赋值作为t i min
t i max - t i min T s ,则T c (l i )=(t i max +t i min )/2。
5.根据权利要求1所述的预测深度学习模型单轮迭代时间的方法,其特征在于,
采用辅助图测量所述的层l i 的计算时间T c (l i ),包括:
构建辅助图G’,该辅助图G’包括输入层和输出层、以及成对的Pad层和Slice层;
将层l i 插入图G’中的Pad层和Slice层中间,构建图G’’
测量图G’G’’的执行时间T c (G’)、T c (G’’),T c (l i )=T c (G’’)-T c (G’)。
6.根据权利要求1所述的预测深度学习模型单轮迭代时间的方法,其特征在于,
所述的相似层计算时间,是测量得到的。
7.根据权利要求1所述的预测深度学习模型单轮迭代时间的方法,其特征在于,
对于所述的传输时间T n (l i ),其计算方式为,
T n (l i )= |f i |/C
其中,|f i |为所述层l i 的参数集,C为网络带宽。
8.根据权利要求1所述的预测深度学习模型单轮迭代时间的方法,其特征在于,
将所述的层l i 的传输时间T n (l i )、计算时间T c (l i ),根据其在数据流图中流水线上的作用,分别确定为T n pull (l i )或T n push (l i )、T c forward (l i )或T c backward (l i ),并根据该模型的流水线策略,
若不存在重合,则仅累加流水线上的各部分时间,即,
T iteration =T n pull +T c forward + T c backward +T n push
其中,T iteration 即该模型单轮迭代的总时间,T n pull T n push 分别为各层获取参数、汇总参数的传输时间之和,T c forward T c backward 分别为各层正向传递、反向传递的计算时间之和,
若存在重合,则在累加后扣除重合部分的时间。
9.根据权利要求1所述的预测深度学习模型单轮迭代时间的方法,其特征在于,
对于反向传播计算和汇总参数同时进行的框架下的模型,其计算公式如下:
T iteration =T n pull +T c forward + max{T c backward , T n push }。
10.根据权利要求1所述的预测深度学习模型单轮迭代时间的方法,其特征在于,
所述的数据流图是使用独立于框架的描述文件定义的。
11.根据权利要求1所述的预测深度学习模型单轮迭代时间的方法,其特征在于,
将测量得到的所述计算时间T c (l i )保存在历史日志D中。
12.一种预测深度学习模型单轮迭代时间的系统,其特征在于,
该系统包括:协调器、预测器、学习器,其中,
协调器,用于解析神经网络模型输入的数据流图;根据所述神经网络模型的分层结构,解析后获得包括所述神经网络模型中各层的层集合V
预测器,用于预测模型的单轮迭代时间;依次遍历前面述及的集合V中的每个层,对于任一的层l i ,分别预测该层的传输时间T n (l i )、计算时间T c (l i ):
根据解析获取层l i 的参数规模以及传输速率,预测层l i 的传输时间T n (l i );
根据历史日志D中层l i 的相似层计算时间预测层l i 的计算时间T c (l i );
根据模型的流水线策略将各层的计算时间T c 和传输时间T n 累加,获得该模型的单轮迭代时间;
其中,若在历史日志D中无层l i 的相似层或估算不可接受时,预测器将调用学习器测量层l i 的计算时间T c (l i );
学习器,用于在被调用时测量层l i 的计算时间T c (l i );
所述系统,能够执行权利要求1-11中任一所述的预测深度学习模型单轮迭代时间的方法。
13.根据权利要求12所述的预测深度学习模型单轮迭代时间的系统,其特征在于,
所述系统还包括知识库,用于存储测量结果,提供所述的历史日志D查询。
14.根据权利要求12所述的预测深度学习模型单轮迭代时间的系统,其特征在于,
所述系统还包括模型选择器,用于在预测之初识别输入的模型。
CN201811578363.8A 2018-12-21 2018-12-21 一种预测深度学习模型单轮迭代时间的方法和系统 Active CN109711555B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811578363.8A CN109711555B (zh) 2018-12-21 2018-12-21 一种预测深度学习模型单轮迭代时间的方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811578363.8A CN109711555B (zh) 2018-12-21 2018-12-21 一种预测深度学习模型单轮迭代时间的方法和系统

Publications (2)

Publication Number Publication Date
CN109711555A CN109711555A (zh) 2019-05-03
CN109711555B true CN109711555B (zh) 2021-08-10

Family

ID=66257133

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811578363.8A Active CN109711555B (zh) 2018-12-21 2018-12-21 一种预测深度学习模型单轮迭代时间的方法和系统

Country Status (1)

Country Link
CN (1) CN109711555B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113452541B (zh) * 2020-03-27 2023-02-03 上海商汤智能科技有限公司 网络带宽调整方法和相关产品
CN111563067B (zh) * 2020-05-06 2023-04-14 中国银行股份有限公司 一种特征处理方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100586059C (zh) * 2007-04-18 2010-01-27 华中师范大学 一种开放系统中层次信任模型的建立方法
CN105303896B (zh) * 2015-09-07 2018-08-24 飞友科技有限公司 航班预计到达时间精确预估方法
CN106408562B (zh) * 2016-09-22 2019-04-09 华南理工大学 基于深度学习的眼底图像视网膜血管分割方法及系统

Also Published As

Publication number Publication date
CN109711555A (zh) 2019-05-03

Similar Documents

Publication Publication Date Title
CN110070117B (zh) 一种数据处理方法及装置
US11295226B2 (en) Optimization recommendation services for quantum computing
US10671933B2 (en) Method and apparatus for evaluating predictive model
US10713073B2 (en) Systems and methods for identifying cloud configurations
US7831594B2 (en) Estimating the static execution time of a database query
US20210019189A1 (en) Methods and systems to determine and optimize reservoir simulator performance in a cloud computing environment
CN106959894B (zh) 资源分配方法和装置
CN109710404B (zh) 分布式系统中的任务调度方法
CN111126668A (zh) 基于图卷积网络的Spark作业时间预测方法和装置
CN112187554B (zh) 一种基于蒙特卡洛树搜索的运维系统故障定位方法和系统
CN112418482A (zh) 一种基于时间序列聚类的云计算能耗预测方法
CN109711555B (zh) 一种预测深度学习模型单轮迭代时间的方法和系统
CN112433853B (zh) 一种面向超级计算机数据并行应用的异构感知数据划分方法
CN109710406A (zh) 数据分配及其模型训练方法、装置、及计算集群
CN107623924A (zh) 一种验证影响关键质量指标kqi相关的关键性能指标kpi的方法和装置
Reisert et al. Following the blind seer–creating better performance models using less information
CN116868202A (zh) 一种数据处理方法、装置、设备及介质
Yan et al. A clustering algorithm for multi-modal heterogeneous big data with abnormal data
CN113158435B (zh) 基于集成学习的复杂系统仿真运行时间预测方法与设备
CN107608781A (zh) 一种负载预测方法、装置以及网元
CN108268982B (zh) 一种大规模有源配电网分解策略评价方法和装置
KR20220006580A (ko) 방문 예측
CN109670593A (zh) 一种评估、以及预测深度学习模型中层计算时间的方法
CN109711535B (zh) 一种利用相似层预测深度学习模型中层计算时间的方法
CN103745092B (zh) 服务器利用率的评估方法和系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 518000 a2405, building 9, zone 2, Shenzhen Bay science and technology ecological park, 3609 Baishi Road, community, Yuehai street, Nanshan District, Shenzhen City, Guangdong Province

Applicant after: Shenzhen Zhixing Technology Co., Ltd

Address before: Room 408, Building 3, 4 Chegongzhuang Street, Xicheng District, Beijing 100044

Applicant before: BEIJING HANHAI CLUSTAR TECHNOLOGY Co.,Ltd.

GR01 Patent grant
GR01 Patent grant