基于TVM编译器的推理方法、装置、存储介质及设备制造方法及图纸

技术编号:36863114 阅读:15 留言:0更新日期:2023-03-15 18:42
本发明专利技术提供了一种基于TVM编译器的推理方法、装置、存储介质及设备,涉及人工智能技术领域,方法包括:分析TVM编译器在推理过程中的所有通信结构,并生成多个通信拓扑结构图,并为每个通信拓扑结构图构建通信算子;将待推理的神经网络模型输入TVM编译器中,并通过TVM编译器对神经网络模型进行转化,得到转化模型;分析转化模型的当前通信结构,并确定对应的通信拓扑结构图,并用对应的通信算子替换当前通信结构,并使用对应的通信算子实现张量并行方式推理。本发明专利技术加速了神经网络模型的推理速度,尤其对于大型神经网络模型,能极大缩短总的推理时间,提高推理效率。提高推理效率。提高推理效率。

【技术实现步骤摘要】
基于TVM编译器的推理方法、装置、存储介质及设备


[0001]本专利技术涉及人工智能
,尤其涉及一种基于TVM编译器的推理方法、装置、存储介质及设备。

技术介绍

[0002]大型神经网络模型作为深度学习发展的一个热点,典型特征是模型参数量,通常一张计算卡无法容纳它的全部参数,因此需要将模型进行拆分,放到多张计算卡上完成推理任务。
[0003]流水并行和张量并行是拆分大模型进行并行计算,加速推理速度,缩短总的推理时间的常用方法。流水并行是指将模型按层剖分到多张计算卡上,各个计算卡只负责分配到该卡上的计算任务,只要有输入,就会持续进行计算。张量并行是指将模型中的算子剖分到多张计算卡上,多张卡共同完成一个算子的计算,可能需要在计算完成后进行一次信息同步,以得到该算子的计算结果。
[0004]目前的推理框架有TVM(Tensor Virtual Machine,一款开源的、端到端的深度学习模型编译框架)、Faster Transformer(英伟达针对Transformer推理提出的性能优化方案)等。FasterTransformer针对Transformer结构的模型推理提供了流水并行和张量并行的方式,但在模型编译优化方面有所欠缺,且缺乏对一般模型(非transformer)的支持。TVM作为深度学习编译器的典型代表,当前提供了流水并行的推理方式,但缺乏张量并行的支持。
[0005]因此,亟需一种基于TVM编译器的张量并行方式的推理方法。

技术实现思路

[0006]有鉴于此,本专利技术的目的在于提出一种基于TVM编译器的推理方法、装置、存储介质及设备,用以解决目前TVM编译器不支持张量并行方式推理的问题。
[0007]基于上述目的,本专利技术提供了一种基于TVM编译器的推理方法,包括以下步骤:分析TVM编译器在推理过程中的所有通信结构,并生成多个通信拓扑结构图,并为每个通信拓扑结构图构建通信算子;将待推理的神经网络模型输入TVM编译器中,并通过TVM编译器对神经网络模型进行转化,得到转化模型;分析转化模型的当前通信结构,并确定对应的通信拓扑结构图,并用对应的通信算子替换当前通信结构,并使用对应的通信算子实现张量并行方式推理。
[0008]在一些实施例中,用对应的通信算子替换当前通信结构,并使用对应的通信算子实现张量并行方式推理包括:用对应的通信算子替换当前通信结构,得到对应的通信算子与关联的计算算子的组合,并将该组合拆分为多个子函数,并使用多个子函数实现张量并行方式推理。
[0009]在一些实施例中,方法还包括:
使每个子函数包括至少一个通信操作。
[0010]在一些实施例中,使用多个子函数实现张量并行方式推理包括:使多个子函数的部分或全部子函数并行执行,以实现张量并行方式推理。
[0011]在一些实施例中,使用多个子函数实现张量并行方式推理还包括:使每个子函数对应一个执行进程,并基于对应的执行进程将每个子函数传递至对应的计算卡进行编译;在编译过程中记录多个子函数之间的依赖逻辑,并根据依赖逻辑实现张量并行方式推理。
[0012]在一些实施例中,构建通信算子包括:利用TVM编译器提供的算子注册机制构建通信算子。
[0013]在一些实施例中,方法还包括:利用TVM编译器提供的接口将计算卡的通信库集成至TVM编译器中。
[0014]在一些实施例中,方法还包括:将通信库与对应的通信算子进行关联。
[0015]在一些实施例中,方法还包括:响应于计算卡为CPU,通信库为OpenMPI或mpi4py。
[0016]在一些实施例中,方法还包括:响应于计算卡为GPU,通信库为NCCL。
[0017]在一些实施例中,通信算子为广播通信算子。
[0018]在一些实施例中,通信算子为规约通信算子。
[0019]在一些实施例中,通过TVM编译器对神经网络模型进行转化,得到转化模型包括:通过TVM编译器对神经网络模型进行转化,得到Relay IR形式的转化模型。
[0020]在一些实施例中,方法还包括:使用TVM编译器的优化器对转化模型进行优化。
[0021]在一些实施例中,优化方式包括算子融合、预计算及存储形式优化中的一种或多种。
[0022]本专利技术的另一方面,还提供了一种基于TVM编译器的推理装置,包括:分析模块,配置用于分析TVM编译器在推理过程中的所有通信结构,并生成多个通信拓扑结构图,并根据每个通信拓扑结构图构建通信算子;转化模块,配置用于将待推理的神经网络模型输入TVM编译器中,并通过TVM编译器对神经网络模型进行转化,得到转化模型;以及推理模块,配置用于分析转化模型的当前通信结构,并确定对应的通信拓扑结构图,并用对应的通信算子替换当前通信结构,并使用对应的通信算子实现张量并行方式推理。
[0023]在一些实施例中,推理模块包括拆分模块,拆分模块配置用于用对应的通信算子替换当前通信结构,得到对应的通信算子与关联的计算算子的组合,并将该组合拆分为多个子函数,其中,每个子函数包括至少一个通信操作,并使用多个子函数实现张量并行方式推理。
[0024]在一些实施例中,拆分模块包括并行执行模块,配置用于使多个子函数的部分或
全部子函数并行执行,以实现张量并行方式推理。
[0025]本专利技术的又一方面,还提供了一种计算机可读存储介质,存储有计算机程序指令,该计算机程序指令被处理器执行时实现上述方法。
[0026]本专利技术的再一方面,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该计算机程序被处理器执行时执行上述方法。
[0027]本专利技术至少具有以下有益技术效果:本专利技术的基于TVM编译器的推理方法,通过将TVM编译器在推理过程中的所有通信结构生成多个通信拓扑结构图,并为每个通信拓扑结构图构建通信算子,并将待推理的神经网络模型输入TVM编译器中,并通过TVM编译器将神经网络模型转化为转化模型,并确定转化模型的当前通信结构对应的通信拓扑结构图,并用对应的通信算子替换当前通信结构,并使用对应的通信算子实现张量并行方式推理,从而加速了神经网络模型的推理速度,尤其对于大型神经网络模型,能极大缩短总的推理时间,提高推理效率;并且通过将通信算子也纳入模型结构中,可以使模型不再局限于仅包含常规计算算子,进而可以支持更广泛的模型推理。
附图说明
[0028]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
[0029]图1为根据本专利技术实施例提供的基于TVM编译器的推理方法的示意图;图2为根据现有技术提供的TVM编译器中广播通信结构的示意图;图3为根据本专利技术实施例提供的用于替换图2中广播通信结构的广播通信算子的结构示意图;图4为根据现有技术本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于TVM编译器的推理方法,其特征在于,包括以下步骤:分析TVM编译器在推理过程中的所有通信结构,并生成多个通信拓扑结构图,并为每个通信拓扑结构图构建通信算子;将待推理的神经网络模型输入所述TVM编译器中,并通过所述TVM编译器对所述神经网络模型进行转化,得到转化模型;分析所述转化模型的当前通信结构,并确定对应的通信拓扑结构图,并用对应的通信算子替换所述当前通信结构,并使用所述对应的通信算子实现张量并行方式推理。2.根据权利要求1所述的方法,其特征在于,用对应的通信算子替换所述当前通信结构,并使用所述对应的通信算子实现张量并行方式推理包括:用对应的通信算子替换所述当前通信结构,得到所述对应的通信算子与关联的计算算子的组合,并将所述组合拆分为多个子函数,并使用所述多个子函数实现张量并行方式推理。3.根据权利要求2所述的方法,其特征在于,还包括:使每个子函数包括至少一个通信操作。4.根据权利要求2所述的方法,其特征在于,使用所述多个子函数实现张量并行方式推理包括:使所述多个子函数的部分或全部子函数并行执行,以实现张量并行方式推理。5.根据权利要求3所述的方法,其特征在于,使用所述多个子函数实现张量并行方式推理还包括:使所述每个子函数对应一个执行进程,并基于对应的执行进程将所述每个子函数传递至对应的计算卡进行编译;在编译过程中记录所述多个子函数之间的依赖逻辑,并根据所述依赖逻辑实现张量并行方式推理。6.根据权利要求1所述的方法,其特征在于,构建通信算子包括:利用所述TVM编译器提供的算子注册机制构建通信算子。7.根据权利要求1所述的方法,其特征在于,还包括:利用所述TVM编译器提供的接口将计算卡的通信库集成至所述TVM编译器中。8.根据权利要求7所述的方法,其特征在于,还包括:将所述通信库与所述对应的通信算子进行关联。9.根据权利要求7所述的方法,其特征在于,还包括:响应于所述计算卡为CPU,所述通信库为OpenMPI或mpi4py。10.根据权利要求7所述的方法,其特征在于,还包括:响应于所述计算卡为GPU,所述通信库为NCCL。11.根据权利要求1所述的方法,其特...

【专利技术属性】
技术研发人员:何也
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

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

1