在线预测服务的部署方法、装置及设备
技术领域
本说明书一个或多个实施例涉及计算机技术领域,尤其涉及一种在线预测服务的部署方法、装置及设备。
背景技术
随着机器学习的普遍流行,其应用也越来越广。如,其可以应用于推荐系统、语音助手以及精准广告系统。为实现机器学习的应用,通常需要经历两个阶段:训练和预测(也称推理)。训练是指从数据构建模型的过程。预测是指给定一个输入然后通过模型做出预测。需要说明的是,对于训练好的模型,其通常需要先部署为在线预测服务,之后才能提供其预测能力。
传统技术中,通常只将部分机器学习模型(如,深度学习模型)部署为在线预测服务,因此所提供的预测能力比较单一。这往往不能满足多样化的应用程序的预测需求。为了满足不同应用程序的预测需求,就需要将多种不同的机器学习模型均部署为在线预测服务。
发明内容
本说明书一个或多个实施例描述了一种在线预测服务的部署方法、装置及设备,可以实现不同的机器学习模型的部署。
第一方面,提供了一种在线预测服务的部署方法,包括:
获取待部署的预测服务的配置信息,所述预测服务与已完成训练的机器学习模型相对应,所述机器学习模型用于基于特征抽取逻辑抽取用户特征,并基于所抽取的用户特征,采用打分逻辑对用户的多种预定行为进行打分,以预测用户的未来行为;所述配置信息至少包括所述机器学习模型的特征抽取逻辑以及打分逻辑;
确定与所述预测服务对应的机器集群,所述机器集群中包括多台机器,各台机器均运行有多种预测引擎;其中,每种预测引擎用于加载并执行相应配置形态的预测服务;
将所述配置信息分发至所述机器集群中的各台机器;
对于所述各台机器中任意的第一机器,所述第一机器在接收到所述配置信息之后,基于所述配置信息,分析所述预测服务的配置形态;基于确定的配置形态从所述多种预测引擎中选取目标预测引擎;通过所述目标预测引擎将所述配置信息加载到内存中,以完成所述第一预测服务在所述第一机器上的部署;完成部署后的预测服务用于基于所述特征抽取逻辑以及打分逻辑,预测用户的未来行为。
第二方面,提供了一种在线预测服务的部署装置,包括:
获取单元,用于获取待部署的预测服务的配置信息,所述预测服务与已完成训练的机器学习模型相对应,所述机器学习模型用于基于特征抽取逻辑抽取用户特征,并基于所抽取的用户特征,采用打分逻辑对用户的多种预定行为进行打分,以预测用户的未来行为;所述配置信息至少包括所述机器学习模型的特征抽取逻辑以及打分逻辑;
确定单元,用于确定与所述获取单元获取的所述预测服务对应的机器集群,所述机器集群中包括多台机器,各台机器均运行有多种预测引擎;其中,每种预测引擎用于加载并执行相应配置形态的预测服务;
发送单元,用于将所述获取单元获取的所述配置信息分发至所述确定单元确定的所述机器集群中的各台机器;
对于所述各台机器中任意的第一机器,所述第一机器在接收到所述配置信息之后,基于所述配置信息,分析所述预测服务的配置形态;基于确定的配置形态从所述多种预测引擎中选取目标预测引擎;通过所述目标预测引擎将所述配置信息加载到内存中,以完成所述第一预测服务在所述第一机器上的部署;完成部署后的预测服务用于基于所述特征抽取逻辑以及打分逻辑,预测用户的未来行为。
第三方面,提供了一种在线预测服务的部署设备,包括:
存储器;
一个或多个处理器;以及
一个或多个程序,其中所述一个或多个程序存储在所述存储器中,并且被配置成由所述一个或多个处理器执行,所述程序被所述处理器执行时实现以下步骤:
获取待部署的预测服务的配置信息,所述预测服务与已完成训练的机器学习模型相对应,所述机器学习模型用于基于特征抽取逻辑抽取用户特征,并基于所抽取的用户特征,采用打分逻辑对用户的多种预定行为进行打分,以预测用户的未来行为;所述配置信息至少包括所述机器学习模型的特征抽取逻辑以及打分逻辑;
确定与所述预测服务对应的机器集群,所述机器集群中包括多台机器,各台机器均运行有多种预测引擎;其中,每种预测引擎用于加载并执行相应配置形态的预测服务;
将所述配置信息分发至所述机器集群中的各台机器;
对于所述各台机器中任意的第一机器,所述第一机器在接收到所述配置信息之后,基于所述配置信息,分析所述预测服务的配置形态;基于确定的配置形态从所述多种预测引擎中选取目标预测引擎;通过所述目标预测引擎将所述配置信息加载到内存中,以完成所述第一预测服务在所述第一机器上的部署;完成部署后的预测服务用于基于所述特征抽取逻辑以及打分逻辑,预测用户的未来行为。
本说明书一个或多个实施例提供的在线预测服务的部署方法、装置及设备,获取待部署的预测服务的配置信息,该预测服务与已完成训练的机器学习模型相对应,这里的机器学习模型用于基于特征抽取逻辑抽取用户特征,并基于所抽取的用户特征,采用打分逻辑对用户的多种预定行为进行打分,以预测用户的未来行为。上述配置信息至少包括机器学习模型的特征抽取逻辑以及打分逻辑。确定与预测服务对应的机器集群,该机器集群中包括多台机器,各台机器均运行有多种预测引擎。其中,每种预测引擎用于加载并执行相应配置形态的预测服务。将配置信息分发至机器集群中的各台机器。对于各台机器中任意的第一机器,第一机器在接收到配置信息之后,基于配置信息,分析预测服务的配置形态。基于确定的配置形态从多种预测引擎中选取目标预测引擎。通过目标预测引擎将配置信息加载到内存中,以完成第一预测服务在第一机器上的部署。完成部署后的预测服务用于基于特征抽取逻辑以及打分逻辑,预测用户的未来行为。也即本说明书提供的方案中,各台机器可以提供多种预测引擎,且每台机器在接收到预测服务的配置信息之后,可以基于预测服务的配置形态,来选取目标预测引擎。也即本说明书提供的方案中,针对不同的机器学习模型,可以通过不同的预测引擎进行记载执行,从而可以实现多种不同机器学习模型的部署。
附图说明
为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本说明书提供的在线预测服务的部署方法应用场景示意图;
图2为本说明书提供的模型预测平台示意图之一;
图3为本说明书一个实施例提供的在线预测服务的部署方法流程图;
图4为本说明书提供的模型预测平台示意图之二;
图5为本说明书提供的基于在线预测服务的预测方法流程图;
图6为本说明书一个实施例提供的在线预测服务的部署装置示意图;
图7为本说明书一个实施例提供的在线预测服务的部署设备示意图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
图1为本说明书提供的在线预测服务的部署方法应用场景示意图。图1中,可以在模型预测平台10中部署多个在线预测服务。以多个在线预测服务中任意的第一预测服务为例来说,该第一预测服务可以是由第一机器学习模型部署得到。这里的第一机器学习模型可以是基于业务决策系统20的反馈数据和/或业务数据,在执行数据分析、特征工程、训练模型以及模型评估等步骤后得到的。其用于基于特征抽取逻辑抽取用户特征,并基于所抽取的用户特征,采用打分逻辑对用户的多种预定行为进行打分,以预测用户的未来行为。在本说明书中,该特征抽取逻辑以及打分逻辑也可以称为在线预测服务的配置信息。
需要说明的是,当第一机器学习模型部署到模型预测平台10中时,其用于进行在线预测。该在线预测过程可以为:业务决策系统20可以向模型预测平台10发送预测请求。模型预测平台10在接收到该预测请求之后,可以通过预先部署的在线预测服务进行预测,并在得到预测结果之后,向业务决策系统20返回预测结果。
此外,上述第一机器学习模型还可部署到业务决策系统20,以产出离线预测结果。
以下结合图2对模型预测平台10进行详细说明。
图2为本说明书提供的模型预测平台10示意图。图2中,模型预测平台10可以包括:服务配置模块102、服务分发模块104以及注册模块106。
服务配置模块102用于配置在线预测服务的配置信息,该配置信息至少可以包括相应的机器学习模型的特征抽取逻辑以及打分逻辑。在本说明书中,服务配置模块102可以支持以下多种配置形态:文件配置形态、自主编码形态以及可视化配置形态。
首先,文件配置形态适用于有一定编码能力的用户。基于该配置形态得到的配置信息可以包括如下两种结果文件:特征抽取文件以及模型资源文件。其中,特征抽取文件用于描述特征抽取逻辑,包括但不限于特征映射以及特征选择等等。模型资源文件用于描述打分逻辑。其次,自主编码形态适用于编码能力较强的用户,如,用户具体可以自主编写python代码。可以理解的是,在该配置形态下,是通过所编写的代码来描述特征抽取逻辑以及打分逻辑。最后,可视化配置形态适用于编码能力不强的用户。基于该配置形态得到的配置信息可以为一个有向无环图(Directed Acyclic Graph,DAG),也称为DAG流程。该DAG流程可以包括规则组件、条件组件、自定义脚本组件、特征算子组件以及算法组件等等。可以理解的是,在该配置形态下,是通过各种组件的组合来描述特征抽取逻辑以及打分逻辑。
需要说明的是,对于上述文件配置形态,服务配置模块102在底层是通过C++语言予以支持的。对于上述自主编码形态,服务配置模块102在底层是通过python语言予以支持的。python语言的开源机器学习框架丰富多样,例如tensorflow,scikit-learn,xgboostlightgbm caffe等。对于可视化配置形态,服务配置模块102在底层是通过java语言予以支持的。java语言的热部署能力能够让用户的配置自动编译为字节码秒级加载,快速服务化。
服务分发模块104用于对在线预测服务的配置信息进行打包,并将打包后的配置信息分发至指定集群的各台机器上,以完成在线预测服务在各台机器上的部署。在本说明书中,集群中的各台机器均可以运行有多种预测引擎。该预测引擎用于完成在线预测服务的实例化,或者说用于将在线预测服务的配置信息加载到内存中,并且之后在有应用程序访问时,基于预先加载的配置信息,执行上述在线预测服务,以得到打分结果。上述预测引擎的底层可以封装有不同的机器学习框架。
另外,本文所称的多种预测引擎可以包括但不限于C++预测引擎(简称CMPS)、python预测引擎(简称PyMPS)以及java预测引擎(简称JMPS)。CMPS提供高性能的底层预测能力,底层集成了特征获取,特征抽取,模型节点编排支持以及支持TensorFlow,pssmart,caffe等多种深度学习模型,同时集成了现场可编程门阵列(Field-Programmable GateArray,FPGA),提供异构计算能力。PyMPS提供自主的python预测服务编码能力。JMPS提供灵活和可视化的预测服务编排能力。
基于各配置形态的底层支持语言及各预测引擎所提供的能力,可以得出:由CMPS加载并解析执行基于文件位置形态所得到的特征抽取文件以及模型资源文件,由PyMPS加载并解析执行基于自主编码形态所编写的python代码;以及由JMPS加载并解析执行基于可视化配置形态所组合的DAG流程。
注册模块106用于在各台机器完成在线预测服务的部署后,对各台机器进行注册,如,记录各台机器的IP地址,并为各台机器分配统一的注册地址(也称域名)。之后,还可以建立该注册地址与上述在线预测服务的对应关系,以便后续可以基于该注册地址对上述在线预测服务进行访问。
此外,模型预测平台10还可以包括:元数据定义模块108。元数据定义模块108用于定义在线预测服务的元数据。这里的元数据可以包括但不限于在线预测服务的名称信息、标识信息、输入以及输出参数等等。在本说明书中,在线预测服务的标识信息可以是指服务号(serviceID)和版本号(version)。
需要说明的,元数据定义模块108可以提供以下多种语言来定义元数据,如,C++语言、python语言以及java语言等等。
综上,本说明书提供的模型预测平台10针对具有不同编码能力的用户可以提供不同的配置形态。此外,还提供了多种预测引擎,以适应不同配置形态的配置信息。最后,模型预测平台10还可以提供多种编码语言,以应对不同背景和机器学习框架的能力。
此外,模型预测平台10面向于不同配置形态的在线预测服务可以提供统一的元数据管理以及提供针对于不同的配置形态的在线预测服务提供统一构建和部署能力,能够将不同配置形态的在线预测服务构建为不同预测引擎能够加载的配置,便于生产化解析。
以上是对模型预测平台10的结构说明。可以理解的是,基于该模型预测平台10可以完成对在线预测服务的部署,以下结合附图对任一预测服务的部署过程进行说明。
图3为本说明书一个实施例提供的在线预测服务的部署方法流程图。所述方法的执行主体可以为具有处理能力的设备:服务器或者系统或者平台,如,可以为图1中的模型预测平台10等。如图3所示,所述方法具体可以包括:
步骤302,获取待部署的预测服务的配置信息。
可选地,在获取预测服务的配置信息之前,可以先获取预测服务的预定义元数据。如前所述,该预定义元数据至少可以包括预测服务的名称信息、标识信息(如,serviceID+version)、输入以及输出参数等等。
步骤302中,预测服务可以与已完成训练的机器学习模型相对应。这里的机器学习模型可以包括但不限于深度学习模型(如,卷积神经网络(Convolutional NeuralNetwork,CNN)、循环神经网络(Recurrent Neural Network,RNN)、文本分类算法(TEXTCNN)、深度神经网络(Deep Neural Networks,DNN以及Wide&Deep等)以及自然语言处理(Natural Language Processing,NLP)模型等等。
在一个例子中,上述机器学习模型可以用于基于特征抽取逻辑抽取用户特征,并基于所抽取的用户特征,采用打分逻辑对用户的多种预定行为进行打分,以预测用户的未来行为。在该例子中,预测服务的配置信息可以包括相应的机器学习模型的特征抽取逻辑以及打分逻辑。此外,预测服务的配置信息可以是基于上述三种配置形态(即文件配置形态、自主编码形态以及可视化配置形态)中的任一种配置形态配置得到。关于三种配置形态可以参见上文所述,在此不复赘述。
需要说明的是,上述步骤302可以是由图2中的服务配置模块102执行。
步骤304,确定与预测服务对应的机器集群。
这里,与预测服务对应的机器集群可以是预先设定好的,该机器集群可以包括多台机器,其中,各台机器均可以运行有多种预测引擎,每种预测引擎用于加载并执行相应配置形态的预测服务。可以理解的是,这里的多种预测引擎可以包括但不限于CMPS、PyMPS以及JMPS等,每种预测引擎的作用同上所述,在此不复赘述。此外,各台机器均还可以预装有其它的运行环境,如,外部依赖库等等。
步骤306,将配置信息分发至机器集群中的各台机器。
具体地,可以是先对配置信息进行打包,之后将打包后的配置信息分发至机器集群中的各台机器。各台机器中的任一台机器在接收到分发的配置信息之后,可以基于配置信息,分析第一预测服务的配置形态。之后,基于确定的配置形态从多种预测引擎中选取目标预测引擎,并通过目标预测引擎将配置信息加载到内存中,以完成第一预测服务在第一机器上的部署。完成部署后的预测服务用于基于特征抽取逻辑以及打分逻辑,预测用户的未来行为。
需要说明的是,上述预测服务的配置形态可以是基于配置信息的编写语言确定。其中,配置信息的编写语言可以包括以下任一种:C++语言、python语言以及java语言等。在一个例子中,当配置信息的编写语言为C++语言时,预测服务的配置形态可以为文件配置形态。当配置信息的编写语言为python语言时,预测服务的配置形态可以为自主编码形态。当配置信息的编写语言为java语言时,预测服务的配置形态可以为可视化配置形态。
此外,上述基于配置形态选取目标预测引擎的过程可以为:当预测服务的配置形态为文件配置形态时,从多种预测引擎中选取CMPS作为目标预测引擎。当预测服务的配置形态为自主编码形态时,从多种预测引擎中选取PyMPS作为目标预测引擎。当预测服务的配置形态为可视化配置形态时,从多种预测引擎中选取JMPS作为目标预测引擎。
最后,本说明书所述的通过目标预测引擎将配置信息加载到内存的过程即为在线预测服务的实例化过程。可以理解的是,在将在线预测服务实例化之后,就会得到一个实例化对象。之后,在执行该在线预测服务时,可以直接执行该实例化对象,以完成预测。
需要说明的是,上述步骤304和步骤306可以是由图2中的服务分发模块104执行。
可以理解的是,在执行完成步骤306之后,就完成了预测服务的部署。在完成预测服务的部署之后,为了方便于外部应用(如,图1中的业务决策系统20)对该预测服务的访问,模型预测平台10还可以执行以下步骤:
接收各台机器在完成预测服务的部署后发送的注册请求。响应于该注册请求,对各台机器进行注册,如,记录各台机器的IP地址,并为各台机器分配统一的注册地址(也称域名),该注册地址也可以称为预测服务的注册地址。之后,还可以建立该注册地址与预测服务的标识信息(即serviceID+version)之间的对应关系,以便后续可以基于该注册地址,对该预测服务进行访问。
需要说明的是,该步骤可以是由图2中的注册模块106执行。
总之,本说明书提供的在线预测服务的部署方法,面向用户可以提供多种配置形态,由此可以解决机器学习多种场景多种用户使用成本的问题,例如针对于编码能力不强的用户提供可视化拖拽,编程能力较强提供自主编码,针对于有一定能力提供文件配置,同时不同场景封装维度不同,只给用户暴露对应的能力。此外,本方案还提供了多种支持不同语言的预测引擎,从而满足了机器学习发展过程中,针对预测引擎的多语言诉求,同时还支持横向扩展。最后,本方案提供的C++预测引擎为深度学习采用专用的高性能预测引擎,同时支持链式的执行,配置有特征算子计算库,模型解析加载库,提供小批量执行满足大规模的个性化推荐场景的调用问题,python预测引擎则提供灵活的外部库加载的能力,java预测引擎,支持nlp以及机器学习算法,还有可以自主的拖拽满足各种算法组件能力的组装,在风险识别,信用评分,nlp领域快速应用。
以上是对任一在线预测服务的部署过程的说明。可以理解的是,在完成在线预测服务的部署之后,就可以基于该在线预测服务进行预测。
由于本说明书提供的模型预测平台10中可以部署有多个在线预测服务,为实现其中任一在线预测服务的访问,需要模型预测平台10提供服务路由调用能力,如,vipserver或者是RPC服务。此外,模型预测平台10针对多个在线预测服务,可以对外提供统一的接入接口。
在一种实现方式中,当模型预测平台10还用于进行预测时,模型预测平台10还可以包括访问接入模块110以及服务路由模块112。当还包括该两个模块时,模型预测平台10可以如图4所示。图4中,访问接入模块110用于接收应用程序发送的访问请求。服务路由模块112用于基于注册模块106记录的对应关系以及各台机器的IP地址,向指定机器发送服务调用请求,以执行该指定机器上部署的在线预测服务。并在在线预测服务执行完成后,向应用程序返回预测结果。以下结合图5对上述预测过程进行详细说明。
图5为本说明书提供的基于在线预测服务的预测方法流程图。所述方法的执行主体可以为具有处理能力的设备:服务器或者系统或者平台,如,可以为图4中的模型预测平台10等。如图5所示,所述方法具体可以包括:
步骤502,接收应用程序发送的预测服务的访问请求。
这里的预测服务可以用于基于相应的机器学习模型的特征抽取逻辑抽取用户特征,并基于所抽取的用户特征,采用打分逻辑对用户的多种预定行为进行打分,以预测用户的未来行为。
步骤502中的访问请求可以是由应用程序(如,图1中的业务决策系统)基于HTTP协议或者TR协议发送的,其至少可以包括预测服务的标识信息,即ServiceID+Version。
步骤504,根据对应关系,确定对应于预测服务的标识信息的注册地址。
此处,可以是基于预先记录的注册地址与预测服务的标识信息(即serviceID+version)之间的对应关系,确定预测服务的注册地址。
步骤506,从与注册地址对应的各台机器中确定出目标机器。
这里的各台机器均部署有多个在线预测服务,其中,每台机器上所部署的多个在线预测服务至少包括当前所请求访问的预测服务。在一种实现方式中,可以根据负载均衡算法,从与注册地址对应的各台机器中确定出目标机器。
步骤508,向目标机器发送服务调用请求。
该服务调用请求至少包括预测服务的标识信息。该服务调用请求用于指示目标机器根据预测服务的标识信息,从目标机器上部署的多个在线预测服务中查找当前所访问的预测服务,并通过目标预测引擎执行该预测服务,以得到预测结果。
步骤510,向应用程序返回预测结果。
如,可以向图1中的业务决策系统20返回预测结果。
需要说明的是,上述步骤502可以是由图4中的访问接入模块110执行,步骤504-步骤510可以是由图4中的服务路由模块112执行。
总之,通过本说明书提供的基于在线预测服务的预测方法,可以实现多个在线预测服务中任一预测服务的精确访问。
与上述在线预测服务的部署方法对应地,本说明书一个实施例还提供的一种在线预测服务的部署装置,如图6所示,该装置可以包括:
获取单元602,用于获取待部署的预测服务的配置信息,该预测服务与已完成训练的机器学习模型相对应,该机器学习模型用于基于特征抽取逻辑抽取用户特征,并基于所抽取的用户特征,采用打分逻辑对用户的多种预定行为进行打分,以预测用户的未来行为。上述配置信息至少包括机器学习模型的特征抽取逻辑以及打分逻辑。
确定单元604,用于确定与获取单元602获取的预测服务对应的机器集群,该机器集群中包括多台机器,各台机器均运行有多种预测引擎。其中,每种预测引擎用于加载并执行相应配置形态的预测服务。
发送单元606,用于将获取单元602获取的配置信息分发至确定单元604确定的机器集群中的各台机器。
对于各台机器中任意的第一机器,第一机器在接收到配置信息之后,基于配置信息,分析预测服务的配置形态。基于确定的配置形态从多种预测引擎中选取目标预测引擎。通过目标预测引擎将配置信息加载到内存中,以完成第一预测服务在所述第一机器上的部署。完成部署后的预测服务用于基于特征抽取逻辑以及打分逻辑,预测用户的未来行为。
在一种实现方式中,预测服务的配置形态基于配置信息的编写语言确定。该配置信息的编写语言可以包括以下任一种:C++语言、python语言以及java语言。
当配置信息的编写语言为C++语言时,预测服务的配置形态为文件配置形态。
当配置信息的编写语言为python语言时,预测服务的配置形态为自主编码形态。
当配置信息的编写语言为java语言时,预测服务的配置形态为可视化配置形态。
此外,上述多种预测引擎可以包括C++预测引擎CMPS、python预测引擎PyMPS以及java预测引擎JMPS。
当预测服务的配置形态为文件配置形态时,从多种预测引擎中选取的目标预测引擎可以为CMPS。
当预测服务的配置形态为自主编码形态时,从多种预测引擎中选取的目标预测引擎可以为PyMPS。
当预测服务的配置形态为可视化配置形态时,从多种预测引擎中选取的目标预测引擎可以为JMPS。
可选地,该装置还可以包括:
接收单元(图中未示出),用于接收各台机器在完成预测服务的部署后发送的注册请求。
注册单元(图中未示出),用于响应于接收单元接收的注册请求,对各台机器进行注册,并为各台机器分配统一的注册地址。
确定单元604,还用于根据预测服务的预定义元数据,确定预测服务的标识信息。
建立单元(图中未示出),用于建立注册地址与标识信息的对应关系,以便于外部应用基于所述注册地址,对预测服务进行访问。
可选地,接收单元,还用于接收应用程序发送的预测服务的访问请求。该访问请求至少包括预测服务的标识信息。
确定单元604,还用于根据对应关系,确定对应于预测服务的标识信息的注册地址。
确定单元604,还用于从与注册地址对应的各台机器中确定出目标机器。
确定单元604具体用于根据负载均衡算法,从与注册地址对应的各台机器中确定出目标机器。
发送单元606,还用于向确定单元604确定的目标机器发送服务调用请求。该服务调用请求用于指示目标机器通过目标预测引擎执行预测服务,以得到预测结果。
发送单元606,还用于向应用程序返回预测结果。
需要说明的是,上述获取单元602的功能可以由服务配置模块102来实现,确定单元604和发送单元606的功能可以由服务分发模块104来实现。
本说明书上述实施例装置的各功能模块的功能,可以通过上述方法实施例的各步骤来实现,因此,本说明书一个实施例提供的装置的具体工作过程,在此不复赘述。
本说明书一个实施例提供的在线预测服务的部署装置,获取单元602获取待部署的预测服务的配置信息。确定单元604确定与获取的预测服务对应的机器集群,发送单元606将配置信息分发至机器集群中的各台机器。各台机器中任意的第一机器在接收到配置信息之后,基于配置信息,分析预测服务的配置形态。基于确定的配置形态从多种预测引擎中选取目标预测引擎。通过目标预测引擎将配置信息加载到内存中,以完成第一预测服务在所述第一机器上的部署。完成部署后的预测服务用于基于特征抽取逻辑以及打分逻辑,预测用户的未来行为。由此,可以实现不同机器学习模型的准确部署。
与上述在线预测服务的部署方法对应地,本说明书实施例还提供了一种在线预测服务的部署设备,如图7所示,该设备可以包括:存储器702、一个或多个处理器704以及一个或多个程序。其中,该一个或多个程序存储在存储器702中,并且被配置成由一个或多个处理器704执行,该程序被处理器704执行时实现以下步骤:
获取待部署的预测服务的配置信息,该预测服务与已完成训练的机器学习模型相对应,该机器学习模型用于基于特征抽取逻辑抽取用户特征,并基于所抽取的用户特征,采用打分逻辑对用户的多种预定行为进行打分,以预测用户的未来行为。这里的配置信息至少包括机器学习模型的特征抽取逻辑以及打分逻辑。
确定与预测服务对应的机器集群,该机器集群中包括多台机器,各台机器均运行有多种预测引擎。其中,每种预测引擎用于加载并执行相应配置形态的预测服务。
将配置信息分发至机器集群中的各台机器。
对于各台机器中任意的第一机器,第一机器在接收到配置信息之后,基于配置信息,分析预测服务的配置形态。基于确定的配置形态从多种预测引擎中选取目标预测引擎。通过目标预测引擎将配置信息加载到内存中,以完成第一预测服务在所述第一机器上的部署。完成部署后的预测服务用于基于特征抽取逻辑以及打分逻辑,预测用户的未来行为。
本说明书一个实施例提供的在线预测服务的部署设备,可以实现不同机器学习模型的准确部署。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
结合本说明书公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于服务器中。当然,处理器和存储介质也可以作为分立组件存在于服务器中。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
以上所述的具体实施方式,对本说明书的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本说明书的具体实施方式而已,并不用于限定本说明书的保护范围,凡在本说明书的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本说明书的保护范围之内。