一种模型运行方法及相关装置制造方法及图纸

技术编号:28418773 阅读:18 留言:0更新日期:2021-05-11 18:25
本申请实施例公开一种模型运行方法及相关装置。其中,模型运行方法包括:接收模型调用指令,该模型调用指令用于调用目标模型执行目标任务;基于该模型调用指令,确定目标模型对应的至少一个模块模型,并从内存中获取各个模块模型的第一控制指令和第一模型参数;基于各个模块模型对应的第一控制指令和第一模型参数,执行该目标任务。通过这样的方式,终端设备在调用模型执行目标任务时,可以直接从内存中获取模型的编译结果,从而缩短调用模型执行目标任务的时间,提升模型执行目标任务的效率。

【技术实现步骤摘要】
一种模型运行方法及相关装置
本申请涉及信息处理领域,尤其涉及一种模型运行方法及相关装置。
技术介绍
随着终端设备(如移动手机、平板电脑和车载终端等)的快速发展,终端设备可以通过运行应用模型,使终端设备具有多元化功能,为人们的日常生活提供了极大的便利。终端设备调用应用模型执行任务的过程可概述为两个阶段:模型编译阶段(或称模型准备阶段)和模型计算阶段。例如,基于神经网络的图像识别模型在终端设备中执行图像识别任务时,终端设备需要先加载和编译图像识别模型(即模型编译阶段),再基于该图像识别模型的模型编译结果来识别待识别的目标图像(即模型计算阶段)。模型编译阶段可以简单的理解为模型计算阶段的必要前提条件。若应用模型过于复杂,则会增加模型编译阶段(包括模型加载、模型优化和模型编译等)的时间损耗,降低终端设备调用该应用模型执行任务的效率。可见,如何在调用应用模型执行任务时,提升模型执行任务的运行效率是一个亟待解决的问题。
技术实现思路
本申请实施例提供了一种模型运行方法及相关装置,通过本申请提供的方法,终端设备可以通过从内存中获取待调用模型的模型编译结果,从而缩短调用模型执行目标任务的时间,提升模型执行目标任务的效率。第一方面,本申请实施例提供了一种模型运行方法,该方法包括:接收模型调用指令,该模型调用指令用于调用目标模型执行目标任务;基于该模型调用指令,确定目标模型对应的至少一个模块模型,并从缓存cache中获取各个模块模型的第一控制指令和第一模型参数;基于各个模块模型对应的第一控制指令和第一模型参数,指示该目标任务。可见,通过该模型运行方法终端设备可以从内存中获取提前编译的模型控制指令和模型参数,在模型调用过程中节省模型编译的时间,进而提升模型执行任务的效率(或称为调用模型的效率)。一种可能的实现方式中,从缓存cache中获取各个模块模型的第一控制指令和第一模型参数之前,还可以基于该目标模型包括的多个算子,切分目标模型得到一个或多个模块模型,该模块模型包括至少一个算子;编译每个,模块模型,得到每个模块模型的第一控制指令和第一模型参数;存储每个模块模型的第一控制指令和第一模型参数于cache。一种可能的实现方式中,该模块模型的数量为多个,该多个模块模型对应至少两种计算单元,该模块模型的第一控制指令和第一模型参数与计算单元对应。一种可能的实现中,该计算单元的种类为:中央处理器CPU、图形处理器GPU或者神经网络处理器NPU。一种可能的实现方式中,检测每个模块模型对应的计算单元是否处于不可用状态;基于检测结果,从模块模型中确定出目标模块模型,该目标模块模型对应的第一目标计算单元处于不可用状态;基于第二目标计算单元编译目标模块模型,得到目标模块模型对应的第二控制指令和第二模型参数,第二目标计算单元与目标模块模型具有对应关系,第二目标单元不同于第一目标单元;根据第二控制指令和第二模型参数更新cache中存储的目标模块模型的第一控制指令和第一模型参数。一种可能的实现方式中,在根据第二控制指令和第二模型参数更新cache中存储的目标模块模型的第一控制指令和第一模型参数之后,还可以检测目标模块模型对应的第一目标计算单元是否处于不可用状态;若第一目标计算单元不处于不可用状态,则基于第一目标计算单元编译目标模块模型,得到目标模块模型对应的第三控制指令和第三模型参数,并根据第三控制指令和第三模型参数更新cache中存储的目标模块模型的第一控制指令和第一模型参数。第二方面,本申请实施例提供了一种模型运行装置,所述模型运行装置包括:接收单元,用于接收模型调用指令,所述模型调用指令用于调用目标模型执行目标任务;处理单元,用于基于所述模型调用指令,确定所述目标模型对应的至少一个模块模型,并从缓存cache中获取各个所述模块模型的第一控制指令和第一模型参数;所述处理单元,还用于基于各个所述模块模型对应的所述第一控制指令和所述第一模型参数,执行所述目标任务。一种可能的实现中,所述从缓存cache中获取各个所述模块模型的第一控制指令和第一模型参数之前,所述处理单元还用于:基于所述目标模型包括的多个算子,切分所述目标模型得到一个或多个模块模型,所述模块模型包括至少一个所述算子;编译每个所述模块模型,得到每个所述模块模型的第一控制指令和第一模型参数;存储每个所述模块模型的所述第一控制指令和所述第一模型参数于cache。一种可能的实现中,所述模块模型的数量为多个,所述多个模块模型部对应至少两种计算单元,所述模块模型的所述第一控制指令和所述第一模型参数与所述计算单元对应。一种可能的实现中,所述计算单元的种类为:中央处理器CPU、图形处理器GPU或者神经网络处理器NPU。一种可能的实现中,所述处理单元具体用于:检测每个所述模块模型对应的所述计算单元是否处于不可用状态;基于检测结果,从所述模块模型中确定出目标模块模型,所述目标模块模型对应的第一目标计算单元处于不可用状态;基于第二目标计算单元编译所述目标模块模型,得到所述目标模块模型对应的第二控制指令和第二模型参数,所述第二目标计算单元与所述目标模块模型具有对应关系,所述第二目标单元不同于所述第一目标单元;根据所述第二控制指令和所述第二模型参数更新所述cache中存储的所述目标模块模型的所述第一控制指令和所述第一模型参数。一种可能的实现中,所述根据所述第二控制指令和所述第二模型参数更新所述cache中存储的所述目标模块模型的所述第一控制指令和所述第一模型参数之后,所述处理单元还用于:检测所述目标模块模型对应的所述第一目标计算单元是否处于不可用状态;若所述第一目标计算单元不处于不可用状态,则基于所述第一目标计算单元编译所述目标模块模型,得到所述目标模块模型对应的第三控制指令和第三模型参数,并根据所述第三控制指令和所述第三模型参数更新所述cache中存储的所述目标模块模型的所述第一控制指令和所述第一模型参数。第三方面,本申请提供了一种芯片,该芯片用于接收模型调用指令,该模型调用指令用于调用目标模型执行目标任务;基于模型调用指令,确定目标模型对应的至少一个模块模型,并从缓存cache中获取各个模块模型的第一控制指令和第一模型参数;基于各个模块模型对应的第一控制指令和第一模型参数,执行目标任务。第四方面,本申请提供了一种芯片模组,该芯片模座包括前述第三方面中的芯片。第五方面,本申请提供了一种终端设备,所述终端设备包括:存储器,用于存储计算机程序;处理器,调用计算机程序,用于执行以下操作:接收模型调用指令,该模型调用指令用于调用目标模型执行目标任务;基于该模型调用指令,确定目标模型对应的至少一个模块模型,并从缓存cache中获取各个模块模型的第一控制指令和第一模型参数;基于各个模块模型对应的第一控制指令和第一模型参数,指示该目标任务。第六方面,本申请实施例提供一种计算机可读存储介质,用于储存上述终端设备所用的计算机软件指令,其包括用于执行上述第一方面本文档来自技高网...

【技术保护点】
1.一种模型运行方法,其特征在于,所述方法包括:/n接收模型调用指令,所述模型调用指令用于调用目标模型执行目标任务;/n基于所述模型调用指令,确定所述目标模型对应的至少一个模块模型,并从缓存cache中获取各个所述模块模型的第一控制指令和第一模型参数;/n基于各个所述模块模型对应的所述第一控制指令和所述第一模型参数,执行所述目标任务。/n

【技术特征摘要】
1.一种模型运行方法,其特征在于,所述方法包括:
接收模型调用指令,所述模型调用指令用于调用目标模型执行目标任务;
基于所述模型调用指令,确定所述目标模型对应的至少一个模块模型,并从缓存cache中获取各个所述模块模型的第一控制指令和第一模型参数;
基于各个所述模块模型对应的所述第一控制指令和所述第一模型参数,执行所述目标任务。


2.根据权利要求1所述方法,其特征在于,所述从缓存cache中获取各个所述模块模型的第一控制指令和第一模型参数之前,所述方法还包括:
基于所述目标模型包括的多个算子,切分所述目标模型得到一个或多个模块模型,所述模块模型包括至少一个所述算子;
编译每个所述模块模型,得到每个所述模块模型的第一控制指令和第一模型参数;
存储每个所述模块模型的所述第一控制指令和所述第一模型参数于cache。


