一种跨机器学习平台的模型定义协议及适配系统的制作方法

文档序号:18413977发布日期:2019-08-13 19:05阅读:466来源:国知局
一种跨机器学习平台的模型定义协议及适配系统的制作方法

本发明属于人工智能和自动机器学习领域,具体涉及一种跨机器学习平台的模型定义协议及配置系统



背景技术:

随着这几年新一波人工智能浪潮的到来,机器学习相关技术被应用到诸多行业和领域。现如今多种主流机器学习框架均可以高效迅速的构建机器学习学习网络,但是不同框架编写的机器学习算法,在其他框架上并不能实现预期功能。同时,部署不同框架也需要在不同框架间来回转换。

不同框架的使用也需要技术人员对不同框架的语法非常熟悉,然而机器学习更多要和行业业务进行深度结合,才能最大化机器学习的价值,所以代码形式表示的机器学习网络的搭建对于一线业务使用人员并不具备友好的条件。



技术实现要素:

为了解决上述的1.不同框架语言编写的机器学习算法不兼容;2.对业务熟悉的一线人员构建机器学习网络较为困难。两个问题,做到能够兼容调用不同框架语言的机器学习算法,以及解决对业务熟悉的一线人员能够迅速的构建并训练机器学习网络,高效搭建机器学习网络,我们提出了一种跨机器学习平台的模型定义协议及适配系统。

本发明采用以下的技术方案:

一种跨机器学习平台的模型定义协议及适配系统,其特征在于,包括:计算图构建引擎、计算图优化引擎、跨机器学习平台模型定义协议、计算图编码引擎、超参推荐引擎、协议解析引擎、模型训练过程控制组件、硬件信息检测与配置系统,其中:

所述计算图构建引擎用于在系统前端界面,以拖动机器学习算法框或深度学习模型层的方式,构建一个有向无环计算图,以及运算流程的相关资源(包括数据入口、模型结构及参数、计算方式、硬件信息等),并在前端以json格式进行预保存;

所述计算图优化引擎用于优化以json格式保存的计算图,并补充有向无环图节点链接信息、节点分类信息(节点分类包括了:数据操作组件、预处理组件、模型层组件、编译层组件)等;

所述跨机器学习平台模型定义协议(cross-platformsmodeldefinitionprotocols)为本跨机器学习适配系统内部定义的一种通用性协议,本协议的约定主要是为了解决跨机器学习平台之间模型信息的通信不一致及其适配性问题,本协议可简称为cmdp;

所述计算图编码引擎用于将预先优化和处理过的有向无环计算图携带相关节点信息,按照协议规定方式进行编码,并以json格式保存协议信息;

所述超参推荐引擎用于对深度学习网络参数、深度学习训练参数、机器学习算法参数等进行初始化推荐,包括了深度学习网络中的激活函数推荐等;

所述协议解析引擎用于底层解析cmdp,以协议统一的方式对有向无环计算图及携带信息进行解析,并在后端将图级别信息编译成组合op;

所述模型训练过程控制组件用于对于深度学习和机器学习过程进行控制,包括:启动运行一个机器学习流程,中断机器学习过程,调整训练过程参数等;

所述硬件信息检测与配置系统用于自动检测用户可用硬件信息,并可进行运行环境的配置与选择操作。

优选地,所述的一种跨机器学习平台的模型定义协议及适配系统,其特征在于:所述的计算图构建引擎在前端以web的形式为用户提供了一个操作性强的界面,本适配系统的基础参数配置工作和模型搭建环节均可在该引擎中完成;另外本计算图构建引擎提供了强大的模型组件,例如:为用户提供了40多种机器学习算法,大量的垂直行业模型范例,并支持100层以上的深度学习模型,用户可在此基础上进行二次开发,大大提高了计算图构建的质量与效率。

优选地,所述的计算图构建引擎,其特征还在于:计算图构建引擎不涉及跨机器学习平台的独特模型操作方式。对于底层的不同机器学习平台,引擎内部以一种通用的计算图构建方法做了统一化处理,并将不同配置下的平台信息处理成参数包,以供协议解析引擎在模型编译阶段使用。目前本跨机器学习平台的模型定义协议及适配系统支持的机器学习框架包括但不限于:theano、mxnet、tensorflow、caffe、scikit-learn、spark、mahout、torch等。

优选地,所述的一种跨机器学习平台的模型定义协议及适配系统,其特征还在于:计算图优化引擎提供了多种优化工具以提高模型的结构质量,对于模型结构中的冗余、缺失或者非法信息,该引擎将分别进行合并,默认参数推荐和去除操作;为了提高协议解析引擎的处理效率,计算图优化引擎也将在模型信息中加入一些流程信息,例如:category参数,指定了模型组件的不同处理层次,方便后续引擎即时调整处理策略。

优选地,所述的跨机器学习平台模型定义协议(cross-platformsmodeldefinitionprotocols),具体指一种系统规则约束下且适用于不同机器学习平台的模型结构、配置信息传输方式。

优选地,所述计算图编码引擎按照上段中所述的跨机器学习平台模型定义协议对优化过的信息进行具体的编码和传输工作,并以json为储存形式。

优选地,所述的计算图储存形式,其特征还在于:结构上,经过计算图编码引擎的处理后,json中分别储存了三种信息要素:1.有向无环计算图节点信息,其中记录了网络结构信息、网络模型参数、损失函数、优化器参数以及数据治理环节所用到的组件参数等;2.有向无环计算图边信息,其中记录了有向无环计算图的整个结构信息,是后续编译环节中必不可少的信息;3.跨机器学习平台信息,其中记录着本地具备编译能力的跨机器学习平台框架信息,可根据具体的业务及性能需求,选择合适的机器学习框架。

