算力执行系统、算子计算流管理方法、装置、设备和介质与流程

文档序号:37586444发布日期:2024-04-18 12:14阅读:10来源:国知局
算力执行系统、算子计算流管理方法、装置、设备和介质与流程

本技术涉及人工智能,特别是涉及一种算力执行系统、算子计算流管理方法、装置、设备和介质。


背景技术:

1、随着人工智能领域的技术革新的不断推进,由于深度学习中算法模型面向的应用场景越来越复杂,面向的硬件设备越来越多样,深度学习领域部署方案由原来的单一设备、单一深度学习框架变得更加多样,搭配更丰富,如何在同一应用场景下,同时满足多深度学习框架与多计算芯片后端,成为当前的工业生产中的重点需求。

2、 基于上述需求,如图1所示,构建一个中间ai(artificial intelligence,人工智能)算力执行框架,向上承接多个深度学习框架,向下兼容多种硬件设备成为其中的一种解决方案,随之而来的问题是如何能够保证各个ai框架各个硬件设备能够通过ai算力执行框架完美运行,其中算子计算流的统一是必须解决的技术难点之一,在不侵入深度学习框架的原则下,ai算力执行框架需自身维护一套算子计算流,以兼容多个深度学习框架,不同的深度学习框架通过ai算力执行框架实现的算子计算并调取后端芯片的加速计算库实现加速计算,ai算力执行框架需维护自身的算子计算流以保证正确的调用到后端加速计算库,而在不侵入深度学习框架的原则下,深度学习框架中自身的计算流与ai算力执行框架中的算子计算流是相互独立的,当同一算力执行框架面对多个深度学习框架时,各框架独自管理自身的算子计算流,相互之间无法同步计算信息,最终导致计算结果不准确,另外,当深度学习框架调取算子计算结果时,算力执行框架中的计算还未结束或者提前结束释放了资源,导致算子计算结果提取不正确情况时有发生,这种情况会引发训练过程梯度弥散或爆炸,使得训练终止或者算力资源的浪费。

3、因此,亟需提出一种能提高算子计算结果准确性以及算力执行框架计算效率的算力执行系统、算子计算流管理方法、装置、设备和介质。


技术实现思路

1、基于此,有必要针对上述技术问题,提供一种能提高算子计算结果准确性以及算力执行框架计算效率的算力执行系统、算子计算流管理方法、装置、设备和介质。

2、第一方面,提供一种算力执行系统,所述算力执行系统包括深度学习模块、人工智能算力执行模块和硬件设备模块;

3、所述人工智能算力执行模块与所述深度学习模块连接,用于在检测到所述深度学习模块生成第一算子计算流时,确定第二算子计算流;

4、所述硬件设备模块与所述人工智能算力执行模块连接,用于执行所述第二算子计算流对应的任务指令;

5、其中,所述人工智能算力执行模块包括初始化单元和算子计算流管理单元;

6、所述初始化单元用于初始化所述人工智能算力执行模块;

7、所述算子计算流管理单元用于基于所述深度学习模块生成的第一算子计算流,对所述第二算子计算流进行管理。

8、可选的,所述算子计算流管理单元包括流池初始化子单元、算子计算流获取子单元、算子计算流处理子单元、算子计算流销毁子单元和流池;

9、所述流池初始化子单元用于对所述流池进行初始化处理;

10、所述算子计算流获取子单元用于获取所述人工智能算力执行模块中的第二算子计算流;

11、所述算子计算流处理子单元用于基于所述第一算子计算流,对所述人工智能算力执行模块中的第二算子计算流进行统一化处理;

12、所述算子计算流销毁子单元用于解绑及销毁算子计算流;

13、所述流池用于存储所述人工智能算力执行模块中硬件设备资源对应的流。

14、可选的,所述流池包括所述人工智能算力执行模块中至少一个硬件设备资源对应的流;

