一种人工智能能力开发平台的制作方法

文档序号:19249752发布日期:2019-11-27 20:03阅读:279来源:国知局
一种人工智能能力开发平台的制作方法

本发明涉及一种人工智能技术领域,尤其涉及一种人工智能能力开发平台。



背景技术:

目前,云计算、大数据的成熟催化了人工智能(ai)的进步与飞速发展,使得机器能够在很大程度上模拟人的功能,实现批量人性化和个性化的服务客户。随着ai的不断发展,各式各样的开源框架的诞生,对于企业如何管理机器的资源和ai开源框架成为本领域技术人员亟待解决的技术问题。



技术实现要素:

为了克服现有技术的不足,本发明的目的在于提供一种人工智能能力开发平台,以降低开源产品维护成本以及缩短模型训练时间。

本发明的目的采用如下技术方案实现:

一种人工智能能力开发平台,包括硬件层、系统层、数据层、资源管理调度模块、框架层和模型管理模块;所述硬件层包括cpu、gpu和存储器,所述cpu与存储器电性连接,所述gpu用于进行高性能并行运算;所述系统层支持linux操作系统,所述数据层中的数据文件采用并行文件系统和云对象存储系统来进行存储管理;所述资源管理调度模块用于对cpu、gpu和计算节点进行管理和调度;所述框架层内置集成有多种深度学习开源框架;所述模型管理模块用于对模型训练、生成和结果进行监控管理。

进一步地,所述linux操作系统包括redhat系统和ubuntu系统。

进一步地,多种深度学习开源框架包括tensorflow、pytorch、keras和caffe。

进一步地,所述平台还包括模型发布模块,所述模型发布模块用于将训练完成的人工智能模型发布为方便调用的人工智能推理服务以供其他应用系统调用。

进一步地,其他应用系统可通过restful或者stream或者grpc中一种api接口调用形式以使用人工智能能力开发平台发布的ai推理服务。

进一步地,所述模型管理模块用于提供全图形界面操作,所述全图形界面操作包括深度学习项目所需的数据预处理、模型导入和管理、模型训练、超参搜索、训练过程可视化和模型的验证。

进一步地,所述超参搜索中主要通过随机搜索、树结构的帕森窗估计法和基于gaussianprocess的贝叶斯优化中的一种来实现超参优化。

进一步地,所述数据层集成了apachespark,其用以简化转换非结构化和结构化数据集的过程。

进一步地,在框架层采用分布式深度学习框架,所述分布式深度学习框架利用多环动态网络技术来提高并行训练的加速比。

进一步地,所述资源管理调度模块采用ego资源管理框架来实现对cpu、gpu、计算节点进行管理和调度。

相比现有技术,本发明的有益效果在于:

本发明的人工智能能力开发平台通过设置多种深度学习开源框架以支持多种类型人工智能应用落地,降低用户自己进行开源产品的维护成本和使用的复杂度;且本发明的平台提供资源管理、调度及多租户管理功能,满足不同业务部门的若干人工智能应用进行统一运行和管理。

附图说明

图1为本发明的人工智能能力开发平台的框架结构图。

具体实施方式

下面,结合附图以及具体实施方式,对本发明做进一步描述,需要说明的是,在不相冲突的前提下,以下描述的各实施例之间或各技术特征之间可以任意组合形成新的实施例。

如图1所示,本实施例提供了一种人工智能能力开发平台,包括硬件层、系统层、数据层、资源管理调度模块、框架层和模型管理模块;所述硬件层包括cpu、gpu和存储器,所述cpu与存储器电性连接,所述gpu用于进行高性能并行运算;所述系统层支持linux操作系统,所述数据层中的数据文件采用并行文件系统和云对象存储系统来进行存储管理;所述资源管理调度模块用于对cpu、gpu和计算节点进行管理和调度;所述框架层内置集成有多种深度学习开源框架;所述模型管理模块用于对模型训练、生成和结果进行监控管理。

进一步地,所述linux操作系统包括redhat系统和ubuntu系统;在本实施例中除了上述这两种操作系统之外,还可以是目前国际中流行的linux厂商的发行版;多种深度学习开源框架包括tensorflow、pytorch、keras和caffe。也即是在该平台中集成了目前较为流行的开源框架,平台是一个高度开放的平台,内置集成各种开箱即用的业界流行的开源深度学习、机器学习库和框架,包括tensorflow、pytorch、keras、caffe等,并可以持续维护这些开源库和框架,因此支持多种类型ai应用的落地实现,降低用户自己进行开源产品的维护成本和使用的复杂度。在本实施例中,仅对tensorflow进行简要说明,本领域技术人员当知晓pytorch、keras、caffe这些名称的时候,也即可以完成对应的框架搭建。

tensorflow是一个使用数据流图(dataflowgraphs)技术来进行数值计算的开源软件库。数据流图是是一个有向图,使用节点(一般用圆形或者方形描述,表示一个数学操作或者数据输入的起点和数据输出的终点)和线(表示数字、矩阵或者tensor张量)来描述数学计算。数据流图可以方便的将各个节点分配到不同的计算设备上完成异步并行计算,非常适合大规模的机器学习应用。tensorflow支持各种异构的平台,支持多cpu/gpu,服务器,移动设备,具有良好的跨平台的特性;tensorflow架构灵活,能够支持各种网络模型,具有良好的通用性;此外,tensorflow内核采用c/c++开发,并提供了c++,python,java,go语言的clientapi。其架构灵活,能够支持各种网络模型,具有良好的通用性和可扩展性。tensorflow.js支持在web端使用webgl运行gpu训练深度学习模型,支持在ios、android系统中加载运行机器学习模型。

进一步地,所述平台还包括模型发布模块,所述模型发布模块用于将训练完成的人工智能模型发布为方便调用的人工智能推理服务以供其他应用系统调用。其他应用系统可通过restful或者stream或者grpc中一种api接口调用形式以使用人工智能能力开发平台发布的ai推理服务。通过上述模块使得平台对ai能力开放提供了很好的支持,研发人员可通过可视化界面一键把训练好的ai模型发布成可方便调用的ai推理服务,其他应用系统可通过restful,stream,grpc等api接口调用形式使用ai能力平台发布的ai推理服务。更为优选地,所述模型管理模块用于提供全图形界面操作,所述全图形界面操作包括深度学习项目所需的数据预处理、模型导入和管理、模型训练、超参搜索、训练过程可视化和模型的验证。所述超参搜索中主要通过随机搜索、树结构的帕森窗估计法和基于gaussianprocess的贝叶斯优化中的一种来实现超参优化。该平台提供可视化的模型训练和监控手段简化ai模型实现和管理难度,使得研发人员可通过可视化界面进行数据观察和预处理、设定训练模式、观察训练问题并进行调整、进行超参调整等。平台支持模型训练超参优化搜索功能,为ai模型训练自动提供最优的超参组合建议,极大的节省ai模型研发人员试错的代价。

所述数据层集成了apachespark,其用以简化转换非结构化和结构化数据集的过程。apachespark是一个围绕速度、易用性和复杂分析构建的大数据处理框架,spark有如下优势:spark提供了一个全面、统一的框架用于管理各种有着不同性质(文本数据、图表数据等)的数据集和数据源(批量数据或实时的流数据)的大数据处理的需求。

在框架层采用分布式深度学习框架,所述分布式深度学习框架利用多环动态网络技术来提高并行训练的加速比。也即是其具体的采用的是ibm的ddl技术(distributeddeeplearning),该技术利用多环动态网络技术,充分利用不同层通讯网络的带宽和性能来传输数据,提高并行训练的加速比。

所述资源管理调度模块采用ego资源管理框架来实现对cpu、gpu、计算节点进行管理和调度。ego集群管理框架由多层组成,包括工作负载管理器或应用程序框架、一个分布式文件系统、一个资源管理器,以及面向集群的系统管理工具。ego专注于资源管理,跨多个应用程序框架来交互和协调资源的共享。

在本实施例中alphamind指的即是人工智能能力开发平台。具体的,alphamind在硬件之上是操作系统和深度学习框架层,操作系统支持国际中最流行的linux厂商的发行版,包括redhat、ubuntu等;数据文件采用ibmspectrumscale并行文件系统和ibmcloudobjectstore面向对象存储管理;再向上是资源管理调度模块,在这里内置了ibmspectrumconductwithspark的产品(即cws),且利用业界闻名的ego作为资源管理、调度的模块,ego能对cpu、gpu、计算节点进行管理和调度。ego也支持多租户的管理。这样就可以满足客户多人或多团队协同合作场景下使用相同物理资源的需求。

该平台集成了目前流行的开源框架,如tensorflow、caffe等,在深度学习框架层,采用ibm的ddl技术(distributeddeeplearning),该技术利用多环动态网络技术,充分利用不同层通讯网络的带宽和性能来传输数据,提高并行训练的加速比。再向上,该产品提供全图形化界面操作,包括了深度学习项目所需的数据预处理、模型导入和管理、模型训练和超参搜索、训练过程可视化、模型的验证和发布功能;还提供模型发布平台inferenceasaservice;该平台提供多种api接入,包括restful,,streaming,grpc等api;并对模型的对外服务提供动态的横向扩展和负载均衡的功能,满足在访问压力突增场景。

本实施例的开发平台可以实现的功能如下:

1、多租户支撑,

是一个多租户解决方案,不同的用户对深度学习组成部分有不同的视角和配置权限。通过配置用户(user)、资源组(resourcegroup)和spark运行实例(sparkinstancegroup)实现对租户的分配。

2、资源调度

通过ego软件及其策略的配置,实现对资源的管理、调度和监控。

3、单个训练模型的监控和优化

通过从基础深度学习框架中抓取的相关日志来监控深度学习训练任务;通过汇总训练任务的监控数据将训练过程可视化;训练可视化功能可以提供运行时间、迭代次数、损失值、准确性和权重直方图、激活、神经网络梯度的可视化能力。从这些图表中,用户可以了解某个训练是否在正常运行或是出现问题。

4、超参优化

