一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种机器学习模型管理方法、装置、设备及存储介质与流程

2022-05-21 03:20:54 来源:中国专利 TAG:


1.本发明涉及计算机技术领域,特别涉及一种机器学习模型管理方法、装置、设备及存储介质。


背景技术:

2.当前,机器学习以及深度学习框架遍地开花,对于框架本身,不同的框架训练导出的模型都提供了独有的模型发布能力,但是在企业中常常会用到各种各样的机器学习语言和框架,训练传统机器模型或深度学习模型,不同的模型对服务器的配置要求不同,部署方式不同,因此难以进行企业级统一管理,并且面对模型数量不断增加,对于开发者和技术管理者都有着非常高的挑战。
3.现有技术中采用tensorflow框架的tf serving进行模型部署,可以针对不同格式的模型进行自定义开发部署,但不同框架为了适配其他框架提供的部署能力需要进行模型导出并格式转换,即tf serving的部署能力是由tensorflow框架提供的,必须依赖于tensorflow框架本身,但是传统的机器学习建模未必会用到该框架,将模型转换为tfserving后再部署的难度较大,不同的框架之间进行格式转换,并不是所有框架和格式均支持,具有很大的局限性,并且,针对不同的格式的模型进行自定义发布,则需要每次构建出来的模型进行独立的部署,部署和维护的成本非常高,降低了机器学习模型部署及后续管理的效率。


