CN109343857A - 线上部署机器学习模型的方法、设备和存储介质 - Google Patents
线上部署机器学习模型的方法、设备和存储介质 Download PDFInfo
- Publication number
- CN109343857A CN109343857A CN201810961818.8A CN201810961818A CN109343857A CN 109343857 A CN109343857 A CN 109343857A CN 201810961818 A CN201810961818 A CN 201810961818A CN 109343857 A CN109343857 A CN 109343857A
- Authority
- CN
- China
- Prior art keywords
- machine learning
- node
- learning model
- xml document
- class
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- 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)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开涉及用于线上部署机器学习模型的方法、设备和存储介质。所述方法包括:将离线的第一机器学习模型导出成第一xml文件;将第一xml文件导入到应用平台;在应用平台上将第一xml文件识别并解析成java类;以及使所述java类运行在应用平台上。通过本公开的各实施例,能够提供将机器学习模型部署到已运行的应用平台上的方案。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种用于线上部署机器学习模型的方法、设备和存储介质。
背景技术
很多应用平台上运行着各种机器学习模型,以满足业务需要。目前,在应用平台上部署机器学习模型的主要手段为离线部署,即,通过离线训练得到稳定的机器学习模型,在应用平台的系统版本发布的同时或在此之前将该机器学习模型集成在应用平台的系统版本中,而无法在应用平台已运行的状态下线上部署机器学习模型。
发明内容
为解决以上问题中的一个或多个,本发明实施例提供了一种用于线上部署机器学习模型的方法、设备和存储介质。
根据本公开的第一方面,提供一种用于线上部署机器学习模型的方法,其包括:
将离线的第一机器学习模型导出成第一xml文件;
将第一xml文件导入到应用平台;
在应用平台上将第一xml文件识别并解析成java类;以及
使所述java类运行在应用平台上。
根据一示例性实施例,所述将离线的第一机器学习模型导出成第一xml文件包括:
将第一机器学习模型的类型及参数信息保存到xml格式文件的模型信息节点中;
将第一机器学习模型的特征字段信息及结果字段信息保存到xml格式文件的数据字典节点中;
将第一机器学习模型的特征数据所需的转换保存到xml格式文件的转换字典节点中;以及
将所述模型信息节点、所述数据字典节点和所述转换字典节点均置于xml格式文件的根节点下,使所述模型信息节点、所述数据字典节点和所述转换字典节点成兄弟关系,从而形成第一xml文件,
其中,第一xml文件符合PMML规范。
根据一示例性实施例,所述在应用平台上将第一xml文件识别并解析成java类包括:
将数据字典节点解析成DataDictionary类,用于保存特征字段与结果字段的名称及类型;
将转换字典节点解析成TransformationDictionary类,用于保存关于DataDictionary类中哪些字段需要转换的信息并用于对要转换的字段执行相应的转换;
将模型信息节点解析成Model类,用于执行机器学习模型的预算算法并返回预测结果。
根据一示例性实施例,将模型信息节点解析成Model类包括:根据机器学习模型的类型确定预算算法并将该预算算法封装在Model类中。
根据一示例性实施例,所述使所述java类运行在应用平台上包括:
根据DataDictionary类中的特征字段信息确定第一机器学习模型所需要的标准特征数据,并获取与所述标准特征数据相对应的实时特征数据;
通过TransformationDictionary类对所获取的实时特征数据执行所述相应的转换,以得到所需要的标准特征数据;以及
通过Model类对所述标准特征数据执行预算算法以得到预测结果。
根据一示例性实施例,所述方法还包括:
将离线的第二机器学习模型导出成第二xml文件;
将第二xml文件导入所述应用平台以替换第一xml文件;
将第二xml文件识别并解析成java类并用其更新应用平台上运行的对应于第一xml文件的java类。
根据本公开的第二方面,提供一种用于线上部署机器学习模型的装置,其包括:
xml文件导出模块,其被配置为将离线的第一机器学习模型导出成第一xml文件;
xml文件导入模块,其被配置为将第一xml文件导入到应用平台;
xml文件解析模块,其被配置为在应用平台上将第一xml文件识别并解析成java类;以及
运行模块,其被配置为使所述java类运行在应用平台上。
根据一示例性实施例,所述xml文件导出模块包括:
模型信息节点模块,其被配置为将第一机器学习模型的类型及参数信息保存到xml格式文件的模型信息节点中;
数据字典节点模块,其被配置为将第一机器学习模型的特征字段信息及结果字段信息保存到xml格式文件的数据字典节点中;
转换字典节点模块,其被配置为将第一机器学习模型的特征数据所需的转换保存到xml格式文件的转换字典节点中;以及
根节点模块,其被配置为将所述模型信息节点、所述数据字典节点和所述转换字典节点均置于xml格式文件的根节点下,使所述模型信息节点、所述数据字典节点和所述转换字典节点成兄弟关系,从而形成第一xml文件。
根据一示例性实施例,所述xml文件解析模块包括:
数据字典节点解析模块,其被配置为:将数据字典节点解析成DataDictionary类,所述DataDictionary类用于保存特征字段与结果字段的名称及类型;
转换字典节点解析模块,其被配置为:将转换字典节点解析成TransformationDictionary类,所述TransformationDictionary类用于保存关于DataDictionary类中哪些字段需要转换的信息并用于对要转换的字段执行相应的转换;
模型信息节点解析模块,其被配置为:将模型信息节点解析成Model类,所述Model类用于执行机器学习模型的预算算法并返回预测结果。
根据本公开的第三方面,提供一种计算设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令在被所述处理器执行时,使得所述处理器执行如上所述的方法实施例中的任一个。
根据本公开的第四方面,提供一种存储介质,其上存储有计算机程序,所述计算机程序在被一个或多个处理器执行时实现如上所述的方法实施例中的任一个。
本公开的实施例提供的技术方案可以包括以下有益效果:
本公开如上所述以及如下所述的各实施例,通过将离线训练得到的机器学习模型导出成xml文件、在应用平台上将该xml文件自动识别和解析成java类、并使解析出的java类运行在应用平台上,方便快捷地实现了机器学习模型在应用平台上的线上部署。另外,本发明各实施例中的一个或多个通过使用从更新的机器学习模型导出的新xml文件替换应用平台上的旧xml文件来进行机器学习模型的线上更新,使得应用平台上运行的机器学习模型可以及时利用更新的数据,提高了机器学习模型的时效性,使其可以及时应对业务的变化,从而提升了机器学习模型的风险防控价值。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
图1是根据一示例性实施例示出的一种用于线上部署机器学习模型的方法的示意流程图。
图2是根据图1对应实施例示出的用于线上部署机器学习模型的方法中步骤S110的一种示例性具体实现方式的示意流程图。
图3是根据图1对应实施例示出的用于线上部署机器学习模型的方法中步骤S130的一种示例性具体实现方式的示意流程图。
图4是根据图1对应实施例示出的用于线上部署机器学习模型的方法中步骤S140的一种示例性具体实现方式的示意流程图。
图5是根据图1对应实施例示出的用于线上部署机器学习模型的方法中步骤S140之后的机器学习模型更新的示例性方法的示意流程图。
图6是根据一示例性实施例示出的用于线上部署机器学习模型的装置的示意组成框图。
图7是根据图6对应实施例示出的用于线上部署机器学习模型的装置的xml文件导出模块610的示例性实现方式的示意组成框图。
图8是根据图6对应实施例示出的用于线上部署机器学习模型的装置的xml文件解析模块630的示例性实现方式的示意组成框图。
图9是根据一示例性实施例示出的计算设备的示意组成框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明的示例性实施例进行进一步详细说明。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不用于限定本发明。
图1是根据一示例性实施例示出的一种用于线上部署机器学习模型的方法的示意流程图。根据本公开,该机器学习模型被线上部署在一应用平台上,应用平台可以运行在一个或多个机器上。本公开各实施例的用于线上部署机器学习模型的方法的全部或至少一部分步骤可以由该应用平台或者说由部署有该应用平台的机器设备来执行,另一些步骤(例如,将离线的机器学习模型导出成xml文件的步骤,将xml文件导入应用平台的步骤)也可以由其他设备来执行。图1所示的示例性方法包括步骤:
S110,将离线的第一机器学习模型导出成第一xml文件。
在一个示例中,在将第一机器学习模型部署到已运行的应用平台上之前,先在机器学习算法框架(例如但不限于Spark MLlib机器学习算法框架)中使用离线数据(例如,应用平台的历史数据)进行离线训练,得到离线的机器学习模型。之后,在步骤S110中,将离线的机器学习模型导出成xml格式的文件,在本文中称为“第一xml文件”。该xml格式的文件符合PMML(预测模型标记语言)规范,可以被应用平台自动识别和解析。
S120,将第一xml文件导入到应用平台。
在一个示例中,第一xml文件被导入应用平台的数据库(例如,用于保存机器学习模型的配置信息的postgresql数据库)中。
S130,在应用平台上将第一xml文件识别并解析成java类。
PMML语言是标准语言规范,应用平台可以方便地将其识别并解析成java类。有关解析的具体实现方式,请参考根据图3所作的说明。
S140,使解析出的java类运行在应用平台上。
通过在应用平台上运行解析出的java类,即可以实现将上述第一机器学习模型线上部署在应用平台上。
图2是根据图1对应实施例示出的用于线上部署机器学习模型的方法中步骤S110的一种示例性具体实现方式的示意流程图。如图2的示例性实施例所示,步骤S110可以包括:
S210,将第一机器学习模型的类型及参数信息保存到xml格式文件的模型信息节点中。
机器学习模型的类型可以包括,例如:逻辑回归、决策树、kmeans聚类、神经网络,等等。不同类型的机器学习模型所需要的参数个数是不同的,这里以回归模型为例来说:例如,y=a1*x1+a2*x2+a3*x3+b这样一个回归模型,其中x1、x2、x3分别为三个特征字段,那么a1、a2、a3、b就是该机器学习模型的参数了,这4个参数可以在机器学习模型算法框架中在离线状态下使用历史数据进行训练而获得。
模型信息节点<Model>用于保存机器学习模型的类型及参数信息。在一个示例中,机器学习模型的类型不同,该节点的名称也就不同,例如,回归模型的节点名称为RegressionModel、神经网络模型的节点名称为NeuralNetwork、聚类类型模型的节点名称为ClusteringModel、决策树类型模型的节点名称为TreeModel,等等。
S220,将第一机器学习模型的特征字段信息及结果字段信息保存到xml格式文件的数据字典节点中。
数据字典节点<DataDictionary>用于保存机器学习模型的特征字段信息和结果字段信息。特征字段信息指的是机器学习模型需要获取的标准特征数据的名称及类型(可以是数值类型和字符串类型)。例如,使用字段名称为“ipInterviewCount”、类型为数值的特征字段来表示使用某IP地址的访问用户量,应用平台会使用该信息为机器学习模型获取与该标准特征数据相对应的实时特征数据。
结果字段信息指的是使用机器学习模型预测后得到的预测结果的名称及类型(可以是数值类型和字符串类型)。例如,使用字段名称为“riskLevel”、类型为字符串的结果字段来表示机器学习模型预测某位用户的风险等级。该预测结果最终会被返回给应用平台供其进行决策时使用。
S230,将第一机器学习模型的特征数据所需的转换保存到xml格式文件的转换字典节点中。
转换字典节点<TransformationDictionary>用于保存机器学习模型的特征数据所需的转换,该转换可以包含一系列函数操作,例如,加、减、乘、除等。所述转换为将获取的实时特征数据转换为机器学习模型的标准特征数据。
S240,将模型信息节点、数据字典节点和转换字典节点均置于xml格式文件的根节点下,使模型信息节点、数据字典节点和转换字典节点成兄弟关系,从而形成第一xml文件。
应当理解的是,虽然在图2中将以上步骤示出为顺序进行,但是以上各步骤之间并无必需的先后顺序,它们可以并行进行,或者按照其他顺序进行。
图3是根据图1对应实施例示出的用于线上部署机器学习模型的方法中步骤S130的一种示例性具体实现方式的示意流程图。在步骤S130中,xml文件被解析成相应的多个java类,不同的java类具有不同的属性与方法。如图3中的示例性实施例所示,步骤S130可以包括步骤:
S310,将数据字典节点解析成DataDictionary类。
DataDictionary类为用于保存特征字段与结果字段的名称及类型的java类。
S320,将转换字典节点解析成TransformationDictionary类。
TransformationDictionary类为如下这样的java类:其用于保存关于DataDictionary类中哪些字段需要转换的信息,并用于对要转换的字段执行相应的转换。
S330,将模型信息节点解析成Model类。
Model类为java中RegressionModel、NeuralNetwork等具体机器学习模型类的父类,其用于执行机器学习模型的预算算法并返回预测结果。其中,在解析模型信息节点时,根据机器学习模型的类型确定其预算算法并将该预算算法封装在Model类中。在一个示例中,每一种类型的机器学习模型分别对应一种固定的预算算法,所以预算算法是根据机器学习模型的类型来确定的。
应当理解的是,虽然在图3中将以上步骤示出为顺序进行,但是以上各步骤之间并无必需的先后顺序,它们可以并行进行,或者按照其他顺序进行。
图4是根据图1对应实施例示出的用于线上部署机器学习模型的方法中步骤S140的一种示例性具体实现方式的示意流程图。如图4的示例性实施例所示,步骤S140可以包括步骤:
S410,根据DataDictionary类中的特征字段信息确定第一机器学习模型所需要的标准特征数据,并获取与所述标准特征数据相对应的实时特征数据;
S420,通过TransformationDictionary类对所获取的实时特征数据执行相应的转换,以得到所需要的标准特征数据;以及
S430,通过Model类对标准特征数据执行预算算法以得到预测结果。
至此,第一机器学习模型已被部署到应用平台并开始运行。在一个示例中,可以通过应用平台配置机器学习模型的各参数以适配不同的应用场景。
通过以上所述的各实施例,提供了一种将经过离线训练得到的机器学习模型部署到已运行的应用平台上的方法。
图5是根据图1对应实施例示出的用于线上部署机器学习模型的方法中步骤S140之后的机器学习模型更新的示例性方法的示意流程图。当应用平台的数据有了更新时,为了使得应用平台上运行的第一机器学习模型能够及时地利用更新后的数据,可以使用应用平台的更新的离线数据在机器学习算法框架中进行离线训练,得到更新的第二机器学习模型,然后使用第二机器学习模型更新第一机器学习模型。如图5的示例性实施例中所示,该示例性更新方法可以包括步骤:
S510,将离线的第二机器学习模型导出成第二xml文件。
同样地,该第二xml文件也符合PMML规范,并且在根节点下包括三个兄弟节点:模型信息节点、数据字典节点和转换字典节点。
S520,将第二xml文件导入应用平台以替换第一xml文件。
S530,将第二xml文件识别并解析成java类并用其更新应用平台上运行的对应于第一xml文件的java类。
应用平台自动将第二xml文件识别并解析成相应的java类,第一机器学习模型在运行时会自动用从第二xml文件解析出的java类更新相应的java类,以完成从第一机器学习模型到第二机器学习模型的线上更新。
通过上述实施例,使得平台上运行的机器学习模型可以及时利用更新的应用平台数据,提高了机器学习模型的时效性,使其可以及时应对业务的变化,从而提升了机器学习模型的预测价值。
图6是根据一示例性实施例示出的用于线上部署机器学习模型的装置的示意组成框图。该示例装置601用于执行如上所述的用于线上部署机器学习模型的方法。如图6的示例中所示,该装置601可以包括:
xml文件导出模块610,其被配置为将离线的第一机器学习模型导出成第一xml文件;
xml文件导入模块620,其被配置为将第一xml文件导入到应用平台;
xml文件解析模块630,其被配置为在应用平台上将第一xml文件识别并解析成java类;以及
运行模块640,其被配置为使所述java类运行在应用平台上。
在一个示例性实施例(如图6所示)中,该装置601还可以包括离线训练模块600,其被配置为:在机器学习算法框架中使用离线数据进行训练,以得到离线的第一机器学习模型。
图7是根据图6对应实施例示出的用于线上部署机器学习模型的装置的xml文件导出模块610的示例性实现方式的示意组成框图。如图7所示,xml文件导出模块610可以包括:
模型信息节点模块710,其被配置为将第一机器学习模型的类型及参数信息保存到xml格式文件的模型信息节点中;
数据字典节点模块720,其被配置为将第一机器学习模型的特征字段信息及结果字段信息保存到xml格式文件的数据字典节点中;
转换字典节点模块730,其被配置为将第一机器学习模型的特征数据所需的转换保存到xml格式文件的转换字典节点中;以及
根节点模块740,其被配置为将所述模型信息节点、所述数据字典节点和所述转换字典节点均置于xml格式文件的根节点下,使所述模型信息节点、所述数据字典节点和所述转换字典节点成兄弟关系,从而形成第一xml文件。
图8是根据图6对应实施例示出的用于线上部署机器学习模型的装置的xml文件解析模块630的示例性实现方式的示意组成框图。如图8所示,xml文件解析模块630可以包括:
数据字典节点解析模块810,其被配置为:将数据字典节点解析成DataDictionary类,用于保存特征字段与结果字段的名称及类型;
转换字典节点解析模块820,其被配置为:将转换字典节点解析成TransformationDictionary类,用于保存关于DataDictionary类中哪些字段需要转换的信息并用于对要转换的字段执行相应的转换;
模型信息节点解析模块830,其被配置为:将模型信息节点解析成Model类,用于执行机器学习模型的预算算法并返回运算结果。
可以理解的是,上述各模块在机器学习模型的更新过程中对第二机器学习模型也起到相应的功能,在此不再赘述。
上述装置中各个单元/模块的功能和作用的实现过程以及相关细节具体详见上述方法实施例中对应步骤的实现过程,在此不再赘述。
以上各实施例中的装置实施例可以通过硬件、软件、固件或其组合的方式来实现,并且其可以被实现为一个单独的装置,也可以被实现为各组成单元/模块分散在一个或多个计算设备中并分别执行相应功能的逻辑集成系统。
以上各实施例中组成线上部署机器学习模型的装置的各单元/模块是根据逻辑功能而划分的,它们可以根据逻辑功能被重新划分,例如可以通过更多或更少的单元/模块来实现该装置。这些组成单元/模块分别可以通过硬件、软件、固件或其组合的方式来实现,它们可以是分别的独立部件,也可以是多个组件组合起来执行相应的逻辑功能的集成单元/模块。所述硬件、软件、固件或其组合的方式可以包括:分离的硬件组件,通过编程方式实现的功能模块、通过可编程逻辑器件实现的功能模块,等等,或者以上方式的组合。
根据一个示例性实施例,线上部署机器学习模型的装置可被实现为一种计算设备,该计算设备包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序在被所述处理器执行时,使得所述处理器执行如上所述的各方法实施例中的任一个,即,所述计算机程序在被所述处理器执行时使得该计算设备实现如上所述的用于线上部署机器学习模型的装置各实施例的组成单元/模块所实现的功能。
上面的实施例中所述的处理器可以指单个的处理单元,如中央处理单元CPU,也可以是包括多个分散的处理单元的分布式处理器系统。
上面的实施例中所述的存储器可以包括一个或多个存储器,其可以是计算设备的内部存储器,例如暂态或非暂态的各种存储器,也可以是通过存储器接口连接到计算设备的外部存储装置。
图9示出了这样的计算设备901的一个示例性实施例的示意组成框图。如图9所示,计算设备901可以包括:处理器910、通信接口920、存储器930和总线940。存储器930内存储有可被处理器910执行的计算机程序。处理器910执行所述计算机程序时实现上述实施例中的方法及装置的功能。存储器930和处理器910的数量分别可以为一个或多个。通信接口920用于处理器910与外部设备之间的通信。
其中,处理器910可以是中央处理单元、通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明公开内容所描述的各种示例性的流程步骤、功能单元/模块和/或电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合、数字信号处理器等等。
存储器930可以包括易失性存储器和/或非易失性存储器,例如非易失性动态随机存取存储器、相变随机存取存储器、磁阻式随机存取存储器、磁盘存储器、电子可擦除可编程只读存储器、闪存器件、半导体器件(例如固态硬盘)等。存储器930可选地还可以是外部远程存储装置。
总线940可以是工业标准体系结构(ISA,Industry Standard Architecture)总线、外部设备互连(PCI,Peripheral Component)总线或扩展工业标准体系结构(EISA,Extended Industry Standard Component)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。可选地,如果存储器930、处理器910及通信接口920集成在一块芯片上,则存储器930、处理器910及通信接口920可以通过内部接口完成相互间的通信。
以上各方法和装置实施例还可以被实现为计算机程序的形式,被存储在存储介质上,并且可被分发。因此,根据本公开的另一方面,还提供一种存储介质,其上存储有可供处理器执行的计算机程序,所述计算机程序在被处理器执行时实现如上所述的各方法和装置实施例中的任一个。
该存储介质可以是任何可以保持和存储可由指令执行设备使用的指令的有形设备。例如,其可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。
这里所描述的计算机程序/计算机指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
本公开中所述的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。但本领域技术人员应当清楚的是,上述各实施例可以根据需要单独使用或者相互结合使用。另外,对于装置实施例而言,由于其是与方法实施例相对应,所以描述得比较简单,相关之处参见方法实施例的对应部分的说明即可。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种用于线上部署机器学习模型的方法,其特征在于,包括:
将离线的第一机器学习模型导出成第一xml文件;
将第一xml文件导入到应用平台;
在应用平台上将第一xml文件识别并解析成java类;以及
使所述java类运行在应用平台上。
2.如权利要求1所述的方法,其特征在于,所述将离线的第一机器学习模型导出成第一xml文件包括:
将第一机器学习模型的类型及参数信息保存到xml格式文件的模型信息节点中;
将第一机器学习模型的特征字段信息及结果字段信息保存到xml格式文件的数据字典节点中;
将第一机器学习模型的特征数据所需的转换保存到xml格式文件的转换字典节点中;以及
将所述模型信息节点、所述数据字典节点和所述转换字典节点均置于xml格式文件的根节点下,使所述模型信息节点、所述数据字典节点和所述转换字典节点成兄弟关系,从而形成第一xml文件,
其中,第一xml文件符合PMML规范。
3.如权利要求2所述的方法,其特征在于,所述在应用平台上将第一xml文件识别并解析成java类包括:
将数据字典节点解析成DataDictionary类,用于保存特征字段与结果字段的名称及类型;
将转换字典节点解析成TransformationDictionary类,用于保存关于DataDictionary类中哪些字段需要转换的信息并用于对要转换的字段执行相应的转换;
将模型信息节点解析成Model类,用于执行机器学习模型的预算算法并返回预测结果。
4.如权利要求3所述的方法,其特征在于,将模型信息节点解析成Model类包括:根据机器学习模型的类型确定预算算法并将该预算算法封装在Model类中。
5.如权利要求3所述的方法,其特征在于,所述使所述java类运行在应用平台上包括:
根据DataDictionary类中的特征字段信息确定第一机器学习模型所需要的标准特征数据,并获取与所述标准特征数据相对应的实时特征数据;
通过TransformationDictionary类对所获取的实时特征数据执行所述相应的转换,以得到所需要的标准特征数据;以及
通过Model类对所述标准特征数据执行预算算法以得到预测结果。
6.如权利要求1-5中任一项所述的方法,其特征在于,还包括:
将离线的第二机器学习模型导出成第二xml文件;
将第二xml文件导入所述应用平台以替换第一xml文件;
将第二xml文件识别并解析成java类并用其更新应用平台上运行的对应于第一xml文件的java类。
7.一种用于线上部署机器学习模型的装置,其特征在于,包括:
xml文件导出模块,其被配置为将离线的第一机器学习模型导出成第一xml文件;
xml文件导入模块,其被配置为将第一xml文件导入到应用平台;
xml文件解析模块,其被配置为在应用平台上将第一xml文件识别并解析成java类;以及
运行模块,其被配置为使所述java类运行在应用平台上。
8.如权利要求7所述的装置,其特征在于,所述xml文件导出模块包括:
模型信息节点模块,其被配置为将第一机器学习模型的类型及参数信息保存到xml格式文件的模型信息节点中;
数据字典节点模块,其被配置为将第一机器学习模型的特征字段信息及结果字段信息保存到xml格式文件的数据字典节点中;
转换字典节点模块,其被配置为将第一机器学习模型的特征数据所需的转换保存到xml格式文件的转换字典节点中;以及
根节点模块,其被配置为将所述模型信息节点、所述数据字典节点和所述转换字典节点均置于xml格式文件的根节点下,使所述模型信息节点、所述数据字典节点和所述转换字典节点成兄弟关系,从而形成第一xml文件。
9.一种计算设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序在被所述处理器执行时,使得所述处理器执行如权利要求1至6中任一项所述的方法。
10.一种存储介质,其上存储有计算机程序,所述计算机程序在被一个或多个处理器执行时实现如权利要求1至6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810961818.8A CN109343857B (zh) | 2018-08-22 | 2018-08-22 | 线上部署机器学习模型的方法、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810961818.8A CN109343857B (zh) | 2018-08-22 | 2018-08-22 | 线上部署机器学习模型的方法、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109343857A true CN109343857A (zh) | 2019-02-15 |
CN109343857B CN109343857B (zh) | 2023-07-21 |
Family
ID=65297107
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810961818.8A Active CN109343857B (zh) | 2018-08-22 | 2018-08-22 | 线上部署机器学习模型的方法、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109343857B (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109976751A (zh) * | 2019-03-28 | 2019-07-05 | 北京中科寒武纪科技有限公司 | 模型操作方法、相关装置及计算机可读介质 |
CN110298031A (zh) * | 2019-05-28 | 2019-10-01 | 北京百度网讯科技有限公司 | 一种词典服务系统及模型版本一致性配送方法 |
CN110308910A (zh) * | 2019-05-30 | 2019-10-08 | 苏宁金融服务(上海)有限公司 | 算法模型部署以及风险监控的方法、装置和计算机设备 |
CN110837896A (zh) * | 2019-11-22 | 2020-02-25 | 中国联合网络通信集团有限公司 | 机器学习模型的存储和调用方法、装置 |
CN110852449A (zh) * | 2019-11-25 | 2020-02-28 | 北京百度网讯科技有限公司 | 模型迁移方法和电子设备 |
CN111158704A (zh) * | 2020-01-02 | 2020-05-15 | 中国银行股份有限公司 | 模型建立方法、部署流程生成方法、装置和电子设备 |
CN111273901A (zh) * | 2020-01-20 | 2020-06-12 | 浙江邦盛科技有限公司 | 一种可快捷上线部署的机器学习模型的文件格式及部署方法 |
CN111832739A (zh) * | 2019-04-18 | 2020-10-27 | 中科寒武纪科技股份有限公司 | 一种数据处理方法及相关产品 |
CN111917634A (zh) * | 2020-07-02 | 2020-11-10 | 西安交通大学 | 基于pmml的工业网关机器学习模型容器式部署系统及方法 |
CN112230898A (zh) * | 2020-10-23 | 2021-01-15 | 贝壳技术有限公司 | 模型应用交互系统、方法、可读存储介质及电子设备 |
CN113312418A (zh) * | 2021-05-31 | 2021-08-27 | 浪潮通用软件有限公司 | 一种基于机器学习模型的异构数据解析方法、设备及介质 |
CN114416099A (zh) * | 2022-01-21 | 2022-04-29 | 杭州和利时自动化有限公司 | 一种基于信息物理系统的模型集成方法及相关组件 |
CN116362352A (zh) * | 2023-06-01 | 2023-06-30 | 广州思迈特软件有限公司 | 基于机器学习的模型自动更新方法、系统、介质及终端 |
US11847554B2 (en) | 2019-04-18 | 2023-12-19 | Cambricon Technologies Corporation Limited | Data processing method and related products |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104700155A (zh) * | 2014-12-24 | 2015-06-10 | 天津南大通用数据技术股份有限公司 | 商业智能中的业务模型利用pmml实现预测的方法及系统 |
US20150293755A1 (en) * | 2014-04-09 | 2015-10-15 | Nice-Systems Ltd. | System and automated method for configuring a predictive model and deploying it on a target platform |
CN106022483A (zh) * | 2016-05-11 | 2016-10-12 | 星环信息科技(上海)有限公司 | 机器学习模型之间进行转换的方法与设备 |
US20180012145A1 (en) * | 2016-07-07 | 2018-01-11 | Hcl Technologies Limited | Machine learning based analytics platform |
-
2018
- 2018-08-22 CN CN201810961818.8A patent/CN109343857B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150293755A1 (en) * | 2014-04-09 | 2015-10-15 | Nice-Systems Ltd. | System and automated method for configuring a predictive model and deploying it on a target platform |
CN104700155A (zh) * | 2014-12-24 | 2015-06-10 | 天津南大通用数据技术股份有限公司 | 商业智能中的业务模型利用pmml实现预测的方法及系统 |
CN106022483A (zh) * | 2016-05-11 | 2016-10-12 | 星环信息科技(上海)有限公司 | 机器学习模型之间进行转换的方法与设备 |
US20180012145A1 (en) * | 2016-07-07 | 2018-01-11 | Hcl Technologies Limited | Machine learning based analytics platform |
Non-Patent Citations (1)
Title |
---|
高武奇;康凤举;钟联炯;: "数据挖掘的流程改进和模型应用", 微电子学与计算机, no. 07, pages 15 - 18 * |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109976751A (zh) * | 2019-03-28 | 2019-07-05 | 北京中科寒武纪科技有限公司 | 模型操作方法、相关装置及计算机可读介质 |
US11934940B2 (en) | 2019-04-18 | 2024-03-19 | Cambricon Technologies Corporation Limited | AI processor simulation |
CN111832739B (zh) * | 2019-04-18 | 2024-01-09 | 中科寒武纪科技股份有限公司 | 一种数据处理方法及相关产品 |
CN111832739A (zh) * | 2019-04-18 | 2020-10-27 | 中科寒武纪科技股份有限公司 | 一种数据处理方法及相关产品 |
US11847554B2 (en) | 2019-04-18 | 2023-12-19 | Cambricon Technologies Corporation Limited | Data processing method and related products |
US11762690B2 (en) | 2019-04-18 | 2023-09-19 | Cambricon Technologies Corporation Limited | Data processing method and related products |
CN110298031A (zh) * | 2019-05-28 | 2019-10-01 | 北京百度网讯科技有限公司 | 一种词典服务系统及模型版本一致性配送方法 |
CN110308910A (zh) * | 2019-05-30 | 2019-10-08 | 苏宁金融服务(上海)有限公司 | 算法模型部署以及风险监控的方法、装置和计算机设备 |
CN110308910B (zh) * | 2019-05-30 | 2023-10-31 | 苏宁金融服务(上海)有限公司 | 算法模型部署以及风险监控的方法、装置和计算机设备 |
CN110837896A (zh) * | 2019-11-22 | 2020-02-25 | 中国联合网络通信集团有限公司 | 机器学习模型的存储和调用方法、装置 |
CN110852449A (zh) * | 2019-11-25 | 2020-02-28 | 北京百度网讯科技有限公司 | 模型迁移方法和电子设备 |
CN110852449B (zh) * | 2019-11-25 | 2023-11-14 | 北京百度网讯科技有限公司 | 模型迁移方法和电子设备 |
CN111158704B (zh) * | 2020-01-02 | 2023-08-22 | 中国银行股份有限公司 | 模型建立方法、部署流程生成方法、装置和电子设备 |
CN111158704A (zh) * | 2020-01-02 | 2020-05-15 | 中国银行股份有限公司 | 模型建立方法、部署流程生成方法、装置和电子设备 |
CN111273901B (zh) * | 2020-01-20 | 2022-09-09 | 浙江邦盛科技股份有限公司 | 一种可快捷上线部署的机器学习模型的文件格式及部署方法 |
CN111273901A (zh) * | 2020-01-20 | 2020-06-12 | 浙江邦盛科技有限公司 | 一种可快捷上线部署的机器学习模型的文件格式及部署方法 |
CN111917634B (zh) * | 2020-07-02 | 2021-07-13 | 西安交通大学 | 基于pmml的工业网关机器学习模型容器式部署系统及方法 |
CN111917634A (zh) * | 2020-07-02 | 2020-11-10 | 西安交通大学 | 基于pmml的工业网关机器学习模型容器式部署系统及方法 |
CN112230898A (zh) * | 2020-10-23 | 2021-01-15 | 贝壳技术有限公司 | 模型应用交互系统、方法、可读存储介质及电子设备 |
CN113312418A (zh) * | 2021-05-31 | 2021-08-27 | 浪潮通用软件有限公司 | 一种基于机器学习模型的异构数据解析方法、设备及介质 |
CN114416099A (zh) * | 2022-01-21 | 2022-04-29 | 杭州和利时自动化有限公司 | 一种基于信息物理系统的模型集成方法及相关组件 |
CN114416099B (zh) * | 2022-01-21 | 2023-11-28 | 杭州和利时自动化有限公司 | 一种基于信息物理系统的模型集成方法及相关组件 |
CN116362352A (zh) * | 2023-06-01 | 2023-06-30 | 广州思迈特软件有限公司 | 基于机器学习的模型自动更新方法、系统、介质及终端 |
Also Published As
Publication number | Publication date |
---|---|
CN109343857B (zh) | 2023-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109343857A (zh) | 线上部署机器学习模型的方法、设备和存储介质 | |
AU2021201527B2 (en) | Method and system for automated intent mining, classification and disposition | |
US11640566B2 (en) | Industrial programming development with a converted industrial control program | |
CN107844634A (zh) | 多元通用模型平台建模方法、电子设备及计算机可读存储介质 | |
US11087090B2 (en) | System for focused conversation context management in a reasoning agent/behavior engine of an agent automation system | |
US11106984B2 (en) | Adaptive predictive analytics for design modification requests | |
US11915150B2 (en) | Refinement of a predicted event based on explainability data | |
CN111062521B (zh) | 一种在线预测方法、系统及服务器 | |
CN113821251A (zh) | 基于人工智能的代码优化方法、装置、设备和存储介质 | |
CN113971032A (zh) | 一种代码生成的机器学习模型全流程自动部署方法及系统 | |
EP3082085A1 (en) | Methods and systems for adaptive and contextual collaboraiton in a network | |
CN113591448A (zh) | 报表生成方法、装置及存储介质 | |
US20210019637A1 (en) | Generating a recommendation associated with an extraction rule for big-data analysis | |
US20240013095A1 (en) | A system and method for the unification and optimization of machine learning inference pipelines | |
WO2017104571A1 (ja) | 情報処理装置、情報処理方法、及び、記録媒体 | |
CN114710395B (zh) | 基于数字孪生技术的网络业务的实施实例的构建方法 | |
Ouyang et al. | Ontology-Based Network Intent Refinement Framework | |
CN117130780A (zh) | 业务执行方法、装置、电子设备和计算机可读存储介质 | |
WO2024058823A1 (en) | Dynamic explainable artificial intelligence pipeline composability and customization | |
Vemuri et al. | AI-Driven Predictive Maintenance in the Telecommunications Industry | |
CN116389265A (zh) | 网络运营管理方法及装置、计算机可读存储介质 | |
Brown et al. | Empowering Developers: AI-Infused Cloud Services for Software Engineering | |
CN112329436A (zh) | 一种法律文书要素解析方法及系统 | |
Kim | Artificial Intelligence Ecosystem, Techniques, and Use Cases | |
CN109933623A (zh) | 将数据源接入bi工具的方法、设备和存储介质 |
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 |