掌桥专利:专业的专利平台
掌桥专利
首页

一种开发系统

文献发布时间:2023-06-19 10:58:46


一种开发系统

技术领域

本申请涉及人工智能领域,尤其涉及一种开发系统。

背景技术

随着人工智能的发展,人工智能应用到越来越多的场景,对建模的需求也越来越多。AI工程师是建模的主力,但目前落后的建模工具和繁琐的模型部署,限制了AI工程师的生产效率。目前,亟需一种能够提升AI工程师建模和部署效率的系统平台。

发明内容

本申请提供实现了一种开发系统,以实现业务系统管理训练数据以及管理实验容器的过程中,不需要进行训练数据的搬运,进而节省了利用训练数据训练实验容器中的模型的时间,并且,用户可以直接利用所述业务系统创建、管理实验容器,即可以在实验容器中进行建模的全流程(例如编写代码、训练模型、部署脚本等),提高了用户建模和部署的效率。

本申请提供了一种开发系统,所述系统包括:业务系统、分布式存储代理服务器和分布式文件系统;所述业务系统与所述分布式存储代理服务器连接,所述分布式代理服务器与所述分布式文件系统连接;其中,所述分布式代理服务器配置有多种类型的传输协议;

所述业务系统,用于对训练数据进行管理,以及,创建、管理实验容器;

所述分布式代理服务器,用于利用所述多种类型的传输协议,将所述业务系统中的训练数据存储至所述分布式文件系统中,以及,将所述分布式文件系统所存储的数据挂载到所述业务系统中的实验容器;

所述分布式文件系统,用于存储通过所述分布式代理服务器进行储存的数据。

可选的,所述业务系统包括数据管理模块和容器编排引擎;

所述数据管理模块,用于对训练数据进行管理;

所述容器编排引擎,用于创建、管理实验容器。

可选的,所述容器编排引擎为Kubernetes。

可选的,所述分布式代理服务器配置有两种传输协议,分别为存储服务协议和文件共享协议;

所述分布式代理服务器,具体用于通过所述存储服务协议将所述数据管理模块中的训练数据存储至所述分布式文件系统中;以及,通过所述文件共享协议将所述分布式文件系统所存储的数据挂载到所述业务系统中的实验容器。

可选的,所述实验容器,具体用于通过所述文件共享协议读取所述分布式文件系统中所存储的训练数据,并利用所述训练数据进行模型训练,得到已训练的模型。

可选的,所述实验容器,具体用于通过所述文件共享协议向所述分布式文件系统上传数据。

可选的,所述存储服务协议包括简单存储服务协议。

可选的,所述文件共享协议包括网络文件系统协议。

可选的,所述数据管理模块,具体用于对训练数据进行增加、删除和查询。

可选的,所述容器编排引擎,配置有代码开发工具;所述容器编码引擎,具体用于创建实验容器,以及,利用所述代码开发工具在所述实验容器中输入代码、部署脚本和创建、导入、训练模型。

由上述技术方案可以看出,本申请提供了一种开发系统,所述系统包括:业务系统、分布式存储代理服务器和分布式文件系统;所述业务系统与所述分布式存储代理服务器连接,所述分布式代理服务器与所述分布式文件系统连接;其中,所述分布式代理服务器配置有多种类型的传输协议;所述业务系统,用于对训练数据进行管理,以及,创建、管理实验容器;所述分布式代理服务器,用于利用所述多种类型的传输协议,将所述业务系统中的训练数据存储至所述分布式文件系统中,以及,将所述分布式文件系统所存储的数据挂载到所述业务系统中的实验容器;所述分布式文件系统,用于存储通过所述分布式代理服务器进行储存的数据。可见,在本申请中,由于所述分布式代理服务器配置有多种类型的传输协议,故所述分布式存储代理服务器可以基于分布式文件系统完成训练数据的存储和读取,这样,所述多种类型的传输协议可以共用一套底层存储(即分布式文件系统),从而业务系统管理训练数据以及管理实验容器的过程中,不需要进行训练数据的搬运,进而节省了利用训练数据训练实验容器中的模型的时间;并且,用户可以直接利用所述业务系统创建、管理实验容器,即可以在实验容器中进行建模的全流程(例如编写代码、训练模型、部署脚本等),提高了用户建模和部署的效率。

