CN109961151A - 用于机器学习的计算服务的系统及用于机器学习的方法 - Google Patents
用于机器学习的计算服务的系统及用于机器学习的方法 Download PDFInfo
- Publication number
- CN109961151A CN109961151A CN201711391831.6A CN201711391831A CN109961151A CN 109961151 A CN109961151 A CN 109961151A CN 201711391831 A CN201711391831 A CN 201711391831A CN 109961151 A CN109961151 A CN 109961151A
- Authority
- CN
- China
- Prior art keywords
- machine learning
- module
- user
- trained
- code
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开一种用于机器学习的计算服务的系统及用于机器学习的方法。涉及计算机信息处理领域,该系统包括:在线实验模块,用于为用户的机器学习代码提供基础服务,所述基础服务包括数据维护、数据编辑、代码运行;训练测试模块,对用户提交的机器学习任务进行训练和测试,所述训练测试模块采用Docker容器实现;以及远程调试模块,用于为用户提供对于所述训练测试模块的远程调试功能。本申请公开的用于机器学习的计算服务的系统及用于机器学习的方法,能够简单快捷的进行机器学习任务的环境部署与数据选择,满足了面向机器学习任务的特有要求,保障了机器学习实验环境的隔离。
Description
技术领域
本发明涉及计算机信息处理领域,具体而言,涉及一种用于机器学习的计算服务的系统及用于机器学习的方法。
背景技术
随着大数据时代的来临以及人工智能技术的不断发展,越来越多的工程师致力于机器学习方面算法的研究。这不仅依赖于个人的理论基础,也依赖于对于高性能硬件(比如GPU)资源的操作能力。这是因为,目前机器学习研究,尤其是深度学习,往往涉及比较复杂的环境配置、参数调试等,给缺乏经验的开发者带来较大的挑战。在实验环境改变后,开发者需要进行重复的环境搭建与代码编译过程,导致时间的浪费和效率的减低。另一方面,高性能GPU服务器往往与开发者自身静态绑定,缺乏统一的调度与管理,导致计算资源的空耗等待现象与严重不足现象并存。为了能够使得开发者高效快速地投入到机器学习算法本身的研究中,面向机器学习的计算云平台的需求越来越迫切。
目前,国内外计算服务平台尚处于发展阶段。AWS云计算服务平台提供了通用GPU计算产品,AWS相应产品针对通用需求搭建,没有提供针对机器学习的计算服务。机器学习的计算服务有其特殊性,依赖较为复杂的编译环境和高性能的硬件资源。为了搭建实验环境,常采用虚拟化技术,其中,虚拟机技术是将一台或者多台独立的机器虚拟运行在物理硬件上,资源占有率高。而容器虚拟化技术具有轻量级、环境隔离、高效部署等诸多特性。在平台构建中使用容器虚拟化的例子中,多数是将服务运行在容器中。在专利号:CN106569895A一种基于容器的多租户大数据平台构建方法中,基于容器虚拟化技术,独立封装大数据平台存储、计算、监控、缓存及备份等不同的功能组件。这种将服务运行在容器的方式并不适合机器学习计算平台,这是由于机器学习模型不具备统一性,不能靠容器内的模块化服务来满足模型训练/测试的需求。
在现有技术中,可例如通过通用需求云平台与基于虚拟机的云平台提供机器学习服务,但是通用需求云平台,为用户提供通用需求的云平台,仅仅相当于进行了资源的隔离与池化,并没有为机器学习算法的研究开发带来便利性。基于虚拟机的云平台中,虚拟机技术的资源占用率高、性能开销大。
因此,需要一种新的用于机器学习的计算服务的系统及用于机器学习的方法。
在所述背景技术部分公开的上述信息仅用于加强对本发明的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
有鉴于此,本发明提供一种用于机器学习的计算服务的系统及用于机器学习的方法,能够简单快捷的进行机器学习任务的环境部署与数据选择,满足了面向机器学习任务的特有要求,保障了机器学习实验环境的隔离。
本发明的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本发明的实践而习得。
根据本发明的一方面,提出一种用于机器学习的计算服务的系统,该系统包括:在线实验模块,用于为用户的机器学习代码提供基础服务,所述基础服务包括数据维护、数据编辑、代码运行;训练测试模块,对用户提交的机器学习任务进行训练和测试,所述训练测试模块采用Docker容器实现;以及远程调试模块,用于为用户提供对于所述训练测试模块的远程调试功能。
在本公开的一种示例性实施例中,还包括:认证授权模块,用于确定所述用户的合法性,并为不同的用户提供不同等级的使用权限;镜像仓库,用于为所述使用者提供编译环境;数据中心,用于存储公有数据集;以及私有仓库,用于提供镜像收藏功能。
在本公开的一种示例性实施例中,所述在线实验模块通过Jupyterhub管理用户的权限。
在本公开的一种示例性实施例中,所述在线实验模块包括:镜像启动模块,用于通过Jupyter Notebook处理启动镜像;以及资源模块,用于通过nvidia-docker使得所述基础服务获得GPU资源。
在本公开的一种示例性实施例中,所述在线实验模块的所述Jupyter Notebook程序的启动方式包括容器启动方式。
在本公开的一种示例性实施例中,所述远程调试模块通过Mesos集群管理框架,利用VNC远程显示原理,以使得所述Docker容器的具有远程调试功能。
在本公开的一种示例性实施例中,所述远程调试模块包括:端口子模块,用于提供IP地址和端口,以使得所述用户通过访问后台返回的所述IP地址和端口进行远程调试运作。
在本公开的一种示例性实施例中,所述训练测试模块的调度策略为先进先出策略。
在本公开的一种示例性实施例中,所述训练测试模块包括:参数接口子模块,用于提供参数传递的接口,使得所述机器学习任务保持持续运行;APi接口模块,用于为所述机器学习任务提供API接口。
在本公开的一种示例性实施例中,所述镜像仓库包括:创建子模块,用于根据机器学习训练测试模块的Dockerfile创建镜像。
根据本发明的一方面,提出一种用于机器学习的方法,该方法包括:获取机器学习相关代码;将所述机器学习代码上传至预定系统中;基于所述预定系统对所述机器学习代码进行训练与测试;其中所述预定系统包括:在线实验模块,用于为用户的机器学习代码提供基础服务,所述基础服务包括数据维护、数据编辑、代码运行;训练测试模块,对用户提交的机器学习任务进行训练和测试,所述训练测试模块采用Docker容器实现;以及远程调试模块,用于为用户提供对于所述训练测试模块的远程调试功能。
根据本发明的一方面,提出一种电子设备,该电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上文的方法。
根据本发明的一方面,提出一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上文中的方法。
根据本发明的用于机器学习的计算服务的系统及用于机器学习的方法,能够简单快捷的进行机器学习任务的环境部署与数据选择,满足了面向机器学习任务的特有要求,保障了机器学习实验环境的隔离。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本发明。
附图说明
通过参照附图详细描述其示例实施例,本发明的上述和其它目标、特征及优点将变得更加显而易见。下面描述的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据一示例性实施例示出的一种用于机器学习的计算服务的系统的框图。
图2是根据另一示例性实施例示出的一种用于机器学习的计算服务的系统的框图。
图3是根据一示例性实施例示出的一种用于机器学习的方法的流程图。
图4是根据一示例性实施例示出的一种电子设备的框图。
图5示意性示出本公开示例性实施例中一种计算机可读存储介质示意图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本发明将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本发明的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本发明的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应理解,虽然本文中可能使用术语第一、第二、第三等来描述各种组件,但这些组件不应受这些术语限制。这些术语乃用以区分一组件与另一组件。因此,下文论述的第一组件可称为第二组件而不偏离本公开概念的教示。如本文中所使用,术语“及/或”包括相关联的列出项目中的任一个及一或多者的所有组合。
本领域技术人员可以理解,附图只是示例实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的,因此不能用于限制本发明的保护范围。
图1是根据一示例性实施例示出的一种用于机器学习的计算服务的系统的框图。用于机器学习的计算服务的系统10包括:在线实验模块102,训练测试模块104,以及远程调试模块106。
其中,在线实验模块102用于为用户的机器学习代码提供基础服务,所述基础服务包括数据维护、数据编辑、代码运行。所述在线实验模块102通过Jupyterhub管理用户的权限。Jupyterhub是指支持多用户的Jupyter Notebook服务器,用于创建、管理、代理多个Jupyter Notebook实例。具有扩展性和可定制性。Jupyter Notebook(也被称为IPythonnotebook)是一个交互式笔记本,支持运行40多种编程语言。Jupyter Notebook的本质是一个Web应用程序,便于创建和共享文学化程序文档,支持实时代码,数学方程,可视化和markdown。用途包括:数据清理和转换,数值模拟,统计建模,机器学习等等。
在一个实施例中,在线实验模块102包括:镜像启动模块,用于通过JupyterNotebook处理启动镜像;资源模块,用于通过nvidia-docker使得所述基础服务获得GPU资源。NVIDIA Docker是一种容器技术。在线实验模块的所述Jupyter Notebook处理通过容器方式启动。虚拟机是将一台或者多台独立的机器虚拟运行在物理硬件上,而容器则是直接运行在操作系统内核上的用户空间,提供一个轻量、快速的环境,来运行开发者的程序。平台通过镜像的方式提供了机器学习所需的开发环境,通过集群管理,能够有效地调度开发者所需的计算资源。
线实验模块102以Jupyter Notebook服务为核心,利用Jupyterhub来管理用户的权限,为开发者提供代码数据维护、编辑、运行等基础服务;可例如,根据实际情况中的不同对Jupyterhub的认证、参数传递、服务启动等方面进行了定制。
线实验模块102通过以上处理实现如下功能:
(1)使得用于机器学习的计算服务的系统10采用白名单认证机制;
(2)设计参数传递的页面,可以让开发者按照需求设定内存、CPU、GPU等计算资源;
(3)定制化Jupyter Notebook启动镜像,通过nvidia-docker,使机器学习服务可使用GPU资源;
(4)Jupyter Notebook通过容器方式启动,基础服务挂载了公有数据库以及开发者的私有数据;
(5)开发者在所述基础服务的操作会被持久化,数据中心的数据会发生相应改变;
(6)在开发者退出在线基础服务时,相应的容器会被销毁,资源被释放,使得计算资源能够有效利用。
训练测试模块104对用户提交的机器学习任务进行训练和测试,所述训练测试模块104采用Docker容器实现。所述训练测试模块104的调度策略为先进先出策略。Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
所述训练测试模块104包括:参数接口子模块,用于提供参数传递的接口,使得所述机器学习任务保持持续运行;APi接口模块,用于为所述机器学习任务提供API接口。
所述训练测试模块104通过以上的设置,可以实现如下功能:
(1)采用“先进先出”的调度策略,在保证高可用性的情况下,调度运行用户提交的各种机器学习计算任务。框架提供了任务管理的API接口。
(2)提供了代码和数据集传递的接口,使用者只需提供所在数据中心相应的路径,就可以将数据挂载到运行机器学习任务的容器中。平台允许将数据集映射到容器内,这样的设计具有较大的灵活性,方便开发者的使用;
(3)提供了参数传递的接口,用于机器学习的计算服务的系统10中存在能够足够数量的资源,且用户的“运行中”的任务数不超过其使用权限所规定的数目上限,机器学习任务将在云平台中持续运行,直到任务运行完成或发生错误终止;
(4)任务运行期间,平台实时显示任务的运行状态以及运行日志。运行期间的相关日志将在云平台中保存。
(5)开发者可以以提交镜像的方式将开发配置环境共享。这种方式可以节省其他开发者的时间,便于核心算法的快速实现。
远程调试模块106用于为用户提供对于所述训练测试模块的远程调试功能。远程调试模块106通过Mesos集群管理框架,利用VNC远程显示原理,以使得所述Docker容器的具有远程调试功能。
所述远程调试模块106包括:端口子模块,用于提供IP地址和端口,以使得所述用户通过访问后台返回的所述IP地址和端口进行远程调试运作。
在本发明实施例中,远程调试模块106基于Mesos集群管理框架实现。随着互联网的发展,各种大数据计算框架不断出现,支持离线处理的MapReduce、在线处理的Storm,迭代计算框架Spark、及流式处理框架S4……各种分布式计算框架应运而生,各自解决某一类应用中的问题。而在互联网公司中,几种不同的框架都可能会被采用。考虑到资源的利用率、运维成本、数据共享等因素,往往会把不同的计算框架部署到一个公共的集群中,使其共享集群资源,而不同任务往往需要的资源(CPU、内存、网络I/O等)不同,它们运行在同一个集群中不免会相互干扰、资源竞争导致效率低下,因此就诞生了资源统一管理与调度平台,两个典型代表:Mesos和Yarn。其中,Mesos是Apache下的开源分布式资源管理框架,它被称为是分布式系统的内核。Mesos最初是由加州大学伯克利分校的AMPLab开发的,后在Twitter得到广泛使用。
所述远程调试模块106利用Mesos集群管理框架,借助VNC(Virtual NetworkComputing)远程显示原理,提供容器的远程调试功能。具体提供如下功能。
(1)以安装VNC软件的Docker镜像作为基础镜像,按照用户需求,配置实验环境、安装编译软件,定制化远程调试镜像。
(2)提供数据挂载的接口,不仅可在数据中心进行选择,并支持git格式下载,方便用户灵活操作和维护数据。
(3)提供参数传递的接口,用户可根据所需的计算资源,进行CPU/GPU/内存资源的申请,在满足后台计算资源允许,和用户最大任务数目小于权限所规定的数目上限的条件下,Mesos后台会启动相应的远程调试服务。
(4)提供状态显示的功能,根据后台的运行阶段,返回给用户‘等待中’、‘准备中’、‘运行中’等不同的运行状态,当为运行状态时,用户便通过访问后台返回的IP地址和端口,进行远程调试实验。
(5)提供单台服务器上容器之间端口的隔离,并根据用户所需要访问的端口数目,暴露动态分配的端口号,供用户访问远程调试桌面及需要在内部打开的相关服务。
根据本发明的用于机器学习的计算服务的系统,通过虚拟化技术以及计算资源的池化,机器学习的实验环境得到有效的隔离,集群中有限的CPU、内存及GPU等计算资源得到有效的利用;通过统一监控集群计算资源的使用情况,简化了运维服务。能够简单快捷的进行机器学习任务的环境部署与数据选择,满足了面向机器学习任务的特有要求,保障了机器学习实验环境的隔离。
根据本发明的用于机器学习的计算服务的系统,利用Jupyterhub进行多用户实例管理;提供了远程调试服务,为开发者动态的开辟虚拟桌面以方便利用可视化IDE进行代码的调试;平台提供批量运行机器学习任务的接口,并能实时展现任务状态与运行结果;提供数据中心以及镜像仓库、私有仓库,数据可以直接被实验和任务调用,给开发者提供了便利。
图2是根据一示例性实施例示出的一种用于机器学习的计算服务的系统的框图。用于机器学习的计算服务的系统20包括如图1所示的在线实验模块102,训练测试模块104,以及远程调试模块106,还包括:
认证授权模块202用于确定所述用户的合法性,并为不同的用户提供不同等级的使用权限。认证授权模块202是进入用于机器学习的计算服务的系统、使用用于机器学习的计算服务的系统的资源的入口,通过用户名、密码、工号等信息的认证,来确定合法用户;在授权方面,根据不同的用户等级,给予不同的使用权限,利用最大计算资源申请数、最大运行任务数目等。
镜像仓库204用于为所述使用者提供编译环境。根据机器学习训练/测试模型的Dockerfile进行创建镜像;镜像提供最基本的编译环境,为远程调试模块和训练/测试模块提供了基础。
数据中心206用于存储公有数据集。服务允许开发者根据自身所属的项目类别来进行数据选择。
私有仓库208用于提供镜像收藏功能。开发者可以从镜像仓库中选取与自己开发相关的镜像,被选取的镜像将会被同步至远程调试与训练/测评模块可选的镜像名称中。
除此之外,用于机器学习的计算服务的系统20还包括集群资源调度、用户管理、资源监控等功能性模块(图中未示出)。各个模块之间相互独立且彼此间通过相应的方式进行交互。修改某个模块,不会对整个平台造成影响。
在本申请中的集群资源调度模块采用了基于Mesos的资源调度框架,可以使用Kubernetes等类似的资源调度开源软件,类似的资源调度软件能够带来同样的效果,本发明不以此为限。
图3是根据一示例性实施例示出的一种用于机器学习的方法的流程图。
如图3所示,在S302中,获取机器学习相关代码。
在S304中,将所述机器学习相关代码上传至预定系统中。其中所述预定系统包括:在线实验模块,用于为用户的机器学习代码提供基础服务,所述基础服务包括数据维护、数据编辑、代码运行;训练测试模块,对用户提交的机器学习任务进行训练和测试,所述训练测试模块采用Docker容器实现;以及远程调试模块,用于为用户提供对于所述训练测试模块的远程调试功能。
在S306中,基于所述预定系统对所述机器学习代码进行训练与测试。
应清楚地理解,本发明描述了如何形成和使用特定示例,但本发明的原理不限于这些示例的任何细节。相反,基于本发明公开的内容的教导,这些原理能够应用于许多其它实施例。
本领域技术人员可以理解实现上述实施例的全部或部分步骤被实现为由CPU执行的计算机程序。在该计算机程序被CPU执行时,执行本发明提供的上述方法所限定的上述功能。所述的程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器,磁盘或光盘等。
此外,需要注意的是,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
图4是根据一示例性实施例示出的一种电子设备的框图。
下面参照图4来描述根据本发明的这种实施方式的电子设备200。图4显示的电子设备200仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图4所示,电子设备200以通用计算设备的形式表现。电子设备200的组件可以包括但不限于:至少一个处理单元210、至少一个存储单元220、连接不同系统组件(包括存储单元220和处理单元210)的总线230、显示单元240等。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元210执行,使得所述处理单元210执行本说明书上述电子处方流转处理方法部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元210可以执行如图3中所示的步骤。
所述存储单元220可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)2201和/或高速缓存存储单元2202,还可以进一步包括只读存储单元(ROM)2203。
所述存储单元220还可以包括具有一组(至少一个)程序模块2205的程序/实用工具2204,这样的程序模块2205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线230可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备200也可以与一个或多个外部设备300(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备200交互的设备通信,和/或与使得该电子设备200能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口250进行。并且,电子设备200还可以通过网络适配器260与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器260可以通过总线230与电子设备200的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备200使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、或者网络设备等)执行根据本公开实施方式的上述电子处方流转处理方法。
图5示意性示出本公开示例性实施例中一种计算机可读存储介质示意图。
参考图5所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品500,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该计算机可读介质实现如下功能:获取机器学习相关代码;将所述机器学习相关代码上传至预定系统中;基于所述预定系统对所述机器学习代码进行训练与测试;其中所述预定系统包括:在线实验模块,用于为用户的机器学习相关代码提供基础服务,所述基础服务包括数据维护、数据编辑、代码运行;训练测试模块,对用户提交的机器学习任务进行训练和测试,所述训练测试模块采用Docker容器实现;以及远程调试模块,用于为用户提供对于所述训练测试模块的远程调试功能。
本领域技术人员可以理解上述各模块可以按照实施例的描述分布于装置中,也可以进行相应变化唯一不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本发明实施例的方法。
以上具体地示出和描述了本发明的示例性实施例。应可理解的是,本发明不限于这里描述的详细结构、设置方式或实现方法;相反,本发明意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。
此外,本说明书说明书附图所示出的结构、比例、大小等,均仅用以配合说明书所公开的内容,以供本领域技术人员了解与阅读,并非用以限定本公开可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本公开所能产生的技术效果及所能实现的目的下,均应仍落在本公开所公开的技术内容得能涵盖的范围内。同时,本说明书中所引用的如“上”、“第一”、“第二”及“一”等的用语,也仅为便于叙述的明了,而非用以限定本公开可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当也视为本发明可实施的范畴。
Claims (13)
1.一种用于机器学习的计算服务的系统,其特征在于,包括:
在线实验模块,用于为用户的机器学习代码提供基础服务,所述基础服务包括数据维护、数据编辑、代码运行;
训练测试模块,对用户提交的机器学习任务进行训练和测试,所述训练测试模块采用Docker容器实现;以及
远程调试模块,用于为用户提供对于所述训练测试模块的远程调试功能。
2.如权利要求1所述的系统,其特征在于,还包括:
认证授权模块,用于确定所述用户的合法性,并为不同的用户提供不同等级的使用权限;
镜像仓库,用于为所述使用者提供编译环境;
数据中心,用于存储公有数据集;以及
私有仓库,用于提供镜像收藏功能。
3.如权利要求1所述的系统,其特征在于,所述在线实验模块通过Jupyterhub管理用户的权限。
4.如权利要求3所述的系统,其特征在于,所述在线实验模块包括:
镜像启动模块,用于通过Jupyter Notebook处理启动镜像;以及
资源模块,用于通过nvidia-docker使得所述基础服务获得GPU资源。
5.如权利要求3所述的系统,其特征在于,所述线实验模块中的所述Jupyter Notebook程序的启动方式包括:容器启动方式。
6.如权利要求1所述的系统,其特征在于,所述远程调试模块通过Mesos集群管理框架,利用VNC远程显示原理,以使得所述Docker容器具有远程调试功能。
7.如权利要求1所述的系统,其特征在于,所述远程调试模块包括:
端口子模块,用于提供IP地址和端口,以使得所述用户通过访问后台返回的所述IP地址和端口进行远程调试运作。
8.如权利要求1所述的系统,其特征在于,所述训练测试模块的调度策略为先进先出策略。
9.如权利要求1所述的系统,其特征在于,所述训练测试模块包括:
参数接口子模块,用于提供参数传递的接口,使得所述机器学习任务保持持续运行;
APi接口模块,用于为所述机器学习任务提供API接口。
10.如权利要求2所述的系统,其特征在于,所述镜像仓库包括:
创建子模块,用于根据机器学习训练测试模块的Dockerfile创建镜像。
11.一种用于机器学习的方法,其特征在于,包括:
获取机器学习代码;
将所述机器学习相关代码上传至预定系统中;
基于所述预定系统对所述机器学习代码进行训练与测试;
其中所述预定系统包括:
在线实验模块,用于为用户的机器学习代码提供基础服务,所述基础服务包括数据维护、数据编辑、代码运行;
训练测试模块,对用户提交的机器学习任务进行训练和测试,所述训练测试模块采用Docker容器实现;以及
远程调试模块,用于为用户提供对于所述训练测试模块的远程调试功能。
12.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求11中所述的方法。
13.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求11中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711391831.6A CN109961151B (zh) | 2017-12-21 | 2017-12-21 | 用于机器学习的计算服务的系统及用于机器学习的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711391831.6A CN109961151B (zh) | 2017-12-21 | 2017-12-21 | 用于机器学习的计算服务的系统及用于机器学习的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109961151A true CN109961151A (zh) | 2019-07-02 |
CN109961151B CN109961151B (zh) | 2021-05-14 |
Family
ID=67018582
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711391831.6A Active CN109961151B (zh) | 2017-12-21 | 2017-12-21 | 用于机器学习的计算服务的系统及用于机器学习的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109961151B (zh) |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110516934A (zh) * | 2019-08-13 | 2019-11-29 | 湖南智擎科技有限公司 | 基于可伸缩集群的智能化大数据实训方法及系统 |
CN110990864A (zh) * | 2019-11-27 | 2020-04-10 | 支付宝(杭州)信息技术有限公司 | 一种报表权限管理方法、装置及设备 |
CN111901294A (zh) * | 2020-06-09 | 2020-11-06 | 北京迈格威科技有限公司 | 一种构建在线机器学习项目的方法及机器学习系统 |
CN112311605A (zh) * | 2020-11-06 | 2021-02-02 | 北京格灵深瞳信息技术有限公司 | 提供机器学习服务的云平台及方法 |
CN112417358A (zh) * | 2020-12-03 | 2021-02-26 | 合肥中科类脑智能技术有限公司 | Ai模型训练在线实训学习系统及方法 |
CN112434284A (zh) * | 2020-10-29 | 2021-03-02 | 格物钛(上海)智能科技有限公司 | 一种基于沙箱环境的机器学习训练平台实现 |
CN112560244A (zh) * | 2020-12-08 | 2021-03-26 | 河海大学 | 一种基于Docker的虚拟仿真实验系统及方法 |
CN112633501A (zh) * | 2020-12-25 | 2021-04-09 | 深圳晶泰科技有限公司 | 基于容器化技术的机器学习模型框架的开发方法与系统 |
CN112966833A (zh) * | 2021-04-07 | 2021-06-15 | 福州大学 | 基于Kubernetes集群的机器学习模型平台 |
CN113033814A (zh) * | 2019-12-09 | 2021-06-25 | 北京中关村科金技术有限公司 | 训练机器学习模型的方法、装置以及存储介质 |
CN113190238A (zh) * | 2021-03-26 | 2021-07-30 | 曙光信息产业(北京)有限公司 | 框架的部署方法、装置、计算机设备和存储介质 |
CN113377529A (zh) * | 2021-05-24 | 2021-09-10 | 阿里巴巴新加坡控股有限公司 | 一种智能加速卡及基于智能加速卡的数据处理方法 |
CN114167748A (zh) * | 2021-10-26 | 2022-03-11 | 北京航天自动控制研究所 | 一种飞行控制算法一体化训练平台 |
CN114594893A (zh) * | 2022-01-17 | 2022-06-07 | 阿里巴巴(中国)有限公司 | 性能分析方法和装置、电子设备及计算机可读存储介质 |
WO2022120979A1 (zh) * | 2020-12-10 | 2022-06-16 | 中国科学院深圳先进技术研究院 | 分布式机器学习任务的资源管理方法及装置 |
CN114706568A (zh) * | 2022-04-22 | 2022-07-05 | 深圳伯德睿捷健康科技有限公司 | 深度学习在线编码方法和系统 |
CN114841298A (zh) * | 2022-07-06 | 2022-08-02 | 山东极视角科技有限公司 | 一种训练算法模型的方法、装置、电子设备和存储介质 |
CN114996117A (zh) * | 2022-03-28 | 2022-09-02 | 湖南智擎科技有限公司 | 面向SaaS模式的客户端GPU应用评测系统及方法 |
CN117234954A (zh) * | 2023-11-14 | 2023-12-15 | 杭银消费金融股份有限公司 | 一种基于机器学习算法的智能在线测试方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105824614A (zh) * | 2015-12-15 | 2016-08-03 | 广东亿迅科技有限公司 | 基于Docker的分布式开发环境的搭建方法及装置 |
CN106873975A (zh) * | 2016-12-30 | 2017-06-20 | 武汉默联股份有限公司 | 基于Docker的devops持续交付与自动化系统及方法 |
CN106961351A (zh) * | 2017-03-03 | 2017-07-18 | 南京邮电大学 | 基于Docker容器集群的智能弹性伸缩方法 |
CN107038482A (zh) * | 2017-04-21 | 2017-08-11 | 上海极链网络科技有限公司 | 应用于ai算法工程化、系统化的分布式框架 |
CN107066310A (zh) * | 2017-03-11 | 2017-08-18 | 郑州云海信息技术有限公司 | 一种搭建及使用安全Docker私有仓库的方法及装置 |
CN107229520A (zh) * | 2017-04-27 | 2017-10-03 | 北京数人科技有限公司 | 一种数据中心操作系统 |
CN107450961A (zh) * | 2017-09-22 | 2017-12-08 | 济南浚达信息技术有限公司 | 一种基于Docker容器的分布式深度学习系统及其搭建方法、工作方法 |
-
2017
- 2017-12-21 CN CN201711391831.6A patent/CN109961151B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105824614A (zh) * | 2015-12-15 | 2016-08-03 | 广东亿迅科技有限公司 | 基于Docker的分布式开发环境的搭建方法及装置 |
CN106873975A (zh) * | 2016-12-30 | 2017-06-20 | 武汉默联股份有限公司 | 基于Docker的devops持续交付与自动化系统及方法 |
CN106961351A (zh) * | 2017-03-03 | 2017-07-18 | 南京邮电大学 | 基于Docker容器集群的智能弹性伸缩方法 |
CN107066310A (zh) * | 2017-03-11 | 2017-08-18 | 郑州云海信息技术有限公司 | 一种搭建及使用安全Docker私有仓库的方法及装置 |
CN107038482A (zh) * | 2017-04-21 | 2017-08-11 | 上海极链网络科技有限公司 | 应用于ai算法工程化、系统化的分布式框架 |
CN107229520A (zh) * | 2017-04-27 | 2017-10-03 | 北京数人科技有限公司 | 一种数据中心操作系统 |
CN107450961A (zh) * | 2017-09-22 | 2017-12-08 | 济南浚达信息技术有限公司 | 一种基于Docker容器的分布式深度学习系统及其搭建方法、工作方法 |
Non-Patent Citations (2)
Title |
---|
张志军: "《大数据技术在高校中的应用研究》", 30 September 2017, 北京邮电大学出版社 * |
许云峰: "《大数据技术及行业应用》", 31 August 2016, 北京邮电大学出版社 * |
Cited By (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110516934A (zh) * | 2019-08-13 | 2019-11-29 | 湖南智擎科技有限公司 | 基于可伸缩集群的智能化大数据实训方法及系统 |
CN110990864A (zh) * | 2019-11-27 | 2020-04-10 | 支付宝(杭州)信息技术有限公司 | 一种报表权限管理方法、装置及设备 |
CN113033814A (zh) * | 2019-12-09 | 2021-06-25 | 北京中关村科金技术有限公司 | 训练机器学习模型的方法、装置以及存储介质 |
CN111901294A (zh) * | 2020-06-09 | 2020-11-06 | 北京迈格威科技有限公司 | 一种构建在线机器学习项目的方法及机器学习系统 |
CN112434284A (zh) * | 2020-10-29 | 2021-03-02 | 格物钛(上海)智能科技有限公司 | 一种基于沙箱环境的机器学习训练平台实现 |
CN112434284B (zh) * | 2020-10-29 | 2022-05-17 | 格物钛(上海)智能科技有限公司 | 一种基于沙箱环境的机器学习训练平台实现 |
CN112311605A (zh) * | 2020-11-06 | 2021-02-02 | 北京格灵深瞳信息技术有限公司 | 提供机器学习服务的云平台及方法 |
CN112311605B (zh) * | 2020-11-06 | 2023-12-22 | 北京格灵深瞳信息技术股份有限公司 | 提供机器学习服务的云平台及方法 |
CN112417358A (zh) * | 2020-12-03 | 2021-02-26 | 合肥中科类脑智能技术有限公司 | Ai模型训练在线实训学习系统及方法 |
CN112560244B (zh) * | 2020-12-08 | 2021-12-10 | 河海大学 | 一种基于Docker的虚拟仿真实验系统及方法 |
CN112560244A (zh) * | 2020-12-08 | 2021-03-26 | 河海大学 | 一种基于Docker的虚拟仿真实验系统及方法 |
WO2022120979A1 (zh) * | 2020-12-10 | 2022-06-16 | 中国科学院深圳先进技术研究院 | 分布式机器学习任务的资源管理方法及装置 |
CN112633501A (zh) * | 2020-12-25 | 2021-04-09 | 深圳晶泰科技有限公司 | 基于容器化技术的机器学习模型框架的开发方法与系统 |
CN113190238A (zh) * | 2021-03-26 | 2021-07-30 | 曙光信息产业(北京)有限公司 | 框架的部署方法、装置、计算机设备和存储介质 |
CN112966833B (zh) * | 2021-04-07 | 2023-01-31 | 福州大学 | 基于Kubernetes集群的机器学习模型平台 |
CN112966833A (zh) * | 2021-04-07 | 2021-06-15 | 福州大学 | 基于Kubernetes集群的机器学习模型平台 |
CN113377529A (zh) * | 2021-05-24 | 2021-09-10 | 阿里巴巴新加坡控股有限公司 | 一种智能加速卡及基于智能加速卡的数据处理方法 |
CN113377529B (zh) * | 2021-05-24 | 2024-04-19 | 阿里巴巴创新公司 | 一种智能加速卡及基于智能加速卡的数据处理方法 |
CN114167748B (zh) * | 2021-10-26 | 2024-04-09 | 北京航天自动控制研究所 | 一种飞行控制算法一体化训练平台 |
CN114167748A (zh) * | 2021-10-26 | 2022-03-11 | 北京航天自动控制研究所 | 一种飞行控制算法一体化训练平台 |
CN114594893A (zh) * | 2022-01-17 | 2022-06-07 | 阿里巴巴(中国)有限公司 | 性能分析方法和装置、电子设备及计算机可读存储介质 |
CN114996117A (zh) * | 2022-03-28 | 2022-09-02 | 湖南智擎科技有限公司 | 面向SaaS模式的客户端GPU应用评测系统及方法 |
CN114996117B (zh) * | 2022-03-28 | 2024-02-06 | 湖南智擎科技有限公司 | 面向SaaS模式的客户端GPU应用评测系统及方法 |
CN114706568A (zh) * | 2022-04-22 | 2022-07-05 | 深圳伯德睿捷健康科技有限公司 | 深度学习在线编码方法和系统 |
CN114841298B (zh) * | 2022-07-06 | 2022-09-27 | 山东极视角科技有限公司 | 一种训练算法模型的方法、装置、电子设备和存储介质 |
CN114841298A (zh) * | 2022-07-06 | 2022-08-02 | 山东极视角科技有限公司 | 一种训练算法模型的方法、装置、电子设备和存储介质 |
CN117234954A (zh) * | 2023-11-14 | 2023-12-15 | 杭银消费金融股份有限公司 | 一种基于机器学习算法的智能在线测试方法及系统 |
CN117234954B (zh) * | 2023-11-14 | 2024-02-06 | 杭银消费金融股份有限公司 | 一种基于机器学习算法的智能在线测试方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109961151B (zh) | 2021-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109961151A (zh) | 用于机器学习的计算服务的系统及用于机器学习的方法 | |
US10977076B2 (en) | Method and apparatus for processing a heterogeneous cluster-oriented task | |
KR102319172B1 (ko) | 클라우드 컴퓨팅 기반의 플랫폼 제공 시스템 및 이를 이용한 플랫폼 제공 방법 | |
Agliamzanov et al. | Hydrology@ Home: a distributed volunteer computing framework for hydrological research and applications | |
CN109582234A (zh) | 储存资源分配方法、装置、电子设备及计算机可读介质 | |
Doriya et al. | Robotic services in cloud computing paradigm | |
EP3864583A1 (en) | Quantum circuit design | |
Maheshwari et al. | Workflow performance improvement using model-based scheduling over multiple clusters and clouds | |
CN110782000B (zh) | 通过具有对抗强化学习的动作成形来进行模仿学习 | |
Montella et al. | Enabling android-based devices to high-end gpgpus | |
CN113454594A (zh) | 用于云服务的本机代码生成 | |
US20230306118A1 (en) | Federated Generative Models for Website Assessment | |
CN116414518A (zh) | Kubernetes上的大数据的数据局部性 | |
CN106575241A (zh) | 移动和远程运行时集成 | |
Hluchý et al. | Effective computation resilience in high performance and distributed environments | |
Li et al. | INSTANT: A Runtime Framework to Orchestrate In-Situ Workflows | |
Bethel et al. | Visualization at supercomputing centers: The tale of little big iron and the three skinny guys | |
Khaitan et al. | Parallelizing power system contingency analysis using D programming language | |
Lu et al. | CF4BDA: A conceptual framework for big data analytics applications in the cloud | |
Reilly et al. | Tutorial: parallel computing of simulation models for risk analysis | |
CN107231291A (zh) | 一种适用于电网信息物理系统的微服务隔离方法和装置 | |
Limmer et al. | Services for numerical simulations and optimisations in grids | |
Velásquez et al. | Embedded cluster platform for a remote parallel programming lab | |
Rostrup | A Distributed-to-Centralized Architectural Model for Smart City Applications and Services through Container Orchestration | |
Sano et al. | A GPU-Based Programming Framework for Highly-Scalable Multi-Agent Traffic Simulations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |