【技术实现步骤摘要】
任务调度方法及装置、电子设备和存储
[0001]本公开涉及人工智能
,尤其涉及分布式计算和深度学习
,具体涉及一种任务调度方法及装置、电子设备、计算机可读存储介质和计算机程序产品。
技术介绍
[0002]人工智能是研究使计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,既有硬件层面的技术也有软件层面的技术。人工智能硬件技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理等技术;人工智能软件技术主要包括计算机视觉技术、语音识别技术、自然语言处理技术以及机器学习/深度学习、大数据处理技术、知识图谱技术等几大方向。
[0003]随着人工智能技术的发展,人工智能所涉及的数据规模和模型规模越来越大。大数据和大模型的双重挑战导致人工智能模型的训练耗时较长。
[0004]在此部分中描述的方法不一定是之前已经设想到或采用的方法。除非另有指明,否则不应假定此部分中描述的任何方法仅因其包括在此部分中就被认为是现有技术。类似地,除非另有指明,否则此部分中提及的问题不应认为在任何现有技术中已被公认。
技术实现思路
[0005]本公开提供了一种任务调度方法及装置、电子设备、计算机可读存储介质和计算机程序产品。
[0006]根据本公开的一方面,提供了一种任务调度方法,包括:获取目标模型的训练任务,所述训练任务包括计算图和分布式属性,所述计算图用于表示所述训练任务的计算过程,所述计算图包括多个顺序处理模块和多个循环处理模块,所述分布式属性用于指示所述训 ...
【技术保护点】
【技术特征摘要】
1.一种任务调度方法,包括:获取目标模型的训练任务,其中,所述训练任务包括计算图和分布式属性,所述计算图用于表示所述训练任务的计算过程,所述计算图包括多个顺序处理模块和多个循环处理模块,所述分布式属性用于指示所述训练任务的分布式策略;将所述计算图拆分为多个目标块,其中,所述多个目标块中的每个目标块对应于所述多个顺序处理模块或者对应于所述多个循环处理模块中的任一循环处理模块;基于所述分布式属性,确定用于执行所述训练任务的多个计算设备的数量,并且将所述多个目标块中的每个目标块拆分为所述数量的多个目标子块;基于所述多个目标块各自对应的多个目标子块,生成多个训练子任务,其中,所述多个训练子任务中的每个训练子任务包括所述多个目标块的相同编号的目标子块;以及将所述多个训练子任务分配至所述多个计算设备以并行执行。2.根据权利要求1所述的方法,其中,所述计算图包括前向计算图、反向计算图和更新计算图,所述前向计算图用于表示所述训练任务的前向计算过程,所述反向计算图用于表示所述训练任务的反向计算过程,所述更新计算图用于表示所述目标模型的参数更新过程,并且其中,所述获取目标模型的训练任务包括:获取用户指定的所述前向计算图;基于所述前向计算图,生成所述反向计算图;以及基于所述反向计算图,生成所述更新计算图。3.根据权利要求1或2所述的方法,其中,所述多个顺序处理模块和所述多个循环处理模块中的任一者包括至少一个算子,所述计算图还包括多个变量,并且其中,将所述计算图拆分为多个目标块包括:生成分别对应于所述多个循环处理模块的多个第一目标块,其中,所述多个第一目标块中的每个第一目标块包括相应的循环处理模块和多个第一变量,所述多个第一变量为所述多个变量中的对应于所述相应的循环处理模块的变量;生成与所述多个循环处理模块分别对应的多个循环算子,其中,所述多个循环算子中的每个循环算子用于指示相应的循环处理模块的循环终止条件;以及将所述计算图中的每个循环处理模块替换为相应的循环算子,以得到对应于所述多个顺序处理模块的第二目标块,其中,所述第二目标块包括所述多个顺序处理模块、所述多个循环算子和多个第二变量,所述多个第二变量为所述多个变量中的除所述多个第一变量以外的变量。4.根据权利要求3所述的方法,其中,所述多个循环处理模块包括前向计算图中的至少一个前向循环模块和反向计算图中的至少一个反向循环模块,所述至少一个前向循环模块和所述至少一个反向循环模块分别对应,所述多个第一目标块包括分别对应于所述至少一个前向循环模块的至少一个前向目标块和分别对应于所述至少一个反向循环模块的至少一个反向目标块,所述方法还包括:存储所述至少一个前向目标块和所述至少一个反向目标块的对应关系。5.根据权利要求1
‑
4中任一项所述的方法,其中,所述分布式属性包括第一分布式属性,所述第一分布式属性用于表示所述多个计算设备的拓扑结构,并且其中,基于所述分布式属性,确定用于执行所述训练任务的多个计算设备的数量包括:
基于所述第一分布式属性,确定用于执行所述训练任务的多个计算设备的数量。6.根据权利要求5所述的方法,其中,所述分布式属性还包括多个变量各自的第二分布式属性,所述第二分布式属性用于表示相应变量的每个维度与所述第一分布式属性的每个维度的对应关系,并且其中,基于所述分布式属性,将所述多个目标块中的每个目标块拆分为所述数量的多个目标子块包括:对于所述多个目标块中的每个目标块:基于所述第一分布式属性,将该目标块中的每个算子拆分为所述数量的多个子算子;基于所述第一分布式属性和相应的第二分布式属性,将该目标块中的每个变量拆分为所述数量的多个子变量;以及基于所述多个子算子和所述多个子变量,生成多个目标子块,其中,所述多个目标子块中的每个目标子块包括每个算子的相同编号的子算子和每个变量的所述相同编号的子变量。7.根据权利要求6所述的方法,其中,所述获取目标模型的训练任务包括:获取用户指定的所述第一分布式属性和前向计算图中的至少一个目标变量的第二分布式属性;基于所述至少一个目标变量的第二分布式属性,确定前向计算图中的其他变量的第二分布式属性;以及基于前向计算图中的相应变量的第二分布式属性,确定反向计算图中的每个变量的第二分布式属性。8.根据权利要求1
‑
7中任一项所述的方法,还包括:基于所述分布式属性,确定所述多个计算设备之间的待通信的信息。9.根据权利要求1
‑
8中任一项所述的方法,其中,所述目标模型为语句生成模型,所述语句生成模型包括用于循环生成语言符号的循环生成模块,所述语言符号包括词和标点符号,所述循环生成模块的循环终止条件包括上一次循环所生成的语言符号是用于句末的标点符号。10.一种任务调度装置,包括:获取模块,被配置为获取目标模型的训练任务,其中,所述训练任务包括计算图和分布式属性,所述计算图用于表示所述训练任务的计算过程,所述计算图包括多个顺序处理模块和多个循环处理模块,所述分布式属性用于指示所述训练任务的分布式策略;第一拆分模块,被配置为将所述计算图拆分为多个目标块,其中,所述多个目标块中的每个目标块对应于所述多个顺序处理模块或者对应于所述多个循环处理模块中的任一循环处理模块;...
【专利技术属性】
技术研发人员:梁建中,敖玉龙,赵英利,曹州,吴志华,于佃海,
申请(专利权)人:北京百度网讯科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。