3.根据权利要求1或2所述方法,其特征在于,所述模块模型的数量为多个,所述多个模块模型对应至少两种计算单元,所述模块模型的所述第一控制指令和所述第一模型参数与所述计算单元对应。


4.根据权利要求3所述方法,其特征在于,所述计算单元的种类为:中央处理器CPU、图形处理器GPU或者神经网络处理器NPU。


5.根据权利要求4所述方法,其特征在于,所述从缓存cache中获取各个所述模块模型的第一控制指令和第一模型参数,包括:
检测每个所述模块模型对应的所述计算单元是否处于不可用状态;
基于检测结果,从所述模块模型中确定出目标模块模型,所述目标模块模型对应的第一目标计算单元处于不可用状态;
基于第二目标计算单元编译所述目标模块模型,得到所述目标模块模型对应的第二控制指令和第二模型参数,所述第二目标计算单元与所述目标模块模型具有对应关系,所述第二目标单元不同于所述第一目标单元;
根据所述第二控制指令和所述第二模型参数更新所述cache中存储的所述目标模块模型的所述第一控制指令和所述第一模型参数。


6.根据权利要求5所述方法,其特征在于,所述根据所述第二控制指令和所述第二模型参数更新所述cache中存储的所述目标模块模型的所述第一控制指令和所述第一模型参数之后,所述方法还包括:
检测所述目标模块模型对应的所述第一目标计算单元是否处于不可用状态;
若所述第一目标计算单元不处于不可用状态,则基于所述第一目标计算单元编译所述目标模块模型,得到所述目标模块模型对应的第三控制指令和第三模型参数,并根据所述第三控制指令和所述第三模型参数更新所述cache中存储的所述目标模块模型的所述第一控制指令和所述第一模型参数。


7.一种模型运行装置,其特征在于,所述模型运行装置包括:
接收单元,用于接收模型调用指令,所述模型调用指令用于调用目标模型执行目标任务;
处理单元,用于基于所述模型调用指令,确定所述目标模型对应的至少一个模块模型,并从缓存cache中获取各个所述模块模型的第一控制指令和第一模型参数;
所述处理单元,还用于基于各个所述模块模型对应的所述第一控制指令和所述第一模型参数,执行所述目标任务。


8.根据权利要求7所述装置,其特征在于,所述从缓...

【专利技术属性】
技术研发人员:罗佳张忠立
申请(专利权)人:展讯通信上海有限公司
类型:发明
国别省市:上海;31

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

1