一种跨平台模型推理的方法、系统、存储介质及设备技术方案

技术编号:32117014 阅读:12 留言:0更新日期:2022-01-29 19:02
本发明专利技术提供了一种跨平台模型推理的方法、系统、存储介质及设备,方法包括:在深度学习编译框架的目标后端模块中添加部署芯片作为标记后端;将该部署芯片的运行时库和机器学习库置入该深度学习编译框架,以在该深度学习编译框架上实现该部署芯片的功能函数并建立该标记后端对应的算子仓库;由该深度学习编译框架解析模型文件生成该深度学习编译框架中的计算图表示;响应于目标后端设置为该标记后端,从该算子仓库中查找该计算图中各个算子的实现,该深度学习编译框架将对应的该各个算子的实现以及对应的该功能函数生成动态链接库;在部署芯片上加载该动态链接库以执行模型推理。本发明专利技术降低了切换目标硬件平台的工作量,增加了后端的扩展性。了后端的扩展性。了后端的扩展性。

【技术实现步骤摘要】
一种跨平台模型推理的方法、系统、存储介质及设备


[0001]本专利技术涉及服务器
,尤其涉及一种跨平台模型推理的方法、系统、存储介质及设备。

技术介绍

[0002]在模型推理任务中,将训练得到的模型部署在CPU、GPU、FPGA和其他新型人工智能芯片如寒武纪MLU等不同目标硬件平台上并保证推理的高效性是一项极具挑战的工作。不同种类的芯片在内存层次结构、支持的指令和数据类型等方面可能存在较大差异,已有的模型推理和优化方法大多数聚焦于单一种类的芯片设备。当切换目标硬件平台时,模型推理方法往往也需要随之更换,由此带来的成本代价将随着人工智能芯片的快速迭代而增加。
[0003]目前,NVIDIA推出的推理加速框架TensorRT对Caffe,TensorFlow 的网络模型进行解析并映射到TensorRT中对应的层,在TensorRT中可以使用专门针对NVIDIA GPU的优化策略对模型推理进行加速并生成能够在 GPU上运行的代码。
[0004]然而,上述解决方案仍具有一些缺点,主要在于后端扩展性不足。 TensorRT的优化和推理功能专门针对NVIDIA GPU设备,目前无法支持其他种类的人工智能芯片。
[0005]因此,需要提出一种用于模型推理的方法,针对现有技术中的上述缺点问题,降低模型推理时切换目标硬件平台的代价,解决上述后端扩展性不足等问题。

技术实现思路