技术实现要素:

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.图1为本技术提供的一种机器学习模型管理方法流程图;
37.图2为本技术提供的一种机器学习模型管理系统结构图;
38.图3为本技术提供的另一种机器学习模型管理系统结构图;
39.图4为本技术提供的一种机器学习模型管理装置结构示意图;
40.图5为本技术提供的一种电子设备结构图。
具体实施方式
41.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
42.现有技术中,现有技术中采用tensorflow框架的tf serving进行模型部署,必须依赖于tensorflow框架本身,但不同的框架之间进行格式转换,并不是所有框架和格式均支持,具有很大的局限性,针对不同的格式的模型进行自定义发布,则需要每次构建出来的模型进行独立的部署,部署和维护的成本非常高,降低了机器学习模型部署及后续管理的效率。为了克服上述技术问题,本技术提出一种机器学习模型管理方法,能够实现对模型一键自动部署,有效缩短机器学习和深度学习模型的部署发布时间
43.本技术实施例公开了一种机器学习模型管理方法,参见图1所示,该方法可以包括以下步骤:
44.步骤s11:获取服务器集群内每个服务器的服务器信息。
45.本实施例中,首先获取服务器集群内每个服务器的服务器信息,上述服务器信息可以为服务器自动上报的,上述服务器集群可以为将若干台服务器进行局域网组网得到的服务器集群,并且上述服务器集群可以包括cpu(central processing unit,中央处理器)服务器和gpu(graphics processing unit,图形处理器)服务器,并且服务器都对应标记上cpu服务器或者gpu服务器。
46.本实施例中,所述获取服务器集群内每个服务器的服务器信息,可以包括:通过与所述服务器集群对应的分布式协调器获取所述每个服务器上报的服务器信息;其中,所述服务器信息包括服务器配置信息、服务器状态、可用资源情况。例如图2所示,本实施例中通过分布式协调器与每个服务器进行通信,即将若干台服务器组织在一起与分布式协调框架通信,自动上送当前服务器信息,服务器信息包括但不限于服务器配置信息、服务器状态、可用资源情况,由此通过管理端的管理界面可以看到每台服务器上的配置以及剩余可用资源等硬件信息。
47.步骤s12:获取待部署的机器学习模型,并根据所述机器学习模型对应的部署策略以及所述服务器信息从所有所述服务器内筛选出目标服务器。
48.本实施例中,获取用户上传的待部署的机器学习模型以及该机器学习模型对应的部署策略,上述部署策略可以包括但不限于部署节点信息、处理器运行模式、所述机器学习模型的框架类型、所述机器学习模型的格式类型,部署节点信息即当前该机器学习模型希望被部署到的一个或多个服务器,处理器运行模式即是否需要启用gpu加速,然后根据该机器学习模型对应的部署策略以及获取的所有服务器信息从所有服务器内筛选出符合该机器学习模型部署需求的目标服务器。可以理解的是,不同的模型具有不同的框架和格式等特征,因此用户上传模型的同时上传对应的部署策略,以便根据该部署策略进行自动部署。并且,能够管理cpu、gpu不同类型的服务器,对于需要gpu进行加速的模型,可以自动识别gpu服务器,并将其自动部署到gpu服务器节点。
49.本实施例中,所述获取待部署的机器学习模型,并根据所述机器学习模型对应的部署策略以及所述服务器信息从所有所述服务器内筛选出目标服务器,可以包括:通过预设模型上传接口获取待部署的机器学习模型以及所述机器学习模型对应的部署策略,并将所述机器学习模型保存至共有存储;所述部署策略包括部署节点信息、处理器运行模式、所述机器学习模型的框架类型、所述机器学习模型的格式类型;根据部署策略以及所述服务器信息从所有所述服务器内筛选出目标服务器。例如图2所示,用户只需通过管理界面提供的预设模型上传接口获取待部署的机器学习模型以及机器学习模型对应的部署策略,系统将机器学习模型和对应的部署策略均保存至共有存储,即对所有服务器可见。上述部署节点信息可以为一个节点对应的信息,也可以为多个节点对应的信息,即可以将一个模型部署在多个服务器节点上,从而面对单台服务器故障的情况,仍然可以由其他节点提供服务,保障服务的高可用。
50.步骤s13:将所述机器学习模型部署至所述目标服务器。
51.即确定出目标服务器后将上述机器学习模型部署至该目标服务器,上述目标服务器可以为多个,结合分布式协调器实现分布式管理能力,能够对指定模型一键自动多机部署,轻松缓解资源紧张问题。本实施例中,所述将所述机器学习模型部署至所述目标服务器,可以包括:基于所述目标服务器对应的服务器信息生成部署指令发送给所述分布式协调器,以便所述服务器集群内所述目标服务器从所述分布式协调器监听到所述部署指令后,从所述共有存储中获取所述机器学习模型。
52.可以理解的是,用户上传模型后,模型文件被保存到共享存储中,即对所有服务器可见,同时管理端根据分布式协调器监听到的资源,指派资源较为空闲且符合要求的目标服务器来加载该模型,并将对应的部署指令同步到分布式协调器,整个过程中服务器上的监听器同时也在监听分布式协调器上的信息变化,由此可以在第一时间获取到最新的数据,当目标服务器发现本台服务器需要加载这个模型时,该目标服务器就自动从共享存储上拉取相应的机器学习模型,并将其加载到本机内存中,并根据指定的方法进行对外提供服务。也就是说,用户只需要将自己已经训练完成并导出的机器学习、深度学习模型进行上传,并标记是否需要gpu进行加速,是属于什么框架的什么格式的模型,指定部署到哪个服务器节点或者需要多少个节点,系统即可根据上述信息自动进行模型部署。
53.本实施例中,所述将所述机器学习模型部署至所述目标服务器之后,还可以包括:获取部署策略修改信息;将所述部署策略修改信息发送给所述分布式协调器,以便所述服务器集群内服务器的每个进程根据所述部署策略修改信息调整对应的所述机器学习模型
的资源部署;其中,每个所述服务器均采用多进程模式。即每个节点上均启用了多个进程以便提高服务能力,2.多个机器学习模型、深度学习模型可以复用服务器的计算资源,可以做到服务器资源最大化利用;每当修改模型的部署策略时,每个进程均可以监听到部署策略修改信息,并自动重新加载最新的模型部署策略,保障每个进程的服务器均为最新的;例如,若某个模型在上传的时候写明了需要部署到5台服务器上,此时遇到该模型请求量过大,现有5台服务器不足以满足并发的要求,用户只需要将模型部署策略内部署节点信息在管理界面上修改为10,则分布式协调器将会再分配5台服务器来部署该模型,达到模型的横向资源扩展,由此对于服务器集群需要扩容时,只需要横向增加节点即可,且理论上不存在计算资源瓶颈问题,构建可动态增加算力的分布式机器学习模型管理系统,让使用者和管理者通过常规界面操作就可以将企业级的机器学习、深度学习模型进行一键部署和监控,且单个模型的上线下线、异常都对其他模型不造成干扰,达到高可用的要求。
54.本实施例中,所述将所述机器学习模型部署至所述目标服务器之后,还可以包括:通过动态网关路由提供的预设统一调用接口接收模型调用请求;根据所述模型调用请求确定出待调用的目标机器学习模型和所述目标机器学习模型对应的服务器信息;根据所述目标机器学习模型和所述服务器信息调整所述动态网关路由的路由表,以调用所述目标机器学习模型。可以理解的是,例如图3所示,当模型部署到了多台服务器上,对调用者来讲,是由动态网关路由提供统一的调用接口,因此不论该模型被部署到了那些节点上,模型的调用路径均可以固定。对于集群底层有若干台服务器,每台服务器都有自己的ip地址,为了使用者的方便,对外暴露的ip应该固定的,因此需要将所有服务器的调用情况进行动态路由,根据模型信息自动适配路由到指定的服务器,由该台服务器进行处理;动态网关路由缓存了分布式协调框架中的机器学习模型和节点的对应关系,当外部请求来调用指定的模型时,网关会找到该模型被部署到了哪些服务器上,然后将请求分发到指定的服务器,由该服务器进行结果返回。
55.并且,每台服务器上都安装有心跳包用于与分布式协调框架保持心跳,当某台服务器出现故障时,分布式协调框架发现该服务器心跳失败,即可认为该服务器出现问题发生故障,此时会再寻找利用其他服务器将该服务器上部署的模型重新进行自动加载,同时网关也会更新缓存信息,自动剔除原有发生故障的服务器,保障整体的服务不出现问题。
56.本实施例中,所述调用所述目标机器学习模型之后,还可以包括:通过独立日志记录所述目标机器学习模型对应的被调用信息,以及所述目标机器学习模型的输入参数和输出结果。即对调用日志进行独立存储,从而方便查询到每个模型在任意时刻的调用日志,以及模型的入参和预测结果等信息,从而实现统一的模型部署与服务发布能力,服务监控以及日志管理能够统一查询模型的调用情况信息,模型健康检查能力。
57.由上可见,本实施例中获取服务器集群内每个服务器的服务器信息;获取待部署的机器学习模型,并根据所述机器学习模型对应的部署策略以及所述服务器信息从所有所述服务器内筛选出目标服务器;将所述机器学习模型部署至所述目标服务器。可见,是通过获取服务器集群内每个服务器的服务器信息,在获取待部署的机器学习模型以及对应的部署策略后,根据当前待部署的机器学习模型的部署策略和每个服务器的服务器信息筛选出匹配的服务器作为目标服务器,并利用该目标服务器加载待部署的机器学习模型,针对不同框架导出的模型以及自定义模型均能部署在符合要求的服务器上,实现对模型一键自动
部署,有效缩短机器学习和深度学习模型的部署发布时间,面对大规模的模型部署与管理能够简化操作,并节约人力和管理资源以节省成本。
58.相应的,本技术实施例还公开了一种机器学习模型管理装置,参见图4所示,该装置包括:
59.服务器信息获取模块11,用于获取服务器集群内每个服务器的服务器信息;
60.目标服务器确定模块12,用于获取待部署的机器学习模型,并根据所述机器学习模型对应的部署策略以及所述服务器信息从所有所述服务器内筛选出目标服务器;
61.部署模块13,用于将所述机器学习模型部署至所述目标服务器。
62.由上可见,通过获取服务器集群内每个服务器的服务器信息;获取待部署的机器学习模型,并根据所述机器学习模型对应的部署策略以及所述服务器信息从所有所述服务器内筛选出目标服务器;将所述机器学习模型部署至所述目标服务器。可见,是通过获取服务器集群内每个服务器的服务器信息,在获取待部署的机器学习模型以及对应的部署策略后,根据当前待部署的机器学习模型的部署策略和每个服务器的服务器信息筛选出匹配的服务器作为目标服务器,并利用该目标服务器加载待部署的机器学习模型,针对不同框架导出的模型以及自定义模型均能部署在符合要求的服务器上,实现对模型一键自动部署,有效缩短机器学习和深度学习模型的部署发布时间,面对大规模的模型部署与管理能够简化操作,并节约人力和管理资源以节省成本。
63.在一些具体实施例中,所述服务器信息获取模块11具体可以用于通过与所述服务器集群对应的分布式协调器获取所述每个服务器上报的服务器信息;其中,所述服务器信息包括服务器配置信息、服务器状态、可用资源情况。
64.在一些具体实施例中,所述目标服务器确定模块12具体可以包括:
65.部署策略获取单元,用于通过预设模型上传接口获取待部署的机器学习模型以及所述机器学习模型对应的部署策略,并将所述机器学习模型保存至共有存储;所述部署策略包括部署节点信息、处理器运行模式、所述机器学习模型的框架类型、所述机器学习模型的格式类型;
66.目标服务器确定单元,用于根据部署策略以及所述服务器信息从所有所述服务器内筛选出目标服务器。
67.在一些具体实施例中,所述部署模块13具体可以用于基于所述目标服务器对应的服务器信息生成部署指令发送给所述分布式协调器,以便所述服务器集群内所述目标服务器从所述分布式协调器监听到所述部署指令后,从所述共有存储中获取所述机器学习模型。
68.在一些具体实施例中,所述机器学习模型管理装置具体可以包括:
69.部署策略修改信息获取单元,用于获取部署策略修改信息;
70.资源部署调整单元,用于将所述部署策略修改信息发送给所述分布式协调器,以便所述服务器集群内服务器的每个进程根据所述部署策略修改信息调整对应的所述机器学习模型的资源部署;其中,每个所述服务器均采用多进程模式。
71.在一些具体实施例中,所述机器学习模型管理装置具体可以包括:
72.模型调用请求接收单元,用于通过动态网关路由提供的预设统一调用接口接收模型调用请求;
73.目标机器学习模型确定单元,用于根据所述模型调用请求确定出待调用的目标机器学习模型和所述目标机器学习模型对应的服务器信息;
74.目标机器学习模型调用单元,用于根据所述目标机器学习模型和所述服务器信息调整所述动态网关路由的路由表,以调用所述目标机器学习模型。
75.在一些具体实施例中,所述机器学习模型管理装置具体可以包括:
76.记录单元,用于通过独立日志记录所述目标机器学习模型对应的被调用信息,以及所述目标机器学习模型的输入参数和输出结果。
77.进一步的,本技术实施例还公开了一种电子设备,参见图5所示,图中的内容不能被认为是对本技术的使用范围的任何限制。
78.图5为本技术实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的机器学习模型管理方法中的相关步骤。
79.本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本技术技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
80.另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统221、计算机程序222及包括机器学习模型在内的数据223等,存储方式可以是短暂存储或者永久存储。
81.其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中海量数据223的运算与处理,其可以是windows server、netware、unix、linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的机器学习模型管理方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
82.进一步的,本技术实施例还公开了一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现前述任一实施例公开的机器学习模型管理方法步骤。
83.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
84.结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。
85.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作
之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
86.以上对本发明所提供的一种机器学习模型管理方法、装置、设备及介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献