上述的非惯用的优选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。

附图说明

为了更清楚地说明本申请实施例或现有的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本申请一实施例提供的一种开发系统的结构示意图;

图2为本申请一实施例提供的一种实验容器建模的流程示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合具体实施例及相应的附图对本申请的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

发明人经研究发现,目前很多厂商对象存储和容器NFS存储都是分开的,数据管理需要把数据上传到对象存储,但是模型训练需要的数据又需要读取容器的NFS存储,这就需要把对象存储中的数据搬迁到NFS存储中,耗费大量网络带宽和时间。故此,本申请提供了一种开发系统,在本申请中,由于所述分布式代理服务器配置有多种类型的传输协议,故所述分布式存储代理服务器可以基于分布式文件系统完成训练数据的存储和读取,这样,所述多种类型的传输协议可以共用一套底层存储(即分布式文件系统),从而业务系统管理训练数据以及管理实验容器的过程中,不需要进行训练数据的搬运,进而节省了利用训练数据训练实验容器中的模型的时间;并且,用户可以直接利用所述业务系统创建、管理实验容器,即可以在实验容器中进行建模的全流程(例如编写代码、训练模型、部署脚本等),提高了用户建模和部署的效率。

下面结合附图,详细说明本申请的各种非限制性实施方式。

参见图1,本申请实施例提供了一种开发系统,所述系统可以包括:业务系统、分布式存储代理服务器和分布式文件系统。其中,所述业务系统与所述分布式存储代理服务器连接,所述分布式代理服务器与所述分布式文件系统连接。

在本实施例中,所述分布式文件系统,可以理解为一个可以存储文件的系统,具体地,分布式文件系统可以用于存储通过所述分布式代理服务器进行储存的数据。在一种实现方式中,分布式文件系统可以为Ceph,Ceph是一种为优秀的性能、可靠性和可扩展性而设计的统一的分布式文件系统。

所述业务系统,可以用于对训练数据进行管理,以及,创建、管理实验容器。需要说明的是,在一种实现方式中,所述业务系统可以包括数据管理模块和容器编排引擎。

其中,数据管理模块可以理解为可以存储有用于训练模型的训练数据,且可以对训练数据进行管理的的模块,也就是说,所述数据管理模块可以用于对训练数据进行管理。需要说明的是,用于训练模型的训练数据可以为图片、文本、音频以及其对应的标注数据,比如可以是一堆图片和图片标注文件。在一种实现方式中,所述数据管理模块,具体可以用于对训练数据进行增加、删除和查询,即数据管理模块可以对存储在其本地的训练数据进行添加、删除或者查询。需要说明的是,在数据管理模块中,各个训练数据均有各自分别对应的统一资源标识符(Uniform Resource Identifier,URI),这样,便可以利用训练数据对应的URL进行查询。

所述容器编排引擎,可以理解为用于创建、管理实验容器的模块,即容器编排引擎用于管理容器的,比如管理实验容器的,在本系统中所有的实验容器都是由容器编排引擎负责管理的,后面涉及到的部署容器也是由容器编排引擎管理。在一种实现方式中,所述容器编排引擎,配置有代码开发工具,比如容器编排引擎可以配置有代码开发工具Jupyternotebook或者Vscode、深度学习包TensorFlow、Jupyter notebook镜像、Vscode镜像、idea和Eclipse开发工具等基础开发依赖包;这样,所述容器编码引擎,具体可以用于创建实验容器,以及,管理实验容器。需要说明的是,由于实验容器可以理解成一台资源隔离的机器,相当于开发环境,故在本实施例中,可以在实验容器中配置有代码开发工具,以便于实验容器可以创建容器,并且用户可以在容器里进行编码;可以理解的是,容器编码引擎管理实验容器可以理解为利用所述代码开发工具在所述实验容器中输入代码、部署脚本和创建、导入、训练模型。