超参是指在模型训练过程开始前设置值的参数。与超参数区别的概念是参数,它是模型训练过程中学习到的一部分,比如回归系数,神经网络权重等。简单的描述参数是模型训练获得的,超参数是人工配置参数(本质上是参数的参数,每次改变超参数,模型都要重新训练)。

深度学习模型如cnn何rnn可能会有十个到一百个超参,例如:学习率、规程等。这些参数将对模型训练过程以及最终的模型结果产生影响。超参优化已成为深度学习模型调优的直接障碍之一。在此,我们执行三种算法:随机搜索、树结构的帕森窗估计法(tpe)和基于gaussianprocess的贝叶斯优化,来自动的优化这些超参。其中针对随机搜索来进行简单阐述:随机搜索(randomsearch)是利用随机数去求函数近似的最优解的方法,区别于网格搜索的暴力搜索方式。原理:在一定的区间内,不断随机地而不是有倾向性产生随机点,并计算其约束函数和目标函数的值,对满足约束条件的点,逐个比较其目标函数的值,将坏的点抛弃,保留好的点,最后便得到最优解的近似解。这种方法是建立在概率论的基础上,所取随机点越多,则得到最优解的概率也就越大。这种方法存在精度较差的问题,找到近似最优解的效率高于网格搜索。随机搜索一般用于粗选或普查。

5、fabric分布式训练

我们引入fabric,一种常规的分布式深度学习框架。并对跨多gpu和多节点,兼容现有的tensorflow和caffe模型的分布式深度学习提供广泛的支持。fabric支持不同的梯度下降法的并行化设计,具有大于80%的加速比。

fabric,一种常规的分布式训练框架,主要支持以下功能:

非ps的tensorflow/caffe模型支持的单节点、多gpu的训练;

带ps的tensorflow/caffe模型支持的多节点、多gpu的训练;

多节点,包括同步梯度数据控制算法、异步梯度数据控制算法、同步权重数据控制算法、异步权重数据控制算法在内,支持的分布式同步/异步训练算法;

广播/梯度递减/权重数据跨多gpu支持的nccl;

通过保存/复原训练检查点/快照文件支持继续训练。

6、fabric进行弹性分配

弹性设计将在训练过程中使用细粒度控制。由于粗粒度策略对资源利用有限制,无法加入更多gpu到训练阶段,对向上扩展也有限制。spark调度程序负责分配任务,会话调度程序则负责动态的请求资源。在资源回收情况下,调度程序会保持任务对象完成当前的训练迭代并向参数服务器发送梯度结果然后再退出。在集群扩展的情况下,调度程序会在训练任务中动态的加入更多任务对象并执行待定的训练迭代。

本实施例的开发平台通过简化工具和数据准备的开发经验,解决了数据科学家和开发人员面临的主要挑战,同时大大缩短了所需时间ai系统训练;其具有如下的优势:

易用性:应用程序开发人员可以利用有限的深度学习知识来培养和部署针对计算机视觉应用需求的深度学习模型的新型软件工具“aivision”;

用于数据准备的工具:与ibmspectrumconductor集群虚拟化软件集成,其集成了apachespark,以简化转换非结构化和结构化数据集的过程,为准备深度学习训练;

训练时间减少:tensorflow的分布式计算版本,由google首创的受欢迎的开源机器学习框架。tensorflow的分布式版本利用gpu加速服务器的虚拟化集群,利用成本效益高,高性能的计算方法,将深度学习的训练时间从几周缩短至数小时

更轻松的模型开发:一种称为“dlinsight”的新型软件工具,使数据科学家能够从深度学习模型中快速获得更高的准确性。该工具监控深度学习训练过程,并自动调整峰值性能参数

平台是一个高度开放的平台,内置集成各种开箱即用的业界流行的开源深度学习、机器学习库和框架,包括tensorflow、pytorch、keras、caffe等,并可以持续维护这些开源库和框架,因此支持多种类型ai应用的落地实现,降低用户自己进行开源产品的维护成本和使用的复杂度。

平台提供资源管理、调度及多租户管理功能,满足不同业务部门的若干ai应用物理统一运行和管理,逻辑独立的建设需求;平台支持多机、多gpu卡的并行训练,加速ai应用模型训练的时间,能够更快缩短ai应用实现的周期。

平台支持模型训练超参优化搜索功能,为ai模型训练自动提供最优的超参组合建议,极大的节省ai模型研发人员试错的代价;平台提供可视化的模型训练和监控手段简化ai模型实现和管理难度。研发人员可通过可视化界面进行数据观察和预处理、设定训练模式、观察训练问题并进行调整、进行超参调整等;平台针对ai应用的特别技术要求提供了更加优化的文件系统和调度手段,能够为ai应用提供更加稳定、更加快速的模型推理运行支撑;平台对ai能力开放提供了很好的支持,研发人员可通过可视化界面一键把训练好的ai模型发布成可方便调用的ai推理服务,其他应用系统可通过restful、stream、grpc等api接口调用形式使用ai能力平台发布的ai推理服务。

上述实施方式仅为本发明的优选实施方式,不能以此来限定本发明保护的范围,本领域的技术人员在本发明的基础上所做的任何非实质性的变化及替换均属于本发明所要求保护的范围。

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