优选地,所述超参推荐引擎,具体指的是为流程中不同环节的大量基础参数和超参数进行参数预推荐的功能。由于整个流程包含了数据加载,数据治理,模型构建,环境配置,编译运行,学习展示等众多环节,需要管理大量的流程参数,而超参推荐引擎可以对几乎所有的参数进行预先默认,甚至包括深度学习模型中的一些激活函数层,例如:在做多分类问题时,超参推荐引擎将会推荐最后一层激活函数为softmax,如果是二分类问题则推荐使用sigmoid函数,若该深度学习模型所做的是回归问题则最后一层为linear。

优选地,所述协议解析引擎,具体指按照不同的机器学习平台框架,通过解析cmdp获得可编译的计算图与数据信息,并编译成可运行状态的组合op。cmdp的解析方式具体指对cmdp中的信息按照不同平台所提供的类,使用自省机制来编译神经网络结构中的单个模型层。

优选地,所述模型训练过程控制组件具体实现的功能包括了:开启或中止一个机器学习流程,监控机器学习过程,发布以训练模型,使用以训练模型进行推理,机器学习过程中硬件环境状态的追踪(如:cpu使用率、gpu使用率、内存使用占比、设备温度等)。

采用上述技术方案后,本发明与背景技术相比,具有如下优点:

第一、实现跨平台机器学习网络构建,使用简单,降低机器学习维护门槛,具备更广泛的应用;第二、实现以拖动方式的机器学习深度学习网络构建,便于对底层代码不熟悉的一线业务人员根据实际业务迅速开发迭代机器学习、深度学习网络模型;第三、提供大量算法模型,支持不同场景下的机器学习,深度学习网络构建;第四、提供参数推荐功能,节省大量调参时间;第五、提供从数据清洗到模型发布全生命周期的算法网络构建,可直接投入生产使用。

附图说明

图1是学习效果图;图2是上传文件点击预测后图;图3是用户使用本系统流程图;图4是本系统示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

此处以创建fashion服饰分类器为例子:fashionmnist是一个图像数据集。它是由zalando(一家德国的时尚科技公司)旗下的研究部门提供。其涵盖了来自10种类别的共7万个不同商品的正面图片。

步骤1、用户登录系统,新建项目流程,并在操作流程界面通过拖拉模型框的方式构建整个项目流程:

其中,用户使用本系统,在登录界面中输入具备使用本系统的用户名和密码,点选新建项目流程,此处会给用户提供输入框,供用户输入想要建立模型的名称和描述,用户选择本系统提供的支持的机器学习以及深度学习框架作为用户想使用的后端算法框架(包括但不限于theano、mxnet、tensorflow、caffe、scikit、spark、mahout、torch),并进入创建新流程的界面。使用拖动方式,建立开始、拖动模型、建立结束。

步骤2、超参数推荐引擎将自动为用户推荐和补充网络结构中的基础参数,如果用户想自行填写参数,也可直接修改默认参数值:

此处以二维卷积为例,二维卷积包括如下参数:inputshape,biasconstraint,kernelconstraint,activityregularzier,biasregularizer,kernelregularizer,biasinitializer,filters,usebias,activation,dilationrate,padding,strides,kernelinitializer,kernelsize等。用户在选取二维卷积的网络结构时,系统会根据最优参数为用户提供一组默认参数,如果用户需要调整,可以自行调整参数。

步骤3、硬件信息检测与配置系统自动遍历用户可运行的本地和远程服务器环境,用户选择运行环境及机器学习框架

硬件信息监测与配置可以根据用户配置的本地服务器和远程服务器环境提供可视化选择界面,用户根据可是化选择界面对上述步骤1、2中建立好的模型进行训练。

步骤4、计算图编码引擎自动对项目流程信息和硬件信息按照模型定义协议进行优化和编码:

cmdp对应的json格式如下:

步骤5、协议解析引擎收到项目流程的cmdp后,对其进行解析和处理,按照用户所选择的机器学习框架进行编译,最终将网络模型处理成该框架下的组合op:

上述json以tensorflow为后台框架时,会转译成对应的tensorflow语句:

importtensorflowastf

tf.nn.conv2d(input,filter,strides,padding,use_cudnn_on_gpu=none,name=none)

步骤6、进行机器学习过程,系统自动追踪机器学习过程,实时返回机器学习的loss值和其他学习检测指标,并可对运行环境的基本状态进行监控:

4736/60000[=>.....................]-eta:99s-loss:3.7337-acc:0.5538

4768/60000[=>.....................]-eta:99s-loss:3.4369-acc:0.5736

4800/60000[=>.....................]-eta:99s-loss:3.3455-acc:0.6831

4832/60000[=>.....................]-eta:98s-loss:3.2415-acc:0.7133

4864/60000[=>.....................]-eta:98s-loss:3.1405-acc:0.7533

4896/60000[=>.....................]-eta:98s-loss:3.0373-acc:0.8035

步骤7、训练完成后,用户可以自行选择是否将学习模型发布成服务,以达到小组内的模型共享:

步骤8、训练完成后,可以对学习得到的模型进行推理检测,即:以界面交互方式,进行测试数据上传与模型预测,更客观的看到学习效果:

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1