模型推理算法的运行方法和装置与流程
本申请涉及人工智能与边缘计算,尤其涉及一种模型推理算法的运行方法及装置
背景技术:
1、随着人工智能技术在边缘计算场景中的广泛应用,越来越多的模型推理算法需要部署到资源受限的边缘设备上。这些算法通常由不同的编程语言和深度学习框架实现,具有高度异构性。
2、目前,业界主要采用docker容器化部署方案。该方案将每个模型推理算法封装为独立的docker容器,通过容器编排工具进行管理。然而,不同模型推理算法的运行环境和依赖各不相同,容器化方案虽然实现了环境隔离,但仍需针对每种算法编写特定的容器镜像构建脚本和运行时配置,适配工作量大,通用性不足。
3、另一种方案是http或grpc微服务化。该方案将模型推理算法封装为http或grpc服务,通过网络协议进行调用。然而,各算法的服务接口定义、数据格式转换和通信协议适配均需单独开发,缺乏统一的算法调用标准,导致算法集成效率低,难以实现多算法间的快速切换和协同推理。
4、综上所述,现有技术对多种模型推理算法的适配性不高,需要为每个模型推理算法编写专门的适配代码,通用性差,无法满足边缘计算场景下多算法快速集成和灵活部署的需求。
技术实现思路
1、本发明的目的在于提供一种模型推理算法的运行方法及装置,以解决现有技术中对多种模型推理算法的适配性不高,需要为每个模型推理算法编写专门的适配代码,通用性差的技术问题。
2、为了实现上述目的,本发明采用如下技术方案:
3、第一方面,本发明实施例提供一种模型推理算法的运行方法,所述方法包括:cli运行管理器接收请求调用cli包的调用请求;cli运行管理器读取cli包的声明文件,其中,cli包包括一种或者多种可执行文件,声明文件包括cli包的生命周期管理策略和交互数据格式规范,可执行文件运行时用于执行模型推理;cli运行管理器根据声明文件调用cli包,在不解析可执行文件的情况下,按照生命周期管理策略对可执行文件进行生命周期管理以及按照交互数据格式规范执行模型推理。
4、可选地,声明文件包括运行可执行文件所需的资源要求,按照生命周期管理策略对可执行文件进行生命周期管理包括:cli运行管理器读取声明文件以获取资源要求,并根据资源要求为可执行文件分配可用资源。
5、可选地,声明文件包括常驻启动模式声明,按照生命周期管理策略对可执行文件进行生命周期管理包括:cli运行管理器为常驻启动模式的可执行文件启动一个或者多个预热cli算法进程,并将预热cli算法进程标记就绪状态;cli运行管理器在接收到用于请求执行模型推理的请求时,从一个或者多个预热cli算法进程中取一个执行模型推理;cli运行管理器将完成模型推理的预热cli算法进程保持标记为就绪状态,以便下次执行模型推理时复用。
6、可选地,cli运行管理器在接收到用于请求执行模型推理的请求时,从一个或者多个预热cli算法进程中取一个执行模型推理包括:cli运行管理器从进程池中获取标记为就绪状态的预热cli算法进程;若进程池没有可用的预热cli算法进程,则cli运行管理器按需创建新进程以执行模型推理。
7、可选地,cli运行管理器将完成模型推理的预热cli算法进程保持标记为就绪状态之后,所述方法包括:cli运行管理器定期探测预热cli算法进程的存活状态以及每个预热cli算法进程的最后使用时间;若预热cli算法进程的空闲时间超过阈值,则cli运行管理器关闭该空闲进程,其中,阈值被配置在声明文件中。
8、可选地,所述方法包括:cli运行管理器接收到调用请求后,通过标准数据输入通道向cli算法进程发送输入数据,其中,cli算法进程中加载有可执行文件以根据输入数据进行模型推理;cli运行管理器通过标准数据输出通道接收cli算法进程返回的模型推理结果。
9、可选地,在cli运行管理器接收到调用请求后,通过标准数据输入通道向cli算法进程发送输入数据之后,所述方法还包括:在收到进程关闭指令之后,cli运行管理器检测cli算法进程是否在预设关闭时间内完成关闭;若未在预设关闭时间内完成关闭,则cli运行管理器强制cli算法进程终止。
10、可选地,声明文件还包括降级策略信息,降级策略信息包括至少一级资源降级选项,每个降级选项对应一个命令行参数;所述方法还包括:cli运行管理器在发起推理调用前,获取当前设备的可用资源;cli运行管理器将可用资源与声明文件中声明的资源要求进行比较;当可用资源小于声明的资源要求时,cli运行管理器根据降级策略信息,从至少一级降级选项中确定一个满足资源约束的降级等级,并在启动可执行文件时携带与该降级等级对应的命令行参数,以按照降级等级匹配的资源配置进行模型推理。
11、可选地,在cli运行管理器接收请求调用cli包的调用请求之前,所述方法还包括:解析不同类型的可执行文件,提取可执行文件的接口信息;根据接口信息生成符合预设数据格式规范的输入参数规范和输出参数规范;基于预定义的代码模板、输入参数规范和输出参数规范自动生成cli包装器代码,cli包装器代码用于将可执行文件打包为cli包,其中,cli包包括声明文件和可执行文件。
12、第二方面,本发明实施例提供一种模型推理算法的运行装置,该运行装置包括:请求单元,用于接收请求调用cli包的调用请求。读取单元,用于读取cli包的声明文件,其中,所述cli包包括一种或者多种可执行文件,所述声明文件包括所述cli包的生命周期管理策略和交互数据格式规范,所述可执行文件运行时用于执行模型推理。调用单元,用于根据所述声明文件调用所述cli包,在不解析所述可执行文件的情况下,按照所述生命周期管理策略对所述可执行文件进行生命周期管理以及按照所述交互数据格式规范执行模型推理。
13、本申请实施例提供了一种模型推理算法的运行方法,通过引入cli运行管理器以及包含声明文件和可执行文件的cli包,并设定生命周期管理策略和交互数据格式规范,让不同编程语言、不同框架的算法都能被统一调度,无需为每种算法编写专用适配代码,解决了现有技术对多种推理算法适配性不高、通用性差的技术问题,达到了提供通用性的技术效果。
14、当然,实施本申请的任一产品或方法并不一定需要同时达到以上所述的所有优点。
1.一种模型推理算法的运行方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述声明文件包括运行所述可执行文件所需的资源要求,按照所述生命周期管理策略对所述可执行文件进行生命周期管理包括:
3.根据权利要求1所述的方法,其特征在于,所述声明文件包括常驻启动模式声明,按照所述生命周期管理策略对所述可执行文件进行生命周期管理包括:
4.根据权利要求3所述的方法,其特征在于,所述cli运行管理器在接收到用于请求执行模型推理的请求时,从所述一个或者多个预热cli算法进程中取一个执行模型推理包括:
5.根据权利要求3所述的方法,其特征在于,所述cli运行管理器将完成模型推理的预热cli算法进程保持标记为就绪状态之后,所述方法包括:
6.根据权利要求1所述的方法,其特征在于,所述交互数据格式规范包括标准数据输入和标准数据输出,按照所述交互数据格式规范执行模型推理包括:
7.根据权利要求6所述的方法,其特征在于,在所述cli运行管理器接收到所述调用请求后,通过标准数据输入通道向cli算法进程发送输入数据之后,所述方法还包括:
8.根据权利要求1所述的方法,其特征在于,所述声明文件还包括降级策略信息,所述降级策略信息包括至少一级资源降级选项,每个降级选项对应一个命令行参数;所述方法还包括:
9.根据权利要求1所述的方法,其特征在于,在cli运行管理器接收请求调用cli包的调用请求之前,所述方法还包括:
10.一种模型推理算法的运行装置,其特征在于,所述装置包括:
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com