本发明涉及人工智能领域,尤其涉及一种基于docker的模型服务部署系统。
背景技术:
随着人工智能的发展,机器学习、深度学习相关技术被应用到诸多行业和领域。模型部署人工智能为应用中非常重要的一个环节,建模不易,部署更难。对于模型部署,目前普遍都是单服务手动部署,后期进行模型服务更新需要停机更新;且无法对模型服务运行资源进行管控,无法合理分配服务器运算资源;也无法对诸多模型服务访问权限进行统一控制,更无法进行监控服务运行状态及访问情况。为了解决这些弊端,行业中出现一些模型服务管理系统,可以统一管理模型服务鉴权,服务状态监控等,在一定程度上解决了模型服务部署管理问题。然而,这些系统存在一些缺点,例如部署资源无法细颗粒度管控,不支持弹性扩容,不支持灰度发布等。
技术实现要素:
为了解决上述问题,本发明提出了一种基于docker的模型服务部署系统。
具体方案如下:
一种基于docker的模型服务部署系统,包括模型仓库管理模块、镜像库管理模块、资源配额管理模块、服务管理模块和服务监控模块;
模型仓库管理模块用于对模型进行统一管理,模型通过本地模型文件上传和通过对接的训练平台进行模型传送两种中的一种或多种方式获取;
镜像库管理模块用于提供模型训练或服务发布的基础环境镜像支持;
资源配额管理模块用于管理各模型服务的运行资源,可以统一调度多种类型集群资源支持异构硬件资源调度;
服务管理模块用与根据模型仓库管理模块和资源配额管理模块输出的模型管理方式和资源配额管理方式进行模型的部署和模型生命周期的管理;
服务监控模块用于实时监控模型服务运行情况与服务记录。
进一步的,模型仓库管理模块的功能还包括:在线模型压缩转换、模型版本管理和一键服务发布。
进一步的,基础环境镜像包括内置镜像与用户自定义镜像,内置镜像包括固定框架的依赖环境,用户自定义镜像包括用户自定义的除固定框架的依赖环境之外的环境镜像。
进一步的,用户自定义镜像支持通过上传dockerfile文件的方式进行构建或通过在线环境镜像选项的勾选进行构建。
进一步的,资源配额管理模块的功能包括资源申请、资源审批、资源监控和弹性扩缩容。
进一步的,服务管理模块中模型的部署支持内置的固定框架和用户自定义框架的部署。
进一步的,服务监控模块提供可视化界面,实时监控服务管理模块对各模型服务部署后的性能和各模型服务运行状况。
进一步的,实时监控的各模型服务运行状况包括部署资源使用情况、请求信息数据、服务响应数据、服务鉴权信息统计数据。
本发明采用如上技术方案,可以更方便的进行模型服务部署,实现模型服务高可用、多类型模型支持。
附图说明
图1所示为本发明实施例系统的结构图。
具体实施方式
为进一步说明实施例,本发明提供有附图。这些附图为本发明揭露内容的一部分,其主要用以说明实施例,并可配合说明书的相关描述来解释实施例的运作原理。配合参考这些内容,本领域普通技术人员应能理解其他可能的实施方式以及本发明的优点。
现结合附图和具体实施方式对本发明进一步说明。
实施例一:
本发明实施例提供了一种基于docker的模型服务部署系统,如图1所示,系统包括模型仓库管理模块、镜像库管理模块、资源配额管理模块、服务管理模块和服务监控模块,其中:
(1)模型仓库管理模块用于对模型进行统一管理,模型通过本地模型文件上传和通过对接的训练平台进行模型传送两种中的一种或多种方式获取。
模型为机器学习或深度学习训练生成的模型。
模型仓库管理模块包括对外模型操作接口,通过对外模型操作接口与其他训练平台进行对接。
模型仓库管理模块的功能还包括:在线模型压缩转换、模型版本管理、一键服务发布等。
(2)镜像库管理模块用于提供模型训练或服务发布的基础环境镜像支持,以实现灵活的框架环境支持。
基础环境镜像包括内置镜像与用户自定义镜像,内置镜像包括固定框架的依赖环境,如常见框架:sklearn,xgboost,ligthgbm,sparkml,tensorflow,caffe,theano,keras,pytorch,mxnet等。如果内置镜像不满足用户需求,用户可以在线进行用户自定义镜像的配置。用户自定义镜像包括用户自定义的除固定框架的依赖环境之外的环境镜像。用户自定义镜像支持通过上传dockerfile文件的方式进行构建或通过在线环境镜像选项的勾选进行构建。
(3)资源配额管理模块用于管理各模型服务的运行资源,可以统一调度多种类型集群资源支持异构硬件资源调度。该实施例中资源配额管理模块的功能包括资源申请、资源审批、资源监控、弹性扩缩容等,可以实现细粒度灵活管控每个模型服务的运行资源。
(4)服务管理模块用与根据模型仓库管理模块和资源配额管理模块输出的模型管理方式和资源配额管理方式进行模型的部署和模型生命周期的管理。
模型的部署具有高可靠性和可扩展性,支持内置的固定框架如pmml,sklearn,xgboost,ligthgbm,sparkml;onnx,tensorflow,caffe,theano,keras,pytorch,mxnet和用户自定义框架的部署。
服务管理模块可以提供一站式模型服务发布管理,服务鉴权管理,服务版本控制,灰度发布,在线实时预测、批量预测、模型评估等功能,其中服务鉴权管理支持按天数、按访问量来控制服务接口访问限制。
(5)服务监控模块用于实时监控模型服务运行情况与服务记录。
服务监控模块提供可视化界面,实时监控服务管理模块对各模型服务部署后的性能和各模型服务运行状况。实时监控的各模型服务运行状况包括部署资源使用情况、请求信息数据、服务响应数据、服务鉴权信息统计数据。
本发明实施例提供了一种可视化的一站式模型版本控制系统,以模型服务版本管理、监控部署性能和运行状况、web服务指标的目的,可以更方便的进行模型服务部署,实现模型服务高可用,多类型模型支持。
尽管结合优选实施方案具体展示和介绍了本发明,但所属领域的技术人员应该明白,在不脱离所附权利要求书所限定的本发明的精神和范围内,在形式上和细节上可以对本发明做出各种变化,均为本发明的保护范围。
1.一种基于docker的模型服务部署系统,其特征在于,包括模型仓库管理模块、镜像库管理模块、资源配额管理模块、服务管理模块和服务监控模块;
模型仓库管理模块用于对模型进行统一管理,模型通过本地模型文件上传和通过对接的训练平台进行模型传送两种中的一种或多种方式获取;
镜像库管理模块用于提供模型训练或服务发布的基础环境镜像支持;
资源配额管理模块用于管理各模型服务的运行资源,可以统一调度多种类型集群资源支持异构硬件资源调度;
服务管理模块用与根据模型仓库管理模块和资源配额管理模块输出的模型管理方式和资源配额管理方式进行模型的部署和模型生命周期的管理;
服务监控模块用于实时监控模型服务运行情况与服务记录。
2.根据权利要求1所述的基于docker的模型服务部署系统,其特征在于:模型仓库管理模块的功能还包括:在线模型压缩转换、模型版本管理和一键服务发布。
3.根据权利要求1所述的基于docker的模型服务部署系统,其特征在于:基础环境镜像包括内置镜像与用户自定义镜像,内置镜像包括固定框架的依赖环境,用户自定义镜像包括用户自定义的除固定框架的依赖环境之外的环境镜像。
4.根据权利要求3所述的基于docker的模型服务部署系统,其特征在于:用户自定义镜像支持通过上传dockerfile文件的方式进行构建或通过在线环境镜像选项的勾选进行构建。
5.根据权利要求1所述的基于docker的模型服务部署系统,其特征在于:资源配额管理模块的功能包括资源申请、资源审批、资源监控和弹性扩缩容。
6.根据权利要求1所述的基于docker的模型服务部署系统,其特征在于:服务管理模块中模型的部署支持内置的固定框架和用户自定义框架的部署。
7.根据权利要求1所述的基于docker的模型服务部署系统,其特征在于:服务监控模块提供可视化界面,实时监控服务管理模块对各模型服务部署后的性能和各模型服务运行状况。
8.根据权利要求7所述的基于docker的模型服务部署系统,其特征在于:实时监控的各模型服务运行状况包括部署资源使用情况、请求信息数据、服务响应数据、服务鉴权信息统计数据。