CN113553067A - 一种基于rest的多框架机器学习模型部署预测方法 - Google Patents
一种基于rest的多框架机器学习模型部署预测方法 Download PDFInfo
- Publication number
- CN113553067A CN113553067A CN202110859679.XA CN202110859679A CN113553067A CN 113553067 A CN113553067 A CN 113553067A CN 202110859679 A CN202110859679 A CN 202110859679A CN 113553067 A CN113553067 A CN 113553067A
- Authority
- CN
- China
- Prior art keywords
- model
- prediction
- request
- rest
- deployment
- 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
- 238000010801 machine learning Methods 0.000 title claims abstract description 38
- 238000000034 method Methods 0.000 title claims abstract description 22
- 238000004806 packaging method and process Methods 0.000 claims abstract description 8
- 238000012795 verification Methods 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 4
- 238000002955 isolation Methods 0.000 claims description 3
- 230000001360 synchronised effect Effects 0.000 claims description 3
- 230000006978 adaptation Effects 0.000 abstract description 4
- 238000011161 development Methods 0.000 abstract description 4
- 238000012423 maintenance Methods 0.000 abstract description 4
- 238000007405 data analysis Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- 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)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于REST的多框架机器学习模型部署预测方法,包括如下步骤:S1、通过REST部署接口接收模型部署请求,并对请求体及其模型文件进行初步校验;S2、通过模型管理器解析模型文件,强校验并存储模型文件及其元数据信息;S3、通过模型部署处理器部署相应的机器学习框架模型;S4、通过REST输入接口接收模型预测请求,并封装为标准请求体;S5、通过预测任务调度器进行任务调度;S6、通过预测管理器启动不同机器学习框架的预测作业;S7、通过预测结果处理器返回预测结果。本发明通过封装的REST接口统一模型部署、预测的输入和输出格式,可减轻模型的开发、适配、维护及使用成本。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种基于REST的多框架机器学习模型部署预测方法。
背景技术
随着人工智能时代的到来,数据分析人员会使用各种不同的机器学习框架进行数据分析,如TensorFlow、PyTorch、XGBoost、ScikitLearn等。目前通过REST部署和预测机器学习模型的开源方案中,仍存在较多不足,例如:Openscoring只支持PMML模型的部署,会造成预测结果的偏差,无法支持复杂模型部署等;而Tensorflow Serving虽然支持复杂模型的预测,但是无法支持其他机器学习框架模型、无法通过REST方式进行模型部署,模型的动态更新也需要通过gRPC的方式进行手动处理。
针对不同机器学习框架训练出来的模型,开发人员通常要引入多种开源组件才能部署不同的模型,而且部署模型所需的运行环境和预测数据格式也都有所不同,导致其开发、适配、使用和维护成本都很高。
发明内容
为解决上述问题,本发明提供了一种基于REST的多框架机器学习模型部署预测方法。
本发明采用以下技术方案:
一种基于REST的多框架机器学习模型部署预测方法,包括如下步骤:
S1、通过REST部署接口接收模型部署请求,并对请求体及其模型文件进行初步校验;
S2、通过模型管理器解析模型文件,强校验并存储模型文件及其元数据信息;
S3、通过模型部署处理器部署相应的机器学习框架模型;
S4、通过REST输入接口接收模型预测请求,并封装为标准请求体;
S5、通过预测任务调度器进行任务调度;
S6、通过预测管理器启动不同机器学习框架的预测作业;
S7、通过预测结果处理器返回预测结果。
进一步地,步骤S1具体包括如下步骤:
S11、REST部署接口接收模型部署请求;
S12、进行初步校验,所述初步校验即先校验请求体格式的有效性,再对请求体中的模型文件的大小和格式进行校验;
S13、初步校验通过后,将模型文件转发到模型管理器。
进一步地,步骤S2具体包括如下步骤:
S21、模型管理器对上传的模型文件进行解析,通过后缀名称判断模型所属的模型框架;
S22、根据相应模型框架的格式规范对模型文件和内容进行格式的强校验;
S23、强校验通过后,存储模型文件及其元数据信息,然后调用模型部署处理器进行下一步操作。
进一步地,所述元数据信息包括模型文件的路径、大小及类型。
进一步地,步骤S3具体包括如下步骤:
S31、模型部署处理器接收到部署请求后,根据所述元数据信息遍历模型部署处理器列表,查找对应的模型部署处理器,并从模型管理器获取模型文件进行模型部署;
S32、部署时,先判断模型服务是否存在,若存在则另起一个服务,并根据请求量逐步关闭旧模型服务,实现动态更新;
S33、模型部署成功后,根据不同的模型部署请求生成相对应的REST输入接口。
进一步地,步骤S4具体包括如下步骤:
S41、接收到模型预测请求后,对REST输入接口进行权限校验和限流处理,并记录模型预测请求的接口日志;所述模型预测请求包括在线预测请求和离线批量预测请求;
S42、根据模型预测请求的类型及对应的REST输入接口,将模型预测请求分别封装为标准格式的请求体,并提交给预测任务调度器。
进一步地,在步骤S5中,预测任务调度器对在线预测请求和离线批量预测请求进行资源隔离:对于在线预测请求实时响应;对于离线批量预测请求则进入执行队列中排队,当任务执行超过5小时,则取消任务释放集群资源。
进一步地,步骤S6具体为:预测管理器读取预测任务列表,获取模型文件的元数据信息和预测任务的详细信息,使用不同的机器学习框架进行预测,预测过程中记录服务器的CPU、GPU、内存及资源使用情况、统计任务耗时指标。
进一步地,所述机器学习框架包括TensorFlow、PyTorch、XGBoost、ScikitLearn、PMML或H20中的一种或几种。
进一步地,步骤S7中所述预测结果处理器根据预测请求的类型提供相对应的REST输出接口,并返回标准格式的预测结果;其中,针对在线预测请求提供同步REST输出接口,针对离线批量预测请求提供异步REST输出接口。
采用上述技术方案后,本发明与背景技术相比,具有如下优点:
1、本发明通过封装统一的REST接口,可以对各种不同机器学习框架生成的模型按照标准的请求格式进行部署、在线预测和离线批量预测,支持TensorFlow、PyTorch、XGBoost、ScikitLearn、PMML、H20等多种格式的机器学习模型;
2、本发明通过提供标准的REST部署接口进行部署,统一模型部署格式,能够屏蔽中间的调用细节和不同机器学习框架部署模型的差异,实现代码层面的解耦,减少部署模块代码变动对业务的影响;
3、本发明通过REST输入接口和输出接口,统一预测的输入和输出格式,可减轻开发人员的开发、适配和维护成本,同时也可大大降低数据分析人员的使用成本,从而更加专注于数据分析的本身。
附图说明
图1为本发明的方法流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
实施例
如图1所示,一种基于REST的多框架机器学习模型部署预测方法,包括如下步骤:
S1、通过REST部署接口接收模型部署请求,并对请求体及其模型文件进行初步校验;
步骤S1具体包括如下步骤:
S11、REST部署接口接收模型部署请求;
S12、进行初步校验,所述初步校验即先校验请求体格式的有效性,再对请求体中的模型文件的大小和格式进行校验;
S13、初步校验通过后,将模型文件转发到模型管理器。
S2、通过模型管理器解析模型文件,强校验并存储模型文件及其元数据信息;
步骤S2具体包括如下步骤:
S21、模型管理器对上传的模型文件进行解析,通过后缀名称判断模型所属的模型框架;
S22、根据相应模型框架的格式规范对模型文件和内容进行格式的强校验;
S23、强校验通过后,存储模型文件及其元数据信息,然后调用模型部署处理器进行下一步操作。
所述元数据信息包括模型文件的路径、大小及类型。
S3、通过模型部署处理器部署相应的机器学习框架模型;
步骤S3具体包括如下步骤:
S31、模型部署处理器接收到部署请求后,根据所述元数据信息遍历模型部署处理器列表,查找对应的模型部署处理器,并从模型管理器获取模型文件进行模型部署;
S32、部署时,先判断模型服务是否存在,若存在则另起一个服务,并根据请求量逐步关闭旧模型服务,实现动态更新;
S33、模型部署成功后,根据不同的模型部署请求生成相对应的REST输入接口,可同时支持多个模型服务。
S4、通过REST输入接口接收模型预测请求,并封装为标准请求体;
步骤S4具体包括如下步骤:
S41、REST输入接口上线后,开始等待模型预测请求,接收到模型预测请求后,对REST输入接口进行权限校验和限流处理,并记录模型预测请求的接口日志;所述模型预测请求包括在线预测请求和离线批量预测请求;
S42、根据模型预测请求的类型及对应的REST输入接口,将模型预测请求分别封装为标准格式的请求体,并提交给预测任务调度器。
S5、通过预测任务调度器,根据部署资源池的资源使用情况进行进行任务调度;
在步骤S5中,预测任务调度器对在线预测请求和离线批量预测请求进行资源隔离:对于在线预测请求实时响应,以确保在线预测的响应结果;对于离线批量预测请求则进入执行队列中排队,当任务执行超过5小时,则取消任务释放集群资源。
S6、通过预测管理器启动不同机器学习框架的预测作业;
步骤S6具体为:预测管理器读取预测任务列表,获取模型文件的元数据信息和预测任务的详细信息,使用不同的机器学习框架进行预测,预测过程中记录服务器的CPU、GPU、内存及资源使用情况、统计任务耗时指标。
所述机器学习框架包括TensorFlow、PyTorch、XGBoost、ScikitLearn、PMML或H20中的一种或几种。
S7、通过预测结果处理器返回预测结果。
步骤S7中所述预测结果处理器根据预测请求的类型提供相对应的REST输出接口,并返回标准格式的预测结果;
其中,针对在线预测请求这种实时性要求高的请求,提供同步REST输出接口;针对离线批量预测请求则提供异步REST输出接口。预测请求后,返回JobId,后续通过JobId可查询任务执行状态和结果集存放位置等。
本实施例通过REST接口统一模型部署、预测的输入和输出格式,可减轻开发人员的开发、适配和维护成本,同时也可大大降低数据分析人员的使用成本,从而更加专注于数据分析的本身。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (10)
1.一种基于REST的多框架机器学习模型部署预测方法,其特征在于:包括如下步骤:
S1、通过REST部署接口接收模型部署请求,并对请求体及其模型文件进行初步校验;
S2、通过模型管理器解析模型文件,强校验并存储模型文件及其元数据信息;
S3、通过模型部署处理器部署相应的机器学习框架模型;
S4、通过REST输入接口接收模型预测请求,并封装为标准请求体;
S5、通过预测任务调度器进行任务调度;
S6、通过预测管理器启动不同机器学习框架的预测作业;
S7、通过预测结果处理器返回预测结果。
2.如权利要求1所述的一种基于REST的多框架机器学习模型部署预测方法,其特征在于:步骤S1具体包括如下步骤:
S11、REST部署接口接收模型部署请求;
S12、进行初步校验,所述初步校验即先校验请求体格式的有效性,再对请求体中的模型文件的大小和格式进行校验;
S13、初步校验通过后,将模型文件转发到模型管理器。
3.如权利要求2所述的一种基于REST的多框架机器学习模型部署预测方法,其特征在于:步骤S2具体包括如下步骤:
S21、模型管理器对上传的模型文件进行解析,通过后缀名称判断模型所属的模型框架;
S22、根据相应模型框架的格式规范对模型文件和内容进行格式的强校验;
S23、强校验通过后,存储模型文件及其元数据信息,然后调用模型部署处理器进行下一步操作。
4.如权利要求3所述的一种基于REST的多框架机器学习模型部署预测方法,其特征在于:所述元数据信息包括模型文件的路径、大小及类型。
5.如权利要求3所述的一种基于REST的多框架机器学习模型部署预测方法,其特征在于:步骤S3具体包括如下步骤:
S31、模型部署处理器接收到部署请求后,根据所述元数据信息遍历模型部署处理器列表,查找对应的模型部署处理器,并从模型管理器获取模型文件进行模型部署;
S32、部署时,先判断模型服务是否存在,若存在则另起一个服务,并根据请求量逐步关闭旧模型服务,实现动态更新;
S33、模型部署成功后,根据不同的模型部署请求生成相对应的REST输入接口。
6.如权利要求5所述的一种基于REST的多框架机器学习模型部署预测方法,其特征在于:步骤S4具体包括如下步骤:
S41、接收到模型预测请求后,对REST输入接口进行权限校验和限流处理,并记录模型预测请求的接口日志;所述模型预测请求包括在线预测请求和离线批量预测请求;
S42、根据模型预测请求的类型及对应的REST输入接口,将模型预测请求分别封装为标准格式的请求体,并提交给预测任务调度器。
7.如权利要求6所述的一种基于REST的多框架机器学习模型部署预测方法,其特征在于:在步骤S5中,预测任务调度器对在线预测请求和离线批量预测请求进行资源隔离:对于在线预测请求实时响应;对于离线批量预测请求则进入执行队列中排队,当任务执行超过5小时,则取消任务释放集群资源。
8.如权利要求7所述的一种基于REST的多框架机器学习模型部署预测方法,其特征在于:步骤S6具体为:预测管理器读取预测任务列表,获取模型文件的元数据信息和预测任务的详细信息,使用不同的机器学习框架进行预测,预测过程中记录服务器的CPU、GPU、内存及资源使用情况、统计任务耗时指标。
9.如权利要求8所述的一种基于REST的多框架机器学习模型部署预测方法,其特征在于:所述机器学习框架包括TensorFlow、PyTorch、XGBoost、ScikitLearn、PMML或H20中的一种或几种。
10.如权利要求8所述的一种基于REST的多框架机器学习模型部署预测方法,其特征在于:步骤S7中所述预测结果处理器根据预测请求的类型提供相对应的REST输出接口,并返回标准格式的预测结果;其中,针对在线预测请求提供同步REST输出接口,针对离线批量预测请求提供异步REST输出接口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110859679.XA CN113553067A (zh) | 2021-07-28 | 2021-07-28 | 一种基于rest的多框架机器学习模型部署预测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110859679.XA CN113553067A (zh) | 2021-07-28 | 2021-07-28 | 一种基于rest的多框架机器学习模型部署预测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113553067A true CN113553067A (zh) | 2021-10-26 |
Family
ID=78133117
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110859679.XA Pending CN113553067A (zh) | 2021-07-28 | 2021-07-28 | 一种基于rest的多框架机器学习模型部署预测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113553067A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114116051A (zh) * | 2021-11-17 | 2022-03-01 | 招联消费金融有限公司 | 基于神经网络模型的处理方法、装置、设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110083334A (zh) * | 2018-01-25 | 2019-08-02 | 北京顺智信科技有限公司 | 模型上线的方法及装置 |
CN111917634A (zh) * | 2020-07-02 | 2020-11-10 | 西安交通大学 | 基于pmml的工业网关机器学习模型容器式部署系统及方法 |
CN112130976A (zh) * | 2020-09-21 | 2020-12-25 | 厦门南讯股份有限公司 | 一种基于rest的多引擎大数据任务管理方法 |
US20210107141A1 (en) * | 2019-10-15 | 2021-04-15 | UiPath, Inc. | Integration of heterogeneous models into robotic process automation workflows |
-
2021
- 2021-07-28 CN CN202110859679.XA patent/CN113553067A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110083334A (zh) * | 2018-01-25 | 2019-08-02 | 北京顺智信科技有限公司 | 模型上线的方法及装置 |
US20210107141A1 (en) * | 2019-10-15 | 2021-04-15 | UiPath, Inc. | Integration of heterogeneous models into robotic process automation workflows |
CN111917634A (zh) * | 2020-07-02 | 2020-11-10 | 西安交通大学 | 基于pmml的工业网关机器学习模型容器式部署系统及方法 |
CN112130976A (zh) * | 2020-09-21 | 2020-12-25 | 厦门南讯股份有限公司 | 一种基于rest的多引擎大数据任务管理方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114116051A (zh) * | 2021-11-17 | 2022-03-01 | 招联消费金融有限公司 | 基于神经网络模型的处理方法、装置、设备和存储介质 |
CN114116051B (zh) * | 2021-11-17 | 2024-03-22 | 招联消费金融股份有限公司 | 基于神经网络模型的处理方法、装置、设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2998863B1 (en) | Converting a serial transaction schedule to a parallel transaction schedule | |
CN108536532B (zh) | 一种批量任务处理方法及系统 | |
US9870268B2 (en) | Virtual computing instance migration | |
US20110145643A1 (en) | Reproducible test framework for randomized stress test | |
US11195101B2 (en) | Determining applications based on interactions of different electronic devices | |
US11294740B2 (en) | Event to serverless function workflow instance mapping mechanism | |
US20180067846A1 (en) | Apparatus and method for expanding the scope of systems management applications by runtime independence | |
CN111694620B (zh) | 第三方业务的交互方法、装置、设备及计算机存储介质 | |
CN116719622A (zh) | 业务流程的编排方法及业务流程编排系统 | |
CN111144804A (zh) | 一种订单处理方法、装置及系统 | |
CN113553067A (zh) | 一种基于rest的多框架机器学习模型部署预测方法 | |
CN113448988A (zh) | 算法模型的训练方法、装置、电子设备及存储介质 | |
US20060136933A1 (en) | Server-side eventing for managed server applications | |
CN117032573A (zh) | 微服务执行方法、电子设备及可读存储介质 | |
CN113746685B (zh) | 基于pulsar日志采集流处理方法、处理装置及可读存储介质 | |
CN115080433A (zh) | 基于流量回放的测试方法及装置 | |
CN111881025B (zh) | 一种自动化测试任务调度方法、装置及系统 | |
CN116467156A (zh) | 联调测试方法、装置、存储介质及电子设备 | |
CN112667393A (zh) | 分布式任务计算调度框架搭建的方法、装置及计算机设备 | |
CN113837870A (zh) | 金融风险数据审批方法及装置 | |
CN108694046B (zh) | 容器装配方法和装置 | |
CN112486421B (zh) | 一种数据存储方法、装置、电子设备及存储介质 | |
CN111382057A (zh) | 测试用例生成方法,测试方法及装置,服务器及存储介质 | |
US11429513B1 (en) | Testing and verifying cloud services using a computational graph | |
CN111666156B (zh) | 一种容器编排方法、装置、设备和存储介质 |
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 |