用于实施机器学习过程的系统

文档序号:1505783 发布日期:2020-02-07 浏览:13次 >En<

阅读说明:本技术 用于实施机器学习过程的系统 (System for implementing a machine learning process ) 是由 王敏 胡时伟 康执玺 詹镇江 马云哲 肖贝贝 李瀚� 杨慧斌 于 2018-07-10 设计创作,主要内容包括:一种用于实施机器学习过程的系统。所述系统包括:至少一个用于执行与机器学习过程相关的任务的中间能力模块;至少一个通过与用户进行交互操作来设置与机器学习过程相关的业务的业务模块,其中,业务模块将设置的业务中所涉及的任务提交给对应的中间能力模块,并向用户提供中间能力模块执行所述任务的过程和/或结果。(A system for implementing a machine learning process. The system comprises: at least one intermediate capability module for performing tasks related to a machine learning process; at least one business module for setting business related to the machine learning process through interactive operation with a user, wherein the business module submits tasks related to the set business to corresponding intermediate capacity modules, and provides the process and/or result of the task executed by the intermediate capacity modules for the user.)

用于实施机器学习过程的系统

技术领域

本发明涉及机器学习领域,更具体地讲,涉及一种用于实施机器学习过程的系统。

背景技术

随着海量数据的出现,人工智能技术迅速发展,而机器学习是人工智能发展到一定阶段的必然产物,其致力于通过计算的手段,从大量数据中挖掘有价值的潜在信息。

在机器学***台),然而,现有的机器学***台局限于如何基于积累的数据来训练出相应的模型(或实现相应的模型管理),这使得平台能够支持的功能非常有限且固定。此外,现有平台往往只是针对相对单一的机器学习场景,难以满足用户日益复杂的机器学习场景要求。

发明内容

本发明的目的在于提供一种用于实施机器学习过程的系统。

本发明的一方面提供一种用于实施机器学习过程的系统,所述系统包括:至少一个用于执行与机器学习过程相关的任务的中间能力模块;至少一个通过与用户进行交互操作来设置与机器学习过程相关的业务的业务模块,其中,业务模块将设置的业务中所涉及的任务提交给对应的中间能力模块,并向用户提供中间能力模块执行所述任务的过程和/或结果。

可选地,机器学习过程包括开发机器学习模型、开发模型应用和/或运行模型应用所涉及的处理过程,其中,模型应用是指用于执行机器学习模型相关流程的程序。

可选地,业务模块包括数据中心模块、模型开发模块、模型应用开发模块、模型应用中心模块、模型中心模块、模型相关能力扩展模块、用户自定义业务模块之中的至少一项。

可选地,中间能力模块包括工作流任务模块、模型应用服务模块、数据管理服务模块、监控服务模块之中的至少一项。

可选地,中间能力模块还包括:文件存储模块、镜像中心、资源管理模块之中的至少一项。

可选地,中间能力模块通过图形界面与用户进行交互操作以针对任务的执行进行配置和/或查看。

可选地,业务模块包括数据中心模块,中间能力模块包括数据管理服务模块,其中,数据中心模块用于引导用户引入数据,对引入的数据进行预处理,将预处理后的数据提供给数据管理服务模块,以便通过数据管理服务模块存取、查看和/或分析数据。

可选地,所述预处理包括数据抽取、清洗、转换、装载之中的至少一项。

可选地,业务模块包括模型开发模块,中间能力模块包括工作流任务模块和数据管理服务模块,机器学习过程包括开发机器学习模型所涉及的处理过程,其中,模型开发模块用于通过与用户进行交互操作来设置与开发机器学习模型相关的业务,将与开发机器学习模型相关的业务中所涉及的计算任务提交给工作流任务模块,其中,工作流任务模块通过从数据管理服务模块获取执行由模型开发模块提供的计算任务所需的数据来执行计算任务,并将执行计算任务过程中得到的中间数据和/或结果数据提供给数据管理服务模块。

可选地,业务模块包括模型应用开发模块,中间能力模块包括工作流任务模块、模型应用服务模块和数据管理服务模块,其中,模型应用开发模块用于通过与用户进行交互操作来设置与开发模型应用相关的业务,其中,与开发模型应用相关的业务包括模型的上线预估逻辑及参数配置、模型的自学习逻辑及参数配置、数据流的处理及流向配置、模型上线监控、应用页面的开发中的至少一个的开发定义,其中,模型应用开发模块在开发过程中将与开发模型应用相关的业务中涉及的计算任务提交给工作流任务模块,将与开发模型应用相关的业务中涉及的调试模型应用服务提交给模型应用服务模块,将与开发模型应用相关的业务中涉及的调试数据管理服务提交给数据管理服务模块。

可选地,业务模块包括模型应用中心模块,中间能力模块包括工作流任务模块、模型应用服务模块、数据管理服务模块和监控服务模块,其中,模型应用中心模块用于通过与用户进行交互操作来设置用于运行和管理模型应用的业务,将所述业务中涉及的计算任务提交给工作流任务模块,将所述业务中涉及的模型应用服务提交给模型应用服务模块,将所述业务中涉及的数据管理服务提交给数据管理服务模块,并将所述业务中涉及的运行监控服务提交给监控服务模块。

可选地,模型应用开发模块用于通过设置以下方面之中的至少一项来设置与开发模型应用相关的业务:模型自学习方案、模型批量预估方案、模型在线预估方案、数据流管理方案。

可选地,模型应用开发模块还设置实时内存数据库管理方案。

可选地,业务模块包括用户自定义业务模块,中间能力模块包括工作流任务模块、模型应用服务模块、数据管理服务模块和监控服务模块,其中,用户自定义业务模块用于通过与用户进行交互操作来设置与机器学习模型的训练和/或应用相关的业务,将所述业务中涉及的计算任务提交给工作流任务模块,将所述业务中涉及的模型应用服务提交给模型应用服务模块,将所述业务中涉及的数据管理服务提交给数据管理服务模块,并将所述业务中涉及的运行监控服务提交给监控服务模块。

可选地,中间能力模块作为中间件而位于内核层之上,其中,内核层之下为硬件资源。

可选地,业务模块位于应用层。

可选地,业务模块包括模型中心模块,中间能力模块包括工作流任务模块,其中,模型中心模块通过与用户进行交互操作,将用于解释和/或分析模型所涉及的计算任务提交给工作流任务模块,以便用户查看由工作流任务模块产生的关于模型的解释报告和/或分析报告。

可选地,业务模块包括模型中心模块,中间能力模块包括数据管理服务模块,其中,模型中心模块通过与用户进行交互操作,将模型导入数据管理服务模块,查看和/或删除数据管理服务模块中的模型。

根据本发明的用于实施机器学习过程的系统通过划分出特定的中间能力模块和业务模块,使得不仅能够在统一的系统中完成相应的机器学习过程,更带来了开发或应用机器学习过程的灵活性和扩展性。此外,根据本发明的用于实施机器学习过程的系统可通过设置相应的业务模块与中间能力模块的协作来完成机器学习过程涉及的各个环节,并实现相应的结果管理。

附图说明

通过下面结合附图进行的详细描述,本发明的上述和其他目的和特点将会变得更加清楚,其中:

图1示出根据本发明的用于实施机器学习过程的系统的框图。

图2示出根据本发明的一个实施例的用于实施机器学习过程的系统。

图3示出根据本发明的另一个实施例的用于实施机器学习过程的系统。

图4示出根据本发明的又一个实施例的用于实施机器学习过程的系统。

图5示出根据本发明的又一个实施例的用于实施机器学习过程的系统。

图6示出根据本发明的又一个实施例的用于实施机器学习过程的系统。

具体实施方式

以下,参照附图来详细说明本发明的实施例。

图1示出根据本发明的用于实施机器学习过程的系统100的框图。

参照图1,根据本发明的用于实施机器学习过程的系统100(也可简称为机器学习系统)包括至少一个中间能力模块110和至少一个业务模块120,其中,中间能力模块110用于执行与机器学习过程相关的任务,业务模块120通过与用户进行交互操作来设置与机器学习过程相关的业务。此外,业务模块120将设置的业务中所涉及的任务提交给对应的中间能力模块,并向用户提供中间能力模块执行所述任务的过程和/或结果。

根据本发明的示例性实施例,将机器学习系统抽象成分离的两个层级,即,中间能力层和业务层,分别通过设置相应的模块来提供对应的基础能力或实现相应的业务,作为示例,业务模块作为应用层组成部分,可通过与用户的交互操作来设置各种与机器学习相关的业务,而各种业务中所涉及的相关任务则由位于下层的对应中间能力模块来执行。这里,所述机器学习系统既可支持本地的单机运行,也可支持集群的分布式运行。

在本发明中,机器学习过程可包括开发机器学习模型、开发模型应用和/或运行模型应用所涉及的处理过程,其中,模型应用是指用于执行机器学习模型相关流程的程序。这里,所述处理过程不仅可指完整的过程,也可指其中的一部分,例如,开发机器学习模型所涉及的过程既可指示从数据引入到模型评估的整个过程,也可仅指示其中从数据引入到特征生成的部分。

下面对中间能力模块110和业务模块120的示例进行详细描述。

在一个优选的实施例中,业务模块120可包括数据中心模块、模型开发模块、模型应用开发模块、模型应用中心模块、模型中心模块、模型相关能力扩展模块、用户自定义业务模块之中的至少一项。

作为示例,数据中心模块可提供相应的数据管理用户界面,并由此提供数据和关联任务管理能力。模型开发模块可提供例如集成开发环境等开发界面,以帮助用户设置与开发机器学习模型相关的业务。模型应用开发模块可提供例如集成开发环境等开发界面,由此帮助用户构建例如基于机器学习的推荐系统的应用,完成相应的编译和打包工作,即,帮助用户开发能够利用机器学习模型提供预测服务的过程。模型应用中心模块可提供用户界面,以帮助用户注册、部署、调试、实验或运维相应的模型应用。模型中心模块可提供例如用于管理产出的模型的信息(例如,版本、来源追溯、权限、监控等)的界面,以帮助用户管理模型。模型相关能力扩展模块可提供关于扩展能力开发和工具的用户界面,以帮助用户高效安全地扩展相关能力。用户自定义业务模块可以是用户所开发出的各种能够借助中间能力模块而实现相关业务的模块,例如,针对某个应用场景的机器学习系统,比如,计算机图像处理系统、知识图谱系统等。

在一个优选的实施例中,中间能力模块110可包括工作流任务模块、模型应用服务模块、数据管理服务模块、监控服务模块之中的至少一项。

作为示例,工作流任务模块可用于完成机器学习相关的调度和计算任务,例如,可支持灵活的调度编排、多种工作流表达方式、多种语言任务等。作为示例,所述计算任务可以是离线执行的针对模型训练、模型预估、数据处理、特征处理等相关计算的任务。模型应用服务模块可提供用于运行各种模型应用(例如,深度学习应用、图像识别应用、自然语言处理应用、知识图谱应用、图计算应用等)的环境,兼容不同场景下对实时性、稳定性和灵活性的要求。数据管理服务模块可管理从模型训练到基于模型提供服务的整个生命周期,不仅可支持多样数据,而且可进行高性能的数据计算和智能化、自动化的数据管理。监控服务模块可针对机器学习过程中所涉及的各种指标进行监控并提供警告或预警功能,作为示例,所述指标可包括机器状态、集群状态、应用性能、模型指标等。为此,监控服务模块可提供实时日志采集,并提供可视化的分析工具。

此外,可选地,中间能力模块还包括:文件存储模块、镜像中心、资源管理模块之中的至少一项。例如,文件存储模块用于存储诸如工程文件的小型文件,镜像中心用于存储和管理各种模型应用的镜像,资源管理模块用于管理系统所对接的系统资源。

在一个优选的实施例中,中间能力模块110通过图形界面与用户进行交互操作以针对任务的执行进行配置和/或查看。也就是说,业务模块120负责与用户进行业务层面的交互,而用户可经由中间能力模块110直接操纵机器学习过程的运行时态。

在本发明中,中间能力模块110可作为中间件而位于内核层之上,其中,内核层之下为硬件资源。此外,业务模块120可位于应用层。

