本发明属于人工智能技术领域,尤其涉及一种基于深度学习的人工智能平台系统。
背景技术
最近几年,随着人工智能技术的快速发展,深度学习摧朽拉枯之势席卷it的各个角落,改变了各领域算法研究和软件开发的模式,也给it基础设施建设和平台工具研发带来了新的要求。快速搭建起一个分布式的深度学习训练平台,加速深度神经网络的训练,可以有效提高公司的竞争力。
当前深度学习框架繁多,耳熟能详的就有mxnet、tensorflow、cntk等等,这些框架开发语言不一,接口设计各异,给ai公司,尤其中小型创业团队的框架选择、技术积累和快速研发带来了很多困难。
深度学习训练的一个特点是具有很强的迭代性,即网络结构确定后,可以周期性地通过增加训练数据而提高模型的泛化能力。数据的统一管理,高效标注,可以有效缩短模型迭代周期,能获得更好的效果和更快的产品更新。
xlearning是一款支持多种机器学习、深度学习框架的调度系统。基于hadoopyarn完成了对tensorflow、mxnet、caffe、theano、pytorch、keras、xgboost等常用框架的集成,同时具备良好的扩展性和兼容性。基于hdfs提供统一数据管理。
现有人工智能平台系统(ai平台系统)的缺点为:
1、不支持gpu资源调度管理,在深度学习负载下,gpu是资源调度的一等公民,无法使用gpu资源,对于模型训练效率影响极大;
2、仅仅支持数据的存储,缺少对数据标注工作的支持,需要另外寻求标注工具;
3、没有权限控制系统,不能保证数据的安全;
4、无交互式变成环境,算法工程师开发效率低。
技术实现要素:
针对上述问题中存在的不足之处,本发明提供一种基于深度学习的人工智能平台系统。
为实现上述目的,本发明提供一种基于深度学习的人工智能平台系统,包括:
平台层,用于权限管理、分布式存储、gpu计算资源管理、分布式计算及训练和任务调度;
模型层,用于提供机器学习模型和深度学习模型;
应用层,用于资源管理与监控、模型定义及训练、提供交互式变成环境、智能数据标注和模型导出及发布。
作为本发明的进一步改进,所述平台层包括:
ldap权限管理模块,用于账号系统的关联、hdfs数据访问权限控制和任务提交管理、计算资源的权限控制;
hdfs模块,用于分布式存储训练任务依赖的数据;
yarn模块,用于接收到训练任务的请求,负责对任务进行gpu资源的分配及任务调度管理和监控;
api模块,所述api模块封装有资源管理、任务管理及监控的一系列接口,用于给账号系统调用及二次开发使用;
gpu主机,用于提供gpu资源。
作为本发明的进一步改进,所述模型层包括:
卷积神经网络,所述卷积神经网络包括分类模型、目标检测模型、文字检测模型和实例分割模型;
循环神经网络,所述循环神经网络包括lstm/gru循环神经模型、seq2seq模型和文字处理模型;
sklearn机器学习库,用于调用其中函数进行分类、回归、聚类和特征工程。
作为本发明的进一步改进,所述应用层包括:
资源管理与监控模块,用于提供可视化的界面供用户了解整个系统的运行状况;
模型定义及训练模块,用于定义模型、启动训练和评测模型;
交互式变成环境模块,所述交互式变成环境模块为基于jupyternotebook的交互式编程环境,用于提供交互式变成环境;
智能数据标注模块,所述智能数据标注模块为基于深度学习的智能标注系统,支持图片分类,目标检测,实例分割,文字检测和文字标注;
模型导出及发布模块,用于模型导出及发布;
web可视化界面。
作为本发明的进一步改进,系统的运行状况包括cpu/gpu使用情况、内存及磁盘使用情况、各个训练任务使用资源的情况和异常监控。
作为本发明的进一步改进,在模型定义及训练模块中:
所述定义模型包括选择模型类型、选择模型、定义模型超参数和指定训练数据集;
所述启动训练包括创建任务、并进入任务队列,分配gpu资源、启动训练以及查看训练输出和结果;
所述评测模型包括查看模型评测结果以及调整参数重新训练模型。
与现有技术相比,本发明的有益效果为:
1、海量训练数据的高效存储,用户资源隔离,访问权限控制更安全;
2、机器学习和大数据处理有机结合的高性能分布式计算框架,可扩展性更高;
3、支持tensorflow/mxnet等常用框架的集成,兼容性好;
4、训练数据、训练任务统一管理;机器学习流程规范化,流程化,模型产出更高效;
5、成熟商业分布式架构,系高可用,大大减少运维工作量;
6、集成大多数常规深度学习、传统机器学习模型,开发模型方便快捷;
7、提供深度学习常规外围辅助系统,所见即所得,方便业务与算法联动,快速形成生产力。
附图说明
图1为本发明一种实施例公开的基于深度学习的人工智能平台系统的框架图。
图中:
10、平台层;11、ldap权限管理模块;12、hdfs模块;13、yarn模块;14、api模块;15、gpu主机;20、模型层;21、卷积神经网络;22、循环神经网络;23、sklearn机器学习库;30、应用层;31、资源管理与监控模块;32、模型定义及训练模块;33、交互式变成环境模块;34、智能数据标注模块;35、模型导出及发布模块;36、web可视化界面。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合附图对本发明做进一步的详细描述:
本发明提供一种基于深度学习的人工智能平台系统,其通过工程手段开发一个ai平台系统,以此来提升gpu等硬件资源的利用率,减少硬件投入成本,帮助算法工程师更方便的应用各类深度学习技术,使其从繁杂的环境运维中解脱出来,提供海量训练数据的高效存储,用户资源隔离,访问权限控制更安全;训练数据、训练任务统一管理,机器学习流程规范化,流程化;数据标注自动化,提高模型迭代效率。
如图1所示,本发明提供一种基于深度学习的人工智能平台系统,包括三层架构:
平台层10,用于权限管理、分布式存储、gpu计算资源管理、分布式计算及训练和任务调度;
模型层20,用于提供丰富的传统机器学习模型和深度学习模型,方便直接复用;
应用层30,用于资源管理与监控、模型定义及训练、提供交互式变成环境、智能数据标注和模型导出及发布。
具体的:
本发明的平台层10包括:ldap权限管理模块11、hdfs模块12、yarn模块13、api模块14和gpu主机15;其中:
ldap权限管理模块11包括:
webportal账号系统的关联;
hdfs数据访问权限控制;
任务提交管理、计算资源的权限控制。
hdfs模块12:分布式存储训练任务依赖的数据,具有存储容量大,访问速度快,系统高可用,高容错,高可扩展性等优点。
yarn模块13:接收到训练任务的请求,负责对任务进行gpu资源的分配及任务调度管理和监控。
api模块14:api模块14封装有资源管理、任务管理及监控等的一系列接口,用于给webportal调用及二次开发使用;
gpu主机,用于提供gpu资源。
本发明的模型层20集成常规深度学习模型,用户只需提供训练数据和简单的配置参数,就能在预训练好的模型上进行fine-tune;模型层20包括:卷积神经网络(cnn)21、循环神经网络(rnn)22和sklearn机器学习库23;其中:
卷积神经网络21包括:
分类模型,包括:alexnet、vgg、resnet、inceptionnet、mobilenet、densenet等。
目标检测模型,包括:fasterrcnn,ssd,yolo等,应用场景如:人脸检测,车辆检测等。
文字检测模型,包括:east、ctpn、rrcnn等。
实例分割模型,包括:maskrcnn,fcnn,hed边缘检测模型等。
循环神经网络22包括:
lstm/gru循环神经模型,支持lstm/gru等循环神经单元,用户可以使用此模块搭建循环神经网络。使用场景:文本分类,机器创作诗歌等;
seq2seq模型,支持seq2seq模型的训练。使用场景:语音识别,机器翻译等;
文字处理模型,支持word2vec、fasttext等处理文字信息,支持文本分类等。
sklearn机器学习库23:
sklearn机器学习库23包括分类算法(svm、knn、bayes、决策树、随机森林等)和其它常用算法(svr、lr、k-means、pca等),可以直接调用其中函数进行分类、回归、聚类和特征工程等任务。
本发明的应用层30包括:资源管理与监控模块31、模型定义及训练模块32、交互式变成环境模块33、智能数据标注模块34、模型导出及发布模块35和web可视化界面36;其中:
资源管理与监控模块31提供可视化的界面供用户了解整个系统的运行状况,例如:
cpu/gpu使用情况;
内存及磁盘使用情况;
各个训练任务使用资源的情况;
异常监控。
模型定义及训练模块32用于定义模型、启动训练和评测模型;其中:
定义模型包括:
选择模型类型,如:图片识别,文字识别,目标检测,文字检测,分割,回归等;
选择模型,以图片识别为例子,如:alexnet,vgg等;
定义模型超参数,如:类别数量,fine-tune层数等;
指定训练数据集。
启动训练包括:
创建任务、并进入任务队列;
分配gpu资源、启动训练;
查看训练输出和结果。
评测模型包括:
查看模型评测结果;
调整参数,重新训练模型。
交互式变成环境模块33为基于jupyternotebook的交互式编程环境,它具有以下特点:
交互式的编程方式,所见即所得,可方便快速地编写、调试代码;
系统自动为用户分配远程计算资源,用户无需关心底层资源分配和管理;
内置丰富的代码库,用户可以直接调用sklearn、tensorflow、mxnet等模型库;
可视化输出,告别传统的文字界面,用户可以直接查看图片,图表等。
智能数据标注模块34为基于深度学习的智能标注系统,支持图片分类,目标检测,实例分割,文字检测和文字标注等任务;它具有以下特点:
采用b/s架构,方便部署、管理及使用;
多粒度任务管理,支持项目逐级拆分,灵活分配;
支持多人并行标注,系统自动分配任务,方便团队协作;
多人交叉标注验证,保证标注质量;
提供标准化的标注和质检流程,量化质量管理;
算法自动标注结合人工复核的工作方式,极大提高标注质量和效率。
目前自动标注支持:
图片分类;
目标检测及分割;
文字检测及识别。
模型导出及发布模块,用于模型导出及发布;
web可视化界面(webportal)。
进一步,本发明还可采用docker、k8s等容器及容器管理工具,构建基于hadoop的平台层资源管理及数据存储系统;类似ldap的权限管理系统;基于传统机器学习的自动标注系统;图形图像之外的数据标注系统,例如视频音频等。
本发明的优点为:
1、海量训练数据的高效存储,用户资源隔离,访问权限控制更安全;
2、机器学习和大数据处理有机结合的高性能分布式计算框架,可扩展性更高;
3、支持tensorflow/mxnet等常用框架的集成,兼容性好;
4、训练数据、训练任务统一管理;机器学习流程规范化,流程化,模型产出更高效;
5、成熟商业分布式架构,系高可用,大大减少运维工作量;
6、集成大多数常规深度学习、传统机器学习模型,开发模型方便快捷;
7、提供深度学习常规外围辅助系统,所见即所得,方便业务与算法联动,快速形成生产力。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。