当前位置: 首页 > 专利查询>之江实验室专利>正文

一种基于搜索的深度学习模型部署方法及装置制造方法及图纸

技术编号:38004622 阅读:7 留言:0更新日期:2023-06-30 10:19
本说明书公开了一种基于搜索的深度学习模型部署方法及装置,可以获取深度学习模型所对应的计算图,确定计算图中包括的算子,并确定每个算子匹配的硬件资源,而后,根据各算子匹配的硬件资源,构建搜索空间,从搜索空间中选取出目标样本,并确定目标样本对应的运行时长,以及确定目标样本对应的邻域样本,并确定邻域样本对应的运行时长,若邻域样本对应的运行时长短于目标样本的运行时长,将邻域样本作为重新确定出的目标样本,并继续确定目标样本对应的邻域样本以及对应的运行时长,直到满足预设迭代终止条件为止,按照目标样本所对应的分配方案,对深度学习模型的算子进行硬件资源的分配,以进行部署,本方法可以提高深度学习模型的计算效率。模型的计算效率。模型的计算效率。

【技术实现步骤摘要】
一种基于搜索的深度学习模型部署方法及装置


[0001]本说明书涉及深度学习、编译技术、高性能计算交叉
,尤其涉及一种基于搜索的深度学习模型部署方法及装置。

技术介绍

[0002]近年来,深度学习技术已经广泛应用于机器视觉、自然语言处理、自动驾驶等多个领域并取得了显著效果。随着深度学习模型结构越来越复杂,参数量越来越大,如何保证模型的性能成了一个关键问题。
[0003]在实际应用中,可以采用更高性能的硬件来运行深度学习模型,目前,市场上存在神经网络专用的加速芯片。当然,还可以采用深度学习编译器,来对深度学习模型进行构建以及优化,采用深度学习编译器的方式,可由中央处理器(graphics processing unit,cpu)、显卡(graphics processing unit,gpu)等来运行深度学习模型。
[0004]在实际的部署场景中可以将深度学习模型部署在多个硬件上,如,同时部署在cpu、gpu和多种神经网络加速芯片上,但是,当前将深度学习模型部署在多个硬件上的方式,可以是依据人为经验,将深度学习模型指定的部分分配给指定的某些硬件进行运行,从而不一定能够发挥最高的性能来有效率的运行深度学习模型。
[0005]从而,如何提高深度学习模型的运行效率,则是亟待解决的问题。

技术实现思路

[0006]本说明书提供一种基于搜索的深度学习模型部署方法及装置,以部分的解决现有技术存在的上述问题。
[0007]本说明书采用下述技术方案:本说明书提供了一种基于搜索的深度学习模型部署方法,包括:获取深度学习模型所对应的计算图;确定所述计算图中包括的算子,并确定每个算子匹配的硬件资源;根据各算子匹配的硬件资源,构建搜索空间,针对所述搜索空间中包括的每个样本,该样本用于表示一种将算子分配给各硬件资源的分配方案:从所述搜索空间中选取出目标样本,并确定所述目标样本对应的运行时长,以及确定所述目标样本对应的邻域样本,并确定所述邻域样本对应的运行时长,若所述邻域样本对应的运行时长短于所述目标样本的运行时长,将所述邻域样本作为重新确定出的目标样本,并继续确定目标样本对应的邻域样本以及邻域样本对应的运行时长,直到满足预设迭代终止条件为止;按照目标样本所对应的分配方案,将深度学习模型的算子进行硬件资源的分配,以对所述深度学习模型进行部署。
[0008]可选地,确定每个算子匹配的硬件资源,具体包括:针对每个算子,确定该算子是否被预设的硬件计算库支持;
若是,根据与该算子相匹配的硬件计算库,确定该算子匹配的硬件资源,若否,确定将该算子分配给深度学习编译器进行编译,以及该算子相匹配的硬件资源为:所述深度学习编译器所对应的默认硬件资源。
[0009]可选地,获取深度学习模型所对应的计算图,具体包括:通过深度学习编译器确定出的所述深度学习模型对应的高级IR,并将所述高级IR进行图优化,得到优化后的计算图;将所述优化后的计算图,作为获取到的所述深度学习模型所对应的计算图。
[0010]可选地,从所述搜索空间中选取出目标样本,具体包括:从所述搜索空间中随机选取出初始样本,作为目标样本。
[0011]可选地,针对每个样本,该样本所对应的邻域样本为在该样本对应的分配方案中随机选择一个算子并随机更换为其分配的硬件资源,得到该样本所对应的邻域样本。
[0012]可选地,确定样本对应的运行时长,具体包括:根据样本对应的分配方案,将分配给同一硬件并且在所述计算图中符合预设逻辑关系的至少两个相邻的算子进行合并,得到各编译单元,每个编译单元中包含至少一个算子;针对每个编译单元,确定该编译单元对应的代码,并基于该编译单元对应的代码进行编译,得到该编译单元对应的可执行文件;将各编译单元对应的可执行文件进行链接,得到链接后的可执行文件;基于所述链接后的可执行文件,按照所述样本对应的分配方案,在分配的硬件资源上对所述深度学习模型进行执行,得到所述样本对应的运行时间。
[0013]可选地,所述预设迭代终止条件包括:到达预设的迭代次数。
[0014]可选地,满足预设迭代终止条件,具体包括:若在至少N次的迭代中目标样本对应的运行时长趋于一致,则确定满足所述预设迭代终止条件,其中,N为正整数。
[0015]本说明书提供一种基于搜索的深度学习模型部署装置,包括:获取模块,用于获取深度学习模型所对应的计算图;算子确定模块,用于确定所述计算图中包括的算子,并确定每个算子匹配的硬件资源;构建模块,用于根据各算子匹配的硬件资源,构建搜索空间,针对所述搜索空间中包括的每个样本,该样本用于表示一种将算子分配给各硬件资源的分配方案:迭代模块,用于从所述搜索空间中选取出目标样本,并确定所述目标样本对应的运行时长,确定所述目标样本对应的邻域样本,并确定所述邻域样本对应的运行时长,若所述邻域样本对应的运行时长短于所述目标样本的运行时长,将所述邻域样本作为重新确定出的目标样本,并继续确定目标样本对应的邻域样本以及邻域样本对应的运行时长,直到满足预设迭代终止条件为止;部署模块,用于按照目标样本所对应的分配方案,将深度学习模型的算子进行硬件资源的分配,以对所述深度学习模型进行部署。
[0016]可选地,所述算子确定模块具体用于,针对每个算子,确定该算子是否被预设的硬件计算库支持;若是,根据与该算子相匹配的硬件计算库,确定该算子匹配的硬件资源,若
否,确定将该算子分配给深度学习编译器进行编译,以及该算子相匹配的硬件资源为:所述深度学习编译器所对应的默认硬件资源。
[0017]可选地,所述获取模块具体用于,通过深度学习编译器确定出的所述深度学习模型对应的高级IR,并将所述高级IR进行图优化,得到优化后的计算图;将所述优化后的计算图,作为获取到的所述深度学习模型所对应的计算图。
[0018]可选地,所述迭代模块具体用于,从所述搜索空间中随机选取出初始样本,作为目标样本。
[0019]可选地,针对每个样本,该样本所对应的邻域样本为在该样本对应的分配方案中随机选择一个算子并随机更换为其分配的硬件,得到该样本所对应的邻域样本。
[0020]本说明书提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述基于搜索的深度学习模型部署方法。
[0021]本说明书提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述基于搜索的深度学习模型部署方法。
[0022]本说明书采用的上述至少一个技术方案能够达到以下有益效果:从上述基于搜索的深度学习模型部署方法中可以看出,可以获取深度学习模型所对应的计算图,确定计算图中包括的算子,并确定每个算子匹配的硬件资源,而后,根据各算子匹配的硬件资源,构建搜索空间,针对搜索空间中包括的每个样本,该样本用于表示一种将算子分配给各硬件资源的分配方案,进而,从搜索空间中选取出目标样本,并确定目标样本对应的运行时长,以及确定目标样本对应的邻域样本,并确定邻本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于搜索的深度学习模型部署方法,其特征在于,包括:获取深度学习模型所对应的计算图;确定所述计算图中包括的算子,并确定每个算子匹配的硬件资源;根据各算子匹配的硬件资源,构建搜索空间,针对所述搜索空间中包括的每个样本,该样本用于表示一种将算子分配给各硬件资源的分配方案:从所述搜索空间中选取出目标样本,并确定所述目标样本对应的运行时长,以及确定所述目标样本对应的邻域样本,并确定所述邻域样本对应的运行时长,若所述邻域样本对应的运行时长短于所述目标样本的运行时长,将所述邻域样本作为重新确定出的目标样本,并继续确定目标样本对应的邻域样本以及邻域样本对应的运行时长,直到满足预设迭代终止条件为止;按照目标样本所对应的分配方案,将深度学习模型的算子进行硬件资源的分配,以对所述深度学习模型进行部署。2.如权利要求1所述的方法,其特征在于,确定每个算子匹配的硬件资源,具体包括:针对每个算子,确定该算子是否被预设的硬件计算库支持;若是,根据与该算子相匹配的硬件计算库,确定该算子匹配的硬件资源,若否,确定将该算子分配给深度学习编译器进行编译,以及该算子相匹配的硬件资源为:所述深度学习编译器所对应的默认硬件资源。3.如权利要求1所述的方法,其特征在于,获取深度学习模型所对应的计算图,具体包括:通过深度学习编译器确定出的所述深度学习模型对应的高级IR,并将所述高级IR进行图优化,得到优化后的计算图;将所述优化后的计算图,作为获取到的所述深度学习模型所对应的计算图。4.如权利要求1所述的方法,其特征在于,从所述搜索空间中选取出目标样本,具体包括:从所述搜索空间中随机选取出初始样本,作为目标样本。5.如权利要求1所述的方法,其特征在于,针对每个样本,该样本所对应的邻域样本为在该样本对应的分配方案中随机选择一个算子并随机更换为其分配的硬件资源,得到该样本所对应的邻域样本。6.如权利要求1所述的方法,其特征在于,确定样本对应的运行时长,具体包括:根据样本对应的分配方案,将分配给同一硬件并且在所述计算图中符合预设逻辑关系的至少两个相邻的算子进行合并,得到各编译单元,每个编译单元中包含至少一个算子;针对每个编译单元,确定该编译单元对应的代码,并基于该编译单元对应的代码进行编译,得到该编译单元对应的可执行文件;将各编译单元对应的可执行文件进行链接,得到链接后的可执行文件;基于所述链接后的可执行文件,按照所述样本对应的分配方案,在分配的硬件资源上对所述深度学习模型进行执行,得到所述样本对应的运行时间。7.如权利要求1所述的方法,其特征在于,...

【专利技术属性】
技术研发人员:王鹏程李勇陈自强吕波程稳曾令仿陈光胡陈枢
申请(专利权)人:之江实验室
类型:发明
国别省市:

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

1