15、所述流池的预设大小为n,所述流池中多个流的第一标识编号依次为m至n-1,其中,n-1大于或等于m;

16、所述第一标识编号与所述算子计算流管理单元中的算子计算流对应的第二标识编号保持一致。

17、第二方面,提供一种算子计算流管理方法,所述方法包括:

18、响应于检测到深度学习模块的算子计算任务执行指令时,获取所述深度学习模块中的第一算子计算流;

19、响应于检测到所述第一算子计算流,获取人工智能算力执行模块中的第二算子计算流,并对所述第一算子计算流和所述第二算子计算流进行统一化处理;

20、基于统一化处理结果,确定是否执行算子计算任务,以实现对算子计算流的管理。

21、可选的,所述深度学习模块中的第一算子计算流的获取方法包括:

22、响应于检测到所述深度学习模块的算子计算任务执行指令时,获取所述深度学习模块中深度学习模型的模型文件;

23、对所述深度学习模型的模型文件进行解析,获取所述深度学习模块中的第一算子计算流。

24、可选的,对所述深度学习模型的模型文件进行解析,获取所述深度学习模块中的第一算子计算流包括:

25、基于编译器对所述深度学习模型的模型文件进行解析,得到目标算子序列;

26、根据所述目标算子序列对应的深度学习模型的执行顺序,对所述目标算子序列进行排序,得到所述深度学习模块中算子计算流的算子执行顺序;

27、基于所述算子计算流的算子执行顺序,获取所述第一算子计算流。

28、可选的,在所述获取人工智能算力执行模块中的第二算子计算流之前,所述方法还包括:

29、响应于检测到所述第一算子计算流,通过算子计算流获取子单元检测所述算力执行模块中是否存在目标算子计算流;

30、响应于检测到存在所述目标算子计算流,则定义所述目标算子计算流为所述第二算子计算流;

31、响应于检测到不存在所述目标算子计算流,则利用流池初始化子单元构建流池,并对所述流池进行初始化处理,以确定所述第二算子计算流。

32、可选的,所述利用流池初始化子单元构建流池包括:

33、基于预设映射表,确定所述流池的预设大小为n;

34、根据所述流池的预设大小,申请硬件设备模块中的硬件设备资源,并将所述硬件设备资源分配给对应的流,生成所述流池。

35、可选的,在利用流池初始化子单元构建流池之后,对所述流池进行初始化处理包括:

36、对所述硬件设备资源对应的流进行标识编号,生成第一标识编号,所述第一标识编号依次为m至n-1,其中,n-1大于或等于m,并定义所述第一标识编号与所述算子计算流管理单元中的算子计算流对应的第二标识编号保持一致;

37、基于目标第一标识编号与对应硬件设备资源的流,生成映射关系,预存于已构建的流池中,以完成对所述流池的初始化处理。

38、可选的,基于流池初始化处理结果,确定所述第二算子计算流包括:

39、获取多个第一标识编号与对应硬件设备资源的流的映射关系;

40、选取所述映射关系中第一标识编号为m对应的目标硬件设备资源的流,定义所述目标硬件设备资源的流为所述第二算子计算流。

41、可选的,所述获取人工智能算力执行模块中的第二算子计算流包括:

42、响应于检测到所述第一算子计算流,通过算子计算流获取子单元检测流池是否初始化成功;

43、响应于检测到所述流池初始化成功时,基于流池初始化处理结果,获取所述第二算子计算流;

44、响应于检测到所述流池初始化未成功时,利用流池初始化子单元对所述流池进行初始化处理,以确定所述第二算子计算流。

45、可选的,在对所述第一算子计算流和所述第二算子计算流进行统一化处理之前,所述方法还包括:

46、将所述人工智能算力执行模块中的第二算子计算流回传至所述深度学习模块,并在所述深度学习模块中比较所述第一算子计算流与所述第二算子计算流;

47、基于比较结果,确定是否对所述第一算子计算流和所述第二算子计算流进行统一化处理。

