CN112395072A - 模型部署的方法、装置、存储介质及电子设备 - Google Patents
模型部署的方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN112395072A CN112395072A CN201910750173.8A CN201910750173A CN112395072A CN 112395072 A CN112395072 A CN 112395072A CN 201910750173 A CN201910750173 A CN 201910750173A CN 112395072 A CN112395072 A CN 112395072A
- Authority
- CN
- China
- Prior art keywords
- target
- model
- deployment
- cluster
- preset
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000005192 partition Methods 0.000 claims description 70
- 230000015654 memory Effects 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 12
- 230000004044 response Effects 0.000 claims description 6
- 238000012545 processing Methods 0.000 description 18
- 238000004364 calculation method Methods 0.000 description 11
- 238000012821 model calculation Methods 0.000 description 11
- 238000007726 management method Methods 0.000 description 10
- 238000012549 training Methods 0.000 description 9
- 238000010801 machine learning Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000003066 decision tree Methods 0.000 description 4
- 238000003062 neural network model Methods 0.000 description 4
- 230000015556 catabolic process Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开涉及一种模型部署的方法、装置、存储介质及电子设备,可以确定待部署的目标模型,然后获取所述目标模型对应的预设部署指示信息,所述预设部署指示信息用于指示待部署所述目标模型的目标部署集群,所述目标部署集群包括远程部署集群和本地部署集群中的一个,这样可以将所述目标模型部署至所述预设部署指示信息指示的所述目标部署集群。
Description
技术领域
本公开涉及模型部署领域,具体地,涉及一种模型部署的方法、装置、存储介质及电子设备。
背景技术
随着机器学习技术的不断发展,机器学习模型(如决策树模型、深度神经网络模型等)广泛应用在各种业务场景中,如外卖配送业务场景,机器学习流程分为线下训练和线上预测阶段;在进行线上预测之前,需要将线下训练好的机器学习模型部署到执行模型计算的服务器各节点内存中,然后传入特征进行模型计算和实时预测。
相关技术中,在进行模型部署时,会将模型部署到业务方所有机器节点内存中,然后在业务方各节点的本地执行模型计算,若一个服务依赖模型数量多且总量大,也需要将所有模型在对应该服务的各个业务方节点都进行部署,但由于单节点内存容量有限,若部署模型众多,会占用业务方节点较多的内存和CPU资源,影响业务方节点的服务性能。
发明内容
本公开的目的是提供一种模型部署的方法、装置、存储介质及电子设备。
第一方面,提供一种模型部署的方法,所述方法包括:确定待部署的目标模型;获取所述目标模型对应的预设部署指示信息;所述预设部署指示信息用于指示待部署所述目标模型的目标部署集群;所述目标部署集群包括远程部署集群和本地部署集群中的一个;将所述目标模型部署至所述预设部署指示信息指示的所述目标部署集群。
可选地,所述确定待部署的目标模型的方式包括以下两种方式中的一个:确定预设文件目录下当前新增的模型为所述目标模型;确定用户选择的模型为所述目标模型。
可选地,所述预设部署指示信息包括所述目标模型对应的业务标识信息;相应地,所述将所述目标模型部署至所述预设部署指示信息指示的所述目标部署集群包括:将与所述业务标识信息对应的模型部署集群,确定为所述目标部署集群;将所述目标模型部署至所述目标部署集群。
可选地,在所述目标部署集群为所述远程部署集群的条件下,在所述将所述目标模型部署至所述预设部署指示信息指示的所述目标部署集群之前,所述方法还包括:确定所述目标模型是否存在两个或者两个以上分区模型;所述分区模型包括按照预设维度将所述目标模型进行划分得到的模型;相应地,所述将所述目标模型部署至所述预设部署指示信息指示的所述目标部署集群包括:在所述目标模型存在两个或者两个以上分区模型的情况下,将所述分区模型分别部署至所述目标部署集群中相应的网络节点,其中,不同的所述分区模型部署在不同的网络节点上。
可选地,所述将所述目标模型部署至所述预设部署指示信息指示的所述目标部署集群包括:在确定所述目标模型不存在所述分区模型的情况下,在所述目标部署集群中每个网络节点上部署所述目标模型。
可选地,所述将所述目标模型部署至所述预设部署指示信息指示的所述目标部署集群包括:接收待部署节点集合中的目标节点发送的模型部署请求消息,所述模型部署请求消息用于请求部署所述目标模型,所述待部署节点集合为所述目标部署集群中的两个或者两个以上网络节点组成的集合;响应于接收到所述模型部署请求消息,获取所述目标模型;控制所述待部署节点集合中的每个所述目标节点安装所述目标模型;当确定每个所述目标节点成功安装所述目标模型后,控制每个所述目标节点将所述目标模型作为当前应用模型。
可选地,所述控制每个所述目标节点安装所述目标模型包括:将所述目标模型发送至每个所述目标节点;当确定每个所述目标节点成功接收所述目标模型后,向每个所述目标节点发送模型装载指令,以便每个所述目标节点装载所述目标模型。
可选地,在所述将所述分区模型分别部署至所述目标部署集群中相应的网络节点之后,所述方法还包括:记录每个分区模型,与部署每个所述分区模型的网络节点的部署对应关系。
可选地,在所述将所述目标模型部署至所述预设部署指示信息指示的所述目标部署集群后,所述方法还包括:接收业务请求方发送的业务请求消息,所述业务请求消息用于请求目标业务的业务数据;响应于接收到所述业务请求消息,根据所述目标业务的业务标识信息确定所述目标部署集群;若确定所述目标部署集群中部署的所述目标模型存在所述分区模型,则确定所述目标服务在所述分区模型中对应的目标分区模型;根据所述部署对应关系确定所述目标分区模型对应的目标网络节点;从所述目标网络节点的所述目标分区模型获取所述业务数据。
第二方面,提供一种模块部署的装置,所述装置包括:确定模块,用于确定待部署的目标模型;获取模块,用于获取所述目标模型对应的预设部署指示信息;所述预设部署指示信息用于指示待部署所述目标模型的目标部署集群;所述目标部署集群包括远程部署集群和本地部署集群中的一个;模型部署模块,用于将所述目标模型部署至所述预设部署指示信息指示的所述目标部署集群。
第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本公开第一方面所述方法的步骤。
第四方面,提供一种电子设备,包括:存储器,其上存储有计算机程序;处理器,用于执行所述存储器中的所述计算机程序,以实现本公开第一方面所述方法的步骤。
通过上述技术方案,确定待部署的目标模型,获取所述目标模型对应的预设部署指示信息;所述预设部署指示信息用于指示待部署所述目标模型的目标部署集群;所述目标部署集群包括远程部署集群和本地部署集群中的一个,将所述目标模型部署至所述预设部署指示信息指示的所述目标部署集群,这样,可以实现根据模型对应的预设部署指示信息将模型灵活的部署在本地部署集群或者远程部署集群,这种远程部署的模型部署方式可以将模型计算与业务解耦,从而实现高度并行化计算,提升计算性能;对于模型文件较小的模型,可以保留在业务方节点进行本地部署,这种本地部署方式没有网络消耗,实时计算性能高。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是根据一示例性实施例示出的第一种模型部署的方法的流程图;
图2是根据一示例性实施例示出的第二种模型部署的方法的流程图;
图3是根据一示例性实施例示出的第三种模型部署的方法的流程图;
图4是根据一示例性实施例示出的一种模型部署的装置的框图;
图5是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
本公开主要应用于分布式环境下模型部署的场景中,在分布式文件系统(HadoopDistributed File System,HDFS)中,一个服务通常需要依赖多个模型(如深度神经网络模型、决策树模型等)来实现,为了进行模型计算,需要将每个模型的最新版本部署到执行模型计算的集群所有机器内存中,待后续进行实时预测,相关技术中,会将一个服务依赖的多个模型同时部署到业务方所有机器节点内存中,然后在业务方各节点的本地执行模型计算,但若一个服务依赖模型数量多且总量大,也需要将所有模型在对应该服务的各个业务方节点都进行部署,但由于单节点内存容量有限,若部署模型众多,会占用业务方节点较多的内存和CPU资源,影响业务方节点的服务性能。
为解决上述存在的问题,本公开提供一种模型部署的方法、装置、存储介质及电子设备,可以在确定存在待部署的目标模型(如预设文件目录下当前新增的模型,或者用户选择的模型)时,根据在注册该目标模型时设置的预设部署指示信息(该预设部署指示信息用于指示待部署该目标模型的目标部署集群)确定部署该目标模型的目标部署集群,在本公开中,该目标部署集群可以包括远程部署集群和本地部署集群中的一个,具体部署方式可以由用户在注册该目标模型时进行自定义,这样,对于复杂模型或者存在分区模型的目标模型,用户可以设置为在远程部署集群进行部署,这种远程模型部署方式可以将模型计算与业务解耦,从而实现高度并行化计算,提升计算性能;另外,对于模型文件较小的模型,可以保留在业务方节点进行本地部署,这种本地部署方式没有网络消耗,实时计算性能高。
图1是根据一示例性实施例示出的一种模型部署的方法的流程图,如图1所示,该方法包括以下步骤:
在步骤101中,确定待部署的目标模型。
其中,该目标模型可以包括决策树模型、神经网络模型等机器学习模型。
在本公开中,可以通过以下两种方式中的任意一种方式确定待部署的该目标模型:
方式一:可以通过确定预设文件目录下当前是否存在新增的模型,当确定该预设文件目录下当前存在新增的模型的情况下,可以确定预设文件目录下当前新增的模型为该目标模型。
其中,该预设文件目录为分布式文件系统中用户预先设置的文件目录,该新增的模型可以理解为重新训练生成的最新版本的模型。
在分布式文件系统中,在通过线下训练得到最新版本的模型之前,通常需要在模型管理服务器上进行模型注册,例如,定义模型名称、模型类型、模型版本信息以及模型在该HDFS的预设文件目录下的存储路径等注册信息,这样,在训练生成该最新版本的模型后,可以根据上述注册信息对该最新训练得到的模型进行标记,并将该模型上传至对应的存储路径下进行存储,因此,在方式一中,可以通过对HDFS下的预设文件目录进行定时扫描,来确定是否存在新增的模型,在确定存在该新增的模型时,可以确定存在待部署的该目标模型。
方式二:确定是否存在用户选择的模型,当确定存在该用户选择的模型时,可以确定用户选择的模型为该目标模型。
在方式二中,考虑到在实际的应用场景中,对应于不同的业务需求,用户也可以在已经生成的同一个模型的多个版本中选择任一版本的模型作为该目标模型进行部署,例如,用户可以操作模型版本降级,使得目标节点的当前应用模型恢复到之前的某个版本,因此,在方式二中,若获取到用户选择的模型,可以确定用户选择的模型为该目标模型。
在步骤102中,获取该目标模型对应的预设部署指示信息,该预设部署指示信息用于指示待部署该目标模型的目标部署集群,该目标部署集群包括远程部署集群和本地部署集群中的一个。
其中,该远程部署集群可以包括多个部署集群,该本地部署集群也可以包括多个部署集群,并且每个部署集群均包括多个模型部署节点。
上述已经提及,在分布式文件系统中,在通过线下训练得到最新版本的模型之前,通常需要在模型管理服务器上进行模型注册,需要说明的是,在本公开中的模型注册阶段,除了定义模型名称、模型类型、模型版本信息以及模型在该HDFS的预设文件目录下的存储路径等注册信息以外,用户还可以定义与该目标模型对应的该预设部署指示信息,该预设部署指示信息可以包括该目标模型对应的业务标识信息,例如,若该目标模型对应的服务为配送预计送达时间预测服务(即该目标模型用于预测配送预计送达时间),可以将该目标模型对应的业务标识信息设置为ETA,若该目标模型对应的服务为配送调度引擎服务,可以将该目标模型对应的业务标识信息设置为DES,此处仅是举例说明,本公开对此不作限定。
另外,该预设部署指示信息还可以包括该目标模型的预设部署方式,该预设部署方式可以包括本地部署方式或者远程部署方式,这样,模型管理服务器可以根据该目标模型对应的预设部署方式在本地部署集群或者远程部署集群中部署该目标模型。
在步骤103中,将该目标模型部署至该预设部署指示信息指示的该目标部署集群。
在一种可能的实现方式中,可以将与该业务标识信息对应的模型部署集群,确定为该目标部署集群,并将该目标模型部署至该目标部署集群。
举例来说,假设该目标模型对应的该业务标识信息为ETA,此时可以确定该业务标识信息为ETA对应的服务为配送预计送达时间预测服务,并且可以根据预先设置的对应关系(即该业务标识信息与对应的目标部署集群的对应关系)确定与该业务标识信息ETA对应的该目标部署集群为远程部署集群中包括的多个部署集群中的远程集群3,这样,可以将用于预测配送预计送达时间的目标模型部署至远程集群3中,此处仅是举例说明,本公开对此不作限定。
采用上述方法,可以实现根据模型对应的预设部署指示信息将模型灵活的部署在本地部署集群或者远程部署集群,这种远程部署的模型部署方式可以将模型计算与业务解耦,从而实现高度并行化计算,提升计算性能;对于模型文件较小的模型,可以保留在业务方节点进行本地部署,这种本地部署方式没有网络消耗,实时计算性能高。
图2是根据一示例性实施例示出的一种模型部署的方法的流程图,如图2所示,该方法包括以下步骤:
在步骤201中,确定待部署的目标模型。
其中,该目标模型可以包括决策树模型、神经网络模型等机器学习模型。
在本公开中,可以通过以下两种方式中的任意一种方式确定待部署的该目标模型:
方式一:可以通过确定预设文件目录下当前是否存在新增的模型,当确定该预设文件目录下当前存在新增的模型的情况下,可以确定预设文件目录下当前新增的模型为该目标模型。
其中,该预设文件目录为分布式文件系统中用户预先设置的文件目录,该新增的模型可以理解为重新训练生成的最新版本的模型。
在分布式文件系统中,在通过线下训练得到最新版本的模型之前,通常需要在模型管理服务器上进行模型注册,例如,定义模型名称、模型类型、模型版本信息以及模型在该HDFS的预设文件目录下的存储路径等注册信息,这样,在训练生成该最新版本的模型后,可以根据上述注册信息对该最新训练得到的模型进行标记,并将该模型上传至对应的存储路径下进行存储,因此,在方式一中,可以通过对HDFS下的预设文件目录进行定时扫描,来确定是否存在新增的模型,在确定存在该新增的模型时,可以确定存在待部署的该目标模型。
方式二:确定是否存在用户选择的模型,当确定存在该用户选择的模型时,可以确定用户选择的模型为该目标模型。
在方式二中,考虑到在实际的应用场景中,对应于不同的业务需求,用户也可以在已经生成的同一个模型的多个版本中选择任一版本的模型作为该目标模型进行部署,例如,用户可以操作模型版本降级,使得目标节点的当前应用模型恢复到之前的某个版本,因此,在方式二中,若获取到用户选择的模型,可以确定用户选择的模型为该目标模型。
在步骤202中,获取该目标模型对应的预设部署指示信息。
其中,该预设部署指示信息用于指示待部署该目标模型的目标部署集群;该目标部署集群包括远程部署集群和本地部署集群中的一个,并且该远程部署集群可以包括多个部署集群,该本地部署集群也可以包括多个部署集群,并且每个部署集群均包括多个模型部署节点。
上述已经提及,在分布式文件系统中,在通过线下训练得到最新版本的模型之前,通常需要在模型管理服务器上进行模型注册,需要说明的是,在本公开中的模型注册阶段,除了定义模型名称、模型类型、模型版本信息以及模型在该HDFS的预设文件目录下的存储路径等注册信息以外,用户还可以定义与该目标模型对应的该预设部署指示信息,该预设部署指示信息可以包括该目标模型对应的业务标识信息,例如,若该目标模型对应的服务为配送预计送达时间预测服务(即该目标模型用于预测配送预计送达时间),可以将该目标模型对应的业务标识信息设置为ETA,若该目标模型对应的服务为配送调度引擎服务,可以将该目标模型对应的业务标识信息设置为DES,此处仅是举例说明,本公开对此不作限定。
另外,该预设部署指示信息还可以包括该目标模型的预设部署方式,该预设部署方式可以包括本地部署方式或者远程部署方式,例如,用户在模型注册阶段可以输入该预设部署方式,也可以在弹出的选项列表中选择该预设部署方式,这样,模型管理服务器可以根据该目标模型对应的预设部署方式在本地部署集群或者远程部署集群中部署该目标模型。
在步骤203中,将与该业务标识信息对应的模型部署集群,确定为该目标部署集群。
在一种可能的实现方式中,可以预先定义该业务标识信息与对应的目标部署集群的对应关系,这样,可以根据该对应关系,将与该业务标识信息对应的模型部署集群,确定为该目标部署集群。
示例地,若该目标模型对应的服务为配送预计送达时间预测服务(即该目标模型用于预测配送预计送达时间),可以将该目标模型对应的业务标识信息设置为ETA,并且在该对应关系中,该业务标识信息ETA对应的该目标部署集群为远程集群3,上述示例仅是举例说明,本公开对此不作限定。
在另一种可能的实现方式中,可以根据该业务标识信息以及预先定义的该目标模型对应的预设部署方式确定该目标模型对应的该目标部署集群,具体地,可以先根据该预设部署方式确定该目标部署集群为该本地部署集群还是远程部署集群,由于该本地部署集群和该远程部署集群均包括多个部署集群,因此,接下来可以在远程部署集群(或者在本地部署集群)中的多个部署集群中,将该业务标识信息对应的部署集群确定为该目标部署集群。
示例地,假设该本地部署集群中包括本地集群1、本地集群2、本地集群3三个部署集群,该远程部署集群中包括远程集群1、远程集群2、远程集群3以及远程集群4四个部署集群,若根据该目标模型的预设部署方式确定该目标部署集群为远程部署集群,此时,可以在远程集群1、远程集群2、远程集群3以及远程集群4四个远程部署集群中,确定该目标模型的业务标识信息ETA对应的远程集群3为该目标部署集群,上述示例仅是举例说明,本公开对此不作限定。
在步骤204中,在该目标部署集群为该远程部署集群的条件下,确定该目标模型是否存在两个或者两个以上分区模型。
其中,该分区模型包括按照预设维度将该目标模型进行划分得到的模型,该预设维度可以包括城市维度、配送区域维度、商家维度等,例如,若该目标模型为平均配送时长预测模型,考虑到不同的城市所产生的配送服务数据(如订单量、骑手数量、平均送达时长等数据)也会不同,若全部城市的平均配送时长均采用同一个预测模型进行预测,势必会影响预测的准确性,因此,为提高模型预测的准确率,可以根据不同城市的配送服务数据各自训练一个平均配送时长预测模型(不同的城市所对应的平均配送时长预测模型的模型参数不同),不同城市各自对应的该平均配送时长预测模型即为该目标模型按照城市维度划分的该分区模型,此处仅是举例说明,本公开对此不作限定。
通常情况下,分区模型所占用的系统内存较大,因此,为提高模型的计算效率,通常将存在分区模型的目标模型部署至远程部署集群中。
在本步骤中,可以根据该目标模型的模型标识信息确定该目标模型是否存在两个或者两个以上的分区模型,例如,若该目标模型的模型标识信息中包括预先设置的分区模型的校验标识(字母、数字或者其它符号及其组合的形式),可以确定该目标模型存在两个或者两个以上的该分区模型,反之,则不存在该分区模型,此处仅是举例说明,本公开对此不作限定。
若确定该目标模型存在两个或者两个以上分区模型,执行步骤205和206;若确定该目标模型不存在该分区模型,执行步骤207。
在步骤205中,将该分区模型分别部署至该目标部署集群中相应的网络节点。
其中,不同的该分区模型部署在不同的网络节点上。
示例地,假设该目标模型包括分区模型1、分区模型2以及分区模型3三个分区模型,在执行步骤203后,确定该目标模型对应的该目标部署集群为远程集群3,该远程集群3包括多个模型部署节点,在将该分区模型部署至该远程集群3之前,需要根据预先设置的模型部署分配策略确定每个该分区模型分别对应的网络节点,例如,一种可能的模型分配策略为分区模型1部署至远程集群3中的模型部署节点1至模型部署节点10,分区模型2部署至远程集群3中的模型部署节点11至模型部署节点20,分区模型3部署至远程集群3中的模型部署节点21至模型部署节点30,这样,可以确定待部署的分区模型1的网络节点为远程集群3中的模型部署节点1至模型部署节点10,待部署的分区模型2的网络节点为远程集群3中的模型部署节点11至模型部署节点20,待部署的分区模型3的网络节点为远程集群3中的模型部署节点21至模型部署节点30,此处仅是举例说明,本公开对此不作限定。
在步骤206中,记录每个分区模型,与部署每个该分区模型的网络节点的部署对应关系。
在步骤207中,在该目标部署集群中每个网络节点上部署该目标模型。
本步骤的执行前提为确定该目标模型不存在该分区模型,此时,可以在该目标部署集群中的每个模型部署节点均部署该目标模型,也就是说,在本步骤中,该目标部署集群中每个该模型部署节点均为该网络节点。
本公开通过执行上述步骤,即可将该目标模型部署至该预设部署指示信息指示的该目标部署集群中,之后,可以接收业务请求方发送的业务请求消息,该业务请求消息用于请求目标业务的业务数据;响应于接收到该业务请求消息,根据该目标业务的业务标识信息确定该目标部署集群;若确定该目标部署集群中部署的该目标模型存在该分区模型,则确定该目标服务在该分区模型中对应的目标分区模型;根据该部署对应关系确定该目标分区模型对应的目标网络节点;这样,可以从该目标网络节点的该目标分区模型获取该业务数据。
示例地,假设该目标业务为预测城市1对应的平均配送时长(即为该业务数据),该业务请求消息即为请求获取对城市1的平均配送时长的预测值,在接收到该业务请求消息后,即可获知该目标业务的业务标识信息,此时,可以根据预先存储的业务标识信息与目标部署集群的对应关系,确定部署该目标模型(在本示例中,该目标模型即为可以预测对应城市的平均配送时长的模型)的目标部署集群为远程集群2,若确定该目标部署集群中部署的该目标模型存在该分区模型,此时,可以根据该目标业务的业务标识信息,确定该目标服务对应的目标分区模型为城市1对应的预测平均配送时长的模型,之后可以根据在部署该目标模型时记录的部署对应关系(每个分区模型与部署每个该分区模型的网络节点的对应关系),确定该目标分区模型对应的目标网络节点,该目标网络节点可以为部署该目标分区模型的待部署节点集合中的任一网络节点,这样,可以将城市1对应的配送服务数据发送至部署该目标分区模型的该目标网络节点,从而可以根据该城市1对应的配送服务数据在该目标网络节点通过该目标分区模型计算得到城市1的平均配送时长的预测值,上述示例仅是举例说明,本公开对此不作限定。
采用上述方法,该目标部署集群可以包括远程部署集群和本地部署集群中的一个,具体部署方式可以由用户在注册该目标模型时进行自定义,这样,对于复杂模型或者存在分区模型的目标模型,用户可以设置为在远程部署集群进行部署,这种远程模型部署方式可以将模型计算与业务解耦,从而实现高度并行化计算,提升计算性能;另外,对于模型文件较小的模型,可以保留在业务方节点进行本地部署,这种本地部署方式没有网络消耗,实时计算性能高。
通过执行上述步骤,可以确定部署该目标模型的目标部署集群,以及具体部署该目标模型的该目标部署集群中的该网络节点,下面结合图3详细介绍具体的模型部署过程。
图3是根据一示例性实施例示出的一种模型部署的方法的流程图,如图3所示,该方法包括以下步骤:
在步骤301中,接收待部署节点集合中的目标节点发送的模型部署请求消息。
其中,该模型部署请求消息用于请求部署目标模型,该待部署节点集合为该目标部署集群中的两个或者两个以上网络节点组成的集合,例如,若该目标模型包括两个或者两个以上的分区模型,该待部署节点集合为每个分区模型分别对应的模型部署节点组成的集合(如步骤205中的示例所述),若该目标模型不包括该分区模型,该待部署节点集合为该目标部署集群中的全部模型部署节点组成的集合,该目标节点即为该待部署节点集合中的任一模型部署节点。
模型部署包括模型下载、模型装载以及模型切换(或者模型使用),在本步骤中,该模型部署请求消息可以包括模型下载请求信息,进一步地,该模型下载请求信息可以包括请求下载的该目标模型的模型标识信息。
在步骤302中,响应于接收到该模型部署请求消息,获取该目标模型。
在一种可能的实现方式中,模型管理服务器在接收到该模型部署请求消息后,可以获知待部署的目标模型的模型标识信息,在本步骤中,为便于更快速地获取到该目标模型,可以基于获取到的该目标模型的模型标识信息先在该模型管理服务器的本地存储空间中查找该目标模型,若在该本地存储空间中未查找到该目标模型,可以将该模型部署请求消息转发至远程服务器,以便从该远程服务器下载该目标模型,并在下载完成后,将该目标模型存储至该本地存储空间,以便其它目标节点可以直接从该本地存储空间中获取该目标模型,以提高模型获取的速率,进而提高模型部署的效率。
在步骤303中,控制该待部署节点集合中的每个该目标节点安装该目标模型。
在本步骤中,可以将该目标模型发送至每个该目标节点;当确定每个该目标节点成功接收该目标模型后,向每个该目标节点发送模型装载指令,以便每个该目标节点装载该目标模型。
在步骤304中,当确定每个该目标节点成功安装该目标模型后,控制每个该目标节点将该目标模型作为当前应用模型。
在本公开模型部署的控制过程中,可以采用上报心跳的方式,对部署该目标模型的每个环节进行控制,即为目标节点向该模型管理服务器发送目标处理事项的处理通知消息(该处理通知消息包括处理成功消息或者处理失败消息,例如可以用1表示处理成功,用0表示处理失败),该目标处理事项可以包括接收该目标模型或者装载该目标模型,因此,在步骤303中,若接收到每个该目标节点发送的接收成功消息(即为下载成功消息),则确定该待部署节点集合中的每个该目标节点均成功接收该目标模型,进一步可以理解为每个该目标节点均成功下载该目标模型,在步骤304中,若接收到每个该目标节点发送的装载成功消息,则确定该待部署节点集合中的每个该目标节点均成功安装该目标模型。
另外,若接收到至少一个该目标节点发送的该目标处理事项的处理失败消息,则控制至少一个该目标节点重新执行该目标处理事项,直至接收到该至少目标节点发送的该目标处理事项的处理成功消息,具体地,若该目标处理事项为接收该目标模型,可以重新向至少一个该目标节点发送该目标模型,以便至少一个该目标节点可以重新接收该目标模型,以提高模型接收的成功率;若该目标处理事项为装载该目标模型,可以重新向至少一个该目标节点发送该模型装载指令,以便至少一个该目标节点可以根据该模型装载指令重新装载该目标模型,以提高模型装载的成功率。
考虑到实际的应用场景中,可能会因为网络或者设备出现问题,而导致该待部署节点集合中的一个或者多个目标节点在一段时间内连续接收到该目标节点发送的处理失败消息,此时,为保证待部署节点集合中每个目标节点模型部署的一致性,在一种可能的实现方式中,若连续预设次数接收到至少一个该目标节点发送的该处理失败消息,或者若在第一预设时间内连续接收到至少一个该目标节点发送的该处理失败消息,可以确定该待部署节点集合中全部目标节点的模型部署失败,也就是说,在该待部署节点集合中的至少一个该目标节点的模型部署失败时,即可以将待部署节点集合中全部目标节点的模型部署视为失败,此时,该待部署节点集合中的每个目标节点均保持旧版本的模型,以此保证各目标节点模型版本的一致性。
采用上述方法,当该待部署节点集合中的各目标节点,进行模型部署的每一环节全部成功时,待部署节点集合中的各目标节点可以统一将该目标模型作为当前应用模型;而当该待部署节点集合中的任意目标节点,进行模型部署的其中一个环节失败时,该待部署节点集合中的全部目标节点均不会进行下一环节的模型部署,即可视为该待部署节点集合中的全部目标节点的本次模型部署失败,此时,该待部署节点集合中的各目标节点的模型继续保持旧版本,以此保证待部署节点集合中各目标节点模型部署的版本一致性。
图4是根据一示例性实施例示出的一种模型部署的装置的框图,如图3所示,该装置包括:
确定模块401,用于确定待部署的目标模型;
获取模块402,用于获取该目标模型对应的预设部署指示信息;该预设部署指示信息用于指示待部署该目标模型的目标部署集群;该目标部署集群包括远程部署集群和本地部署集群中的一个;
模型部署模块403,用于将该目标模型部署至该预设部署指示信息指示的该目标部署集群。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
采用上述装置,可以实现根据模型对应的预设部署指示信息将模型灵活的部署在本地部署集群或者远程部署集群,这种远程部署的模型部署方式可以将模型计算与业务解耦,从而实现高度并行化计算,提升计算性能;对于模型文件较小的模型,可以保留在业务方节点进行本地部署,这种本地部署方式没有网络消耗,实时计算性能高。
图5是根据一示例性实施例示出的一种电子设备500的框图。例如,电子设备500可以被提供为一服务器。参照图5,电子设备500包括处理器522,其数量可以为一个或多个,以及存储器532,用于存储可由处理器522执行的计算机程序。存储器532中存储的计算机程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理器522可以被配置为执行该计算机程序,以执行上述的模型部署方法。
另外,电子设备500还可以包括电源组件526和通信组件550,该电源组件526可以被配置为执行电子设备500的电源管理,该通信组件550可以被配置为实现电子设备500的通信,例如,有线或无线通信。此外,该电子设备500还可以包括输入/输出(I/O)接口558。电子设备500可以操作基于存储在存储器532的操作系统,例如Windows ServerTM,Mac OSXTM,UnixTM,LinuxTM等等。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的模型部署方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器532,上述程序指令可由电子设备500的处理器522执行以完成上述的模型部署方法。
在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的模型部署方法的代码部分。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。
为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
Claims (12)
1.一种模型部署的方法,其特征在于,所述方法包括:
确定待部署的目标模型;
获取所述目标模型对应的预设部署指示信息;所述预设部署指示信息用于指示待部署所述目标模型的目标部署集群;所述目标部署集群包括远程部署集群和本地部署集群中的一个;
将所述目标模型部署至所述预设部署指示信息指示的所述目标部署集群。
2.根据权利要求1所述的方法,其特征在于,所述确定待部署的目标模型的方式包括以下两种方式中的一个:
确定预设文件目录下当前新增的模型为所述目标模型;
确定用户选择的模型为所述目标模型。
3.根据权利要求1所述的方法,其特征在于,所述预设部署指示信息包括所述目标模型对应的业务标识信息;相应地,
所述将所述目标模型部署至所述预设部署指示信息指示的所述目标部署集群包括:
将与所述业务标识信息对应的模型部署集群,确定为所述目标部署集群;
将所述目标模型部署至所述目标部署集群。
4.根据权利要求1所述的方法,其特征在于,在所述目标部署集群为所述远程部署集群的条件下,在所述将所述目标模型部署至所述预设部署指示信息指示的所述目标部署集群之前,所述方法还包括:
确定所述目标模型是否存在两个或者两个以上分区模型;所述分区模型包括按照预设维度将所述目标模型进行划分得到的模型;相应地,
所述将所述目标模型部署至所述预设部署指示信息指示的所述目标部署集群包括:
在所述目标模型存在两个或者两个以上分区模型的情况下,将所述分区模型分别部署至所述目标部署集群中相应的网络节点,其中,不同的所述分区模型部署在不同的网络节点上。
5.根据权利要求4所述的方法,其特征在于,所述将所述目标模型部署至所述预设部署指示信息指示的所述目标部署集群包括:
在确定所述目标模型不存在所述分区模型的情况下,在所述目标部署集群中每个网络节点上部署所述目标模型。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述将所述目标模型部署至所述预设部署指示信息指示的所述目标部署集群包括:
接收待部署节点集合中的目标节点发送的模型部署请求消息,所述模型部署请求消息用于请求部署所述目标模型,所述待部署节点集合为所述目标部署集群中的两个或者两个以上网络节点组成的集合;
响应于接收到所述模型部署请求消息,获取所述目标模型;
控制所述待部署节点集合中的每个所述目标节点安装所述目标模型;
当确定每个所述目标节点成功安装所述目标模型后,控制每个所述目标节点将所述目标模型作为当前应用模型。
7.根据权利要求6所述的方法,其特征在于,所述控制每个所述目标节点安装所述目标模型包括:
将所述目标模型发送至每个所述目标节点;
当确定每个所述目标节点成功接收所述目标模型后,向每个所述目标节点发送模型装载指令,以便每个所述目标节点装载所述目标模型。
8.根据权利要求4所述的方法,其特征在于,在所述将所述分区模型分别部署至所述目标部署集群中相应的网络节点之后,所述方法还包括:
记录每个分区模型,与部署每个所述分区模型的网络节点的部署对应关系。
9.根据权利要求8所述的方法,其特征在于,在所述将所述目标模型部署至所述预设部署指示信息指示的所述目标部署集群后,所述方法还包括:
接收业务请求方发送的业务请求消息,所述业务请求消息用于请求目标业务的业务数据;
响应于接收到所述业务请求消息,根据所述目标业务的业务标识信息确定所述目标部署集群;
若确定所述目标部署集群中部署的所述目标模型存在所述分区模型,则确定所述目标服务在所述分区模型中对应的目标分区模型;
根据所述部署对应关系确定所述目标分区模型对应的目标网络节点;
从所述目标网络节点的所述目标分区模型获取所述业务数据。
10.一种模块部署的装置,其特征在于,所述装置包括:
确定模块,用于确定待部署的目标模型;
获取模块,用于获取所述目标模型对应的预设部署指示信息;所述预设部署指示信息用于指示待部署所述目标模型的目标部署集群;所述目标部署集群包括远程部署集群和本地部署集群中的一个;
模型部署模块,用于将所述目标模型部署至所述预设部署指示信息指示的所述目标部署集群。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-9中任一项所述方法的步骤。
12.一种电子设备,其特征在于,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求1-9中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910750173.8A CN112395072A (zh) | 2019-08-14 | 2019-08-14 | 模型部署的方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910750173.8A CN112395072A (zh) | 2019-08-14 | 2019-08-14 | 模型部署的方法、装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112395072A true CN112395072A (zh) | 2021-02-23 |
Family
ID=74601400
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910750173.8A Pending CN112395072A (zh) | 2019-08-14 | 2019-08-14 | 模型部署的方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112395072A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023004806A1 (zh) * | 2021-07-30 | 2023-02-02 | 西门子股份公司 | Ai模型的设备部署方法、系统及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105933137A (zh) * | 2015-12-21 | 2016-09-07 | 中国银联股份有限公司 | 一种资源管理方法、装置及系统 |
WO2017161984A1 (zh) * | 2016-03-24 | 2017-09-28 | 中兴通讯股份有限公司 | 数据集群的部署方法、装置、系统及计算机存储介质 |
CN108419447A (zh) * | 2016-12-09 | 2018-08-17 | 萨思学会有限公司 | 事件流处理集群管理器 |
-
2019
- 2019-08-14 CN CN201910750173.8A patent/CN112395072A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105933137A (zh) * | 2015-12-21 | 2016-09-07 | 中国银联股份有限公司 | 一种资源管理方法、装置及系统 |
WO2017161984A1 (zh) * | 2016-03-24 | 2017-09-28 | 中兴通讯股份有限公司 | 数据集群的部署方法、装置、系统及计算机存储介质 |
CN107229646A (zh) * | 2016-03-24 | 2017-10-03 | 中兴通讯股份有限公司 | 数据集群的部署方法、装置及系统 |
CN108419447A (zh) * | 2016-12-09 | 2018-08-17 | 萨思学会有限公司 | 事件流处理集群管理器 |
Non-Patent Citations (1)
Title |
---|
熊智;刘卫军;崔张伟;: "一种基于排队模型和差分进化算法的Web集群节能部署方案", 计算机科学, no. 09, 15 September 2013 (2013-09-15) * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023004806A1 (zh) * | 2021-07-30 | 2023-02-02 | 西门子股份公司 | Ai模型的设备部署方法、系统及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110297640B (zh) | 模型部署的方法、装置、存储介质及电子设备 | |
CN108965485B (zh) | 容器资源的管理方法、装置和云平台 | |
CN105389191B (zh) | 一种基于局域网的软件升级方法、装置和系统 | |
CN111651178A (zh) | 容器配置更新方法、装置、计算机设备和存储介质 | |
CN110933178B (zh) | 调整集群系统内的节点配置的方法及服务器 | |
KR20120066116A (ko) | 웹 서비스 정보 처리 방법과 이를 이용한 웹 서비스 조합 방법 및 장치 | |
US20220374226A1 (en) | Ota differential upgrade method and system of master-slave architecture | |
CN112910723B (zh) | 边缘终端管理方法、装置、设备及存储介质 | |
US10216593B2 (en) | Distributed processing system for use in application migration | |
CN113382077A (zh) | 微服务调度方法、装置、计算机设备和存储介质 | |
CN112395072A (zh) | 模型部署的方法、装置、存储介质及电子设备 | |
CN110109684A (zh) | 区块链节点管理代理服务安装方法、电子装置及存储介质 | |
CN113608838A (zh) | 应用镜像文件的部署方法、装置、计算机设备和存储介质 | |
CN112631680A (zh) | 微服务容器调度系统、方法、装置和计算机设备 | |
CN112261125A (zh) | 集中单元的云化部署方法、装置及系统 | |
US9058233B1 (en) | Multi-phase software delivery | |
CN111240698A (zh) | 模型部署的方法、装置、存储介质及电子设备 | |
CN109962941B (zh) | 通信方法、装置以及服务器 | |
CN110442455A (zh) | 一种数据处理方法及装置 | |
CN111381932B (zh) | 触发应用程序更改的方法、装置、电子设备及存储介质 | |
CN114662102A (zh) | 一种文件处理方法、装置及存储介质 | |
CN114327671A (zh) | 参数配置方法、装置、设备及存储介质 | |
CN114327530A (zh) | 更新模型文件的方法、装置及计算设备 | |
CN114490015A (zh) | 配置计算模式的方法、装置及计算设备 | |
EP3330854A1 (en) | Automatic selection of infrastructure on a hybrid cloud environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |