模型运行策略确定方法、装置、电子设备以及存储介质制造方法及图纸

技术编号:36959563 阅读:12 留言:0更新日期:2023-03-22 19:20
本公开提供了模型运行策略确定方法、装置、电子设备、存储介质和程序产品,涉及人工智能技术领域,尤其涉及深度学习技术领域和计算机技术领域。具体实现方案为:确定深度学习模型按照串行策略运行的实际运行时长,串行策略表征深度学习模型在单一硬件单元上运行的策略;基于实际运行时长,确定关于深度学习模型的单粒度运算时长;针对多个分布式策略中的每个分布式策略,基于深度学习模型的单粒度运算时长,确定深度学习模型按照分布式策略运行的运行代价,分布式策略表征在多个硬件单元上运行深度学习模型的策略;以及基于多个分布式策略各自的运行代价,从多个分布式策略中确定要应用于多个硬件单元的目标分布式策略。应用于多个硬件单元的目标分布式策略。应用于多个硬件单元的目标分布式策略。

【技术实现步骤摘要】
模型运行策略确定方法、装置、电子设备以及存储介质


[0001]本公开涉及人工智能
,尤其涉及深度学习
和计算机
具体涉及模型运行策略确定方法、装置、电子设备、存储介质和程序产品。

技术介绍

[0002]随着深度学习技术的不断发展,数据量的不断增长,按照分布式策略运行深度学习模型的技术受到越来越广泛的关注。因组合形式多样,可以生成组合方式不同的多个分布式策略。如何从多个分布式策略中确定优选的分布式策略,用于指导深度学习模型的运行,成为一个重要关注点。

技术实现思路

[0003]本公开提供了一种模型运行策略确定方法、装置、电子设备、存储介质以及程序产品。
[0004]根据本公开的一方面,提供了一种模型运行策略确定方法,包括:确定深度学习模型按照串行策略运行的实际运行时长,其中,上述串行策略表征上述深度学习模型在单一硬件单元上运行的策略;基于上述实际运行时长,确定关于上述深度学习模型的单粒度运算时长;针对多个分布式策略中的每个分布式策略,基于上述深度学习模型的单粒度运算时长,确定上述深度学习模型按照上述分布式策略运行的运行代价,其中,上述分布式策略表征在多个硬件单元上运行上述深度学习模型的策略;以及基于上述多个分布式策略各自的运行代价,从上述多个分布式策略中确定要应用于上述多个硬件单元的目标分布式策略。
[0005]根据本公开的另一方面,提供了一种模型运行策略确定装置,包括:第一确定模块,用于确定深度学习模型按照串行策略运行的实际运行时长,其中,上述串行策略表征上述深度学习模型在单一硬件单元上运行的策略;第二确定模块,用于基于上述实际运行时长,确定关于上述深度学习模型的单粒度运算时长;第三确定模块,用于针对多个分布式策略中的每个分布式策略,基于上述深度学习模型的单粒度运算时长,确定上述深度学习模型按照上述分布式策略运行的运行代价,其中,上述分布式策略表征在多个硬件单元上运行上述深度学习模型的策略;以及第四确定模块,用于基于上述多个分布式策略各自的运行代价,从上述多个分布式策略中确定要应用于上述多个硬件单元的目标分布式策略。
[0006]根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与上述至少一个处理器通信连接的存储器;其中,上述存储器存储有可被上述至少一个处理器执行的指令,上述指令被上述至少一个处理器执行,以使上述至少一个处理器能够执行如本公开的方法。
[0007]根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,上述计算机指令用于使上述计算机执行如本公开的方法。
[0008]根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,上述计算
机程序在被处理器执行时实现如本公开的方法。
[0009]应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0010]附图用于更好地理解本方案,不构成对本公开的限定。其中:
[0011]图1示意性示出了根据本公开实施例的可以应用模型运行策略确定方法及装置的示例性系统架构;
[0012]图2示意性示出了根据本公开实施例的模型运行策略确定方法的流程图;
[0013]图3示意性示出了根据本公开实施例的确定分布式计算任务的示意图;
[0014]图4示意性示出了根据本公开实施例的确定目标运行时长的示意图;
[0015]图5A示意性示出了根据本公开实施例的一种通信类型的通信算子的示意图;
[0016]图5B示意性示出了根据本公开实施例的另一种通信类型的通信算子的示意图;
[0017]图6示意性示出了根据本公开实施例的模型运行策略确定装置的框图;以及
[0018]图7示意性示出了根据本公开实施例的适于实现模型运行策略确定方法的电子设备的框图。
具体实施方式
[0019]以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0020]本公开提供了模型运行策略确定方法、装置、电子设备、存储介质和程序产品。
[0021]根据本公开的实施例,一种模型运行策略确定方法,包括:确定深度学习模型按照串行策略运行的实际运行时长,其中,串行策略表征深度学习模型在单一硬件单元上运行的策略;基于实际运行时长,确定关于深度学习模型的单粒度运算时长;针对多个分布式策略中的每个分布式策略,基于深度学习模型的单粒度运算时长,确定深度学习模型按照分布式策略运行的运行代价,其中,分布式策略表征在多个硬件单元上运行深度学习模型的策略;以及基于多个分布式策略各自的运行代价,从多个分布式策略中确定要应用于多个硬件单元的目标分布式策略。
[0022]在本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供、公开和应用等处理,均符合相关法律法规的规定,采取了必要保密措施,且不违背公序良俗。
[0023]在本公开的技术方案中,在获取或采集用户个人信息之前,均获取了用户的授权或同意。
[0024]图1示意性示出了根据本公开实施例的可以应用模型运行策略确定方法及装置的示例性系统架构。
[0025]需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的
技术实现思路
,但并不意味着本公开实施例不可以用于其他设备、
系统、环境或场景。
[0026]如图1所示,根据该实施例的系统架构100可以包括终端设备101,网络102和服务器集群103。网络102用以在终端设备101和服务器集群103之间提供通信链路的介质。网络102还可以用以在服务器集群103内部提供通信链路的介质。网络102可以包括各种连接类型,例如有线和/或无线通信链路等等。
[0027]用户可以使用终端设备101通过网络102与服务器集群103交互,以接收或发送消息等。例如,终端设备101可以通过网络102向服务器集群103发送用于训练深度学习模型的请求。
[0028]终端设备101上可以安装有各种通讯客户端应用,例如知识阅读类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端和/或社交平台软件等(仅为示例)。
[0029]终端设备101可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
[0030]服务器集群103可以是提供各种服务的服务器,例如对用户利用终端设备101发送的请求提供支持的后台管理服务器(仅为示例)。
[0031]服务器集群103可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中本文档来自技高网
...

【技术保护点】

【技术特征摘要】
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.一种模型运行策略确定装置,包括:第一确定模块,用于确定深度学习模型按照串行策略运行的实际运行时长,其中,所述串行策略表征所述深度学习模型在单一硬件单元上运行的策略;第二确定模块,用于基于所述实际运行时长,确定关于所述深度学习模型的单粒度运算时...

【专利技术属性】
技术研发人员:曹州敖玉龙梁建中赵英利于佃海
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1