[0006]有鉴于此,本专利技术的目的在于提出一种可用于不同硬件平台的、通用的模型推理的方法、系统、存储介质及设备,从而解决现有技术中传统的推理框架切换目标硬件平台的代价较高、后端扩展性不足等问题。
[0007]基于上述目的,一方面,本专利技术提供了一种跨平台模型推理的方法,其中该方法包括以下步骤:
[0008]在深度学习编译框架的目标后端模块中添加部署芯片作为标记后端;
[0009]将该部署芯片的运行时库和机器学习库置入该深度学习编译框架,以在该深度学习编译框架上实现该部署芯片的功能函数并建立该标记后端对应的算子仓库;
[0010]由该深度学习编译框架解析模型文件生成该深度学习编译框架中的计算图表示;
[0011]响应于目标后端设置为该标记后端,从该算子仓库中查找该计算图中各个算子的实现,该深度学习编译框架将对应的该各个算子的实现以及对应的该功能函数生成动态链接库;
[0012]在部署芯片上加载该动态链接库以执行模型推理。
[0013]在根据本专利技术的跨平台模型推理的方法的一些实施例中,将该部署芯片的运行时库和机器学习库置入该深度学习编译框架,以在该深度学习编译框架上实现该部署芯片的功能函数并建立该标记后端对应的算子仓库进一步包括:
[0014]在该深度学习编译框架的运行时模块引入该部署芯片的运行时库,用于实现该部署芯片的功能函数;
[0015]在该深度学习编译框架的计算图模块引入该部署芯片的机器学习库,用于通过该机器学习库的库函数的调用实现计算图中的各个算子,从而建立该标记后端对应的算子仓库。
[0016]在根据本专利技术的跨平台模型推理的方法的一些实施例中,在该深度学习编译框架的计算图模块引入该部署芯片的机器学习库,用于通过该机器学习库的库函数的调用实现计算图中的各个算子,从而建立该标记后端对应的算子仓库进一步包括设置该部署芯片上计算所需的数据类型、数据布局、张量描述符、算子描述符、以及调用对应的算子接口。
[0017]在根据本专利技术的跨平台模型推理的方法的一些实施例中,该功能函数包括用于实现部署芯片的内存分配/释放、数据拷贝、队列同步的功能函数。
[0018]在根据本专利技术的跨平台模型推理的方法的一些实施例中,在深度学习编译框架的目标后端模块中添加部署芯片作为标记后端进一步包括:
[0019]为该部署芯片命名为标记后端;
[0020]在该深度学习编译框架的目标类中定义该标记后端的成员方法;
[0021]在该深度学习编译框架的runtime ctypes中添加该标记后端的掩码;
[0022]在该深度学习编译框架的runtime ndarray中添加关于该标记后端的声明。
[0023]在根据本专利技术的跨平台模型推理的方法的一些实施例中,该在深度学习编译框架的目标后端模块中添加部署芯片作为标记后端进一步包括:
[0024]在设备类型结构体DLDeviceType中添加该标记后端;
[0025]在设备名定义函数DeviceName中添加该标记后端作为新设备;
[0026]在函数RuntimeEnabled中添加对该新设备的支持;
[0027]在目标设备类型TargetKind中注册该新设备。
[0028]在根据本专利技术的跨平台模型推理的方法的一些实施例中,该动态链接库中包含在部署芯片上运行的推理代码,该推理代码包括该各个算子的实现以及对应的该功能函数。
[0029]本专利技术的另一方面,还提供了一种跨平台模型推理的系统,其中包括:
[0030]目标后端标记模块,该目标后端标记模块配置为在深度学习编译框架的目标后端模块中添加部署芯片作为标记后端;
[0031]函数算子置入模块,该函数算子置入模块配置为将该部署芯片的运行时库和机器学习库置入该深度学习编译框架,以在该深度学习编译框架上实现该部署芯片的功能函数并建立该标记后端对应的算子仓库;
[0032]解析生成计算模块,该解析生成计算模块配置为由该深度学习编译框架解析模型文件生成该深度学习编译框架中的计算图表示;
[0033]目标后端响应模块,该目标后端响应模块配置为响应于目标后端设置为该标记后端,从该算子仓库中查找该计算图中各个算子的实现,该深度学习编译框架将对应的该各个算子的实现以及对应的该功能函数生成动态链接库;
[0034]模型推理执行模块,该模型推理执行模块配置为在部署芯片上加载该动态链接库以执行模型推理。
[0035]本专利技术的再一方面,还提供了一种计算机可读存储介质,存储有计算机程序指令,
该计算机程序指令被执行时实现上述任一项根据本专利技术的跨平台模型推理的方法。
[0036]本专利技术的又一方面,还提供了一种计算机设备,包括存储器和处理器,该存储器中存储有计算机程序,该计算机程序被处理器执行时执行上述任一项根据本专利技术的跨平台模型推理的方法。
[0037]本专利技术至少具有以下有益技术效果:基于深度学习编译框架实现了一种通用的深度学习模型推理方法,能够有效降低模型推理时切换目标硬件平台的代价,解决了后端扩展性不足的问题。通过根据本专利技术的方法,用户只需要编写简单的推理脚本便可将Tensorflow、Onnx、PyTorch等常见深度学习前端框架的模型文件部署到由CPU、GPU或寒武纪MLU等不同种类人工智能芯片组成的后端设备上并完成推理任务。
附图说明
[0038]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种跨平台模型推理的方法,其特征在于,包括以下步骤:在深度学习编译框架的目标后端模块中添加部署芯片作为标记后端;将所述部署芯片的运行时库和机器学习库置入所述深度学习编译框架,以在所述深度学习编译框架上实现所述部署芯片的功能函数并建立所述标记后端对应的算子仓库;由所述深度学习编译框架解析模型文件生成所述深度学习编译框架中的计算图表示;响应于目标后端设置为所述标记后端,从所述算子仓库中查找所述计算图中各个算子的实现,所述深度学习编译框架将对应的所述各个算子的实现以及对应的所述功能函数生成动态链接库;在部署芯片上加载所述动态链接库以执行模型推理。2.根据权利要求1所述的方法,其特征在于,所述将所述部署芯片的运行时库和机器学习库置入所述深度学习编译框架,以在所述深度学习编译框架上实现所述部署芯片的功能函数并建立所述标记后端对应的算子仓库进一步包括:在所述深度学习编译框架的运行时模块引入所述部署芯片的运行时库,用于实现所述部署芯片的功能函数;在所述深度学习编译框架的计算图模块引入所述部署芯片的机器学习库,用于通过所述机器学习库的库函数的调用实现计算图中的各个算子,从而建立所述标记后端对应的算子仓库。3.根据权利要求2所述的方法,其特征在于,所述在所述深度学习编译框架的计算图模块引入所述部署芯片的机器学习库,用于通过所述机器学习库的库函数的调用实现计算图中的各个算子,从而建立所述标记后端对应的算子仓库进一步包括:设置所述部署芯片上计算所需的数据类型、数据布局、张量描述符、算子描述符、以及调用对应的算子接口。4.根据权利要求1所述的方法,其特征在于,所述功能函数包括用于实现部署芯片的内存分配/释放、数据拷贝、队列同步的功能函数。5.根据权利要求1所述的方法,其特征在于,所述在深度学习编译框架的目标后端模块中添加部署芯片作为标记后端进一步包括:为所述部署芯片命名为标记后端;在所述深度学习编译框架的目标类中定义所述标记后端的成员方法;在所述深度学习编译框架的runtime ctypes中添加所述标记后端的...

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

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

1