图2示出根据本发明的一个实施例的用于实施机器学习过程的系统200。

参照图2,系统200包括数据中心模块210和数据管理服务模块220,其中,数据中心模块210为业务模块,数据管理服务模块220为中间能力模块。

数据中心模块210引导用户引入数据,对引入的数据进行预处理,并将预处理后的数据提供给数据管理服务模块220,以便通过数据管理服务模块220存取、查看和/或分析数据。例如,数据是用于机器学习过程的数据。在一个优选的实施例中,预处理包括数据抽取、清洗、转换、装载之中的至少一项。

图3示出根据本发明的另一个实施例的用于实施机器学习过程的系统300。

参照图3,系统300包括:(1)模型开发模块310;(2)工作流任务模块321和数据管理服务模块322,其中,模型开发模块310为业务模块,工作流任务模块321和数据管理服务模块322为中间能力模块。在该实施例中,机器学习过程包括开发机器学习模型所涉及的处理过程。

模型开发模块310通过与用户进行交互操作来设置与开发机器学习模型相关的业务,并将与开发机器学习模型相关的业务中所涉及的计算任务提交给工作流任务模块321。工作流任务模块321通过从数据管理服务模块322获取执行由模型开发模块310提供的计算任务所需的数据来执行计算任务,并将执行计算任务过程中得到的中间数据和/或结果数据提供给数据管理服务模块322。

图4示出根据本发明的又一个实施例的用于实施机器学习过程的系统400。

参照图4,系统400包括:(1)模型应用开发模块411;(2)工作流任务模块421、模型应用服务模块422和数据管理服务模块423,其中,模型应用开发模块411为业务模块,工作流任务模块421、模型应用服务模块422和数据管理服务模块423为中间能力模块。

模型应用开发模块411通过与用户进行交互操作来设置与开发模型应用相关的业务。作为示例,与开发模型应用相关的业务包括模型的上线预估逻辑及参数配置、模型的自学习逻辑及参数配置、数据流的处理及流向配置、模型上线监控、应用页面的开发中的至少一个的开发定义。

模型应用开发模块411在开发过程中将与开发模型应用相关的业务中涉及的计算任务提交给工作流任务模块421,将与开发模型应用相关的业务中涉及的调试模型应用服务提交给模型应用服务模块422,将与开发模型应用相关的业务中涉及的调试数据管理服务提交给数据管理服务模块423。

图5示出根据本发明的又一个实施例的用于实施机器学习过程的系统500。

参照图5,系统500包括:(1)模型应用开发模块511和模型应用中心模块512;(2)工作流任务模块521、模型应用服务模块522、数据管理服务模块523和监控服务模块524,其中,模型应用开发模块511和模型应用中心模块512为业务模块,工作流任务模块521、模型应用服务模块522、数据管理服务模块523和监控服务模块524为中间能力模块。

模型应用中心模块512通过与用户进行交互操作来设置用于运行和管理模型应用(例如,经由模型应用开发模块511开发出的模型应用)的业务,将所述业务中涉及的计算任务提交给工作流任务模块521,将所述业务中涉及的模型应用服务提交给模型应用服务模块522,将所述业务中涉及的数据管理服务提交给数据管理服务模块523,并将所述业务中涉及的运行监控服务提交给监控服务模块524。这里,模型应用中心模块512所针对的模型应用可不必产生自模型应用开发模块511(在这种情况下,图5所示的系统500中可包括模型应用开发模块511),即,本发明的示例性实施例并不限定模型应用的来源,所述模型应用可产生自系统500之外,根据用户的指示或预设的方式经由本地或网络而引入系统500。在一个实施例中,模型应用开发模块511通过设置以下方案之中的至少一项来设置与开发模型应用相关的业务:模型自学习方案、模型批量预估方案、模型在线预估方案、数据流管理方案。此外,可选地,模型应用开发模块511还可设置实时内存数据库管理方案。

图6示出根据本发明的又一个实施例的用于实施机器学习过程的系统600。

参照图6,系统600包括:(1)用户自定义业务模块611;(2)工作流任务模块621、模型应用服务模块622、数据管理服务模块623和监控服务模块624,其中,用户自定义业务模块611为业务模块,任务模块621、模型应用服务模块622、数据管理服务模块623和监控服务模块624为中间能力模块工作流。

用户自定义业务模块611通过与用户进行交互操作来设置与机器学习模型的训练和/或应用相关的业务,将所述业务中涉及的计算任务提交给工作流任务模块621,将所述业务中涉及的模型应用服务提交给模型应用服务模块622,将所述业务中涉及的数据管理服务提交给数据管理服务模块623,并将所述业务中涉及的运行监控服务提交给监控服务模块624。

上面已经结合图1-图6分别对根据本发明的不同实施例的用于实施机器学习过程的系统中的各个模块进行了描述。然而,应注意,本发明的示例性实施例对模块的设置和组合绝不仅限于图1到图6,而是可根据实际情况进行变型,即,根据本发明示例性实施的系统中可包括任意功能组合的模块,例如,各个系统之间的模块可以全部或部分地融合。作为示例,在实施机器学习过程的系统中,业务模块可包括模型中心模块,中间能力模块可包括工作流任务模块,其中,模型中心模块通过与用户进行交互操作,将用于解释和/或分析模型所涉及的计算任务提交给工作流任务模块,以便用户查看由工作流任务模块产生的关于模型的解释报告和/或分析报告。作为另一示例,在实施机器学习过程的另一系统中,业务模块可包括模型中心模块,中间能力模块可包括数据管理服务模块,其中,模型中心模块通过与用户进行交互操作,将模型导入数据管理服务模块,查看和/或删除数据管理服务模块中的模型。

下面对上述各个模块中的工作流任务模块、模型应用服务模块、监控服务模块、数据管理服务模块、模型开发模块、模型应用开发模块、模型中心模块进行更加详细描述。应注意,下面描述的示例仅为可选的实施例。

工作流任务模块可以是机器学***台,并对下对接Tensorflow/Spark等任何计算框架,对上承接各业务模块的工作流计算任务。工作流任务模块可为用户/上层业务模块提供工作流的多种表达方式,多种调度方式,细粒度的运行控制策略;提供工作流任务的封装、分布式调度、任务生命周期管理、输入输出标准化的工作。基于对工作流任务模块功能的组合和调用,用户(例如,人工智能(AI)开发者)可以构建出具备自学习(例如,模型自动更新)、自动机器学习人工智能(AutoMLAI)等等机器学习运算功能的上层应用程序。工作流任务模块可以让用户(例如,企业)摆脱众多开源/商业化算法自身在部署、运行、调度上的不稳定性和非标准化带来的烦恼,能够最大限度地利用好用户的硬件投资,优化用户构建AI应用的效率与成功率。

模型应用服务模块可以是基于云技术的AI应用程序管理平台。模型应用服务模块可以将X86服务器集群变为可以承载算法模型预估服务、开源算法产出模型的预估服务、决策服务、自然语言处理(NLP)服务、知识图谱服务、实时内存数据管理服务以及用户自定义Java相关程序的容器化管理平台,让用户拥有开箱即用的AI服务。模型应用服务模块为机器学习、在线特征处理、深度学习、知识图谱等多个方面的服务提供了统一的调度和运维管理功能,基于对模型应用服务模块架构开发的应用程序,可以原生获得应用在分布式异构环境中稳定可靠运行的能力,并且可以受益于容器化技术架构,轻松实现高可用、资源配额等企业级特性。另外,流量实验、高可用等特性也可规划在模型应用服务模块中。

监控服务模块可作为面向用户的企业级需求的模块。监控服务模块可首先提供对用于实施机器学习过程的系统上组件的信息收集、监控、报警服务,高性能实时汇集系统内其他中间件与服务产品的运行状态信息,用户(例如,企业的AI运维人员)将可以依赖监控服务模块丰富的日志解析规则和可扩展定义的条件判断能力,及时得知AI应用的健康状态。同时,针对机器学习的特性,监控服务模块还可将通过固化规则集的方式提供机器学习系统运维的最佳实践。另外根据不同用户的IT系统特性,监控服务模块也将成为AI系统和传统IT系统之间进行监控信息传输的桥梁。

