【技术实现步骤摘要】
模型运行策略确定方法、装置、电子设备以及存储介质
[0001]本公开涉及人工智能
,尤其涉及深度学习
和计算机
具体涉及模型运行策略确定方法、装置、电子设备、存储介质和程序产品。
技术介绍
[0002]随着深度学习技术的不断发展,数据量的不断增长,按照分布式策略运行深度学习模型的技术受到越来越广泛的关注。因组合形式多样,可以生成组合方式不同的多个分布式策略。如何从多个分布式策略中确定优选的分布式策略,用于指导深度学习模型的运行,成为一个重要关注点。
技术实现思路
[0003]本公开提供了一种模型运行策略确定方法、装置、电子设备、存储介质以及程序产品。
[0004]根据本公开的一方面,提供了一种模型运行策略确定方法,包括:确定深度学习模型按照串行策略运行的实际运行时长,其中,上述串行策略表征上述深度学习模型在单一硬件单元上运行的策略;基于上述实际运行时长,确定关于上述深度学习模型的单粒度运算时长;针对多个分布式策略中的每个分布式策略,基于上述深度学习模型的单粒度运算时长,确定上述深度学习模型按照上述分布式策略运行的运行代价,其中,上述分布式策略表征在多个硬件单元上运行上述深度学习模型的策略;以及基于上述多个分布式策略各自的运行代价,从上述多个分布式策略中确定要应用于上述多个硬件单元的目标分布式策略。
[0005]根据本公开的另一方面,提供了一种模型运行策略确定装置,包括:第一确定模块,用于确定深度学习模型按照串行策略运行的实际运行时长,其中,上述串行策略表征上述深度学 ...
【技术保护点】
【技术特征摘要】
1.一种模型运行策略确定方法,包括:确定深度学习模型按照串行策略运行的实际运行时长,其中,所述串行策略表征所述深度学习模型在单一硬件单元上运行的策略;基于所述实际运行时长,确定关于所述深度学习模型的单粒度运算时长;针对多个分布式策略中的每个分布式策略,基于所述深度学习模型的单粒度运算时长,确定所述深度学习模型按照所述分布式策略运行的运行代价,其中,所述分布式策略表征在多个硬件单元上运行所述深度学习模型的策略;以及基于所述多个分布式策略各自的运行代价,从所述多个分布式策略中确定要应用于所述多个硬件单元的目标分布式策略。2.根据权利要求1所述的方法,其中,所述基于所述实际运行时长,确定关于所述深度学习模型的单粒度运算时长,包括:基于所述实际运行时长,确定关于所述深度学习模型的单个浮点运算时长。3.根据权利要求2所述的方法,其中,所述基于所述实际运行时长,确定关于所述深度学习模型的单个浮点运算时长,包括:确定用于按照串行策略运行所述深度学习模型的多个计算算子;针对所述多个计算算子中的每个计算算子,确定所述计算算子的串行浮点运算次数;以及基于多个所述计算算子各自的串行浮点运算次数和所述实际运行时长,确定关于所述深度学习模型的单个浮点运算时长。4.根据权利要求3所述的方法,其中,所述确定所述计算算子的串行浮点运算次数,包括:确定所述计算算子的串行运算信息;以及基于所述串行运算信息,确定所述计算算子的所述串行浮点运算次数。5.根据权利要求4所述的方法,其中,所述串行运算信息包括所述计算算子的串行输入数据的属性信息和所述计算算子的运算类型;所述基于所述串行运算信息,确定所述计算算子的所述串行浮点运算次数,包括:基于所述计算算子的运算类型和所述串行输入数据的属性信息,确定所述计算算子的串行浮点运算次数。6.根据权利要求5所述的方法,其中,所述基于所述计算算子的运算类型和所述串行输入数据的属性信息,确定所述计算算子的串行浮点运算次数,包括:基于所述计算算子的运算类型,确定所述计算算子的串行浮点运算次数确定方式;以及按照所述计算算子的串行浮点运算次数确定方式,基于所述串行输入数据的属性信息,确定所述计算算子的串行浮点运算次数。7.根据权利要求1所述的方法,其中,所述基于所述深度学习模型的单粒度运算时长,确定所述深度学习模型按照分布式策略运行的运行代价,包括:确定按照所述分布式策略运行所述深度学习模型的分布式运算拓扑图;基于所述分布式运算拓扑图,确定所述深度学习模型的至少一个算子任务;确定所述至少一个算子任务各自的分布式运算信息;以及
基于所述单粒度运算时长和至少一个所述分布式运算信息,确定所述深度学习模型按照分布式策略运行的运行代价。8.根据权利要求7所述的方法,其中,所述基于所述单粒度运算时长和至少一个所述分布式运算信息,确定所述深度学习模型按照分布式策略运行的运行代价,包括:基于与所述算子任务相匹配的所述分布式运算信息,在确定所述算子任务包括计算任务和通信任务的情况下,确定所述计算任务的多个分支计算任务,其中,所述计算任务为通过计算算子执行的任务,所述通信任务为通过通信算子执行的任务;针对所述多个分支计算任务中的每个分支计算任务,确定所述分支计算任务的分支运算信息;基于所述分支运算信息,确定所述分支计算任务的分布式浮点运算次数;基于所述分布式浮点运算次数和所述单粒度运算时长,确定所述分支计算任务的分支运行时长;基于多个所述分支计算任务各自的分支运行时长,确定所述计算任务的目标运行时长;以及基于所述通信任务的通信时长和所述目标运行时长,确定所述深度学习模型按照分布式策略运行的运行代价。9.根据权利要求8所述的方法,其中,所述分支运算信息包括所述计算算子的分布式输入数据的属性信息和所述计算算子的运算类型;所述基于所述分支运算信息,确定所述分支计算任务的分布式浮点运算次数,包括:基于所述计算算子的运算类型和所述分布式输入数据的属性信息,确定所述分支计算任务的分布式浮点运算次数。10.根据权利要求9所述的方法,其中,所述基于所述计算算子的运算类型和所述分布式输入数据的属性信息,确定所述分支计算任务的分布式浮点运算次数,包括:基于所述计算算子的运算类型,确定所述计算算子的分布式浮点运算次数确定方式;以及按照所述计算算子的分布式浮点运算次数确定方式,基于所述分布式输入数据的属性信息,确定所述分支计算任务的分布式浮点运算次数。11.根据权利要求7所述的方法,还包括:接收来自客户端的用于训练所述深度学习模型的请求;从所述请求中确定关于所述深度学习模型的串行运算拓扑图,其中,所述串行运算拓扑图包括多个所述计算算子之间的运行顺序;以及基于所述串行运算拓扑图,确定所述深度学习模型的串行策略。12.根据权利要求11所述的方法,其中,所述确定按照所述分布式策略运行所述深度学习模型的分布式运算拓扑图,包括:按照等效运算逻辑规则,基于所述串行运算拓扑图,确定按照所述分布式策略运行所述深度学习模型的所述分布式运算拓扑图。13.根据权利要求1所述的方法,其中,所述硬件单元包括以下至少一项:图形处理器、中央处理器、神经网络处理器。14.根据权利要求1所述的方法,还包括:
按照所述目标分布式策略运行所述深度学习模型。15.一种模型运行策略确定装置,包括:第一确定模块,用于确定深度学习模型按照串行策略运行的实际运行时长,其中,所述串行策略表征所述深度学习模型在单一硬件单元上运行的策略;第二确定模块,用于基于所述实际运行时长,确定关于所述深度学习模型的单粒度运算时...
【专利技术属性】
技术研发人员:曹州,敖玉龙,梁建中,赵英利,于佃海,
申请(专利权)人:北京百度网讯科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。