CN112035218A - 一种提供模型服务的方法、装置及设备 - Google Patents
一种提供模型服务的方法、装置及设备 Download PDFInfo
- Publication number
- CN112035218A CN112035218A CN202010940558.3A CN202010940558A CN112035218A CN 112035218 A CN112035218 A CN 112035218A CN 202010940558 A CN202010940558 A CN 202010940558A CN 112035218 A CN112035218 A CN 112035218A
- Authority
- CN
- China
- Prior art keywords
- model
- service
- providing
- inference
- model service
- 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 53
- 238000004891 communication Methods 0.000 claims description 22
- 238000012545 processing Methods 0.000 claims description 21
- 230000010354 integration Effects 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 10
- 230000000694 effects Effects 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 4
- 238000012805 post-processing Methods 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000008909 emotion recognition Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 238000012546 transfer 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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/5083—Techniques for rebalancing the load in a distributed system
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种提供模型服务的方法、装置及设备,涉及计算机技术领域,以提高模型服务的***性能。该方法包括:启动已发布的模型对应的模型服务引擎;接收模型服务请求;根据所述模型服务请求确定用于提供服务的模型,通过所述模型服务引擎解析所述用于提供服务的模型的推理服务规范,并根据对所述推理服务规范的解析结果提供模型服务。本发明实施例可以提高模型服务的***性能。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种提供模型服务的方法、装置、及设备。
背景技术
随着机器学习和深度学习技术的广泛应用,如何高效便捷的把训练好的模型部署到线上环境并提供服务,成为当前模型服务部署的关注点。
BOT(ChatBot,自动应答机器人)***作为自然语言处理的典型应用,其中涉及到的实体识别、意图识别、多轮对话管理、情感识别、依存句法分析、语义匹配等模块功能均使用相关的机器学习算法来解决。不同的BOT用户由于使用场景和领域不一样,模型应该保持独立。
如图1所示,当前的模型预测服务***主要由模型加载模块、模型卸载模块、生命周期管理模块、模型预测(推理)模块、模型服务接口(API(Application ProgrammingInterface,应用程序接口))、消息消费模块等模块组成。其中:
模型加载模块:用于将模型加载到内存。由于当前各个机器学习框架均有自己的模型序列化、持久化方式,因此针对不同机器学习框架实现了专门的加载方式,并提供统一的接口;
模型卸载模块:用于将已加载到内存中的模型删除;
生命周期管理模块:负责管理模型的生命周期,比如什么时候应该加载模型,什么时候应该卸载模型,内存达到阈值时应该如何处理模型等;
模型预测模块:实现模型的推理,通常包括输入特征处理、模型预测、预测结果处理等;
模型服务接口:通过REST(Representational State Transfer,表述性状态传递)/GRPC(Google Remote Procedure Call,Google远程过程调用)方式提供模型预测服务接口;
消息消费模块:提供一种异步消息通知模型服务加载或者卸载模型的方式。
由于模型预测服务***都是将模型加载到本地,因此,当***承载的租户较多时,将会导致***性能不稳定。
发明内容
本发明实施例提供一种提供模型服务的方法、装置、设备及存储介质,以提高模型服务的***性能。
第一方面,本发明实施例提供了一种提供模型服务的方法,包括:
启动已发布的模型对应的模型服务引擎;
接收模型服务请求;
根据所述模型服务请求确定用于提供服务的模型,通过所述模型服务引擎解析所述用于提供服务的模型的推理服务规范,并根据对所述推理服务规范的解析结果提供模型服务。
第二方面,本发明实施例还提供一种提供模型服务的方法,应用于模型服务引擎,包括:
接收启动模型服务引擎的请求并启动;
解析用于提供服务的模型推理服务规范;
根据对所述推理服务规范的解析结果提供模型服务。
第三方面,本发明实施例还提供一种提供模型服务的装置,包括:
第一启动模块,用于启动已发布的模型对应的模型服务引擎;
第一接收模块,用于接收模型服务请求;
第一处理模块,用于根据所述模型服务请求确定用于提供服务的模型,通过所述模型服务引擎解析所述用于提供服务的模型的推理服务规范,并根据对所述推理服务规范的解析结果提供模型服务。
第四方面,本发明实施例还提供一种提供模型服务的装置,应用于模型服务引擎,包括:
第一启动模块,用于接收启动模型服务引擎的请求并启动;
第一解析模块,用于解析提供服务的模型的推理服务规范;
第一处理模块,用于根据对所述推理服务规范的解析结果提供模型服务。
第五方面,本发明实施例还提供一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的程序,所述处理器执行所述程序时实现如上所述的第一方面或者第二方面所述的方法中的步骤。
第六方面,本发明实施例还提供一种可读存储介质,所述可读存储介质上存储程序,所述程序被处理器执行时实现如上所述的第一方面或者第二方面所述的方法中的步骤。
在本发明实施例中,启动已发布的模型对应的模型服务引擎,以由模型服务引擎根据模型服务请求解析推理服务规范,并根据对所述推理服务规范的解析结果提供模型服务。由此可以看出,通过本发明实施例的方案,可在启动已发布的模型对应的模型服务引擎后,进而由模型服务引擎解析服务推理规范以提供相应的服务,因此,通过这种方式,无需将模型加载到本地,而是可以通过线上部署的方式提供模型服务,从而,利用本发明实施例的方案,可提高模型服务的***性能。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术中模型预测服务***的示意图;
图2是本发明实施例的提供模型服务的***的示意图;
图3是本发明实施例提供的提供模型服务的方法的流程图之一;
图4是本发明实施例提供的推理服务规范的示意图;
图5是本发明实施例提供的提供模型服务的方法的流程图之二;
图6是本发明实施例提供的提供模型服务的装置的结构图之一;
图7是本发明实施例提供的提供模型服务的装置的结构图之二;
图8是本发明实施例提供的电子设备的结构图之一;
图9是本发明实施例提供的电子设备的结构图之二。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图2,是本发明实施例的提供模型服务的***的示意图。如图2所示,可包括:
接口服务器(KubemetesAPIServer)201,用于提供对***外部的接口,例如接收模型部署的服务请求等。
模型服务管理器(Sms-manager)202,用于服务管理于管理所述操作器(Sms-operator)资源和所述控制器(Sms-controller)资源。当接收到模型部署的服务请求等时,启动模型服务引擎。
模型服务引擎(Sms-motor)203,用于解析推理服务规范,根据模型部署的服务请求等提供相应的服务,同时,启动至少一个模型(Sms-model)。其中,推理服务规范包括对应模型参数、模型部署及模型对外交互相关的信息;进一步地,该推理服务规范中还包括模型服务前对数据的前置处理中包括的处理规则及模型服务后对模型输出的内容进行后置处理的规则;此外,模型服务引擎提供了自定义推理服务规范的内容;也即提供了自定义推理图的功能,在本说明书实施例中推理服务规范的内容包括推理图的内容,两者之间也可以等同;在以下实施例中,推理图等同于推理服务规范;推理图包括定义A/B测试,模型集成、模型组合等。
模型(Sms-model)204,提供了通用的启动模型服务的通用接口和架构,应用程序根据不同的算法实现具体的模型,并制作相应的镜像。
Kubernetes是一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。在本发明实施例中,使用Kubernetes作为容器应用管理平台,构建了可伸缩分布式模型管理服务,提供了统一的硬件资源管理,包括GPU(Graphics Processing Unit,图形处理单元)等。在本发明实施例中,在k8s(Kubernetes的简称)集群创建预定义的模型资源(如SmsDeployments)和对应的Operator、Controller资源,并启动Sms-manager服务。此时,该***可具有能提供模型服务的能力。定义好模型资源(如SmsDeployments)的配置后,可提交到接口服务器(KubemetesAPIServer)。当模型部署方需部署服务时,接口服务器接收服务部署请求,并将该请求转发给模型服务管理器。模型服务管理器(Sms-manager)在接收到模型部署请求后,根据SmsDeployments配置启动对应的模型服务引擎sms-motor和sms-model,并使用envoy做服务网关暴露模型服务。
模型服务引擎根据模型部署请求解析推理服务规范,并根据定义的通信协议类型提供服务;同时,模型服务引擎启动推理服务规范中定义的推理图节点,即一个或多个sms-model服务。此外,Sms-model定义了模型预测接口,并负责启动模型预测服务,并返回模型预测结果。
在本发明实施例的***中,根据可伸缩模型服务***,能很好的满足将意图识别,情感识别、语义相似度等模型部署到云上。同时通过模型发布、路由及版本管理,可很好满足BOT用户量剧增的情况下横向扩展模型服务,从而保证服务的稳定,有利于横向扩展服务,并对模型版本进行管理。
参见图3,图3是本发明实施例提供的提供模型服务的方法的流程图,如图3所示,包括以下步骤:
步骤301、启动已发布的模型对应的模型服务引擎。
通常情况下,在图2所示的***中,可设置一个模型服务引擎。每部署好一个模型,都会接收到模型发布请求,从而,启动发布的模型对应的模型服务引擎。那么,当接收到模型发布请求后,可直接启动该模型服务引擎。但是在实际应用中,为了提高处理能力,使得所述***具有分布式、可扩展性等特点,在一种实施方式中,还可设置多个模型服务引擎。
在一种实施方式中,如果有多个模型发布请求,那么,在此步骤中,可根据预设负载均衡策略,从所述多个待启动的模型服务引擎确定目标模型服务引擎,根据所述模型发布请求启动所述目标模型服务引擎。
其中,所述预设负载均衡策略可以是在模型服务引擎之间平均分配模型发布请求,或者是按比例在模型服务引擎之间分配模型发布请求等。
例如,如果有两个模型服务引擎,预设负载均衡策略是在模型服务引擎之间平均分配模型发布请求,那么,这两个模型服务引擎都可作为目标模型服务引擎。
步骤302、接收模型服务请求。
在具体应用中,本发明实施例所述的方法可应用于图2所示的***。当应用本发明实施例所述的方法时,可在K8s集群创建模型资源以及所述模型资源对应的操作器资源和控制器资源。同时,启动模型服务管理器服务。当启动了模型服务管理器后,即可通过所述模型服务管理器管理所述操作器资源和所述控制器资源。
当需要通过本发明实施例所述的***部署模型服务时,部署方可向该***发送模型服务请求。相应的,该***接收模型服务请求。具体的,通过接口服务器接收该模型服务请求,然后,将其发送给模型服务管理器。
其中,该模型服务请求中可包括模型部署方对待部署的服务的一些需求,包括模型标签信息及通信信息;具体为:所述模型标签信息包括服务类型,所需资源的类型等,所述通信信息包括接口,通信协议类型等。
步骤303、根据所述模型服务请求确定用于提供服务的模型,通过所述模型服务引擎解析所述用于提供服务的模型的推理服务规范,并根据对所述推理服务规范的解析结果提供模型服务。
在此步骤中,所述模型服务引擎解析所述用于提供服务的模型的推理服务规范以确定所述用于提供服务的模型的运行环境及配置所述用于提供服务的模型的运行参数,从而启动模型服务;具体地,模型服务引擎主要是获取所述模型服务请求中对应的推理服务规范,包括对应目标模型的推理的类型,然后根据所述推理的类型,启动推理服务规范(推理图inference_graph)中定义的推理图节点(例如childer和endpoint),也即启动对应所述推理类型的至少一个模型服务。所述模型服务请求对应的推理类型包括:单个模型MODEL、多个模型集成ENSEMBLE或者多模型组合COMBINE。
在提供模型服务的过程中,模型服务管理器根据模型服务器可启动模型服务引擎,从而触发模型服务引擎提供相应的服务。具体的,模型服务引擎可获取所述模型服务请求对应的通信协议类型,然后,根据所述通信协议类型,提供模型服务。其中,所述通信协议类型可以包括REST、GRPC等。
在以上实施例的基础上,在步骤302之后,模型服务管理器还可对所述模型服务请求进行校验。具体的,模型服务管理器根据所述模型服务请求中携带的资源请求类型,确定所述模型服务请求是否与预定义的模型资源相匹配。例如,假设预定义的模型资源为SmsDeployments,那么模型服务管理器确定所述模型服务请求中携带的资源请求类型是否为SmsDeployments。如果是,那么进行后续处理,否则,可通过接口服务器返回拒绝消息等。通过这种方式,可准确的为模型部署方提供服务。
在以上实施例的基础上,在步骤301之前,还可在K8s集群创建模型资源,以及所述模型资源对应的操作器资源和控制器资源,之后,启动模型服务管理器服务,其中,所述模型服务管理器用于管理所述操作器资源和所述控制器资源。
在上述实施例的基础上,由于模型服务引擎还提供了模型预测接口,因此,为了反馈模型的部署和预测结果,模型服务引擎还可根据所述推理服务规范,输出模型预测结果。
在本发明实施例中,根据Kubernetes CRD规范定义了负责创建和管理的资源,命名为SmsDeployments。
其中,SmsDeployments的推理服务规范(推理图inference_graph)主要包括:对应模型参数、模型部署及模型对外交互相关的信息,也即包括定义推理图的规则,具体为包括:推理图中的服务节点(Childeren)、模型输入参数名称(name)、推理的类型(graph_type)、用于提供对外服务的接口(endpoint)等。在一具体实施例中,推理服务规范(推理图)至少包括如下内容:
其中,Childeren用于定义推理图中的服务节点。
name用于对应模型输入参数名称。
graph_type用于定义推理的类型,所述推理的类型包括:MODEL,ENSEMBLE,COMBINE或ABTEST等。其中,MODEL表示单个模型;ENSEMBLE表示多个模型集成,例如可集成采用投票方式;COMBINE表示多模型组合,比如三交叉的模型,最终预测的概率分布为三个模型概率的均值;ABTEST表示将请求流量按比例分配到不同的模型;在本实施例中,所述推理的类型中,当所述推理的类型为单个模型MODEL时,所述提供服务的模型中只会提供单独模型本身的服务,也即,只有模型输入及模型输出;当所述推理的类型为ENSEMBLE,COMBINE或ABTEST时,所述提供服务的模型中都会包括提供针对数据的前置处理及针对单独模型输出的后置处理的服务,所述针对数据的前置处理包括对输入的数据进行特征处理等;例如对输入的图片二值化后再进行向量化,对输入的语音进行文本转化等;所述针对单独模型输出的后置处理包括对模型输出的概率进行处理,使得最终输出的内容就是用户想要的目标内容,如人脸识别,输出的就是对应的识别结果;如智能问答模型,输出的就是对应的语音,如意图识别,输出的就是意图识别的内容等。
endpoint用于提供对外服务的接口。
优选的,在本发明实施例中,SmsDeployments的推理服务规范(推理图inference_graph)定义如图4所示。其中:
Childeren用于定义推理图中的服务节点。
graph_type用于定义推理的类型,包括:MODEL,ENSEMBLE,COMBINE,ABTEST等。其中,MODEL表示单个模型;ENSEMBLE表示多个模型集成,例如可集成采用投票方式;COMBINE表示多模型组合,比如三交叉的模型,最终预测的概率分布为三个模型概率的均值;ABTEST表示将请求流量按比例分配到不同的模型。
通过对多种推理的类型的定义,使得本发明实施例的方案可支持多种服务,如A/BTest(测试)等。
methods用于定义服务的提供方式,可以是REST、GRPC或二者同时提供。
parameters用于定义服务请求参数。
name用于对应模型输入参数名称。
type用于定义参数的类型。
value用于定义参数的值。
endpoint用于提供对外服务的接口。
在本发明实施例中,启动已发布的模型对应的模型服务引擎,以由模型服务引擎根据模型服务请求解析推理服务规范,并根据对所述推理服务规范的解析结果提供模型服务。由此可以看出,通过本发明实施例的方案,可根据模型发布请求启动模型服务引擎,进而由模型服务引擎解析服务推理规范以提供相应的服务,因此,通过这种方式,无需将模型加载到本地,而是可以通过线上部署的方式提供模型服务,从而,利用本发明实施例的方案,可提高模型服务的***性能。
参见图5,图5是本发明实施例提供的提供模型服务的方法的流程图,应用于模型服务引擎,如图5所示,包括以下步骤:
步骤501、接收启动模型服务引擎的请求并启动。
其中,所述启动模型服务引擎的请求是所述模型服务管理器是在接收到模型发布请求的情况下发送给所述模型服务引擎的。
步骤502、解析提供服务的模型的推理服务规范。
在此步骤中,模型服务引擎主要是获取所述模型服务请求对应的推理的类型,然后根据所述推理的类型,启动inference_graph中定义的推理图节点(例如childer和endpoint),也即启动至少一个模型服务。
步骤503、根据对所述推理服务规范的解析结果提供模型服务。
如前所述,在模型服务请求中可包括模型部署方对待部署的服务的一些需求,如接口,服务类型,所需资源的类型,通信协议类型等。因此,在此步骤中,可获取所述模型服务请求对应的通信协议类型,然后,根据所述通信协议类型,提供模型服务。其中,所述通信协议类型可以包括REST、GRPC等。
在本发明实施例中,当接收到模型发布请求后,根据该请求启动模型服务引擎,以由模型服务引擎根据模型服务请求解析推理服务规范,并根据对所述推理服务规范的解析结果提供模型服务。由此可以看出,通过本发明实施例的方案,可根据模型发布请求启动模型服务引擎,进而由模型服务引擎解析服务推理规范以提供相应的服务,因此,通过这种方式,无需将模型加载到本地,而是可以通过线上部署的方式提供模型服务,从而,利用本发明实施例的方案,可提高模型服务的***性能。
在上述实施例的基础上,由于模型服务引擎还提供了模型预测接口,因此,为了反馈模型的部署和预测结果,模型服务引擎还可根据所述推理服务规范,输出模型预测结果。
在实际应用中,创建了SmsDeployment资源后,按照SmsDeployment的约束定义模型服务,如要部署一个graph_type=MODEL的服务,具体如下:
在部署服务时,可通过kubectl或者kubernetes sdk将如上定义的服务请求k8s的KubemetesAPIServer。sms-manager根据接收到的请求启动sms-motor。之后,sms-motor解析inference_graph,并根据定义的通信协议类型(methods)提供服务;同时sms-motor启动inference_graph中定义的推理图节点,即一个或多个sms-model服务。此外,Sms-model还定义了模型预测接口,并负责启动模型预测服务。
本发明实施例还提供了一种提供模型服务的装置,应用于模型服务管理器。参见图6,图6是本发明实施例提供的提供模型服务的装置的结构图。由于提供模型服务的装置解决问题的原理与本发明实施例中提供模型服务的方法相似,因此该提供模型服务的装置的实施可以参见方法的实施,重复之处不再赘述。
如图6所示,提供模型服务的装置600包括:
第一启动模块601,用于启动已发布的模型对应的模型服务引擎;第一接收模块602,用于接收模型服务请求;第一处理模块603,用于根据所述模型服务请求确定用于提供服务的模型,通过所述模型服务引擎解析所述用于提供服务的模型的推理服务规范,并根据对所述推理服务规范的解析结果提供模型服务。
可选的,所述第一处理模块603可包括:第一获取子模块,用于获取所述模型服务请求对应的推理的类型;第一启动子模块,用于根据所述推理的类型,启动对应所述推理类型的模型服务;第二获取子模块,用于获取所述模型服务请求对应的通信协议类型;第一处理子模块,用于根据所述通信协议类型,提供模型服务。
可选的,所述第一启动模块601可包括:选择子模块,用于根据预设负载均衡策略,从所述多个待启动的模型服务引擎确定目标模型服务引擎;启动子模块,用于根据所述模型发布请求启动所述目标模型服务引擎。
可选的,所述装置还可包括:校验模块,用于对所述模型服务请求进行校验。所述校验模块具体用于,根据所述模型服务请求中携带的资源请求类型,确定所述模型服务请求是否与预定义的模型资源相匹配。
可选的,所述装置还可包括:创建模块,用于在K8s集群创建模型资源,以及所述模型资源对应的操作器资源和控制器资源;启动模块,用于启动模型服务管理器服务,其中,所述模型服务管理器用于管理所述操作器资源和所述控制器资源。
可选的,所述装置还可包括:输出模块,用于根据所述推理服务规范,输出模型预测结果。
本发明实施例提供的装置,可以执行上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
本发明实施例还提供了一种提供模型服务的装置,应用于模型服务引擎。参见图7,图7是本发明实施例提供的提供模型服务的装置的结构图。由于提供模型服务的装置解决问题的原理与本发明实施例中提供模型服务的方法相似,因此该提供模型服务的装置的实施可以参见方法的实施,重复之处不再赘述。
如图7所示,提供模型服务的装置700包括:
第一启动模块701,用于接收启动模型服务引擎的请求并启动;第一解析模块702,用于解析提供服务的模型的推理服务规范;第一处理模块703,用于根据对所述推理服务规范的解析结果提供模型服务。
可选的,所述第一解析模块702可包括:第一获取子模块,用于获取所述模型服务请求对应的推理的类型;第一启动子模块,用于根据所述推理的类型,启动对应所述推理类型的模型服务。
可选的,所述第一处理模块703可包括:第一获取子模块,用于获取所述模型服务请求对应的通信协议类型;第一处理子模块,用于根据所述通信协议类型,提供模型服务。
可选的,所述装置还可包括:输出模块,用于根据所述推理服务规范,输出模型预测结果。
本发明实施例提供的装置,可以执行上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
如图8所示,本发明实施例的电子设备,包括:处理器800,用于读取存储器820中的程序,执行下列过程:
启动已发布的模型对应的模型服务引擎;
接收模型服务请求;
根据所述模型服务请求确定用于提供服务的模型,通过所述模型服务引擎解析所述用于提供服务的模型的推理服务规范,并根据对所述推理服务规范的解析结果提供模型服务。
其中,在图8中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器800代表的一个或多个处理器和存储器820代表的存储器的各种电路链接在一起。总线架构还可以将诸如***设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。处理器800负责管理总线架构和通常的处理,存储器820可以存储处理器800在执行操作时所使用的数据。
处理器800负责管理总线架构和通常的处理,存储器820可以存储处理器800在执行操作时所使用的数据。
处理器800还用于读取所述程序,执行如下步骤:
对所述模型服务请求进行校验。
处理器800还用于读取所述程序,执行如下步骤:
根据所述模型服务请求中携带的资源请求类型,确定所述模型服务请求是否与预定义的模型资源相匹配。
处理器800还用于读取所述程序,执行如下步骤:
在K8s集群创建模型资源,以及所述模型资源对应的操作器资源和控制器资源;
启动模型服务管理器服务,其中,所述模型服务管理器用于管理所述操作器资源和所述控制器资源。
处理器800还用于读取所述程序,执行如下步骤:
获取所述模型服务请求对应的推理的类型;
根据所述推理的类型,启动对应所述推理类型的模型服务。
所述模型服务请求对应的推理类型包括:单个模型MODEL、多个模型集成ENSEMBLE或者多模型组合COMBINE。
处理器800还用于读取所述程序,执行如下步骤:
获取所述模型服务请求对应的通信协议类型;
根据所述通信协议类型,提供模型服务。
处理器800还用于读取所述程序,执行如下步骤:
根据预设负载均衡策略,从所述多个待启动的模型服务引擎确定目标模型服务引擎;
根据所述模型发布请求启动所述目标模型服务引擎。
本发明实施例提供的设备,可以执行上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
如图9所示,本发明实施例的电子设备,包括:处理器900,用于读取存储器920中的程序,执行下列过程:
接收启动模型服务引擎的请求并启动;
解析提供服务的模型的推理服务规范;
根据对所述推理服务规范的解析结果提供模型服务。
其中,在图9中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器900代表的一个或多个处理器和存储器920代表的存储器的各种电路链接在一起。总线架构还可以将诸如***设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。处理器900负责管理总线架构和通常的处理,存储器920可以存储处理器900在执行操作时所使用的数据。
处理器900负责管理总线架构和通常的处理,存储器920可以存储处理器900在执行操作时所使用的数据。
处理器900还用于读取所述程序,执行如下步骤:
获取所述模型服务请求对应的推理的类型;
根据所述推理的类型,启动对应所述推理类型的模型服务。
处理器900还用于读取所述程序,执行如下步骤:
获取所述模型服务请求对应的通信协议类型;
根据所述通信协议类型,提供模型服务。
处理器900还用于读取所述程序,执行如下步骤:
根据所述推理服务规范,输出模型预测结果。
本发明实施例还提供一种可读存储介质,可读存储介质上存储有程序,该程序被处理器执行时实现上述提供模型服务的方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的可读存储介质,如只读存储器(Read-OnlyMemory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁盘或者光盘等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。根据这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁盘、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
Claims (10)
1.一种提供模型服务的方法,其特征在于,包括:
启动已发布的模型对应的模型服务引擎;
接收模型服务请求;
根据所述模型服务请求确定用于提供服务的模型,通过所述模型服务引擎解析所述用于提供服务的模型的推理服务规范,并根据对所述推理服务规范的解析结果提供模型服务。
2.根据权利要求1所述的方法,其特征在于,在所述接收模型服务请求之后,所述方法还包括:
对所述模型服务请求进行校验,包括:
根据所述模型服务请求中携带的资源请求类型,确定所述模型服务请求是否与预定义的模型资源相匹配。
3.根据权利要求1所述的方法,其特征在于,在启动已发布的模型对应的模型服务引擎之前,所述方法还包括:
在K8s集群创建模型资源,以及所述模型资源对应的操作器资源和控制器资源;
启动模型服务管理器服务,其中,所述模型服务管理器用于管理所述操作器资源和所述控制器资源。
4.根据权利要求1所述的方法,其特征在于,所述解析推理服务规范,包括:
获取所述模型服务请求对应的推理的类型;
根据所述推理的类型,启动对应所述推理类型的模型服务。
5.根据权利要求4所述的方法,其特征在于,所述模型服务请求对应的推理类型包括:单个模型MODEL、多个模型集成ENSEMBLE或者多模型组合COMBINE。
6.根据权利要求1所述的方法,其特征在于,所述根据对所述推理服务规范的解析结果提供模型服务,包括:
获取所述模型服务请求对应的通信协议类型;
根据所述通信协议类型,提供模型服务。
7.根据权利要求1所述的方法,其特征在于,如果有多个待启动的模型服务引擎,所述启动已发布的模型对应的模型服务引擎,包括:
根据预设负载均衡策略,从所述多个待启动的模型服务引擎确定目标模型服务引擎;
根据所述模型发布请求启动所述目标模型服务引擎。
8.一种提供模型服务的方法,应用于模型服务引擎,其特征在于,包括:
接收启动模型服务引擎的请求并启动;
解析提供服务的模型的推理服务规范;
根据对所述推理服务规范的解析结果提供模型服务。
9.一种提供模型服务的装置,其特征在于,包括:
第一启动模块,用于启动已发布的模型对应的模型服务引擎;
第一接收模块,用于接收模型服务请求;
第一处理模块,用于根据所述模型服务请求确定用于提供服务的模型,通过所述模型服务引擎解析所述用于提供服务的模型的推理服务规范,并根据对所述推理服务规范的解析结果提供模型服务。
10.一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的程序;其特征在于,所述处理器,用于读取存储器中的程序实现包括如权利要求1至7中任一项所述的提供模型服务的方法中的步骤;或者,实现包括如权利要求8所述的提供模型服务的方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010940558.3A CN112035218A (zh) | 2020-09-09 | 2020-09-09 | 一种提供模型服务的方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010940558.3A CN112035218A (zh) | 2020-09-09 | 2020-09-09 | 一种提供模型服务的方法、装置及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112035218A true CN112035218A (zh) | 2020-12-04 |
Family
ID=73583970
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010940558.3A Pending CN112035218A (zh) | 2020-09-09 | 2020-09-09 | 一种提供模型服务的方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112035218A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113419750A (zh) * | 2021-08-24 | 2021-09-21 | 北京华品博睿网络技术有限公司 | 一种模型推理服务调用***和方法 |
CN113608751A (zh) * | 2021-08-04 | 2021-11-05 | 北京百度网讯科技有限公司 | 推理服务平台的运行方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109002362A (zh) * | 2017-06-06 | 2018-12-14 | 阿里巴巴集团控股有限公司 | 一种服务方法、装置、***以及电子设备 |
CN110555550A (zh) * | 2019-08-22 | 2019-12-10 | 阿里巴巴集团控股有限公司 | 在线预测服务的部署方法、装置及设备 |
CN111414233A (zh) * | 2020-03-20 | 2020-07-14 | 京东数字科技控股有限公司 | 一种在线模型推理*** |
-
2020
- 2020-09-09 CN CN202010940558.3A patent/CN112035218A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109002362A (zh) * | 2017-06-06 | 2018-12-14 | 阿里巴巴集团控股有限公司 | 一种服务方法、装置、***以及电子设备 |
CN110555550A (zh) * | 2019-08-22 | 2019-12-10 | 阿里巴巴集团控股有限公司 | 在线预测服务的部署方法、装置及设备 |
CN111414233A (zh) * | 2020-03-20 | 2020-07-14 | 京东数字科技控股有限公司 | 一种在线模型推理*** |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113608751A (zh) * | 2021-08-04 | 2021-11-05 | 北京百度网讯科技有限公司 | 推理服务平台的运行方法、装置、设备及存储介质 |
CN113608751B (zh) * | 2021-08-04 | 2023-04-07 | 北京百度网讯科技有限公司 | 推理服务平台的运行方法、装置、设备及存储介质 |
CN113419750A (zh) * | 2021-08-24 | 2021-09-21 | 北京华品博睿网络技术有限公司 | 一种模型推理服务调用***和方法 |
CN113419750B (zh) * | 2021-08-24 | 2021-11-02 | 北京华品博睿网络技术有限公司 | 一种模型推理服务调用***和方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110807515A (zh) | 模型生成方法和装置 | |
US20210134292A1 (en) | Graph based prediction for next action in conversation flow | |
US20200125926A1 (en) | Dynamic Batch Sizing for Inferencing of Deep Neural Networks in Resource-Constrained Environments | |
CN110781180B (zh) | 一种数据筛选方法和数据筛选装置 | |
CN112035218A (zh) | 一种提供模型服务的方法、装置及设备 | |
CN111340220A (zh) | 用于训练预测模型的方法和装置 | |
CN114296933A (zh) | 端边云架构下轻量化容器的实现方法、数据处理*** | |
CN115358401A (zh) | 一种推理服务的处理方法、装置、计算机设备及存储介质 | |
CN114238237A (zh) | 任务处理方法、装置、电子设备和计算机可读存储介质 | |
CN113554180B (zh) | 信息预测方法、装置、电子设备及存储介质 | |
CN113191889A (zh) | 风控配置方法、配置***、电子设备及可读存储介质 | |
CN113849300A (zh) | 一种边缘配置***及方法 | |
WO2023216857A1 (en) | Multi-agent chatbot with multi-intent recognition | |
CN116932147A (zh) | 流式作业处理方法、装置、电子设备及介质 | |
CN116302464A (zh) | 基于单向链表的云平台资源编排方法、装置及电子设备 | |
CN116302448A (zh) | 任务调度方法和*** | |
CN115713216A (zh) | 一种机器人调度方法及相关设备 | |
CN112230911B (zh) | 模型部署方法、装置、计算机设备和存储介质 | |
CN113743425A (zh) | 一种生成分类模型的方法和装置 | |
CN114997401B (zh) | 自适应推理加速方法、装置、计算机设备和存储介质 | |
CN114827228B (zh) | 链路处理方法及装置 | |
CN112035643B (zh) | 一种对话机器人能力复用的方法和装置 | |
CN118246434A (zh) | 一种模型文件解析方法、装置、电子设备及存储介质 | |
CN113825149B (zh) | 5g切片网元功能自动裁剪方法、装置及计算设备 | |
KR102642396B1 (ko) | 제한된 gpu리소스를 사용한 딥러닝 추론 모델을 위한 배치 스케줄링 장치 |
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 |