数据管理服务模块可用于管理数据。数据是机器学习技术的原动力,数据管理服务模块可先从数据引入、数据处理(处理包括数据抽取、清洗、转换、装载等过程)和元数据管理三个方向开始构建。可将外部数据通过数据管理服务模块或者是兼容数据管理服务模块协议的第三方数据管理产品进行管理。在用于实施机器学习过程的系统内的数据,针对AI应用场景,数据管理服务模块可以进行数据血缘管理、数据与模型、特征等产物的交叉管理等,让用户(例如,企业)系统地管理和了解自己的AI重要资产。

模型开发模块可通过预置高维算法、AutoML自动建模、高级特征增强等先进技术;通过模型可视化、模型可解释、自动资源分配等丰富功能;通过包括低门槛、可拖拽可视化的交互式建模和脚本编写方式(诸如开源的notebook交互方式)等多种建模方式,使得用户能够在用于实施机器学习过程的系统中完成建模相关的数据探索、处理、特征工程、模型训练、模型评估等工作。此外,模型开发模块可满足不同目标不同习惯用户的建模需求。用于实施机器学习过程的系统可面向开发者提供与传统应用开发类似的体验,尽可能降低不同用户(例如,企业和合作伙伴)探索尝试人工智能应用的门槛与成本。

模型应用开发模块可帮助用户完成模型上线应用过程的配置与开发。模型应用在这里被定义为将一个离线产生的模型应用于在线提供预估服务所需的功能模块、相关配置文件并打包后运行可以完成模型上线预估的实体,模型应用开发模块可执行模型应用的开发、调试、打包环节。模型应用开发模块是一个为快速标准化开发模型应用流程构建的新开发工具。在一个实施例中,模型应用开发模块可内置模型上线所需的预估、自学习、数据流定义、监控等模块,内置模块可以让用户低门槛快速完成模型上线过程的定义。用户自定义模块的开发可以满足企业定制化的特殊需求,拥有灵活性。开发态与运行态的分离,让用户可以在模拟的线上环境中开发和调试好模型应用模块与整体部署逻辑,做到上线后的安全稳定。

模型应用中心模块可执行模型应用的部署、上线与管理。模型应用中心模块可为用户提供完整的、可靠的、高度灵活的企业级模型应用管理能力,用户(例如,企业)开发出满足业务诉求的模型应用后,通过模型应用中心模块进行部署。模型应用中心模块能够全方位实现对模型应用的管控,包括运维监控、调试实验、动态资源配置、版本管理等等,满足用户(例如,企业)对于模型应用在线上生产环境和线下调研环境的所有工作要求。

在人工智能的时代,模型是企业的重要资产,需要被分析查看、被追踪管理。模型中心模块从模型角度出发,提供模型训练报告、评估报告的查看,模型的特征分析、结构分析,模型的调试功能等模型分析解释功能,也提供模型分组、筛选、搜索及管理功能。模型上线业务后,依然需要从模型的角度分析及对比业务效果,管理模型的生命周期。模型中心模块会承担从模型的诞生到评估到使用全部过程的分析、管理工作。

进一步地,根据本发明的用于实施机器学***台或者业务系统开发适配器,从而能够使得用于实施机器学习过程的系统能够与用户已有的数据管理能力对接。

此外,应该理解,根据本发明示例性实施例的用于实施机器学习过程的系统中的各个单元可被实现硬件组件和/或软件组件。本领域技术人员根据限定的各个单元所执行的处理,可以例如使用现场可编程门阵列(FPGA)或专用集成电路(ASIC)来实现各个单元。

根据本发明的用于实施机器学习过程的系统通过划分出特定的中间能力模块和业务模块,使得不仅能够在统一的系统中完成相应的机器学习过程,更带来了开发或应用机器学习过程的灵活性和扩展性。此外,根据本发明的用于实施机器学习过程的系统可通过设置相应的业务模块与中间能力模块的协作来完成机器学习过程涉及的各个环节,并实现相应的结果管理。

14页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:用于执行机器学习过程的方法和系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!