需要说明的是,现有技术中,目前很多厂商代码编写并不是在容器中,只有训练容器化,部署这块虽然是容器化,但更多的是需要AI工程师写dockerfile文件去创建容器,但AI工程师对docker不是很了解,无法快速便捷创建部署容器。可见,本申请实施例可以实现建模全流程容器化,具体地,本实施例中的建模全流程在容器里面进行操作,包含代码编写,训练,部署,提高了AI工程师建模效率。这样,用户可以直接利用所述业务系统创建、管理实验容器,即可以在实验容器中进行建模的全流程(例如编写代码、训练模型、部署脚本等),提高了用户建模和部署的效率。

举例来说,所述容器编排引擎可以为Kubernetes,简称K8s,是用8代替8个字符″ubernete″而成的缩写;是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了一种应用部署、规划、更新、维护的机制。以进行口罩识别模型开发为例,如图2所示,用户选择好合适的底层深度学习框架镜像和Jupyter notebook镜像或者Vscode镜像,加上相关的存储、CPU、内存,可以基于k8s(即容器编排引擎)创建一个实验容器Y1,k8s返回Jupyternotebook入口地址和权限token。其中,存储即为Ceph通过NFS协议挂载的存储;并且,可以利用k8s通过Jupyter notebook入口地址和权限token进入实验容器Y1内部的Jupyternotebook界面或者Vscode界面,在前面两种IDE上直接编写相关口罩识别模型深度学习代码;接着,可以利用k8s编写训练脚本,挂载到实验容器Y1;紧接着,利用k8s将实验容器Y1打包成算法镜像A1;再接着,可以利用k8s选择GPU、CPU、内存相关资源数据,同时选择自动调参或者手动调参;这样,基于算法镜像A1,可以用k8s创建一个训练或者多个训练容器,执行训练,训练后会生成一个或者多个模型;最后,可以利用k8s根据口罩识别模型识别精度,从训练模型中选择一个精度合适的模型M1,以及,基于合适的底层深度学习框架镜像和Jupyter notebook镜像或者Vscode镜像,选择默认资源,基于k8s创建一个部署容器Y2,接下来,可以利用k8s在部署容器Y2里面编写部署脚本,将部署容器Y2封装成部署镜像A2,形成标准化部署镜像组件,这样就可以灵活在第三方平台使用;最后,可以利用k8s启动部署镜像A2,形成可以提供口罩识别服务的容器Y3;这样,可以利用k8s上传一张戴口罩的行人照片X1,向容器Y3接口发送请求,可以返回标注口罩位置的新图片X2,同时返回口罩识别坐标和是否戴口罩的标志。

在本实施例中,所述分布式代理服务器中可以配置有多种类型的传输协议,比如,在一种实现方式中,所述分布式代理服务器中可以配置有两种传输协议,分别为存储服务协议和文件共享协议,举例来说,所述存储服务协议可以包括简单存储服务(S3,SimpleStorage Service)协议;所述文件共享协议包括网络文件系统(NFS,NetworkFileSystem)协议。

其中,需要说明的是,S3协议理论上是一个全球存储区域网络(SAN),它表现为一个超大的硬盘,您可以在其中存储和检索数字资产,可以通过S3协议存储和检索的资产可以被称为对象,对象存储在存储段(bucket)中,对象就像是文件,存储段就像是文件夹(或目录),与硬盘一样,对象和存储段也可以通过统一资源标识符(Uniform ResourceIdentifier,URI)查找。可以理解的是,可以通过S3协议在分布式文件系统中存储和检索文件,S3协议可以理解成操作文件的一系列接口规范,比如,可以通过S3协议上传文件接口,把模型训练需要的标注数据上传到分布式文件系统。

NFS协议,NFS是NetworkFileSystem的简写,即网络文件系统,网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS。NFS协议可以允许一个系统在网络上与其他设备共享目录和文件。可以理解的是,通过使用NFS协议,用户和程序可以像访问本地文件一样访问远端系统上的文件。需要说明的是,由于业务系统中的容器没有存储功能,容器的存储是需要通过挂载实现的,在本实施例的一种实现方式中,可以通过挂载NFS作为容器的存储。

具体地,在本实施例中,所述分布式代理服务器,可以用于利用所述多种类型的传输协议,将所述业务系统中的训练数据存储至所述分布式文件系统中,以及,将所述分布式文件系统所存储的数据挂载到所述业务系统中的实验容器。

