CN112540835B - 一种混合机器学习模型的运行方法、装置及相关设备 - Google Patents
一种混合机器学习模型的运行方法、装置及相关设备 Download PDFInfo
- Publication number
- CN112540835B CN112540835B CN202011454330.XA CN202011454330A CN112540835B CN 112540835 B CN112540835 B CN 112540835B CN 202011454330 A CN202011454330 A CN 202011454330A CN 112540835 B CN112540835 B CN 112540835B
- Authority
- CN
- China
- Prior art keywords
- machine learning
- learning model
- running
- pipeline
- 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.)
- Active
Links
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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (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)
- Feedback Control In General (AREA)
Abstract
本发明公开了一种混合机器学习模型的运行方法、装置及相关设备,可以获得初始输入数据,使用流水线引擎解析流水线定义文件以确定各机器学习模型的运行次序,将初始输入数据输入至混合机器学习模型中运行次序为第一的机器学习模型,按照已确定的运行次序,依次使用运行环境运行相应的机器学习模型,获得由混合机器学习模型输出的最终输出数据。本发明可以在获得由客户端发送的包括初始输入数据的一次数据指令之后,控制混合机器学习模型运行而获得混合机器学习模型输出的最终输出数据,而无需客户端再发送数据指令,可以减少客户端与电子设备即服务端间的交互次数,减少客户端与服务端进行交互所产生的网络延时,有效提高服务效率。
Description
技术领域
本发明涉及机器学习技术领域,尤其涉及一种混合机器学习模型的运行方法、装置及相关设备。
背景技术
随着人工智能科学技术的快速发展,机器学习技术不断提高。
当前,现有技术在需要使用混合机器学习模型为用户提供相关服务时,可以将混合机器学习模型中的各机器学习模型部署在服务端,将调用各机器学习模型运行的控制逻辑部署在客户端。服务端可以将混合机器学习模型的输出数据返回至客户端,为用户提供相关服务。
其中,现有技术在使用混合机器学习模型提供服务时,客户端需通过发送多次网络请求至服务端来控制各机器学习模型开始运行,比如,当混合机器学习模型中包含两个机器学习模型时,客户端需发送一次数据指令至服务端以控制一个机器学习模型开始运行,之后需再发送一次数据指令至服务端以控制另一个机器学习模型开始运行。
但是,客户端向服务端发送的数据指令次数多,会导致客户端与服务端交互次数多,服务效率低。
发明内容
鉴于上述问题,本发明提供一种克服上述问题或者至少部分地解决上述问题的混合机器学习模型的运行方法、装置及相关设备,技术方案如下:
一种混合机器学习模型的运行方法,所述混合机器学习模型中包括有多个机器学习模型,所述方法应用于电子设备,所述电子设备保存有流水线定义文件,所述电子设备部署有流水线引擎、各所述机器学习模型和各所述机器学习模型分别对应的各运行环境,所述方法包括:
获得待输入至所述混合机器学习模型的初始输入数据;
使用所述流水线引擎解析所述流水线定义文件,以确定各所述机器学习模型的运行次序,所述流水线定义文件中包括各所述机器学习模型间的运行次序;
将所述初始输入数据输入至所述混合机器学习模型中所述运行次序为第一的至少一个机器学习模型,按照已确定的各所述机器学习模型的运行次序,依次使用运行环境运行相应的机器学习模型,获得由所述混合机器学习模型输出的最终输出数据。
可选的,所述电子设备保存有多个流水线定义文件,所述获得待输入至所述混合机器学习模型的初始输入数据,包括:
接收对第一服务的服务请求指令,所述服务请求指令中包含所述初始输入数据和所述第一服务的服务类别;
在所述使用所述流水线引擎解析所述流水线定义文件之前,所述方法还包括:
从各所述流水线定义文件中,确定所述第一服务的服务类别匹配的第一流水线定义文件;
所述使用所述流水线引擎解析所述流水线定义文件,以确定各所述机器学习模型的运行次序,包括:
使用所述流水线引擎解析所述第一流水线定义文件,以确定所述第一服务的服务类别匹配的各所述机器学习模型的运行次序。
可选的,所述按照已确定的各所述机器学习模型的运行次序,依次使用运行环境运行相应的机器学习模型,包括:
获得当前运行的机器学习模型的输出数据,将当前运行的机器学习模型的输出数据输入至下一运行次序的机器学习模型,并使用相应的运行环境运行所述下一运行次序的机器学习模型,返回执行所述获得当前运行的机器学习模型的输出数据的步骤。
可选的,所述电子设备还部署有各所述机器学习模型分别对应的各动态库,在所述将当前运行的机器学习模型的输出数据输入至下一运行次序的机器学习模型之前,所述方法还包括:
使用相应的动态库对当前运行的机器学习模型的输出数据进行处理,以获得适配于下一运行次序的机器学习模型的数据;
所述将当前运行的机器学习模型的输出数据输入至下一运行次序的机器学习模型,包括:
将所述适配于下一运行次序的机器学习模型的数据输入至下一运行次序的机器学习模型。
可选的,在所述依次使用运行环境运行相应的机器学习模型之前,所述方法还包括:
依次使用运行环境加载相应的机器学习模型;
所述依次使用运行环境运行相应的机器学习模型,包括:
依次使用运行环境运行已加载好的机器学习模型。
可选的,在所述依次使用运行环境运行已加载好的机器学习模型之前,所述方法还包括:
对于已加载好的一个机器学习模型:识别当前已加载好的该机器学习模型的版本标识,确定该版本标识是否为该机器学习模型的最新版本标识,如果不是,则使用相应的运行环境卸载当前已加载好的该机器学习模型,并使用相应的运行环境加载最新版本标识的该机器学习模型。
一种混合机器学习模型的运行装置,所述混合机器学习模型中包括有多个机器学习模型,所述混合机器学习模型的运行装置应用于电子设备,所述电子设备保存有流水线定义文件,所述电子设备部署有流水线引擎、各所述机器学习模型和各所述机器学习模型分别对应的各运行环境,所述混合机器学习模型的运行装置包括:第一获得单元、第一确定单元和第二获得单元,其中:
所述第一获得单元,被配置为执行:获得待输入至所述混合机器学习模型的初始输入数据;
所述第一确定单元,被配置为执行:使用所述流水线引擎解析所述流水线定义文件,以确定各所述机器学习模型的运行次序,所述流水线定义文件中包括各所述机器学习模型间的运行次序;
所述第二获得单元,被配置为执行:将所述初始输入数据输入至所述混合机器学习模型中所述运行次序为第一的至少一个机器学习模型,按照已确定的各所述机器学习模型的运行次序,依次使用运行环境运行相应的机器学习模型,获得由所述混合机器学习模型输出的最终输出数据。
可选的,所述电子设备保存有多个流水线定义文件;所述第一获得单元,被配置为执行:接收对第一服务的服务请求指令,所述服务请求指令中包含所述初始输入数据和所述第一服务的服务类别;
所述混合机器学习模型的运行装置还包括:第二确定单元;所述第二确定单元,被配置为执行:在所述使用所述流水线引擎解析所述流水线定义文件之前,从各所述流水线定义文件中,确定所述第一服务的服务类别匹配的第一流水线定义文件;
所述第一确定单元,被配置为执行:使用所述流水线引擎解析所述第一流水线定义文件,以确定所述第一服务的服务类别匹配的各所述机器学习模型的运行次序。
可选的,所述第二获得单元,被配置为执行:
将所述初始输入数据输入至所述混合机器学习模型中所述运行次序为第一的至少一个机器学习模型,获得当前运行的机器学习模型的输出数据,将当前运行的机器学习模型的输出数据输入至下一运行次序的机器学习模型,并使用相应的运行环境运行所述下一运行次序的机器学习模型,返回执行所述获得当前运行的机器学习模型的输出数据的步骤,获得由所述混合机器学习模型输出的最终输出数据。
可选的,所述电子设备还部署有各所述机器学习模型分别对应的各动态库,所述混合机器学习模型的运行装置还包括:第三获得单元;
所述第三获得单元,被配置为执行:在所述将当前运行的机器学习模型的输出数据输入至下一运行次序的机器学习模型之前,使用相应的动态库对当前运行的机器学习模型的输出数据进行处理,以获得适配于下一运行次序的机器学习模型的数据;
所述第二获得单元,被配置为执行:将所述初始输入数据输入至所述混合机器学习模型中所述运行次序为第一的至少一个机器学习模型,获得当前运行的机器学习模型的输出数据,将所述适配于下一运行次序的机器学习模型的数据输入至下一运行次序的机器学习模型,并使用相应的运行环境运行所述下一运行次序的机器学习模型,返回执行所述获得当前运行的机器学习模型的输出数据的步骤,获得由所述混合机器学习模型输出的最终输出数据。
可选的,所述混合机器学习模型的运行装置还包括:第一加载单元;
所述第一加载单元被配置为执行:在所述依次使用运行环境运行相应的机器学习模型之前,依次使用运行环境加载相应的机器学习模型;
所述第二获得单元,被配置为执行:将所述初始输入数据输入至所述混合机器学习模型中所述运行次序为第一的至少一个机器学习模型,按照已确定的各所述机器学习模型的运行次序,依次使用运行环境运行已加载好的机器学习模型,获得由所述混合机器学习模型输出的最终输出数据。
可选的,所述混合机器学习模型的运行装置还包括:第二加载单元;
所述第二加载单元,被配置为执行:在所述依次使用运行环境运行已加载好的机器学习模型之前,对于已加载好的一个机器学习模型:识别当前已加载好的该机器学习模型的版本标识,确定该版本标识是否为该机器学习模型的最新版本标识,如果不是,则使用相应的运行环境卸载当前已加载好的该机器学习模型,并使用相应的运行环境加载最新版本标识的该机器学习模型。
一种电子设备,包括:处理器和存储器;
所述存储器存储有所述处理器的可执行指令,所述存储器保存有流水线定义文件,所述电子设备部署有流水线引擎、各所述机器学习模型和各所述机器学习模型分别对应的各运行环境,所述处理器被配置为执行所述指令,以实现上述任一混合机器学习模型的运行方法。
一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述任一混合机器学习模型的运行方法。
本实施例提出的混合机器学习模型的运行方法、装置及相关设备,混合机器学习模型中可以包括有多个机器学习模型,电子设备可以保存有流水线定义文件,电子设备可以部署有流水线引擎、各机器学习模型和各机器学习模型分别对应的各运行环境。本发明可以获得待输入至混合机器学习模型的初始输入数据,使用流水线引擎解析流水线定义文件,以确定各机器学习模型的运行次序,流水线定义文件中包括各机器学习模型间的运行次序,将初始输入数据输入至混合机器学习模型中运行次序为第一的至少一个机器学习模型,按照已确定的各机器学习模型的运行次序,依次使用运行环境运行相应的机器学习模型,获得由混合机器学习模型输出的最终输出数据。
本发明可以在获得由客户端发送的包括初始输入数据的一次数据指令之后,即可以使用流水线引擎来解析流水线定义文件,按照流水线定义文件中包含的各机器学习模型间的运行次序,控制混合机器学习模型中的各机器学习模型运行,来获得混合机器学习模型输出的最终输出数据,而无需客户端再发送数据指令,可以减少客户端与电子设备即服务端间的交互次数,降低客户端控制混合机器学习模型的逻辑复杂度,减少客户端与服务端进行交互所产生的网络延时,从而可以有效提高服务效率;
本发明也可以在服务端提供的服务需发生变化时,通过相应修改流水线定义文件中的各机器学习模型间的运行次序,按照修改后的各流水线定义文件来控制混合机器学习模型中各机器学习模型的运行,来使得服务端提供变化后的服务,有效提高服务的扩展性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1示出了本发明实施例提供的一种混合机器学习模型的运行方法的流程图;
图2示出了本发明实施例提供的一种部署机器学习模型的数据存储空间的结构示意图;
图3示出了本发明实施例提供的另一种混合机器学习模型的运行方法的流程图;
图4示出了本发明实施例提供的另一种混合机器学习模型的运行方法的流程图;
图5示出了本发明实施例提供的一种混合机器学习模型的运行装置的结构示意图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
如图1所示,本实施例提出了一种混合机器学习模型的运行方法,混合机器学习模型中可以包括有多个机器学习模型。该运行方法可以应用于电子设备,电子设备可以保存有流水线定义文件,电子设备可以部署有流水线引擎、各机器学习模型和各机器学习模型分别对应的各运行环境。该运行方法可以包括以下步骤:
S101、获得待输入至混合机器学习模型的初始输入数据。
其中,混合机器学习模型可以是由多个机器学习模型经混合部署而组成的整体模型。本发明对于混合机器学习模型的具体应用领域不做限定,比如图像处理、信息推送、产品推荐和自动驾驶领域。
其中,电子设备可以为部署混合机器学习模型,即部署混合机器学习模型中各机器学习模型的电子设备。需要说明的是,本发明对于电子设备的具体设备类型不做限定,比如,电子设备可以为手机、平板电脑或台式机。
其中,电子设备可以为服务端设备即服务器,此时本发明可以应用于服务端,混合机器学习模型可以部署在服务端,步骤S101可以具体为:服务端接收由客户端发送的待输入至混合机器学习模型的初始输入数据。而服务端可以对客户端发送的初始输入数据进行数据处理,为客户端提供相关服务。
需要说明的是,电子设备也可以同时为客户端设备和服务端设备,即电子设备可以在作为客户端的同时,其自身即可以作为服务端而部署混合机器学习模型。此时,在步骤S101中,电子设备作为客户端可以直接获得初始输入数据,而无需通过作为客户端的其它电子设备而获得初始输入数据,比如直接获得由用户输入的初始输入数据,并可以作为服务端使用混合机器学习模型对初始输入数据进行数据处理而提供相关服务,能有效提高服务效率。
其中,流水线定义文件可以为用于规定混合机器学习模型中各机器学习模型间的运行次序的文件。
在实际应用中,当电子设备为服务端时,流水线定义文件也可以保存在客户端而无需保存在电子设备,此时,电子设备可以从客户端处获得流水线定义文件,比如,客户端可以将初始输入数据和流水线定义文件一同发送至电子设备。
其中,流水线引擎可以为用于解析流水线定义文件,从流水线定义文件中确定混合机器学习模型中各机器学习模型间的运行次序的程序。
其中,运行环境可以为用于调用运行机器学习模型进行运行的程序。具体的,运行环境可以从指定路径运行机器学习模型。
需要说明的是,不同的机器学习模型对应的运行环境可以是不同的,对于部署在电子设备中的各机器学习模型,电子设备中可以分别部署各机器学习模型对应的运行环境。比如,部署在电子设备的混合机器学习模型中包括有第一机器学习模型和第二机器学习模型时,电子设备可以随之部署用于加载和运行第一机器学习模型的第一运行环境,以及用于加载和运行第二机器学习模型的第二运行环境。
S102、使用流水线引擎解析流水线定义文件,以确定各机器学习模型的运行次序,流水线定义文件中包括各机器学习模型间的运行次序。
其中,本发明在获得待输入至混合机器学习模型的初始输入数据后,可以使用流水线引擎来解析流水线定义文件,从流水线定义文件中确定混合机器学习模型中各机器学习模型间的运行次序。
其中,流水线定义文件中包括的各机器学习模型间的运行次序可以用于指示各机器学习模型的先后运行次序。比如,对于包括机器学习模型A、机器学习模型B、机器学习模型C和机器学习模型D的混合机器学习模型,流水线定义文件中包括的各机器学习模型的运行次序可以是:B的运行次序为A的下一次序,C的运行次序在B的下一次序,C的运行次序在D的下一次序。
其中,本发明对于流水线定义文件的文件类型不做限定,比如模块定义文件(文件后缀为.def)。具体的,流水线定义文件的文件内容的格式与其文件类型相对应,比如,当流水线定义文件为pipeline.def,流水线定义文件的文件类型为模块定义文件时,流水线定义文件的文件内容可以为modelA:modelB;modelB:modelC;modelD:modelC,即机器学习模型B的运行次序在机器学习模型A的下一次序,机器学习模型C的运行次序在机器学习模型B的下一次序,机器学习模型C的运行次序在机器学习模型D的下一次序。
需要说明的是,在流水线定义文件中,对于某个机器学习模型,如果未存在其它机器学习模型的运行次序在该机器学习模型之前,本发明则可以确定该机器学习模型的运行次序为第一。其中,流水线定义文件中可以存在多个运行次序为第一的机器学习模型,比如,在上述机器学习模型A、B、C和D中,流水线定义文件中未存在运行次序在A之前的机器学习模型,也未存在运行次序在D之前的机器学习模型,因此,A和D在流水线定义文件中的运行次序均可以为第一。
可以理解的是,混合机器学习模型中的各机器学习模型在实际工作过程中,一个机器学习模型输出的数据可以作为输入其下一次序的机器学习模型的数据。其中,如果一个机器学习模型前一次序的机器学习模型存在有多个机器学习模型时,则多个机器学习模型输出的数据可以共同作为输入该机器学习模型的数据。比如,在上述机器学习模型A、B、C和D中,机器学习模型C前一次序的机器学习模型分别为A和D,则A输出的数据和D输出的数据即可以共同作为输入C的数据。
具体的,本发明在应用混合机器学习模型处理数据时,可以根据混合机器学习模型中各机器学习模型间的运行次序,将相关数据依序地输入至各机器学习模型,直至获得混合机器学习模型的最终输出数据。比如,在上述机器学习模型A、B、C和D中,本发明可以先行将初始输入数据分别输入至运行次序为第一的A和D中,之后将A输出的数据输入至运行次序在A的下一次序的B中,之后将B输出的数据和D输出的数据输入至运行次序在B下一次序且在D下一次序的C中,获得C输出的数据即混合机器学习模型的最终输出数据。
S103、将初始输入数据输入至混合机器学习模型中运行次序为第一的至少一个机器学习模型,按照已确定的各机器学习模型的运行次序,依次使用运行环境运行相应的机器学习模型,获得由混合机器学习模型输出的最终输出数据。
具体的,本发明可以在获得初始输入数据之后,将初始输入数据输入至运行次序为第一的机器学习模型中,使用运行次序为第一的机器学习模型对应的运行环境运行该运行次序为第一的机器学习模型,使得运行次序为第一的机器学习模型对初始输入数据进行处理,获得运行次序为第一的机器学习模型输出的数据并输入至下一次序的机器学习模型,再使用该下一次序的机器学习模型对应的运行环境来调用该下一次序的机器学习模型进行对数据的处理,直至获得混合机器学习模型输出的最终输出数据。
比如,对于上述机器学习模型A、B、C和D,本发明可以在获得初始输入数据之后,将初始输入数据分别输入至运行次序第一的A和D中,使用A对应的运行环境来运行A,使A对初始输入数据进行数据处理,获得A输出的数据,使用D对应的运行环境来运行D,使D对初始输入数据进行数据处理,获得的D输出的数据,之后,将A输出的数据输入至在A下一运行次序的B中,使用B对应的运行环境来运行B,获得B输出的数据,将B输出的数据和D输出的数据输入至下一运行次序的C中,使用C对应的运行环境来运行C,获得C输出的数据,即混合机器学习模型的最终输出数据。
其中,本发明在获得混合机器学习模型输出的最终输出数据后,可以将最终输出数据发送至客户端,为客户端提供相关服务。
可选的,在本实施例提出的其它混合机器学习模型的运行方法中,在依次使用运行环境运行相应的机器学习模型之前,该方法还可以包括:
依次使用运行环境加载相应的机器学习模型。
上述依次使用运行环境运行相应的机器学习模型,可以包括:
依次使用运行环境运行已加载好的机器学习模型。
其中,本发明可以先行将待运行的机器学习模型的相关程序代码加载至电子设备的内存中,在需要使用待运行的机器学习模型进行数据处理时,再在内存中对待运行的机器学习模型进行运行,提高对机器学习模型的调用速率,从而提高数据处理效率。
可选的,在本实施例提出的其它混合机器学习模型的运行方法中,在上述依次使用运行环境运行已加载好的机器学习模型之前,该方法还可以包括:
对于已加载好的一个机器学习模型:识别当前已加载好的该机器学习模型的版本标识,确定该版本标识是否为该机器学习模型的最新版本标识,如果不是,则使用相应的运行环境卸载当前已加载好的该机器学习模型,并使用相应的运行环境加载最新版本标识的该机器学习模型。
需要说明的是,每个机器学习模型可以存在有一个或多个版本,本发明可以使用最新版本的机器学习模型来提供服务,以避免版本落后导致的服务效率和服务质量的下降。
其中,本发明可以在运行某个机器学习模型之前,识别已加载的该机器学习模型的版本标识,并可以在部署该机器学习模型的指定路径中识别该机器学习模型的最新版本标识,比对最新版本标识与当前已加载的该机器学习模型的版本标识是否一致,如果不一致,则本发明可以确定当前已加载的该机器学习模型的版本标识,可以使用该机器学习模型对应的运行环境来卸载当前已加载好的该机器学习模型,并使用运行环境从部署该机器学习模型的指定路径中,加载最新版本的该机器学习模型;如果一致,则本发明可以使用运行环境直接运行当前已加载好的机器学习模型。
需要说明的是,本发明也可以定期的在指定路径中对机器学习模型进行扫描,并识别当前已加载的机器学习模型是否为最新版本的机器学习模型,如果不是,则可以加载最新版本的机器学习模型,无需等待至需要运行机器学习模型时再识别其版本是否为最新版本,可以有效提高对机器学习模型的运行效率,从而提高服务效率。
在实际应用中,本发明可以将流水线定义文件保存在指定路径,将混合机器学习模型中的各机器学习模型部署在指定路径的数据存储空间中。比如,如图2所示,对于上述机器学习模型A、B、C和D,本发明可以在电子设备中设置一个workspace的文件夹,并在workspace的文件夹中设置一个名称为model的文件夹,此时该名称为model的文件夹的路径即为/workspace/model/,之后,本发明可以将该路径确定为指定路径,将流水线定义文件保存在路径/workspace/model/的数据存储空间即文件夹model中,将包含有机器学习模型A及相关文件的文件夹modelA/v1、包含有机器学习模型B及相关文件的文件夹modelB/v1、包含有机器学习模型C及相关文件的文件夹modelC/v1和包含有机器学习模型D及相关文件的文件夹modelD/v1均部署在该指定路径为/workspace/model/的数据存储空间即文件夹model中。
可以理解的是,流水线定义文件的保存路径和各机器学习模型的部署指定路径可以是不同的。具体的,对于流水线定义文件,本发明可以通过流水线引擎从保存流水线定义文件的指定路径中解析流水线定义文件;对于某个机器学习模型,本发明可以通过运行环境从部署该机器学习模型的指定路径中加载和运行该机器学习模型。
需要说明的是,相较于现有技术,电子设备可以作为服务端,在获得由客户端发送的包括初始输入数据的一次数据指令之后,即可以通过执行步骤S101、S102和103来控制混合机器学习模型中的各机器学习模型运行,来获得混合机器学习模型输出的最终输出数据,而无需客户端再发送数据指令,可以减少客户端与电子设备即服务端间的交互次数,降低客户端控制混合机器学习模型的逻辑复杂度,减少客户端与服务端进行交互所产生的网络延时,从而可以有效提高服务效率。
还需要说明的是,现有技术在需要使用混合机器学习模型为用户提供相关服务时,也可以通过将混合机器学习模型中的各机器学习模型部署在服务端,并在服务端处对各机器学习模型运行的控制逻辑进行硬编码,此时,服务端接收客户端发送的一次数据指令即可以控制混合机器学习模型运行,完成对客户端的相关服务。但是,在该现有技术中,当服务端提供的服务需发生变化时,技术人员可能需要对服务端关于各机器学习模型运行的控制逻辑进行重新开发,才可以使得服务端客户端提供变化后的服务,该现有技术适用于提供特定服务而难以具备服务的扩展性。相较于该现有技术,本发明可以保存有流水线定义文件,部署有流水线引擎、多个机器学习模型和各机器学习模型对应的运行环境,可以在服务端提供的服务需发生变化时,通过相应修改流水线定义文件中的各机器学习模型间的运行次序,按照修改后的各流水线定义文件来控制混合机器学习模型中各机器学习模型的运行,来使得服务端提供变化后的服务,有效提高服务的扩展性。
本实施例提出的混合机器学习模型的运行方法,混合机器学习模型中可以包括有多个机器学习模型,电子设备可以保存有流水线定义文件,电子设备可以部署有流水线引擎、各机器学习模型和各机器学习模型分别对应的各运行环境,该方法可以获得待输入至混合机器学习模型的初始输入数据,使用流水线引擎解析流水线定义文件,以确定各机器学习模型的运行次序,流水线定义文件中包括各机器学习模型间的运行次序,将初始输入数据输入至混合机器学习模型中运行次序为第一的至少一个机器学习模型,按照已确定的各机器学习模型的运行次序,依次使用运行环境运行相应的机器学习模型,获得由混合机器学习模型输出的最终输出数据。该方法可以在获得由客户端发送的包括初始输入数据的一次数据指令之后,即可以使用流水线引擎来解析流水线定义文件,按照流水线定义文件中包含的各机器学习模型间的运行次序,控制混合机器学习模型中的各机器学习模型运行,来获得混合机器学习模型输出的最终输出数据,而无需客户端再发送数据指令,可以减少客户端与电子设备即服务端间的交互次数,降低客户端控制混合机器学习模型的逻辑复杂度,减少客户端与服务端进行交互所产生的网络延时,从而可以有效提高服务效率;该方法也可以在服务端提供的服务需发生变化时,通过相应修改流水线定义文件中的各机器学习模型间的运行次序,按照修改后的各流水线定义文件来控制混合机器学习模型中各机器学习模型的运行,来使得服务端提供变化后的服务,有效提高服务的扩展性。
基于图1所示的步骤,本实施例提出另一种混合机器学习模型的运行方法,如图3所示。在该方法中,电子设备可以保存有多个流水线定义文件,该方法可以包括以下步骤:
S201、接收对第一服务的服务请求指令,服务请求指令中包含初始输入数据和第一服务的服务类别。
可以理解的是,本发明可以通过各机器学习模型间的不同组成和/或不同的运行次序,来获得不同的混合机器学习模型,使得部署混合机器学习模型的电子设备可以完成不同的数据处理过程,提供不同服务类别的服务,提高电子设备的服务扩展性。
具体的,本发明可以通过设置及保存多个流水线定义文件,来定义各机器学习模型间的不同组成和/或不同的运行次序。其中,在多个流水线定义文件中,不同的流水线定义文件所包含的相关机器学习模型的组成和/或运行次序可以是不同的。本发明可以通过解析不同流水线定义文件中包括的相关机器学习模型的运行次序,按照解析出的相关机器学习模型的运行次序控制相关机器学习模型的运行,可以提供相应服务类别的服务。
其中,第一服务可以为客户端请求服务端即电子设备提供的某个服务。需要说明的是,本发明对于第一服务的服务类别不做限定,比如,服役的服务类别可以为图像处理、信息推送、产品推荐等。
其中,步骤S201阐述了电子设备获得初始输入数据的一种方式。电子设备还可以采用其它方式获得初始输入数据,比如,服务端可以主动询问客户端是否需要服务,并可以主动从客户端处获取初始输入数据,但是该种方式会增加客户端与服务端间的互动次数,也会影响到客户端当前运行的程序,可能造成客户端当前运行的程序中断。
S202、从各流水线定义文件中,确定第一服务的服务类别匹配的第一流水线定义文件。
在实际应用中,本发明可以分别根据需要提供的不同服务的服务类别,预先设置相应的流水线定义文件。比如,根据第二服务的服务类别设置相应的流水线定义文件,根据第三服务的服务类别设置相应的流水线定义文件。
其中,本发明可以通过对流水线定义文件设置文件标识符,来标识不同的流水线定义文件。需要说明的是,本发明对于文件标识符的具体组成不做限定,比如,文件标识符可以是由字母、数字和符号等中的至少一种或几种组成的标识。
可选的,本发明可以设置一个对应保存有服务的服务类别与流水线定义文件的文件标识符的关系表,此时,本发明在确定第一服务的服务类别之后,可以在关系表中查找出与第一服务的服务类别对应的第一流水线定义文件。
S203、使用流水线引擎解析第一流水线定义文件,以确定第一服务的服务类别匹配的各机器学习模型的运行次序。
其中,本发明在确定第一服务的服务类别对应的第一流水线定义文件后,可以使用流水线引擎来解析第一流水线定义文件中包含的相关机器学习模型的运行次序。
S204、将初始输入数据输入至混合机器学习模型中运行次序为第一的至少一个机器学习模型,按照已确定的各机器学习模型的运行次序,依次使用运行环境运行相应的机器学习模型,获得由混合机器学习模型输出的最终输出数据。
其中,在确定第一服务的服务类别匹配的相关机器学习模型的运行次序后,本发明可以按照相关机器学习模型的运行次序来控制混合机器学习模型的运行,获得混合机器学习模型输出的最终输出数据,可以为客户端提供第一服务。
本实施例提出的混合机器学习模型的运行方法,可以通过不同流水线定义文件的设置及保存,在需要提供服务时解析相应的流水线定义文件,按照流水线定义文件中的相关机器学习模型的运行次序,控制混合机器学习模型的运行,可以获得混合机器学习模型输出的最终输出数据,向客户端提供相应的服务,有效提高服务扩展性。
基于图1所示的步骤,本发明可以提出另一种混合机器学习模型的运行方法,如图4所示,该方法可以包括以下步骤:
S301、获得待输入至混合机器学习模型的初始输入数据。
S302、使用流水线引擎解析流水线定义文件,以确定各机器学习模型的运行次序,流水线定义文件中包括各机器学习模型间的运行次序。
需要说明的是,步骤S301与步骤S101一致,步骤S302与步骤102一致,相关内容图1所示方法已进行说明,此处不再进行赘述。
S303、将初始输入数据输入至混合机器学习模型中运行次序为第一的至少一个机器学习模型,获得当前运行的机器学习模型的输出数据,将当前运行的机器学习模型的输出数据输入至下一运行次序的机器学习模型,并使用相应的运行环境运行下一运行次序的机器学习模型,返回执行获得当前运行的机器学习模型的输出数据的步骤,获得由混合机器学习模型输出的最终输出数据。
需要说明的是,步骤S303为步骤S103的一种实施方式。其中,对于当前运行的任一机器学习模型,本发明均可以获得该机器学习模型输出的数据,之后将该机器学习模型输出的数据输入至下一次序的机器学习模型,使用该下一次序的机器学习模型对应的运行环境对该下一次序的机器学习模型进行运行,将处于运行状态的该下一次序的机器学习模型确定为当前机器学习模型,直至获得混合机器学习模型输出的最终输出数据。
本实施例提出的混合机器学习模型的运行方法,设置用于控制混合机器学习模型中各机器学习模型运行的一种循环控制方式,可以根据各机器学习模型的运行次序控制机器学习模型的运行,有效提高对于混合机器学习模型的控制效率。
基于图4所示的步骤,在本发明提出的其它混合机器学习模型的运行方法中,电子设备还部署有各机器学习模型分别对应的各动态库,步骤S303可以具体为:
将初始输入数据输入至混合机器学习模型中运行次序为第一的至少一个机器学习模型,获得当前运行的机器学习模型的输出数据,使用相应的动态库对当前运行的机器学习模型的输出数据进行处理,以获得适配于下一运行次序的机器学习模型的数据,将适配于下一运行次序的机器学习模型的数据输入至下一运行次序的机器学习模型,并使用相应的运行环境运行下一运行次序的机器学习模型,返回执行上述获得当前运行的机器学习模型的输出数据的步骤,获得由混合机器学习模型输出的最终输出数据。
在实际应用中,本发明可以在将机器学习模型输出的数据输入至下一次序的机器学习模型之前,先行对机器学习模型输出的数据进行相应的处理,使得处理后的数据可以适配于或者更适配于下一次序的机器学习模型,避免出现数据格式、无效数据等问题,提高下一次序的机器学习模型的数据处理效率,从而提高服务效率。
具体的,本发明可以根据流水线标准接口定义,预先设置某个机器学习模型对应的动态库。
其中,流水线标准接口定义可以用于指示对某个机器学习模型向下一次序的机器学习模型输出的数据进行处理的处理方式,该处理方式可以使得机器学习模型输出的数据在经过处理后,可以适配于其下一次序的机器学习模型。
其中,动态库可以为本发明根据流水线标准接口定义所设置的程序库,可以采用流水线标准接口定义所指示的处理方式,对某个机器学习模型向下一次序的机器学习模型输出的进行处理,以使得处理后的数据可以适配于或者更适配于下一次序的机器学习模型。
可以理解的是,当某个机器学习模型的下一次序的机器学习模型有多个时,其对应的动态库可以有多个。比如,当第一机器学习模型的下一次序的机器学习模型为第二机器学习模型和第三机器学习模型,则第一机器学习模型对应的动态库可以为第一动态库和第二动态库,第一动态库可以用于对第一机器学习模型向第二机器学习模型输出的数据的进行处理,以使得第一机器学习模型向第二机器学习模型输出的数据可以适配于或更适配于第二机器学习模型,第二动态库可以用于对第一机器学习模型向第三机器学习模型输出的数据的进行处理,以使得第一机器学习模型向第三机器学习模型输出的数据可以适配于或更适配于第三机器学习模型。
其中,本发明可以对机器学习模型对应的动态库设置库标识符,设置用于对应保存有库标识符和相邻次序的机器学习模型的关系表,本发明在解析出流水线定义文件中各机器学习模型间的运行次序之后,可以从该关系表中分别确定与相邻次序的机器学习模型所对应的库标识符,确定库标识符对应的动态库,使用动态库对机器学习模型向下一次序的机器学习模型输出的数据进行处理。比如,对于上述机器学习模型A、B、C和D,本发明从流水线定义文件中解析出A和D的运行次序为第一,B的运行次序在A的下一次序,C的运行次序在B的下一次序,C的运行次序在D的下一次序,本发明从关系表中查找出,A对应的动态库即用于对A向B输出的数据进行处理的动态库为动态库libmodelA.so,B对应的动态库即用于对B向C输出的数据进行处理的动态库为动态库libmodelB.so,D对应的动态库即用于对D向C输出的数据进行处理的动态库可以为动态库libmodelD.so,本发明可以在将初始输入数据分别输入A和D后,分别获得A和D输出的数据,之后使用libmodelA.so处理A输出的数据并将处理后的数据输入至B,使用libmodelB.so处理B输出的数据并将处理后的数据输入至C,使用libmodelD.so处理D输出的数据并将处理后的数据输入至C,获得C输出的数据。
其中,本发明也可以为混合机器学习模型中运行次序在最后次序的机器学习模型设置相应的动态库,对其输出的数据进行处理,使得混合机器学习模型输出的最终输出数据的可用性和有效性更强,提高服务质量。比如,对于上述机器学习模型C,本发明可以对其设置相应的动态库libmodelC.so,使用libmodelC.so对C输出的数据进行处理并将处理后的数据确定为混合机器学习模型输出的最终输出数据。
需要说明的是,本发明同样可以将各动态库部署在指定路径的数据存储空间中。比如,对于上述机器学习模型A、B、C和D对应的动态库libmodelA.so、libmodelB.so、libmodelC.so和libmodelD.so,本发明可以将动态库libmodelA.so部署在上述包含有机器学习模型A及相关文件的文件夹modelA/v1中,即将libmodelA.so部署在路径为/workspace/model/modelA/v1的数据存储空间中;将动态库libmodelB.so部署在上述包含有机器学习模型B及相关文件的文件夹modelB/v1中,即将libmodelB.so部署在路径为/workspace/model/modelB/v1的数据存储空间中;将动态库libmodelC.so部署在上述包含有机器学习模型C及相关文件的文件夹modelC/v1中,即将libmodelC.so部署在路径为/workspace/model/modelC/v1的数据存储空间中;将动态库libmodelD.so部署在上述包含有机器学习模型D及相关文件的文件夹modelD/v1中,即将libmodelD.so部署在路径为/workspace/model/modelD/v1的数据存储空间中。
本实施例提出的混合机器学习模型的运行方法,可以在将机器学习模型输出的数据输入至下一次序的机器学习模型之前,先行对机器学习模型输出的数据进行相应的处理,使得处理后的数据可以适配于或者更适配于下一次序的机器学习模型,避免出现数据格式、无效数据等问题,提高下一次序的机器学习模型的数据处理效率,从而提高服务效率。
与图1所示方法相对应,本实施例提出一种混合机器学习模型的运行装置,如图5所示。混合机器学习模型中可以包括有多个机器学习模型,混合机器学习模型的运行装置可以应用于电子设备,电子设备可以保存有流水线定义文件,电子设备可以部署有流水线引擎、各机器学习模型和各机器学习模型分别对应的各运行环境,混合机器学习模型的运行装置可以包括:第一获得单元101、第一确定单元102和第二获得单元103,
第一获得单元101,被配置为执行:获得待输入至混合机器学习模型的初始输入数据;
其中,混合机器学习模型可以是由多个机器学习模型经混合部署而组成的整体模型。电子设备可以为部署混合机器学习模型,即部署混合机器学习模型中各机器学习模型的电子设备。
其中,流水线定义文件可以为用于规定混合机器学习模型中各机器学习模型间的运行次序的文件。流水线引擎可以为用于解析流水线定义文件,从流水线定义文件中确定混合机器学习模型中各机器学习模型间的运行次序的程序。运行环境可以为用于调用运行机器学习模型进行运行的程序。具体的,运行环境可以从指定路径运行机器学习模型。
第一确定单元102,被配置为执行:使用流水线引擎解析流水线定义文件,以确定各机器学习模型的运行次序,流水线定义文件中包括各机器学习模型间的运行次序;
其中,本发明在获得待输入至混合机器学习模型的初始输入数据后,可以使用流水线引擎来解析流水线定义文件,从流水线定义文件中确定混合机器学习模型中各机器学习模型间的运行次序。
第二获得单元103,被配置为执行:将初始输入数据输入至混合机器学习模型中运行次序为第一的至少一个机器学习模型,按照已确定的各机器学习模型的运行次序,依次使用运行环境运行相应的机器学习模型,获得由混合机器学习模型输出的最终输出数据。
其中,本发明在获得混合机器学习模型输出的最终输出数据后,可以将最终输出数据发送至客户端,为客户端提供相关服务。
可选的,在本实施例提出的其它混合机器学习模型的运行装置中,混合机器学习模型的运行装置还可以包括:第一加载单元;
第一加载单元被配置为执行:在依次使用运行环境运行相应的机器学习模型之前,依次使用运行环境加载相应的机器学习模型;
第二获得单元103,被配置为执行:将初始输入数据输入至混合机器学习模型中运行次序为第一的至少一个机器学习模型,按照已确定的各机器学习模型的运行次序,依次使用运行环境运行已加载好的机器学习模型,获得由混合机器学习模型输出的最终输出数据。
其中,本发明可以先行将待运行的机器学习模型的相关程序代码加载至电子设备的内存中,在需要使用待运行的机器学习模型进行数据处理时,再在内存中对待运行的机器学习模型进行运行,提高对机器学习模型的调用速率,从而提高数据处理效率。
可选的,在本实施例提出的其它混合机器学习模型的运行装置中,混合机器学习模型的运行装置还可以包括:第二加载单元;
第二加载单元,被配置为执行:在依次使用运行环境运行已加载好的机器学习模型之前,对于已加载好的一个机器学习模型:识别当前已加载好的该机器学习模型的版本标识,确定该版本标识是否为该机器学习模型的最新版本标识,如果不是,则使用相应的运行环境卸载当前已加载好的该机器学习模型,并使用相应的运行环境加载最新版本标识的该机器学习模型。
需要说明的是,每个机器学习模型可以存在有一个或多个版本,本发明可以使用最新版本的机器学习模型来提供服务,以避免版本落后导致的服务效率和服务质量的下降。
本实施例提出的混合机器学习模型的运行装置,可以减少客户端与电子设备即服务端间的交互次数,降低客户端控制混合机器学习模型的逻辑复杂度,减少客户端与服务端进行交互所产生的网络延时,从而可以有效提高服务效率;也可以在服务端提供的服务需发生变化时,通过相应修改流水线定义文件中的各机器学习模型间的运行次序,按照修改后的各流水线定义文件来控制混合机器学习模型中各机器学习模型的运行,来使得服务端提供变化后的服务,有效提高服务的扩展性。
基于图5所示装置,本实施例提出另一种混合机器学习模型的运行装置。在该装置中,电子设备可以保存有多个流水线定义文件。
第一获得单元101,被配置为执行:接收对第一服务的服务请求指令,服务请求指令中包含初始输入数据和第一服务的服务类别;
混合机器学习模型的运行装置还可以包括:第二确定单元;第二确定单元,被配置为执行:在使用流水线引擎解析流水线定义文件之前,从各流水线定义文件中,确定第一服务的服务类别匹配的第一流水线定义文件;
第一确定单元102,被配置为执行:使用流水线引擎解析第一流水线定义文件,以确定第一服务的服务类别匹配的各机器学习模型的运行次序。
可以理解的是,本发明可以通过各机器学习模型间的不同组成和/或不同的运行次序,来获得不同的混合机器学习模型,使得部署混合机器学习模型的电子设备可以完成不同的数据处理过程,提供不同服务类别的服务,提高电子设备的服务扩展性。
本实施例提出的混合机器学习模型的运行装置,可以通过不同流水线定义文件的设置及保存,在需要提供服务时解析相应的流水线定义文件,按照流水线定义文件中的相关机器学习模型的运行次序,控制混合机器学习模型的运行,可以获得混合机器学习模型输出的最终输出数据,向客户端提供相应的服务,有效提高服务扩展性。
基于图5所示装置,本实施例提出另一种混合机器学习模型的运行装置。在该装置中,第二获得单元103,被配置为执行:
将初始输入数据输入至混合机器学习模型中运行次序为第一的至少一个机器学习模型,获得当前运行的机器学习模型的输出数据,将当前运行的机器学习模型的输出数据输入至下一运行次序的机器学习模型,并使用相应的运行环境运行下一运行次序的机器学习模型,返回执行获得当前运行的机器学习模型的输出数据的步骤,获得由混合机器学习模型输出的最终输出数据。
其中,对于当前运行的任一机器学习模型,本发明均可以获得该机器学习模型输出的数据,之后将该机器学习模型输出的数据输入至下一次序的机器学习模型,使用该下一次序的机器学习模型对应的运行环境对该下一次序的机器学习模型进行运行,将处于运行状态的该下一次序的机器学习模型确定为当前机器学习模型,直至获得混合机器学习模型输出的最终输出数据。
本实施例提出的混合机器学习模型的运行装置,设置用于控制混合机器学习模型中各机器学习模型运行的一种循环控制方式,可以根据各机器学习模型的运行次序控制机器学习模型的运行,有效提高对于混合机器学习模型的控制效率。
基于图5所示装置,电子设备还部署有各机器学习模型分别对应的各动态库,混合机器学习模型的运行装置还可以包括:第三获得单元;第三获得单元,被配置为执行:在将当前运行的机器学习模型的输出数据输入至下一运行次序的机器学习模型之前,使用相应的动态库对当前运行的机器学习模型的输出数据进行处理,以获得适配于下一运行次序的机器学习模型的数据;
在实际应用中,本发明可以在将机器学习模型输出的数据输入至下一次序的机器学习模型之前,先行对机器学习模型输出的数据进行相应的处理,使得处理后的数据可以适配于或者更适配于下一次序的机器学习模型,避免出现数据格式、无效数据等问题,提高下一次序的机器学习模型的数据处理效率,从而提高服务效率。
本实施例提出的混合机器学习模型的运行装置,可以在将机器学习模型输出的数据输入至下一次序的机器学习模型之前,先行对机器学习模型输出的数据进行相应的处理,使得处理后的数据可以适配于或者更适配于下一次序的机器学习模型,避免出现数据格式、无效数据等问题,提高下一次序的机器学习模型的数据处理效率,从而提高服务效率。
上述混合机器学习模型的运行装置可以包括处理器和存储器,上述第一获得单元101、第一确定单元102和第二获得单元103等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来减少客户端与电子设备即服务端间的交互次数,减少客户端与服务端进行交互所产生的网络延时,有效提高服务效率。
本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时可以实现上述混合机器学习模型的运行方法。当存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述混合机器学习模型的运行方法。其中,存储介质中可以保存有流水线定义文件,电子设备可以部署有流水线引擎、各机器学习模型和各机器学习模型分别对应的各运行环境。
本发明实施例提供了一种处理器,处理器用于运行程序,其中,程序运行时可以执行上述混合机器学习模型的运行方法。
本发明实施例提供了一种电子设备,电子设备可以包括处理器和存储器;存储器存储有处理器的可执行指令,存储器保存有流水线定义文件,电子设备部署有流水线引擎、各机器学习模型和各机器学习模型分别对应的各运行环境,处理器被配置为执行上述指令,以实现上述混合机器学习模型的运行方法。
其中,电子设备可以包括至少一个处理器、以及与处理器连接的至少一个存储器、总线;其中,处理器、存储器通过总线完成相互间的通信;处理器用于调用存储器中的程序指令,以执行上述的混合机器学习模型的运行方法。本文中的电子设备可以是服务器、PC、PAD、手机等。
本发明还提供了一种计算机程序产品,当在电子设备上执行时,适于执行初始化有如下方法步骤的程序:
获得待输入至混合机器学习模型的初始输入数据;
使用流水线引擎解析流水线定义文件,以确定各机器学习模型的运行次序,流水线定义文件中包括各机器学习模型间的运行次序;
将初始输入数据输入至混合机器学习模型中运行次序为第一的至少一个机器学习模型,按照已确定的各机器学习模型的运行次序,依次使用运行环境运行相应的机器学习模型,获得由混合机器学习模型输出的最终输出数据。
本发明是参照根据本发明实施例的方法、装置、电子设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程设备的处理器以产生一个机器,使得通过计算机或其他可编程设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
在一个典型的配置中,电子设备包括一个或多个处理器(CPU)、存储器和总线。电子设备还可以包括输入/输出接口、网络接口等。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本发明的实施例可提供为方法、系统或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本发明的实施例而已,并不用于限制本发明。对于本领域技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。
Claims (8)
1.一种混合机器学习模型的运行方法,所述混合机器学习模型中包括有多个机器学习模型,其特征在于,所述方法应用于电子设备,所述电子设备保存有流水线定义文件,所述电子设备部署有流水线引擎、各所述机器学习模型和各所述机器学习模型分别对应的各运行环境,所述方法包括:
获得待输入至所述混合机器学习模型的初始输入数据;
使用所述流水线引擎解析所述流水线定义文件,以确定各所述机器学习模型的运行次序,所述流水线定义文件中包括各所述机器学习模型间的运行次序;
将所述初始输入数据输入至所述混合机器学习模型中所述运行次序为第一的至少一个机器学习模型,按照已确定的各所述机器学习模型的运行次序,依次使用运行环境运行相应的机器学习模型,获得由所述混合机器学习模型输出的最终输出数据;
其中,若所述电子设备保存有多个流水线定义文件,所述获得待输入至所述混合机器学习模型的初始输入数据,包括:
接收对第一服务的服务请求指令,所述服务请求指令中包含所述初始输入数据和所述第一服务的服务类别;
在所述使用所述流水线引擎解析所述流水线定义文件之前,所述方法还包括:
从各所述流水线定义文件中,确定所述第一服务的服务类别匹配的第一流水线定义文件;
所述使用所述流水线引擎解析所述流水线定义文件,以确定各所述机器学习模型的运行次序,包括:
使用所述流水线引擎解析所述第一流水线定义文件,以确定所述第一服务的服务类别匹配的各所述机器学习模型的运行次序。
2.根据权利要求1所述的方法,其特征在于,所述按照已确定的各所述机器学习模型的运行次序,依次使用运行环境运行相应的机器学习模型,包括:
获得当前运行的机器学习模型的输出数据,将当前运行的机器学习模型的输出数据输入至下一运行次序的机器学习模型,并使用相应的运行环境运行所述下一运行次序的机器学习模型,返回执行所述获得当前运行的机器学习模型的输出数据的步骤。
3.根据权利要求2所述的方法,其特征在于,所述电子设备还部署有各所述机器学习模型分别对应的各动态库,在所述将当前运行的机器学习模型的输出数据输入至下一运行次序的机器学习模型之前,所述方法还包括:
使用相应的动态库对当前运行的机器学习模型的输出数据进行处理,以获得适配于下一运行次序的机器学习模型的数据;
所述将当前运行的机器学习模型的输出数据输入至下一运行次序的机器学习模型,包括:
将所述适配于下一运行次序的机器学习模型的数据输入至下一运行次序的机器学习模型。
4.根据权利要求1所述的方法,其特征在于,在所述依次使用运行环境运行相应的机器学习模型之前,所述方法还包括:
依次使用运行环境加载相应的机器学习模型;
所述依次使用运行环境运行相应的机器学习模型,包括:
依次使用运行环境运行已加载好的机器学习模型。
5.根据权利要求4所述的方法,其特征在于,在所述依次使用运行环境运行已加载好的机器学习模型之前,所述方法还包括:
对于已加载好的一个机器学习模型:识别当前已加载好的该机器学习模型的版本标识,确定该版本标识是否为该机器学习模型的最新版本标识,如果不是,则使用相应的运行环境卸载当前已加载好的该机器学习模型,并使用相应的运行环境加载最新版本标识的该机器学习模型。
6.一种混合机器学习模型的运行装置,所述混合机器学习模型中包括有多个机器学习模型,其特征在于,所述混合机器学习模型的运行装置应用于电子设备,所述电子设备保存有流水线定义文件,所述电子设备部署有流水线引擎、各所述机器学习模型和各所述机器学习模型分别对应的各运行环境,所述混合机器学习模型的运行装置包括:第一获得单元、第一确定单元和第二获得单元,其中:
所述第一获得单元,被配置为执行:获得待输入至所述混合机器学习模型的初始输入数据;
所述第一确定单元,被配置为执行:使用所述流水线引擎解析所述流水线定义文件,以确定各所述机器学习模型的运行次序,所述流水线定义文件中包括各所述机器学习模型间的运行次序;
所述第二获得单元,被配置为执行:将所述初始输入数据输入至所述混合机器学习模型中所述运行次序为第一的至少一个机器学习模型,按照已确定的各所述机器学习模型的运行次序,依次使用运行环境运行相应的机器学习模型,获得由所述混合机器学习模型输出的最终输出数据;
其中,若所述电子设备保存有多个流水线定义文件;所述第一获得单元,被配置为执行:接收对第一服务的服务请求指令,所述服务请求指令中包含所述初始输入数据和所述第一服务的服务类别;
所述混合机器学习模型的运行装置还包括:第二确定单元;所述第二确定单元,被配置为执行:在所述使用所述流水线引擎解析所述流水线定义文件之前,从各所述流水线定义文件中,确定所述第一服务的服务类别匹配的第一流水线定义文件;
所述第一确定单元,被配置为执行:使用所述流水线引擎解析所述第一流水线定义文件,以确定所述第一服务的服务类别匹配的各所述机器学习模型的运行次序。
7.一种电子设备,其特征在于,包括:处理器和存储器;
所述存储器存储有所述处理器的可执行指令,所述存储器保存有流水线定义文件,所述电子设备部署有流水线引擎、各所述机器学习模型和各所述机器学习模型分别对应的各运行环境,所述处理器被配置为执行所述指令,以实现如权利要求1至5中任一项所述的混合机器学习模型的运行方法。
8.一种存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如权利要求1至5中任一项所述的混合机器学习模型的运行方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011454330.XA CN112540835B (zh) | 2020-12-10 | 2020-12-10 | 一种混合机器学习模型的运行方法、装置及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011454330.XA CN112540835B (zh) | 2020-12-10 | 2020-12-10 | 一种混合机器学习模型的运行方法、装置及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112540835A CN112540835A (zh) | 2021-03-23 |
CN112540835B true CN112540835B (zh) | 2023-09-08 |
Family
ID=75018446
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011454330.XA Active CN112540835B (zh) | 2020-12-10 | 2020-12-10 | 一种混合机器学习模型的运行方法、装置及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112540835B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104769574A (zh) * | 2012-08-20 | 2015-07-08 | 内部销售公司 | 基于分层的排序机器学习模型 |
CN109272109A (zh) * | 2018-10-30 | 2019-01-25 | 北京地平线机器人技术研发有限公司 | 神经网络模型的指令调度方法及装置 |
JP2019144898A (ja) * | 2018-02-21 | 2019-08-29 | 清水建設株式会社 | 装置制御システム及び装置制御方法 |
WO2020034800A1 (zh) * | 2018-08-15 | 2020-02-20 | 腾讯科技(深圳)有限公司 | 机器学习模型的处理方法、装置、介质及电子设备 |
CN111260071A (zh) * | 2018-11-30 | 2020-06-09 | 上海寒武纪信息科技有限公司 | 通用机器学习模型文件解析方法、装置、存储介质 |
CN111340232A (zh) * | 2020-02-17 | 2020-06-26 | 支付宝(杭州)信息技术有限公司 | 在线预测服务的部署方法、装置、电子设备及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9996804B2 (en) * | 2015-04-10 | 2018-06-12 | Facebook, Inc. | Machine learning model tracking platform |
US10776714B2 (en) * | 2016-11-04 | 2020-09-15 | Google Llc | Constructing and processing computational graphs for dynamically structured machine learning models |
US11556840B2 (en) * | 2019-05-10 | 2023-01-17 | Iqvia Inc. | High-speed scanning parser for scalable collection of statistics and use in preparing data for machine learning |
US11026103B2 (en) * | 2019-05-31 | 2021-06-01 | At&T Intellectual Property I, L.P. | Machine learning deployment in radio access networks |
-
2020
- 2020-12-10 CN CN202011454330.XA patent/CN112540835B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104769574A (zh) * | 2012-08-20 | 2015-07-08 | 内部销售公司 | 基于分层的排序机器学习模型 |
JP2019144898A (ja) * | 2018-02-21 | 2019-08-29 | 清水建設株式会社 | 装置制御システム及び装置制御方法 |
WO2020034800A1 (zh) * | 2018-08-15 | 2020-02-20 | 腾讯科技(深圳)有限公司 | 机器学习模型的处理方法、装置、介质及电子设备 |
CN109272109A (zh) * | 2018-10-30 | 2019-01-25 | 北京地平线机器人技术研发有限公司 | 神经网络模型的指令调度方法及装置 |
CN111260071A (zh) * | 2018-11-30 | 2020-06-09 | 上海寒武纪信息科技有限公司 | 通用机器学习模型文件解析方法、装置、存储介质 |
CN111340232A (zh) * | 2020-02-17 | 2020-06-26 | 支付宝(杭州)信息技术有限公司 | 在线预测服务的部署方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112540835A (zh) | 2021-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108958796B (zh) | 业务请求处理方法及装置、业务请求处理系统 | |
CN110704037B (zh) | 一种规则引擎实现方法及装置 | |
CN111131352B (zh) | 主题切换方法及装置 | |
US20140298318A1 (en) | Computer-executable application packaging method, computer-executable device and storage media performing the same | |
CN105573734B (zh) | 一种用于提供sdk文件的方法与设备 | |
CN107479868B (zh) | 一种界面加载方法、装置及设备 | |
CN112947934A (zh) | 一种动态变换业务逻辑的方法、设备及介质 | |
US20200210829A1 (en) | Network off-line model processing method, artificial intelligence processing device and related products | |
CN113986402A (zh) | 函数调用方法、装置、电子设备及存储介质 | |
US20110167405A1 (en) | Application building system, method and computer-readable medium | |
CN115576699A (zh) | 数据处理方法、装置、ai芯片、电子设备及存储介质 | |
CN112540835B (zh) | 一种混合机器学习模型的运行方法、装置及相关设备 | |
CN110958138B (zh) | 一种容器扩容方法及装置 | |
CN111988429A (zh) | 算法调度方法以及系统 | |
WO2020135129A1 (zh) | 加载应用的插件的方法、装置和终端 | |
CN113835748B (zh) | 基于html5的应用程序的打包方法、系统和可读介质 | |
CN116302054A (zh) | 一种软件项目的开发方法、装置、存储介质及电子设备 | |
CN114791884A (zh) | 测试环境的构建方法、装置、存储介质及电子设备 | |
CN113938527B (zh) | Api网关的扩展处理方法、计算设备及存储介质 | |
CN113282541B (zh) | 文件调用方法、装置和电子设备 | |
CN107291439B (zh) | 一种目标增量数据构建方法及装置 | |
CN117251260A (zh) | 一种数据处理方法及系统 | |
CN112346761B (zh) | 前端资源上线方法、设备、系统及存储介质 | |
CN114968482A (zh) | 无服务器处理方法、装置和网络设备 | |
CN110969461B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |