CN109711555A - 一种预测深度学习模型单轮迭代时间的方法和*** - Google Patents
一种预测深度学习模型单轮迭代时间的方法和*** Download PDFInfo
- Publication number
- CN109711555A CN109711555A CN201811578363.8A CN201811578363A CN109711555A CN 109711555 A CN109711555 A CN 109711555A CN 201811578363 A CN201811578363 A CN 201811578363A CN 109711555 A CN109711555 A CN 109711555A
- Authority
- CN
- China
- Prior art keywords
- layer
- time
- deep learning
- calculating
- learning model
- 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.)
- Granted
Links
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,即则将其归入集合ML,若其偏序关系上的计算时间小于层li,即则将其归入集合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,
根据层间的偏序关系上的计算时间,
若则将其归入集合ML,若则将其归入集合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 (17)
1.一种预测深度学习模型单轮迭代时间的方法,其特征在于,该方法包括:
对于任一待预测的深度学习模型,
首先解析该模型输入的数据流图,根据其分层结构获得层集合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累加,获得该模型的单轮迭代时间。
2.根据权利要求1所述的预测深度学习模型单轮迭代时间的方法,其特征在于,
根据层属性p评估集合V中所述的层li的相似层:
对于集合V中任一的层lj,若SI(lj)=SI(li)、SO(lj)=SO(li),则认定其为与层li系相同类型的层;
同时,若其任一属性pm(lj),pm(lj)∈PL K,pm(lj)=pm(li),则认定其为层li的相似层。
3.根据权利要求2所述的预测深度学习模型单轮迭代时间的方法,其特征在于,
对所述的任一的相似层lj,若其任一属性pm(lj),pm(lj)∈PL-PL K,pm(lj)=pm(li),则认定其为层li的相同层。
4.根据权利要求3所述的预测深度学习模型单轮迭代时间的方法,其特征在于,
所述的根据相似层的计算时间估算层li的计算时间Tc(li),包括:
遍历历史日志D中的层计算时间,
若存在所述的层li的相同层,则复用该相同层计算时间,作为层li的计算时间Tc(li);
否则,根据相同层外的其他相似层的计算时间估算层li的计算时间Tc(li)。
5.根据权利要求2所述的预测深度学习模型单轮迭代时间的方法,其特征在于,
利用层li的最大计算时间ti max、最小计算时间ti min评估估算是否可接受:
若ti max-ti min<Ts,则该估算可接受;
否则,该估算不可接受;
其中,根据层间的偏序关系,
所述的最大计算时间ti max,是根据历史日志中偏序关系上计算时间大于层li的相似层计算时间赋值的;最小计算时间ti min是根据历史日志中偏序关系上计算时间小于层li的相似层计算时间赋值的;
所述的偏序关系满足:
对层li和其相似层中任一的正向影响层计算时间的非关键属性,若该非关键属性单调增加时使其计算时间单调增加,
且对它们中任一的反向影响层计算时间的非关键属性,若该非关键属性单调减小时使其计算时间单调增加。
6.根据权利要求5所述的预测深度学习模型单轮迭代时间的方法,其特征在于,
利用所述的最大计算时间ti max、最小计算时间ti min估算层li的计算时间Tc(li):
分别将最大计算时间ti max、最小计算时间ti min初始化为0和无穷大;
遍历历史日志D中的层li的相似层,
对其中任一的相似层lj,
根据所述的偏序关系,在计算时间上,
若则将其归入集合ML,若则将其归入集合LL;
根据时间大小对集合ML中的层升序排序,选择第一个的层计算时间赋值作为ti max;
根据时间大小对集合LL中的层降序排序,选择第一个的层计算时间赋值作为ti min;
若ti max-ti min<Ts,则Tc(li)=(ti max+ti min)/2。
7.根据权利要求1所述的预测深度学习模型单轮迭代时间的方法,其特征在于,
采用辅助图测量所述的层li的计算时间Tc(li),包括:
构建辅助图G’,该辅助图G’包括输入层和输出层、以及成对的Pad层和Slice层;
将层li***图G’中的Pad层和Slice层中间,构建图G”;
测量图G’、G”的执行时间Tc(G’)、Tc(G”),Tc(li)=Tc(G”)-Tc(G’)。
8.根据权利要求1所述的预测深度学习模型单轮迭代时间的方法,其特征在于,
所述的相似层计算时间,是测量得到的。
9.根据权利要求1所述的预测深度学习模型单轮迭代时间的方法,其特征在于,
对于所述的传输时间Tn(li),其计算方式为,
Tn(li)=|fi|/C,
其中,|fi|为所述层li的参数集,C为网络带宽。
10.根据权利要求1所述的预测深度学习模型单轮迭代时间的方法,其特征在于,
将所述的层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分别为各层正向传递、反向传递的计算时间之和,
若存在重合,则在累加后扣除重合部分的时间。
11.根据权利要求10所述的预测深度学习模型单轮迭代时间的方法,其特征在于,
对于反向传播计算和汇总参数同时进行的框架下的模型,其计算公式如下:
Titeration=Tn pull+Tc forward+max{Tc backward,Tn push}。
12.根据权利要求1所述的预测深度学习模型单轮迭代时间的方法,其特征在于,
所述的数据流图是使用独立于框架的描述文件定义的。
13.根据权利要求1所述的预测深度学习模型单轮迭代时间的方法,其特征在于,
将测量得到的所述计算时间Tc(li)保存在历史日志D中。
14.一种预测深度学习模型单轮迭代时间的***,其特征在于,
该模型包括:协调器、预测器、学习器,其中,
协调器,用于解析模型输入的数据流图;根据模型的分层结构,解析后获得层集合V;
预测器,用于预测模型的单轮迭代时间;依次遍历前面述及的集合V中的每个层,对于任一的层li,分别预测该层的传输时间Tn(li)、计算时间Tc(li):
根据解析获取层li的参数规模以及传输速率,预测层li的传输时间Tn(li);
根据历史日志D中层li的相似层计算时间预测层li的计算时间Tc(li);
根据模型的流水线策略将各层的计算时间Tc和传输时间Tn累加,获得该模型的单轮迭代时间;
其中,若在历史日志D中无层li的相似层或估算不可接受时,预测器将调用学习器测量层li的计算时间Tc(li);
学习器,用于在被调用时测量层li的计算时间Tc(li)。
15.根据权利要求14所述的预测深度学习模型单轮迭代时间的***,其特征在于,
所述***还包括知识库,用于存储测量结果,提供所述的历史日志D查询。
16.根据权利要求14所述的预测深度学习模型单轮迭代时间的***,其特征在于,
所述***还包括模型选择器,用于在预测之初识别输入的模型。
17.根据权利要求14所述的预测深度学习模型单轮迭代时间的***,其特征在于,
所述的***,包括执行权利要求1-12中所述的任一预测深度学习模型单轮迭代时间方法的***。
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 true CN109711555A (zh) | 2019-05-03 |
CN109711555B 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) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111563067A (zh) * | 2020-05-06 | 2020-08-21 | 中国银行股份有限公司 | 一种特征处理方法及装置 |
CN113452541A (zh) * | 2020-03-27 | 2021-09-28 | 上海商汤智能科技有限公司 | 网络带宽调整方法和相关产品 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101039178A (zh) * | 2007-04-18 | 2007-09-19 | 华中师范大学 | 一种开放***中层次信任模型的建立方法 |
CN106408562A (zh) * | 2016-09-22 | 2017-02-15 | 华南理工大学 | 基于深度学习的眼底图像视网膜血管分割方法及*** |
CN105303896B (zh) * | 2015-09-07 | 2018-08-24 | 飞友科技有限公司 | 航班预计到达时间精确预估方法 |
-
2018
- 2018-12-21 CN CN201811578363.8A patent/CN109711555B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101039178A (zh) * | 2007-04-18 | 2007-09-19 | 华中师范大学 | 一种开放***中层次信任模型的建立方法 |
CN105303896B (zh) * | 2015-09-07 | 2018-08-24 | 飞友科技有限公司 | 航班预计到达时间精确预估方法 |
CN106408562A (zh) * | 2016-09-22 | 2017-02-15 | 华南理工大学 | 基于深度学习的眼底图像视网膜血管分割方法及*** |
Non-Patent Citations (1)
Title |
---|
YAN ZHUANG 等: "Hike: A Hybrid Human-Machine Method for Entity Alignment in Large-Scale Knowledge Bases", 《2017 ASSOCIATION FOR COMPUTING MACHINERY》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113452541A (zh) * | 2020-03-27 | 2021-09-28 | 上海商汤智能科技有限公司 | 网络带宽调整方法和相关产品 |
WO2021190281A1 (zh) * | 2020-03-27 | 2021-09-30 | 上海商汤智能科技有限公司 | 网络带宽调整方法和相关产品 |
CN113452541B (zh) * | 2020-03-27 | 2023-02-03 | 上海商汤智能科技有限公司 | 网络带宽调整方法和相关产品 |
CN111563067A (zh) * | 2020-05-06 | 2020-08-21 | 中国银行股份有限公司 | 一种特征处理方法及装置 |
CN111563067B (zh) * | 2020-05-06 | 2023-04-14 | 中国银行股份有限公司 | 一种特征处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109711555B (zh) | 2021-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7518250B2 (ja) | リソース制約付きニューラルネットワークアーキテクチャ検索 | |
JP6854921B2 (ja) | タスク固有のポリシーおよび共有ポリシーをもつマルチタスクニューラルネットワークシステム | |
US20200293838A1 (en) | Scheduling computation graphs using neural networks | |
US20180240041A1 (en) | Distributed hyperparameter tuning system for machine learning | |
CN108229667B (zh) | 基于人工神经网络类别的修剪 | |
US10013656B1 (en) | Methods and apparatus for analytical processing of provenance data for HPC workflow optimization | |
CN110366734A (zh) | 优化神经网络架构 | |
CN111602148A (zh) | 正则化神经网络架构搜索 | |
US20160092765A1 (en) | Tool for Investigating the Performance of a Distributed Processing System | |
JP2021501417A (ja) | ニューラルアーキテクチャ検索 | |
JP6775469B2 (ja) | Odトラヒック予測装置、方法、及びプログラム | |
CN110114784A (zh) | 递归神经网络 | |
US10963802B1 (en) | Distributed decision variable tuning system for machine learning | |
WO2020098016A1 (zh) | 一种网络流量预测方法、装置及电子设备 | |
CN110942086A (zh) | 数据预测优化方法、装置、设备及可读存储介质 | |
EP3474274A1 (en) | Speech recognition method and apparatus | |
Tuli et al. | GOSH: Task scheduling using deep surrogate models in fog computing environments | |
WO2023045149A1 (zh) | 图像融合方法、装置、电子设备和存储介质 | |
CN108090788A (zh) | 基于时间信息集成模型的广告转化率预估方法 | |
CN109816114A (zh) | 一种机器学习模型的生成方法、装置 | |
CN109889391A (zh) | 一种基于组合模型的网络短时流量预测方法 | |
CN113037577A (zh) | 网络流量预测方法、装置和计算机可读存储介质 | |
CN116362359A (zh) | 基于ai大数据的用户满意度预测方法、装置、设备及介质 | |
CN109711555A (zh) | 一种预测深度学习模型单轮迭代时间的方法和*** | |
KR20160128036A (ko) | 컴퓨팅 시뮬레이션 작업 필요자원 예측 장치 및 방법 |
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 |