一种深度学习算法模型推理调度引擎架构及方法技术

技术编号:37765700 阅读:13 留言:0更新日期:2023-06-06 13:25
本发明专利技术提供了一种深度学习算法模型推理调度引擎架构及方法,包括:模型管理模块,实现深度学习算法模型的加载、卸载和维护统一管理,加载的方式以算法逻辑为基本单位;推理计算模块,为深度学习算法模型设置优先级队列集,优先级队列集的处理逻辑为:空闲等待、超时检查、优先级检查和等待超时时间;根据优先级队列集中优先级对推理节点进行调度,推理节点设置超时时间和时间戳,进行推理计算;调度模块,对算法逻辑调用的深度学习算法模型进行动态管理和调度,异步调度推理节点。本发明专利技术采用优先级队列集实现了不同的算法逻辑具有不同的优先级,提高了系统的容错性和健壮性;设置时间戳,提高了推理节点的处理效率,实现了算法逻辑的快速响应。法逻辑的快速响应。法逻辑的快速响应。

【技术实现步骤摘要】
一种深度学习算法模型推理调度引擎架构及方法


[0001]本专利技术涉及模型推理请求处理
,特别涉及一种深度学习算法模型推理调度引擎架构及方法。

技术介绍

[0002]深度学习推理服务通常是指将训练好的深度学习模型部署到服务器,并对外提供gRPC/HTTP接口请求的服务。推理服务内部实现的功能包括模型加载,模型版本管理,批处理及多路支持,以及服务接口的封装等。伴随着科技的进步和人们生活水平的不断提高,深度学习算法模型的应用愈来愈广泛,例如:搜索引擎、推荐系统、智能视频监控、人脸识别、OCR、机器人、无人机及无人驾驶等,深度学习算法模型的运行,需要对深度学习模型进行推理计算,当模型个数较多,算法逻辑复杂时,有必要对涉及到的模型进行统一管理和调度。
[0003]现有技术一,CN202010537231.1深度学习推理引擎的调度方法、装置、设备和介质,具体实现方案为:响应于来自应用层的针对当前推理任务的调度请求,确定所述当前推理任务的类型;计算每个推理引擎执行所述类型的当前推理任务后的总负载;比较所述每个推理引擎的总负载,根据比较结果从所述每个推理引擎中确定执行所述当前推理任务的目标推理引擎;将所述目标推理引擎的索引返回至所述应用层,其中,所述索引表示推理引擎的调用路径。根据各推理引擎实际的算力来分配推理引擎,从而提高系统性能。并且,在推理引擎应用于人脸识别时,能提高人脸识别的速度和执行效率。
[0004]现有技术二,CN201810685004.6一种深度学习模型推理期加速方法、装置及系统,通过获取优化深度学习模型及待处理数据;所述优化深度学习模型带有优化合并参数;通过带有所述优化合并参数的优化深度学习模型对所述待处理数据进行数据处理;将所述数据处理后的数据输出。通过带有所述优化合并参数的优化深度学习模型对所述待处理数据进行数据处理;节省了深度学习模型推理期中的额外计算开销,从而使得深度学习模型的应用过程中减少了推理期计算时间和响应延迟,降低了设备功耗。
[0005]现有技术三,CN202111675314.8一种深度学习模型推理方法、系统、设备及计算机介质,确定目标深度学习模型中各通道的通道量化参数;根据目标深度学习模型中通道与模型分支间的关系,基于通道量化参数确定模型分支的分支量化参数;基于分支量化参数对目标深度学习模型进行量化,得到量化后深度学习模型;基于量化后深度学习模型进行推理,得到推理结果。确定了目标深度学习模组中各个通道的通道量化参数,实现了细粒度的量化参数确定,并基于通道量化参数确定模型分支的分支量化参数,基于量化后深度学习模型进行推理,得到推理结果,实现了基于细粒度的通道量化参数进行深度学习模型推理,提高了深度学习模型的推理精度。
[0006]现有技术一、现有技术二和现有技术三在接收到深度学习模型推理请求时,将推理请求放入待推理队列,之后按顺序将推理请求进行处理,即“先入先出”策略,当计算硬件一次推理完成后,检查待推理队列,若有多个推理请求堆积,可采用批量推理的方式,同时推理计算多个请求,一定程度上起到同时计算、节省计算时间的效果。现有技术简单的先入
先出队列,对不同推理请求同等对待,若某算法逻辑要求迅速反馈,但队列前方仍有大量不需要迅速反馈的推理请求排队,则会造成所述需要迅速反馈的算法逻辑严重超时,用户体验急剧下降。某推理计算服务,可能会服务于多种计算目的,例如具有多个输入源数据,每个输入源配置多个不同种类的算法,每个算法又会调用不同模型,传统方案没有考虑这些复杂情况的高效调度。
[0007]目前的深度学习模型推理计算由特定的硬件执行,例如图形处理器GPU和嵌入式神经网络处理器NPU等,虽然越来越多的研究正着重解决深度学习推理计算的能耗问题,例如,应用轻量级模型、应用专业的推理软件框架、对模型内部算子进行优化或融合等等,但是涉及深度学习模型大吞吐量的推理场景,尤其涉及到多个算法下的多模型的复杂关系,对深度学习模型推理计算硬件的吞吐能力仍是挑战。因而,本专利技术通过构建一种深度学习算法模型推理调度引擎,对推理请求进行统一调度和管理,进而提高单位计算硬件的吞吐率,降低能耗,节省成本。

