本技术涉及计算机,具体而言,涉及一种模型部署方法、装置、电子设备及存储介质。
背景技术:
1、随着人工智能和深度学习技术的不断发展,深度学习模型在众多领域都得到了广泛应用。其中,将训练好的深度学习模型部署到生产环境中则是实际应用过程中较为关键的步骤。
2、由于模型部署需要考虑到众多因素,例如部署方式是否可靠、性能是否优越、模型部署是否易于管理等,因此,如何进行深度学习模型的部署以保证高可靠性、高性能以及易于管理是需要解决的问题。
技术实现思路
1、本技术的目的在于,针对上述现有技术中的不足,提供一种模型部署方法、装置、电子设备及存储介质,以解决如何进行深度学习模型的部署以保证高可靠性、高性能以及易于管理的问题。
2、为实现上述目的,本技术实施例采用的技术方案如下:
3、第一方面,本技术实施例提供了一种模型部署方法,所述方法包括:
4、获取用于模型部署的模型配置文件;
5、基于所述模型配置文件创建模型服务;
6、将所述模型服务部署到预先创建的容器集群中的至少一个目标容器中,并在所述目标容器中启动运行所述模型服务,以使得外部服务通过预先部署的服务应用架构以及预先为所述模型服务分配的所述目标容器上的模型访问接口访问所述模型服务。
7、作为一种可能的实现方式,所述将所述模型服务部署到预先创建的容器集群中的至少一个目标容器中之前,还包括:
8、获取预先定义的容器配置文件,所述容器配置文件中包括镜像参数信息、容器的定义和参数;
9、根据所述容器配置文件创建所述容器集群。
10、作为一种可能的实现方式,所述将所述模型服务部署到预先创建的容器集群中的至少一个目标容器中,包括:
11、获取预先定义的服务节点信息;
12、根据所述服务节点信息确定所述模型服务对应的节点数,以及所述模型服务所需的节点类型;
13、根据所述节点数和所述节点类型,从所述容器集群中筛选至少一个所述目标容器,并将所述模型服务分别部署到各所述目标容器中。
14、作为一种可能的实现方式,所述将所述模型服务部署到预先创建的容器集群中的至少一个目标容器中之后,还包括:
15、由外部服务获取在创建所述模型服务过程中为所述模型服务分配的服务访问地址,并利用消息队列将所述服务访问地址推送给所述服务应用架构;
16、为所述模型服务分配模型访问接口,并将所述模型访问接口推送给所述服务应用架构。
17、作为一种可能的实现方式,所述获取创建所述模型服务过程中为所述模型服务分配的服务访问地址之前,还包括:
18、获取预先定义的服务映射规则和路由规则,所述服务映射规则用于表示网关域名与模型服务的对应关系;
19、基于所述服务映射规则确定所述模型服务对应的网关域名,以及基于所述路由规则确定所述模型服务对应的路由地址;
20、根据所述网关域名和所述路由地址确定所述模型服务的服务访问地址。
21、作为一种可能的实现方式,所述在所述目标容器中启动运行所述模型服务之后,还包括:
22、由外部服务向所述服务应用架构发送服务推理请求,所述服务推理请求中包括待访问模型服务的服务访问地址;
23、由所述服务应用架构通过所述模型访问接口并基于所述服务访问地址访问所述待访问模型服务。
24、作为一种可能的实现方式,所述方法还包括:
25、获取多个探针,并将各探针对应添加到所述容器集群中的各个容器中;
26、利用与所述目标容器对应的目标探针探测所述目标容器的端口,监听所述目标容器的工作状态。
27、第二方面,本技术实施例提供了一种模型部署装置,所述装置包括:
28、获取模块,用于获取用于模型部署的模型配置文件;
29、创建模块,用于基于所述模型配置文件创建模型服务;
30、部署模块,用于将所述模型服务部署到预先创建的容器集群中的至少一个目标容器中,并在所述目标容器中启动运行所述模型服务,以使得外部服务通过预先部署的服务应用架构以及预先为所述模型服务分配的所述目标容器上的模型访问接口访问所述模型服务。
31、作为一种可能的实现方式,所述创建模块还用于:
32、获取预先定义的容器配置文件,所述容器配置文件中包括镜像参数信息、容器的定义和参数;
33、根据所述容器配置文件创建所述容器集群。
34、作为一种可能的实现方式,所述部署模块具体用于:
35、获取预先定义的服务节点信息;
36、根据所述服务节点信息确定所述模型服务对应的节点数,以及所述模型服务所需的节点类型;
37、根据所述节点数和所述节点类型,从所述容器集群中筛选至少一个所述目标容器,并将所述模型服务分别部署到各所述目标容器中。
38、作为一种可能的实现方式,所述部署模块还用于:
39、由外部服务获取在创建所述模型服务过程中为所述模型服务分配的服务访问地址,并利用消息队列将所述服务访问地址推送给所述服务应用架构;
40、为所述模型服务分配模型访问接口,并将所述模型访问接口推送给所述服务应用架构。
41、作为一种可能的实现方式,所述部署模块还用于:
42、获取预先定义的服务映射规则和路由规则,所述服务映射规则用于表示网关域名与模型服务的对应关系;
43、基于所述服务映射规则确定所述模型服务对应的网关域名,以及基于所述路由规则确定所述模型服务对应的路由地址;
44、根据所述网关域名和所述路由地址确定所述模型服务的服务访问地址。
45、作为一种可能的实现方式,所述部署模块还用于:
46、由外部服务向所述服务应用架构发送服务推理请求,所述服务推理请求中包括待访问模型服务的服务访问地址;
47、由所述服务应用架构通过所述模型访问接口并基于所述服务访问地址访问所述待访问模型服务。
48、作为一种可能的实现方式,所述部署模块还用于:
49、获取多个探针,并将各探针对应添加到所述容器集群中的各个容器中;
50、利用与所述目标容器对应的目标探针探测所述目标容器的端口,监听所述目标容器的工作状态。
51、第三方面,本技术实施例提供了一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,在电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如上述第一方面任一所述模型部署方法的步骤。
52、第四方面,本技术实施例提供了一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如上述第一方面任一所述模型部署方法的步骤。
53、根据本技术实施例的模型部署方法、装置、电子设备及存储介质,获取用于模型部署的模型配置文件,并基于模型配置文件创建模型服务,然后将模型服务部署到预先创建的容器集群中的至少一个目标容器中,并在目标容器中启动运行模型服务,以使得外部服务通过预先部署的服务应用架构以及预先为模型服务分配的目标容器上的模型访问接口访问模型服务。基于此,根据用于模型部署的模型配置文件创建模型服务,并在创建模型服务后,利用开源容器编排工具创建容器集群,基于容器化技术将模型服务部署到容器集群的目标容器中,以在目标容器中启动运行模型服务。此外,为模型服务分配模型访问接口,以使得外部服务通过预先部署的服务应用架构以及模型访问接口访问模型服务。由此,基于开源容器编排工具和容器化技术为用户提供更加便捷高效的深度学习模型部署服务,且保证了模型部署的高可靠性、高性能以及易于管理,进而也提高了模型部署的效率和可靠性。