48、可选的,在所述深度学习模块中比较所述第一算子计算流与所述第二算子计算流包括:

49、分别获取所述第一算子计算流对应的第一内存地址以及所述第二算子计算流对应的第二内存地址;

50、比较所述第一内存地址和所述第二内存地址之间的相似度;

51、基于所述相似度,确定目标比较结果。

52、可选的,基于目标比较结果,确定是否对所述第一算子计算流和所述第二算子计算流进行统一化处理包括:

53、响应于检测到所述相似度大于或等于第一预设值时,对所述第一算子计算流和所述第二算子计算流不进行统一化处理;

54、响应于检测到所述相似度小于第一预设值时,对所述第一算子计算流和所述第二算子计算流进行统一化处理。

55、可选的,对所述第一算子计算流和所述第二算子计算流进行统一化处理包括:

56、响应于检测到所述相似度小于第一预设值时,利用算子计算流处理子单元将所述第一算子计算流替换所述第二算子计算流作为人工智能算力执行模块的目标算子计算流。

57、可选的,基于统一化处理结果,确定是否执行算子计算任务包括:

58、响应于检测到所述第一算子计算流与所述第二算子计算流的相似度大于或等于第一预设值时,执行算子计算任务。

59、可选的,在所述算子计算任务执行完成之后,所述方法还包括:

60、利用算子计算流销毁子单元将深度学习模块和人工智能算力执行模块解除绑定,并销毁人工智能算力执行模块的算子计算流和流池。

61、另一方面,提供了一种算子计算流管理装置,所述装置包括:

62、第一算子计算流获取模块,用于在检测到深度学习模块的算子计算任务执行指令时,获取所述深度学习模块中的第一算子计算流;

63、统一化处理模块,用于在检测到所述第一算子计算流时,获取人工智能算力执行模块中的第二算子计算流,并对所述第一算子计算流和所述第二算子计算流进行统一化处理;

64、计算流管理模块,用于基于统一化处理结果,确定是否执行算子计算任务,以实现对算子计算流的管理。

65、再一方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

66、响应于检测到深度学习模块的算子计算任务执行指令时,获取所述深度学习模块中的第一算子计算流;

67、响应于检测到所述第一算子计算流,获取人工智能算力执行模块中的第二算子计算流,并对所述第一算子计算流和所述第二算子计算流进行统一化处理;

68、基于统一化处理结果,确定是否执行算子计算任务,以实现对算子计算流的管理。

69、又一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

70、响应于检测到深度学习模块的算子计算任务执行指令时,获取所述深度学习模块中的第一算子计算流;

71、响应于检测到所述第一算子计算流,获取人工智能算力执行模块中的第二算子计算流,并对所述第一算子计算流和所述第二算子计算流进行统一化处理;

72、基于统一化处理结果,确定是否执行算子计算任务,以实现对算子计算流的管理。

73、上述算力执行系统、算子计算流管理方法、装置、设备和介质,所述算力执行系统包括:深度学习模块、人工智能算力执行模块和硬件设备模块;所述人工智能算力执行模块与所述深度学习模块连接,用于在检测到所述深度学习模块生成第一算子计算流时,确定第二算子计算流;所述硬件设备模块与所述人工智能算力执行模块连接,用于执行所述第二算子计算流对应的任务指令;其中,所述人工智能算力执行模块包括初始化单元和算子计算流管理单元;所述初始化单元用于初始化所述人工智能算力执行模块;所述算子计算流管理单元用于基于所述深度学习模块生成的第一算子计算流,对所述第二算子计算流进行管理,本技术通过将深度学习模块的算子计算流与人工智能算力执行模块的算子计算流进行统一化处理,很好地保证了真正算子执行时间与深度学习模块的一致性,从而解决了因算子执行时间不同步引起的获取不到正确计算结果导致出现整个模型的训练梯度弥散现象的问题,有效降低系统开销,提高算子计算效率。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1