技术实现思路

[0008]为了解决上述技术问题,本专利技术提供了一种深度学习算法模型推理调度引擎架构,包括:
[0009]模型管理模块,实现深度学习算法模型的加载、卸载和维护统一管理,加载的方式以算法逻辑为基本单位;
[0010]推理计算模块,为深度学习算法模型设置优先级队列集,优先级队列集的处理逻辑为:空闲等待、超时检查、优先级检查和等待超时时间;根据优先级队列集中的优先级对推理节点进行调度,推理节点设置超时时间和时间戳,进行推理计算;
[0011]调度模块,对算法逻辑调用的深度学习算法模型进行动态管理和调度,异步调度推理节点。
[0012]可选的,模型管理模块,包括:
[0013]第一算法逻辑单元,对于单个算法逻辑,加载能够完成所述算法逻辑的所有深度学习算法模型;
[0014]第二算法逻辑单元,对于类别不同的算法逻辑,对所有算法逻辑用到的模型进行共用性检查,若某模型被多于一个的算法逻辑共用,则所述模型用于服务多种推理计算目的;若所述模型只被单个算法逻辑使用,则所述模型只负责推理所述单个算法逻辑的请求,完成所述单个算法逻辑的推理计算目的;
[0015]算法逻辑卸载单元,当需要卸载某个算法逻辑时,先检测算法逻辑下的深度学习算法模型有无被其它算法逻辑共用,若有,则不能卸载深度学习算法模型,直到某深度学习算法模型无算法逻辑使用时,才能被卸载,释放资源。
[0016]可选的,推理计算模块,包括:
[0017]优先级队列设置单元,对于单种类的深度学习算法模型,设置与单种类的深度学习算法模型对应的优先级队列集;
[0018]推理节点设置单元,为每一个推理节点设置与优先级相匹配的超时时间和时间戳,根据加入的时间戳和超时时间确定推理节点是否超时,若超时则优先处理;推理节点设置单元为推理节点设置超时时间和加入时间戳,若某时刻,根据加入时间戳和超时时间,确
定某推理节点已经超时,则不管在哪个优先级的队列中,最优先处理已经超时的推理节点。
[0019]可选的,优先级队列设置单元,优先级队列集中包含有多个队列,不同的队列有不同的优先级,单个队列中以先入先出原则顺序处理,不同优先级队列之间,按优先级高的队列优先安排处理,优先级低的队列进行等待。
[0020]可选的,推理节点设置单元,推理节点设置单元为推理节点设置超时时间和加入时间戳,若某时刻,根据加入时间戳和超时时间,确定某推理节点已经超时,则不管在哪个优先级的队列中,最优先处理已经超时的推理节点;
[0021]对于每个推理节点,设置与优先级相匹配的超时时间,要求快速响应的算法逻辑的推理节点,放入优先级高的队列,设置较短的超时时间,保证该队列的推理节点能够尽快被计算处理;对响应速度要求不高的算法逻辑的推理节点,放入优先级较低的队列,设置较高的超时时间,保证最低吞吐本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种深度学习算法模型推理调度引擎架构,其特征在于,包括:模型管理模块,实现深度学习算法模型的加载、卸载和维护统一管理,加载的方式以算法逻辑为基本单位;推理计算模块,为深度学习算法模型设置优先级队列集,优先级队列集的处理逻辑为:空闲等待、超时检查、优先级检查和等待超时时间;根据优先级队列集中的优先级对推理节点进行调度,推理节点设置超时时间和时间戳,进行推理计算;调度模块,对算法逻辑调用的深度学习算法模型进行动态管理和调度,异步调度推理节点。2.如权利要求1所述的深度学习算法模型推理调度引擎架构,其特征在于,模型管理模块,包括:第一算法逻辑单元,对于单个算法逻辑,加载能够完成所述算法逻辑的所有深度学习算法模型;第二算法逻辑单元,对于类别不同的算法逻辑,对所有算法逻辑用到的模型进行共用性检查,若某模型被多于一个的算法逻辑共用,则所述模型用于服务多种推理计算目的;若所述模型只被单个算法逻辑使用,则所述模型只负责推理所述单个算法逻辑的请求,完成所述单个算法逻辑的推理计算目的;算法逻辑卸载单元,当需要卸载某个算法逻辑时,先检测算法逻辑下的深度学习算法模型有无被其它算法逻辑共用,若有,则不能卸载深度学习算法模型,直到某深度学习算法模型无算法逻辑使用时,才能被卸载,释放资源。3.如权利要求1所述的深度学习算法模型推理调度引擎架构,其特征在于,推理计算模块,包括:优先级队列设置单元,对于单种类的深度学习算法模型,设置与单种类的深度学习算法模型对应的优先级队列集;推理节点设置单元,为每一个推理节点设置与优先级相匹配的超时时间和时间戳,根据加入的时间戳和超时时间确定推理节点是否超时,若超时则优先处理;推理节点设置单元为推理节点设置超时时间和加入时间戳,若某时刻,根据加入时间戳和超时时间,确定某推理节点已经超时,则不管在哪个优先级的队列中,最优先处理已经超时的推理节点。4.如权利要求3所述的深度学习算法模型推理调度引擎架构,其特征在于,优先级队列设置单元,优先级队列集中包含有多个队列,不同的队列有不同的优先级,单个队列中以先入先出原则顺序处理,不同优先级队列之间,按优先级高的队列优先安排处理,优先级低的队列进行等待。5.如权利要求3所述的深度学习算法模型推理调度引擎架构,其特征在于,推理节点设置单元,推理节点设置单元为推理节点设置超时时间和加入时间戳,若某时刻,根据加入时间戳和超时时间,确定某推理节点已经超时,则不管在哪个优先级的队列中,最优先处理已经超时的推理节点;对于每个推理节点,设置与优先级相匹配的超时时间,要求快速响应的算法逻辑的推理节点,放入优先级高的队列,设置较短的超时时间,保证该队列的推理节点能够尽快被计算处理;对响应速度要求不高的算法逻辑的推理节点,放入优先级较低的队列,设置较高的超时时间,保证最低吞吐率要求即可。
6.如权利要求1所述的深度学习算法模型推理调度引擎架构,其特征在于,调度模块,包括:算法逻辑模型加卸载处理单元,当算法逻辑被加载到推理服务请求中时,根据算法逻辑预设的深度学习算法模型调用种类和数量需求,结合目前推理服务中存在的深度学习算法模型种类和数量,得出算法逻辑的深度学习算法模型的加载过程。,同时,根据优先级队列集中推理节点的堆积程度,对深度学习算法模型进行动态加卸载管理;模型调度逻辑单元,对算法逻辑调用的深度学习算法模型进行调度;多线程异步调用单元,将推理节点加入到相应深度学习算法模型的优先级队列集中后,调度模块的调度线程不阻塞等待,而是继续处理其它算法逻辑的调度,待推理节点完成计算后,由该深度学习算法模型线程进行回调通知,调度线程收到通知后,再将所述算法逻辑的最终结果返回给请求方。7.一种深度学习算法模型推理调度引擎架构的推理调度方法,其特征在于,包括以下步骤:实施深度学习算法模型...

【专利技术属性】
技术研发人员:朱新潮曾国卿刘佳宁李威胡振宏刘亚健
申请(专利权)人:上海可深信息科技有限公司
类型:发明
国别省市:

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

1