具体地,所述分布式代理服务器可以通过所述存储服务协议将所述数据管理模块中的训练数据存储至所述分布式文件系统中;举例来说,以进行口罩识别模型开发为例,数据管理模块可以通过S3协议上传带口罩的人员图片和标注数据到分布式文件系统(比如对象存储ceph)中。

以及,所述分布式代理服务器可以通过所述文件共享协议将所述分布式文件系统所存储的数据挂载到所述业务系统中的实验容器;这样,所述实验容器可以通过所述文件共享协议读取所述分布式文件系统中所存储的数据,并对所述分布式文件系统中所存储的数据进行操作,比如,所述实验容器可以通过所述文件共享协议读取所述分布式文件系统中所存储的训练数据,并利用所述训练数据进行模型训练,得到已训练的模型。举例来说,以进行口罩识别模型开发为例,实验容器可以直接把分布式文件系统(比如对象存储ceph)中所存储的带口罩的人员图片和标注数据通过NFS协议映射挂载到容器中,这样,可以直接在容器中对向分布式文件系统上传的带口罩的人员图片和标注数据进行操作,比如利用带口罩的人员图片和标注数据进行训练模型。另外,所述实验容器,还可以具体用于通过所述文件共享协议向所述分布式文件系统上传数据,比如,实验容器对模型训练结束后,可以通过所述文件共享协议向所述分布式文件系统上传模型数据。

可见,在本实施例中,由于在分布式文件系统基础上封装了中间服务层(即分布式代理服务器),并且该分布式代理服务器支持简单存储服务协议(比如S3协议)和网络文件系统协议(比如NFS协议)对分布式文件系统进行操作,故对象存储和容器NFS存储(即数据管理模块和实验容器)可以共用一套底层存储(即分布式文件系统),这样,通过分布式代理服务器的S3接口可以把文件写到分布式文件系统里面,然后通过分布式代理服务器的NFS协议接口把文件挂载到容器里面,这样实验容器就可以读取到文件了,从而当试验容器需要利用训练数据对模型训练时,不需要再和现有技术一样,需要对训练数据进行搬运,从而节省了时间,提高了训练模型的效率。

需要说明的是,在本实施例的一种实现方式中,如图1所示,业务系统中的数据管理模块可以与所述分布式存储代理服务器中的存储服务协议模块通信连接,所述分布式存储代理服务器中的存储服务协议模块可以与分布式文件系统通信连接,分布式文件系统可以与所述分布式存储代理服务器中的文件共享协议模块通信连接,所述文件共享协议模块可以与所述业务系统中的容器编排引擎通信连接,容器编排引擎与实验容器连接。

由上述技术方案可以看出,本申请提供了一种开发系统,所述系统包括:业务系统、分布式存储代理服务器和分布式文件系统;所述业务系统与所述分布式存储代理服务器连接,所述分布式代理服务器与所述分布式文件系统连接;其中,所述分布式代理服务器配置有多种类型的传输协议;所述业务系统,用于对训练数据进行管理,以及,创建、管理实验容器;所述分布式代理服务器,用于利用所述多种类型的传输协议,将所述业务系统中的训练数据存储至所述分布式文件系统中,以及,将所述分布式文件系统所存储的数据挂载到所述业务系统中的实验容器;所述分布式文件系统,用于存储通过所述分布式代理服务器进行储存的数据。可见,在本申请中,由于所述分布式代理服务器配置有多种类型的传输协议,故所述分布式存储代理服务器可以基于分布式文件系统完成训练数据的存储和读取,这样,所述多种类型的传输协议可以共用一套底层存储(即分布式文件系统),从而业务系统管理训练数据以及管理实验容器的过程中,不需要进行训练数据的搬运,进而节省了利用训练数据训练实验容器中的模型的时间;并且,用户可以直接利用所述业务系统创建、管理实验容器,即可以在实验容器中进行建模的全流程(例如编写代码、训练模型、部署脚本等),提高了用户建模和部署的效率。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。以上所描述的设备及系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

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

相关技术
  • 集成电路的开发方法和存储了集成电路的开发方法的程序存储媒体、以及ASIC和可编程逻辑器件同时开发系统、开发程序和开发方法
  • 程序开发支持装置、程序开发支持系统、程序开发支持方法以及程序开发支持程序
技术分类

06120112758661