CN113112025A - 模型建立系统、方法、装置及存储介质 - Google Patents
模型建立系统、方法、装置及存储介质 Download PDFInfo
- Publication number
- CN113112025A CN113112025A CN202010033907.3A CN202010033907A CN113112025A CN 113112025 A CN113112025 A CN 113112025A CN 202010033907 A CN202010033907 A CN 202010033907A CN 113112025 A CN113112025 A CN 113112025A
- Authority
- CN
- China
- Prior art keywords
- workflow
- configuration information
- client request
- model
- module
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 67
- 230000002085 persistent effect Effects 0.000 claims description 21
- 238000010801 machine learning Methods 0.000 abstract description 33
- 230000006870 function Effects 0.000 abstract description 22
- 238000012827 research and development Methods 0.000 abstract description 11
- 230000008569 process Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 11
- 238000007726 management method Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 7
- 238000012549 training Methods 0.000 description 7
- 238000007781 pre-processing Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000002688 persistence Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000007599 discharging Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 244000035744 Hura crepitans Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种模型建立系统、方法、装置及存储介质,其中,该系统包括:接口服务模块和模型工作流模块,两个模块可相互独立运行且通过K8s集群进行交互,基于K8s集群接收客户端请求,接口服务模块根据K8s集群传送的客户端请求,在第一目标容器中生成对应的工作流配置信息,经K8s集群将客户端请求所生成的工作流配置信息发送至模型工作流模块;模型工作流模块根据K8s集群发送的来自接口服务模块的客户端请求及工作流配置信息在第二目标容器中执行对应的Argo工作流任务。本申请实施例可将模型拆解成单一功能的模块,提升构建机器学习模型服务的能力,实现模块灵活可伸缩部署,提升研发效率。
Description
技术领域
本申请实施例涉及机器学习技术领域,具体涉及一种模型建立系统、方法、装置及存储介质。
背景技术
随着大数据、人工智能等技术的发展,越来越多的企业开始探索机器学习等人工智能应用在业务场景中的应用。在海量的业务数据中,如何利用机器学习等技术快速进行应用部署,应用到实际的业务场景中,挖掘数据资产的价值,指导运营决策,是业界共同面临的技术难题。
目前,业界提供的机器学习模型大多数立足于覆盖机器学习的全流程,需涉及到各种各样的组件,不容易快速搭建环境,同时太多的组件也难以学习使用,存在一定的复杂性。另外,传统的模型服务往往杂糅了不同算法模型接口,以http服务的形式持续运行着等待调用。另外,在将机器学习模型服务应用于产品系统时,往往更注重模型服务如何快速开发和部署,提供任务调度、分布式化、资源灵活扩展等特性,目前并没有很好的技术解决方案。
发明内容
本申请实施例提供一种模型建立系统、方法、装置及存储介质,可以将模型拆解成单一功能的模块,提升构建机器学习模型服务的能力,实现模块灵活可伸缩部署,提升研发效率,降低时间成本及容器资源利用率。
本申请实施例提供一种模型建立系统,所述系统包括:接口服务模块和模型工作流模块,所述接口服务模块与模型工作流模块可相互独立运行且通过K8s集群进行交互;
所述接口服务模块,被配置成接收所述K8s集群传送的客户端请求,根据所述客户端请求在第一目标容器中生成对应的工作流配置信息,基于所述K8s集群将所述客户端请求生成的工作流配置信息发送至所述模型工作流模块;
所述模型工作流模块,被配置成接收经所述K8s集群转发的来自所述接口服务模块的根据所述客户端请求生成的工作流配置信息,根据所述客户端请求及工作流配置信息在第二目标容器中执行对应的工作流任务。
在本申请实施例所述的模型建立系统中,所述接口服务模块被配置成根据所述客户端请求在第一目标容器中生成对应的工作流配置信息,具体包括:
根据所述客户端请求,从预设容器资源中确定与所述客户端请求匹配的第一目标容器;
在所述第一目标容器中创建与所述客户端请求对应的工作流配置信息,其中所述工作流配置信息为基于YAML配置文件进行创建得到的数据。
在本申请实施例所述的模型建立系统中,所述接口服务模块进一步被配置成:
通过第一持久卷挂载所述接口服务模块的代码。
在本申请实施例所述的模型建立系统中,所述模型工作流模块被配置成根据所述客户端请求生成的工作流配置信息在第二目标容器中执行对应的工作流任务,具体包括:
基于经所述K8s集群转发的来自所述接口服务模块的根据所述客户端请求生成的工作流配置信息,启动工作流引擎;
控制所述工作流引擎根据不同的客户端请求生成的工作流配置信息启动不同的工作流任务,其中所述工作流配置信息还包括所述客户端请求与所述工作流任务之间的依赖关系;
根据所述客户端请求从预设容器资源中确定与所述工作流任务匹配的第二目标容器;
在所述第二目标容器中执行所述工作流任务。
本申请实施例还提供一种模型建立方法,应用于接口服务模块,所述方法包括:
接收K8s集群传送的客户端请求;
根据所述客户端请求在第一目标容器中生成对应的工作流配置信息;
基于所述K8s集群将根据所述客户端请求生成的工作流配置信息发送至所述模型工作流模块,其中,所述工作流配置信息用于指示所述模型工作流模执行对应的工作流任务。
在本申请实施例所述的模型建立方法中,所述根据所述客户端请求在第一目标容器中生成对应的工作流配置信息,包括:
根据所述客户端请求,从预设容器资源中确定与所述客户端请求匹配的第一目标容器;
在所述第一目标容器中创建与所述客户端请求对应的工作流配置信息,其中所述工作流配置信息为基于YAML配置文件进行创建得到的数据。
在本申请实施例所述的模型建立方法中,所述方法还包括:
通过第一持久卷挂载所述接口服务模块的代码。
本申请实施例还提供一种模型建立方法,应用于模型工作流模块,所述方法包括:
接收经K8s集群转发的来自接口服务模块的客户端请求生成的工作流配置信息;
根据所述客户端请求及工作流配置信息在第二目标容器中执行对应的工作流任务。
在本申请实施例所述的模型建立方法中,所述根据所述客户端请求及工作流配置信息在第二目标容器中执行对应的工作流任务,包括:
基于经所述K8s集群转发的来自所述接口服务模块的根据所述客户端请求生成的工作流配置信息,启动工作流引擎;
控制所述工作流引擎根据不同的客户端请求生成的工作流配置信息启动不同的客户端请求对应的工作流任务,其中所述工作流配置信息还包括所述客户端请求与所述工作流任务之间的依赖关系;
根据所述客户端请求从预设容器资源中确定与所述工作流任务匹配的第二目标容器;
在所述第二目标容器中执行所述工作流任务。
在本申请实施例所述的模型建立方法中,所述在所述第二目标容器中执行所述工作流任务之后,还包括:
在所述工作流任务执行完毕后释放所述第二目标容器对应的资源。
在本申请实施例所述的模型建立方法中,所述方法还包括:
通过第二持久卷挂载所述模型工作流模块的代码。
本申请实施例还提供一种模型建立装置,应用于接口服务模块,所述装置包括:
第一接收单元,用于接收K8s集群传送的客户端请求;
生成单元,用于根据所述客户端请求在第一目标容器中生成对应的工作流配置信息;
发送单元,用于基于所述K8s集群将所述客户端请求及所述工作流配置信息发送至所述模型工作流模块,其中,所述工作流配置信息用于指示所述模型工作流模执行对应的工作流任务。
本申请实施例还提供一种模型建立装置,应用于模型工作流模块,所述装置包括:
第二接收单元,用于接收经K8s集群转发的来自接口服务模块的根据客户端请求生成的工作流配置信息;
执行单元,用于根据所述客户端请求及工作流配置信息在第二目标容器中执行对应的工作流任务。
本申请实施例还提供一种存储介质,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行如上任一实施例所述的方法中的步骤。
本申请实施例提供的模型建立系统,包括接口服务模块和模型工作流模块,接口服务模块与模型工作流模块可相互独立运行且通过K8s集群进行交互,基于K8s集群接收客户端请求,接口服务模块根据K8s集群传送的客户端请求,在第一目标容器中生成对应的工作流配置信息,基于K8s集群将根据客户端请求生成的工作流配置信息发送至模型工作流模块;模型工作流模块根据K8s集群发送的来自接口服务模块的客户端请求及工作流配置信息在第二目标容器中执行对应的Argo工作流任务。本申请实施例可以将模型拆解成单一功能的模块,提升构建机器学习模型服务的能力,实现模块灵活可伸缩部署,提升研发效率,降低时间成本及容器资源利用率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种模型建立系统的结构示意图。
图2为本申请实施例提供的一种应用于接口服务模型的模型建立方法的第一流程示意图。
图3为本申请实施例提供的一种应用于接口服务模型的模型建立方法的第二流程示意图。
图4为本申请实施例提供的一种应用于模型工作流模块的模型建立方法的第一流程示意图。
图5为本申请实施例提供的一种应用于模型工作流模块的模型建立方法的第二流程示意图。
图6为本申请实施例提供的第一模型建立装置的第一结构示意图。
图7为本申请实施例提供的第一模型建立装置的第二结构示意图。
图8为本申请实施例提供的第二模型建立装置的第一结构示意图。
图9为本申请实施例提供的第二模型建立装置的第二结构示意图。
图10为本申请实施例提供的一种服务器的结构示意图。
图11为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请中的术语“第一”和“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或模块的过程、方法、系统、产品或设备没有限定于已列出的步骤或模块,而是可选地还包括没有列出的步骤或模块,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或模块。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本申请实施例提供的模型建立系统及方法,可实现在模型建立装置中,该模型建立装置具体可以集成在电子设备中,电子设备包括但不限于物流终端机、计算机、手机等设备。
以下将分别进行详细说明,以下各个实施例的描述先后顺序并不构成对具体实施先后顺序的限定。
请参阅图1,图1为本申请实施例提供的一种模型建立系统的结构示意图。模型建立系统100包括:接口服务模块10和模型工作流模块20,接口服务模块10与模型工作流模块20可相互独立运行且通过K8s集群30进行交互。该模型建立系统100与客户端200相连接,用户可以在客户端200进行访问,客户端200将用户访问产生的请求参数发送至模型建立系统100。
其中,该模型建立系统100使用Python和Flask分别作为算法模型和接口服务的开发技术栈,结合K8s、Docker和Argo等容器技术组件进行构建。具体的,该系统100基于Python和第三方算法库快速开发算法模型,围绕Flask Web框架开发轻量级的接口服务模块10。其次,该系统100借助于容器虚拟化技术Docker,接口服务模块10和模型工作流模块20可以快速进行部署,避免底层操作系统和Python第三方模块包的环境依赖问题。而且,利用K8s对容器进行编排管理,实现自动化部署、灵活伸缩和应用容器化管理。另外,模型工作流模块20中的Argo作为K8s生态的工作流引擎,提供灵活的任务调度能力,弥补K8s自身任务调度的局限性。
Kubernetes(K8s)集群是一个开源系统,用于管理云平台中的容器化应用,K8s集群可以让部署容器化的应用简单高效,K8s集群提供了应用部署、规划、更新、维护的一种机制。Kubernetes(K8s)集群通过部署容器方式实现,每个容器之间互相隔离,每个容器有自己的文件系统,容器之间进程不会相互影响,能区分计算资源。相对于虚拟机,容器能快速部署,由于容器与底层设施、机器文件系统解耦的,所以它能在不同云、不同版本操作系统间进行迁移。容器占用资源少、部署快,每个应用可以被打包成一个容器镜像,每个应用与容器间成一对一关系也使容器有更大优势,使用容器可以在创建(build)或释放(release)的阶段,为应用创建容器镜像,每个应用不需要与其余的应用堆栈组合,也不依赖于生产环境基础结构,这使得从研发到测试、生产能提供一致环境。容器比虚拟机轻量、更“透明”,更便于监控和管理。
在本申请实施例中,仅利用Kubernetes对Docker容器应用的管理机制以及简单的调度处理,只是将K8s集群30作为一个基本的应用环境,通过K8s集群30接收来自客户端200的请求,并将客户端请求以及与客户端请求匹配的Docker容器目录发送给接口服务模块10,然后将接口服务模块10内生成的工作流配置信息发送至模型工作流模块20,以及完成接口服务模块10与模型工作流模块20之间的交互。接口服务模块10与模型工作流模块20各自独立运行及独立部署,相互之间依赖程度低,仅在需要数据交互时通过K8s集群30进行交互,无需对接口服务模块10与模型工作流模块20进行整合,对K8s集群30的任务设置相对简单,减小系统开发复杂度,提升了机器学习模型服务的应用部署性能和效率,加快机器学习模型能上线应用。
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。
Argo是一个开源的容器本地工作流引擎,用于在Kubernetes上完成工作,Argo可以对资源进行自定义。例如,自定义的工作流中每个步骤都是Docker容器对应的工作流。可以将多个步骤的工作流建模为一系列任务,或使用图形捕获任务之间的依赖关系。
例如,使用K8s集群30调度Argo工作流程,可以在很短的时间内轻松运行计算密集型作业,以进行机器学习或数据处理。传统模式中的Kubernetes自身调度能力不完善,一般以直接的流水线方式来运行机器学习模型,以单一容器应用来承载多种机器学习模型服务,资源持久占用、管理难以把控。而本申请实施例利用Argo对Kubernetes原生调度功能的加强特性,辅助机器学习模型的线上运行,使用工作流方式来运行机器学习模型服务,流程拆解步骤清晰,资源利用更高效。
本申请实施例中的K8s集群30用于提供路由服务、负载均衡及其他管理操作等功能。
其中,接口服务模块10与客户端200通过K8s集群30进行交互,当用户访问客户端200时,使得客户端200产生客户端请求,并将客户端请求通过K8s集群30传送到接口服务模块10。
该接口服务模块10被配置成接收K8s集群30传送的客户端请求,根据客户端请求在第一目标容器11中生成对应的工作流配置信息,基于K8s集群30将根据客户端请求生成的工作流配置信息发送至模型工作流模块20。
在一些实施例中,接口服务模块10被配置成根据客户端请求在第一目标容器11中生成对应的工作流配置信息,具体包括:
根据客户端请求,从预设容器资源中确定与客户端请求匹配的第一目标容器11;
在第一目标容器11中创建与客户端请求对应的工作流配置信息,其中工作流配置信息为基于YAML配置文件进行创建得到的数据。
在一些实施例中,接口服务模块10进一步被配置成在所述工作流配置信息创建完成后释放第一目标容器11对应的资源。
在一些实施例中,接口服务模块10进一步被配置成通过第一持久卷12挂载接口服务模块10的代码。
具体的,该接口服务模块10基于Python和Flask进行开发,接口服务模块10用于接收客户端请求,并解析客户端请求的请求参数,生成相应的工作流配置信息,然后通过K8s集群30的应用接口触发Argo工作流。
例如,客户端请求可以包括数据预处理的请求、模型训练的请求和模型应用的请求等,其中客户端请求的请求参数可以包括数据输入、模型训练方式和数据输出相关的必要参数,比如数据输入的下载地址、模型预测的时间粒度和预测结果数据输出的地址等,也可以按照业务设定传入其他的扩展参数。
其中,该接口服务模块10可以Docker容器应用的形式在K8s集群30里运行,K8s集群30提供路由服务、负载均衡及其他管理操作功能。
如图1所示,步骤①是客户端200通过K8s集群30的网络服务进行访问,以通过K8s集群30向接口服务模块10发送客户端请求。
步骤②是K8s集群30将客户端请求路由定向到Docker的容器应用,即从预设Docker容器资源中确定与客户端请求匹配的第一目标容器11,并在第一目标容器11中创建与客户端请求对应的工作流配置信息。其中,不同的客户端请求匹配不同的容器应用,工作流配置信息为基于YAML配置文件进行创建得到的数据,在K8s集群中,YAML配置文件相当于K8s集群资源对象的说明书,定义了对象包含的元素及采取的动作,每个对象都可以通过YAML配置文件来创建。例如,在工作流配置信息创建完成后释放第一目标容器11对应的资源。
步骤③是通过第一持久卷(Persistence Volume)12挂载接口服务模块10中基于Python和Flask的代码,以方便代码更改和日志记录。
其中,模型工作流模块20,被配置成接收经K8s集群30转发的来自接口服务模块10的根据客户端生成的工作流配置信息,根据客户端请求及工作流配置信息在第二目标容器21中执行对应的工作流任务。
具体的,模型工作流模块20被配置成根据客户端请求及工作流配置信息在第二目标容器22中执行对应的工作流任务,具体包括:
基于经K8s集群30转发的来自接口服务模块10的客户端请求生成的工作流配置信息,启动工作流引擎21;
控制工作流引擎21根据不同的客户端请求生成的工作流配置信息(包含依赖关系)启动不同的工作流任务,即所述工作流配置信息还包括所述客户端请求与所述工作流任务之间的依赖关系;
根据客户端请求从预设容器资源中确定与工作流任务匹配的第二目标容器22;
在第二目标容器22中执行所述工作流任务。
在一些实施例中,模型工作流模块20进一步被配置成在所述工作流任务执行完毕后释放第二目标容器22对应的资源。
在一些实施例中,模型工作流模块20进一步被配置成通过第二持久卷23挂载模型工作流模块20的代码。
在一些实施例中,所述工作流任务包括数据预处理任务、模型训练任务和模型应用任务。
具体的,模型工作流模块20用于执行定义好的工作流配置信息对应的工作流任务,通过预定义的YAML配置文件运行多个Argo工作流任务,其中每个Argo工作流任务通过在Docker的容器应用中分别执行来实现,整个工作流任务的工作流程都由K8s进行管理。
如图1所示,步骤④是基于K8s集群30的调度,根据接口服务模块10传过来的根据客户端请求生成的工作流配置信息启动Argo工作流引擎21。
步骤⑤是控制Argo工作流引擎21根据不同客户端请求生成的工作流配置信息(包含依赖关系)执行不同客户端请求对应的工作流任务,如包含数据预处理、模型训练和模型应用等工作流任务的机器学习模型生命周期。例如,不同的工作流任务在不同的容器应用中执行,比如数据预处理任务是在容器应用22A中执行,模型训练任务是在容器应用22B中执行,模型应用任务在容器应用22C中执行。其中,每个工作流任务对应的容器应用运行完成后释放容器资源。
步骤⑥是通过第二持久卷(Persistence Volume)23挂载机器学习模型代码,方便代码更改、日记记录和结果保存。
其中,接口服务模块10与模型工作流模块20所对应的Docker容器应用由K8s集群30做编排管理和任务调度。接口服务模块10和模型工作流模块所对应的容器是有区别的,是由不同的Docker镜像所产生的容器应用,对应了不同的功能。例如,接口服务模块10对应的容器应用11提供接受外部客户端的http请求。模型工作流模块20对应的容器应用22,对应到不同的数据处理或分析建模的内容。客户端请求主要发到接口服务模块10的容器应用11,再由接口服务模块10根据客户端请求的请求参数生成配置文件,然后触发模型工作流模块20中的Argo工作流引擎21对应到容器应用22。其中,容器应用11和容器应用22的路由重定向都统一由k8s集群30进行管理,接口服务模型10和模型工作流模型20不需考虑路由细节。
其中,客户端请求对应的工作流配置信息里包含不同的工作流任务,配置文件描述了同一工作流配置信息中各个工作流任务之间的依赖关系,以确保工作流任务的执行顺序。但是,不同的工作流任务在相互隔离的容器应用中独立运行,不受其他任务的影响。
本申请实施例提供的基于工作流调度的机器学习模型的模型建立系统100,充分利用K8s集群的容器应用编排管理能力和Argo工作流引擎灵活调度的优势,解决模型服务部署存在的依赖复杂、工作流调度能力差、资源占用大等局限性,快速构建机器学习模型服务,实现灵活可伸缩部署。其中,该分工专注研发,统一接口服务和应用部署,提升研发效率,减低时间成本。其中,可以将模型建立系统100拆解成单一功能的模块,即拆解成接口服务模块10和模型工作流模块20,研发人员只需要专注于开发算法模块并定义模块入口即可,接口服务模块只需统一开发用以处理客户端的访问请求,进行应用部署的模型工作流模块20则是通过Docker容器应用在K8s集群内部进行部署,所有容器应用由K8s集群统一管理。模型工作流模块20以Argo工作流模式运行机器学习模型服务,流程拆解步骤清晰,资源利用高效,机器学习模型以工作流模式运行,细化机器学习生命周期的不同工作流任务和依赖关系,借助K8s集群和Argo工作流,每个步骤都通过容器应用实现,步骤执行完即释放容器资源,实现了资源高效利用和任务灵活调度,形成可重复运行的机器学习模型流水线。
本申请实施例提供的模型建立系统,包括接口服务模块和模型工作流模块,接口服务模块与模型工作流模块可相互独立运行且通过K8s集群进行交互,基于K8s集群接收客户端请求,接口服务模块根据K8s集群传送的客户端请求,在第一目标容器中生成对应的工作流配置信息,基于K8s集群将客户端请求及工作流配置信息发送至模型工作流模块;模型工作流模块根据K8s集群发送的来自接口服务模块的客户端请求及工作流配置信息在第二目标容器中执行对应的Argo工作流任务。本申请实施例可以将模型拆解成单一功能的模块,提升构建机器学习模型服务的能力,实现模块灵活可伸缩部署,提升研发效率,降低时间成本及容器资源利用率。
请参阅图2,图2为本申请实施例提供的一种应用于接口服务模型的模型建立方法的第一流程示意图。所述方法应用于接口服务模块,所述方法包括:
步骤101,接收K8s集群传送的客户端请求。
步骤102,根据所述客户端请求在第一目标容器中生成对应的工作流配置信息。
步骤103,基于所述K8s集群将根据所述客户端请求生成的工作流配置信息发送至所述模型工作流模块,其中,所述工作流配置信息用于指示所述模型工作流模执行对应的工作流任务。
请参考图1,接口服务模块10与客户端200通过K8s集群30进行交互,当用户访问客户端200时,使得客户端200产生客户端请求,并将客户端请求通过K8s集群30传送到接口服务模块10。则接口服务模块10接收K8s集群30传送的客户端请求,并根据客户端请求在第一目标容器11中生成对应的工作流配置信息,然后基于K8s集群30将所述工作流配置信息发送至模型工作流模块20。
请参阅图3,图3为本申请实施例提供的一种应用于接口服务模型的模型建立方法的第二流程示意图。所述方法应用于接口服务模块,所述方法还包括:
步骤201,接收K8s集群传送的客户端请求;
步骤202,根据所述客户端请求,从预设容器资源中确定与所述客户端请求匹配的第一目标容器;
步骤203,在所述第一目标容器中创建与所述客户端请求对应的工作流配置信息,其中所述工作流配置信息为基于YAML配置文件进行创建得到的数据;
步骤204,基于所述K8s集群将根据所述客户端请求生成的工作流配置信息发送至所述模型工作流模块,其中,所述工作流配置信息用于指示所述模型工作流模执行对应的工作流任务。
步骤205,通过第一持久卷挂载所述接口服务模块的代码。
请参阅图1,客户端200通过K8s集群30的网络服务进行访问,以通过K8s集群30向接口服务模块10发送客户端请求,接口服务模块10接收K8s集群30传送的客户端请求,并从预设Docker容器资源中确定与客户端请求匹配的第一目标容器11,并在第一目标容器11中创建与客户端请求对应的工作流配置信息,然后基于K8s集群30将根据客户端请求生成的工作流配置信息发送至模型工作流模块20,并且通过第一持久卷12挂载接口服务模块10中基于Python和Flask的代码,以方便代码更改和日志记录。
本申请实施例提供的模型建立方法,应用于接口服务模块,通过接收K8s集群传送的客户端请求;根据所述客户端请求在第一目标容器中生成对应的工作流配置信息;基于所述K8s集群将所述根据客户端请求生成的工作流配置信息发送至所述模型工作流模块,其中,所述工作流配置信息用于指示所述模型工作流模执行对应的工作流任务。本申请实施例可以对接口服务模块单独开发,接口服务模块只需统一开发用以处理客户端的访问请求,提升构建机器学习模型服务的能力,实现模块灵活可伸缩部署,提升研发效率,降低时间成本及容器资源利用率。
请参阅图4,图4为本申请实施例提供的一种应用于模型工作流模块的模型建立方法的第一流程示意图。所述方法应用于模型工作流模块,所述方法包括:
步骤301,接收经K8s集群转发的来自接口服务模块的根据客户端请求生成的工作流配置信息;
步骤302,根据所述客户端请求及工作流配置信息在第二目标容器中执行对应的工作流任务。
请参阅图1,模型工作流模块20接收经K8s集群30转发的来自接口服务模块10的根据客户端请求生成的工作流配置信息,根据所述工作流配置信息在第二目标容器21中执行对应的工作流任务。
请参阅图5,图5为本申请实施例提供的一种应用于模型工作流模块的模型建立方法的第二流程示意图。所述方法应用于模型工作流模块,所述方法包括:
步骤401,接收经K8s集群转发的来自接口服务模块的根据客户端请求生成的工作流配置信息;
步骤402,基于经所述K8s集群转发的来自所述接口服务模块的根据所述客户端请求生成的工作流配置信息,启动工作流引擎;
步骤403,控制所述工作流引擎根据不同的客户端请求生成的工作流配置启动不同的客户端请求对应的工作流任务,其中所述工作流配置信息还包括所述客户端请求与所述工作流任务之间的依赖关系;
步骤404,根据所述客户端请求从预设容器资源中确定与所述工作流任务匹配的第二目标容器;
步骤405,在所述第二目标容器中执行所述工作流任务。
步骤406,在所述工作流任务执行完毕后释放所述第二目标容器对应的资源。
步骤407,通过第二持久卷挂载所述模型工作流模块的代码。
请参阅图1,模型工作流模块20接收经K8s集群30转发的来自接口服务模块10的根据客户端请求生成的工作流配置信息;并基于经K8s集群30转发的来自接口服务模块10的根据客户端请求生成的工作流配置信息;启动工作流引擎,然后控制Argo工作流引擎根据不同客户端请求生成的工作流配置信息(包含依赖关系)执行不同客户端请求对应的工作流任务,如包含数据预处理、模型训练和模型应用等工作流任务的机器学习模型生命周期,例如,不同的工作流任务在不同的容器应用中执行,比如数据预处理任务是在容器应用22A中执行,模型训练任务是在容器应用22B中执行,模型应用任务在容器应用22C中执行;其中,每个工作流任务对应的容器应用运行完成后释放容器资源;然后通过第二持久卷(Persistence Volume)23挂载机器学习模型代码,方便代码更改、日记记录和结果保存。
本申请实施例提供的模型建立方法,应用于模型工作流模块,通过接收经K8s集群转发的来自接口服务模块的根据客户端请求生成的工作流配置信息;根据所述客户端请求及工作流配置信息在第二目标容器中执行对应的工作流任务。本申请实施例可以对模型工作流模块单独开发,以工作流模式运行,细化机器学习生命周期的不同工作流任务和依赖关系,提升构建机器学习模型服务的能力,实现模块灵活可伸缩部署,提升研发效率,降低时间成本及容器资源利用率。
上述所有的技术方案,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。
本申请实施例还提供一种模型建立装置,如图6所示,图6为本申请实施例提供的第一模型建立装置的第一结构示意图。该第一模型建立装置50应用于接口服务模块,第一模型建立装置50可以包括第一接收单元51,生成单元52和发送单元53。
其中,所述第一接收单元51,用于接收K8s集群传送的客户端请求。
所述生成单元52,用于根据所述客户端请求在第一目标容器中生成对应的工作流配置信息。
所述发送单元53,用于基于所述K8s集群将所述客户端请求及所述工作流配置信息发送至所述模型工作流模块,其中,所述工作流配置信息用于指示所述模型工作流模执行对应的工作流任务。
如图7所示,图7为本申请实施例提供的第一模型建立装置的第二结构示意图。该第一模型建立装置50应用于接口服务模块,第一模型建立装置50可以包括第一接收单元51,生成单元52,发送单元53和第一挂载单元54。
其中,所述第一接收单元51,用于接收K8s集群传送的客户端请求。
所述生成单元52,用于根据所述客户端请求在第一目标容器中生成对应的工作流配置信息。
在一些实施例中,所述生成单元52还包括:
第一确定子单元521,用于根据所述客户端请求,从预设容器资源中确定与所述客户端请求匹配的第一目标容器;
创建子单元522,用于在所述第一目标容器中创建与所述客户端请求对应的工作流配置信息,其中所述工作流配置信息为基于YAML配置文件进行创建得到的数据。
所述发送单元53,用于基于所述K8s集群将所述客户端请求及所述工作流配置信息发送至所述模型工作流模块,其中,所述工作流配置信息用于指示所述模型工作流模执行对应的工作流任务。
所述第一挂载单元54,用于通过第一持久卷挂载所述接口服务模块的代码。
本申请实施例提供的第一模型建立装置50,应用于接口服务模块,通过第一接收单元51接收K8s集群传送的客户端请求,生成单元52根据所述客户端请求在第一目标容器中生成对应的工作流配置信息,发送单元53基于所述K8s集群将所述客户端请求及所述工作流配置信息发送至所述模型工作流模块,其中,所述工作流配置信息用于指示所述模型工作流模执行对应的工作流任务。本申请实施例可以对接口服务模块单独开发,接口服务模块只需统一开发用以处理客户端的访问请求,提升构建机器学习模型服务的能力,实现模块灵活可伸缩部署,提升研发效率,降低时间成本及容器资源利用率。
如图8所示,图8为本申请实施例提供的第二模型建立装置的第一结构示意图。该第二模型建立装置60应用于模型工作流模块,第二模型建立装置60可以包括第二接收单元61和执行单元62。
其中,所述第二接收单元61,用于接收经K8s集群转发的来自接口服务模块的根据客户端请求生成的工作流配置信息。
所述执行单元62,用于根据所述客户端请求及工作流配置信息在第二目标容器中执行对应的工作流任务。
如图9所示,图9为本申请实施例提供的第二模型建立装置的另一结构示意图。该第二模型建立装置60应用于模型工作流模块,第二模型建立装置60可以包括第二接收单元61,执行单元62和第二挂载单元63。
其中,所述第二接收单元61,用于接收经K8s集群转发的来自接口服务模块的根据客户端请求生成的工作流配置信息。
所述执行单元62,用于根据所述客户端请求及工作流配置信息在第二目标容器中执行对应的工作流任务。
在一些实施例中,所述执行单元62包括:
启动子单元621,用于基于经所述K8s集群转发的来自所述接口服务模块的根据所述客户端请求生成的工作流配置信息,启动工作流引擎;
控制子单元622,用于控制所述工作流引擎根据不同的客户端请求生成的工作流配置信息启动不同的客户端请求对应的工作流任务,其中所述工作流配置信息还包括所述客户端请求与所述工作流任务之间的依赖关系;
第二确定子单元623,用于根据所述客户端请求从预设容器资源中确定与所述工作流任务匹配的第二目标容器;
执行子单元624,用于在所述第二目标容器中执行所述工作流任务。
释放子单元625,用于在所述工作流任务执行完毕后释放所述第二目标容器对应的资源。
所述第二挂载单元63,用于通过第二持久卷挂载所述模型工作流模块的代码。
上述所有的技术方案,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。
本申请实施例提供的第二模型建立装置60,应用于模型工作流模块,通过第二接收单元61接收经K8s集群转发的来自接口服务模块的根据客户端请求生成的工作流配置信息,执行单元62根据所述客户端请求及工作流配置信息在第二目标容器中执行对应的工作流任务。本申请实施例可以对模型工作流模块单独开发,以工作流模式运行,细化机器学习生命周期的不同工作流任务和依赖关系,提升构建机器学习模型服务的能力,实现模块灵活可伸缩部署,提升研发效率,降低时间成本及容器资源利用率。
本申请实施例还提供一种服务器,如图10所示,其示出了本申请实施例所涉及的服务器的结构示意图。其中,该服务器可以包括一个或者一个以上处理核心的处理器701、一个或一个以上计算机可读存储介质的存储器702、电源703和输入单元704等部件。本领域技术人员可以理解,图10中示出的服务器结构并不构成对服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器701是该服务器的控制中心,利用各种接口和线路连接整个服务器的各个部分,通过运行或执行存储在存储器702内的软件程序和/或模块,以及调用存储在存储器702内的数据,执行服务器的各种功能和处理数据,从而对服务器进行整体监控。可选的,处理器701可包括一个或多个处理核心;优选的,处理器701可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器701中。
存储器702可用于存储软件程序以及模块,处理器701通过运行存储在存储器702的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器702可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据服务器的使用所创建的数据等。此外,存储器702可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器702还可以包括存储器控制器,以提供处理器701对存储器702的访问。
服务器还包括给各个部件供电的电源703,优选的,电源703可以通过电源管理系统与处理器701逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源703还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该服务器还可包括输入单元704,该输入单元704可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,服务器还可以包括显示单元等,在此不再赘述。具体在本实施例中,服务器中的处理器701会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器702中,并由处理器701来运行存储在存储器702中的应用程序,从而实现各种功能。
处理器701在执行应用于接口服务模块的应用程序的进程对应的可执行文件时,执行如下步骤:
接收K8s集群传送的客户端请求;根据所述客户端请求在第一目标容器中生成对应的工作流配置信息;基于所述K8s集群将所述客户端请求及所述工作流配置信息发送至所述模型工作流模块,其中,所述工作流配置信息用于指示所述模型工作流模执行对应的工作流任务。
在一些实施例中,处理器701在执行所述根据所述客户端请求在第一目标容器中生成对应的工作流配置信息的步骤时,包括:
根据所述客户端请求,从预设容器资源中确定与所述客户端请求匹配的第一目标容器;
在所述第一目标容器中创建与所述客户端请求对应的工作流配置信息,其中所述工作流配置信息为基于YAML配置文件进行创建得到的数据。
在一些实施例中,处理器701还用于执行:通过第一持久卷挂载所述接口服务模块的代码。
处理器701在执行应用于模型工作流模块的应用程序的进程对应的可执行文件时,执行如下步骤:
接收经K8s集群转发的来自接口服务模块的根据客户端请求生成的工作流配置信息;根据所述客户端请求及工作流配置信息在第二目标容器中执行对应的工作流任务。
在一些实施例中,处理器701执行所述根据所述客户端请求及工作流配置信息在第二目标容器中执行对应的工作流任务的步骤,包括:
基于经所述K8s集群转发的来自所述接口服务模块的根据所述客户端请求生成的工作流配置信息,启动工作流引擎;
控制所述工作流引擎根据不同的客户端请求生成的工作流配置信息启动不同的客户端请求对应的工作流任务,其中所述工作流配置信息还包括所述客户端请求与所述工作流任务之间的依赖关系;
根据所述客户端请求从预设容器资源中确定与所述工作流任务匹配的第二目标容器;
在所述第二目标容器中执行所述工作流任务。
处理器701在执行所述在所述第二目标容器中执行所述工作流任务的步骤之后,还包括:在所述工作流任务执行完毕后释放所述第二目标容器对应的资源。
在一些实施例中,处理器701还用于执行:通过第一持久卷挂载所述接口服务模块的代码。
以上操作具体可参见前面的实施例,在此不作赘述。
相应的,本申请实施例还提供一种电子设备,本申请实施例所述的模型建立系统可以在电子设备中运行。如图11所示,该电子设备可以包括射频(RF,Radio Frequency)电路801、包括有一个或一个以上计算机可读存储介质的存储器802、输入单元803、显示单元804、传感器805、音频电路806、无线保真(WiFi,Wireless Fidelity)模块807、包括有一个或者一个以上处理核心的处理器808、以及电源809等部件。本领域技术人员可以理解,图11中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路801可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器808处理;另外,将涉及上行的数据发送给基站。通常,RF电路801包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM,Subscriber Identity Module)卡、收发信机、耦合器、低噪声放大器(LNA,Low Noise Amplifier)、双工器等。此外,RF电路801还可以通过无线通信与网络和其他设备通信。
存储器802可用于存储软件程序以及模块,处理器808通过运行存储在存储器802的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器802可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器802可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器802还可以包括存储器控制器,以提供处理器808和输入单元803对存储器802的访问。
输入单元803可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,在一个具体的实施例中,输入单元803可包括触敏表面以及其他输入设备。触敏表面,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面上或在触敏表面附近的操作),并根据预先设定的程式驱动相应的连接装置。除了触敏表面,输入单元803还可以包括其他输入设备。具体地,其他输入设备可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元804可用于显示由用户输入的信息或提供给用户的信息以及电子设备的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元804可包括显示面板。进一步的,触敏表面可覆盖显示面板,当触敏表面检测到在其上或附近的触摸操作后,传送给处理器808以确定触摸事件的类型,随后处理器808根据触摸事件的类型在显示面板上提供相应的视觉输出。虽然在图11中,触敏表面与显示面板是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面与显示面板集成而实现输入和输出功能。
电子设备还可包括至少一种传感器805,比如光传感器、运动传感器以及其他传感器。电子设备还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路806、扬声器,传声器可提供用户与电子设备之间的音频接口。音频电路806可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路806接收后转换为音频数据,再将音频数据输出处理器808处理后,经RF电路801以发送给比如另一电子设备,或者将音频数据输出至存储器802以便进一步处理。音频电路806还可能包括耳塞插孔,以提供外设耳机与电子设备的通信。
WiFi属于短距离无线传输技术,电子设备通过WiFi模块807可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图11示出了WiFi模块807,但是可以理解的是,其并不属于电子设备的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器808是电子设备的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器802内的软件程序和/或模块,以及调用存储在存储器802内的数据,执行电子设备的各种功能和处理数据。可选的,处理器808可包括一个或多个处理核心;优选的,处理器808可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器808中。
电子设备还包括给各个部件供电的电源809(比如电池),优选的,电源可以通过电源管理系统与处理器808逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,电子设备还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,电子设备中的处理器808会按照如下的指令,将一个或一个以上的计算机程序的进程对应的可执行文件加载到存储器802中,并由处理器808来运行存储在存储器802中的计算机程序,从而实现各种功能。
处理器808在执行应用于接口服务模块的应用程序的进程对应的可执行文件时,执行如下步骤:
接收K8s集群传送的客户端请求;根据所述客户端请求在第一目标容器中生成对应的工作流配置信息;基于所述K8s集群将所述客户端请求及所述工作流配置信息发送至所述模型工作流模块,其中,所述工作流配置信息用于指示所述模型工作流模执行对应的工作流任务。
在一些实施例中,处理器808在执行所述根据所述客户端请求在第一目标容器中生成对应的工作流配置信息的步骤时,包括:
根据所述客户端请求,从预设容器资源中确定与所述客户端请求匹配的第一目标容器;
在所述第一目标容器中创建与所述客户端请求对应的工作流配置信息,其中所述工作流配置信息为基于YAML配置文件进行创建得到的数据。
在一些实施例中,处理器808还用于执行:通过第一持久卷挂载所述接口服务模块的代码。
处理器808在执行应用于模型工作流模块的应用程序的进程对应的可执行文件时,执行如下步骤:
接收经K8s集群转发的来自接口服务模块的根据客户端请求生成的工作流配置信息;根据所述客户端请求及工作流配置信息在第二目标容器中执行对应的工作流任务。
在一些实施例中,处理器701执行所述根据所述客户端请求及工作流配置信息在第二目标容器中执行对应的工作流任务的步骤,包括:
基于经所述K8s集群转发的来自所述接口服务模块的根据所述客户端请求生成的工作流配置信息,启动工作流引擎;
控制所述工作流引擎根据不同的客户端请求生成的工作流配置信息启动不同的客户端请求对应的工作流任务,其中所述工作流配置信息还包括所述客户端请求与所述工作流任务之间的依赖关系;
根据所述客户端请求从预设容器资源中确定与所述工作流任务匹配的第二目标容器;
在所述第二目标容器中执行所述工作流任务。
处理器808在执行所述在所述第二目标容器中执行所述工作流任务的步骤之后,还包括:在所述工作流任务执行完毕后释放所述第二目标容器对应的资源。
在一些实施例中,处理器808还用于执行:通过第一持久卷挂载所述接口服务模块的代码。
以上操作具体可参见前面的实施例,在此不作赘述。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请实施例所提供的任一种模型建立方法中的步骤。例如,该指令可以执行如下步骤:
接收K8s集群传送的客户端请求;根据所述客户端请求在第一目标容器中生成对应的工作流配置信息;基于所述K8s集群将所述客户端请求及所述工作流配置信息发送至所述模型工作流模块,其中,所述工作流配置信息用于指示所述模型工作流模执行对应的工作流任务。
例如,该指令还可以执行如下步骤:
接收经K8s集群转发的来自接口服务模块的根据客户端请求生成的工作流配置信息;根据所述客户端请求及工作流配置信息在第二目标容器中执行对应的工作流任务。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的指令,可以执行本申请实施例所提供的任意一种模型建立方法中的步骤,因此,可以实现本申请实施例所提供的任意一种模型建立方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本申请实施例所提供的一种模型建立系统、方法、装置及存储介质进行了详细介绍,本文中应用具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (14)
1.一种模型建立系统,其特征在于,所述系统包括:接口服务模块和模型工作流模块,所述接口服务模块与模型工作流模块相互独立运行,且所述接口服务模块与模型工作流模块通过K8s集群进行交互;
所述接口服务模块,被配置成接收所述K8s集群传送的客户端请求,根据所述客户端请求在第一目标容器中生成对应的工作流配置信息,基于所述K8s集群将根据所述客户端请求生成的工作流配置信息发送至所述模型工作流模块;
所述模型工作流模块,被配置成接收经所述K8s集群转发的来自所述接口服务模块的根据所述客户端请求生成的工作流配置信息,根据所述客户端请求及工作流配置信息在第二目标容器中执行对应的工作流任务。
2.如权利要求1所述的模型建立系统,其特征在于,所述接口服务模块被配置成根据所述客户端请求在第一目标容器中生成对应的工作流配置信息,具体包括:
根据所述客户端请求,从预设容器资源中确定与所述客户端请求匹配的第一目标容器;
在所述第一目标容器中创建与所述客户端请求对应的工作流配置信息,其中所述工作流配置信息为基于YAML配置文件进行创建得到的数据。
3.如权利要求1所述的模型建立系统,其特征在于,所述接口服务模块进一步被配置成:
通过第一持久卷挂载所述接口服务模块的代码。
4.如权利要求1所述的模型建立系统,其特征在于,所述模型工作流模块被配置成根据所述客户端请求及工作流配置信息在第二目标容器中执行对应的工作流任务,具体包括:
基于经所述K8s集群转发的来自所述接口服务模块的根据所述客户端请求生成的工作流配置信息,启动工作流引擎;
控制所述工作流引擎根据不同的客户端请求生成的工作流配置信息启动不同的工作流任务,其中所述工作流配置信息还包括所述客户端请求与所述工作流任务之间的依赖关系;
根据所述客户端请求从预设容器资源中确定与所述工作流任务匹配的第二目标容器;
在所述第二目标容器中执行所述工作流任务。
5.一种模型建立方法,应用于接口服务模块,其特征在于,所述方法包括:
接收K8s集群传送的客户端请求;
根据所述客户端请求在第一目标容器中生成对应的工作流配置信息;
基于所述K8s集群将根据所述客户端请求生成的工作流配置信息发送至所述模型工作流模块,其中,所述工作流配置信息用于指示所述模型工作流模执行对应的工作流任务。
6.如权利要求5所述的模型建立方法,其特征在于,所述根据所述客户端请求在第一目标容器中生成对应的工作流配置信息,包括:
根据所述客户端请求,从预设容器资源中确定与所述客户端请求匹配的第一目标容器;
在所述第一目标容器中创建与所述客户端请求对应的工作流配置信息,其中所述工作流配置信息为基于YAML配置文件进行创建得到的数据。
7.如权利要求5所述的模型建立方法,其特征在于,所述方法还包括:
通过第一持久卷挂载所述接口服务模块的代码。
8.一种模型建立方法,应用于模型工作流模块,其特征在于,所述方法包括:
接收经K8s集群转发的来自接口服务模块的客户端请求生成的工作流配置信息;
根据所述客户端请求及工作流配置信息在第二目标容器中执行对应的工作流任务。
9.如权利要求8所述的模型建立方法,其特征在于,所述根据所述客户端请求及工作流配置信息在第二目标容器中执行对应的工作流任务,包括:
基于经所述K8s集群转发的来自所述接口服务模块的所述客户端请求所生成的工作流配置信息,启动工作流引擎;
控制所述工作流引擎根据不同的客户端请求生成的工作流配置信息启动不同的工作流任务,其中所述工作流配置信息还包括所述客户端请求与所述工作流任务之间的依赖关系;
根据所述客户端请求从预设容器资源中确定与所述工作流任务匹配的第二目标容器;
在所述第二目标容器中执行所述工作流任务。
10.如权利要求9所述的模型建立方法,其特征在于,所述在所述第二目标容器中执行所述工作流任务之后,还包括:
在所述工作流任务执行完毕后释放所述第二目标容器对应的资源。
11.如权利要求8所述的模型建立方法,其特征在于,所述方法还包括:
通过第二持久卷挂载所述模型工作流模块的代码。
12.一种模型建立装置,应用于接口服务模块,其特征在于,所述装置包括:
第一接收单元,用于接收K8s集群传送的客户端请求;
生成单元,用于根据所述客户端请求在第一目标容器中生成对应的工作流配置信息;
发送单元,用于基于所述K8s集群将根据所述客户端请求生成的工作流配置信息发送至所述模型工作流模块,其中,所述工作流配置信息用于指示所述模型工作流模执行对应的工作流任务。
13.一种模型建立装置,应用于模型工作流模块,其特征在于,所述装置包括:
第二接收单元,用于接收经K8s集群转发的来自接口服务模块的客户端请求生成的工作流配置信息;
执行单元,用于根据所述客户端请求及工作流配置信息在第二目标容器中执行对应的工作流任务。
14.一种存储介质,其特征在于,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求5至11任一项所述的方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010033907.3A CN113112025A (zh) | 2020-01-13 | 2020-01-13 | 模型建立系统、方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010033907.3A CN113112025A (zh) | 2020-01-13 | 2020-01-13 | 模型建立系统、方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113112025A true CN113112025A (zh) | 2021-07-13 |
Family
ID=76709032
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010033907.3A Pending CN113112025A (zh) | 2020-01-13 | 2020-01-13 | 模型建立系统、方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113112025A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113806097A (zh) * | 2021-09-29 | 2021-12-17 | 杭州网易云音乐科技有限公司 | 一种数据处理方法、装置、电子设备以及存储介质 |
CN114881233A (zh) * | 2022-04-20 | 2022-08-09 | 深圳市魔数智擎人工智能有限公司 | 一种基于容器的分布式模型推理服务方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180121258A1 (en) * | 2016-10-31 | 2018-05-03 | General Electric Company | Self-aware and self-registering software & analytics platform components |
CN108171473A (zh) * | 2017-12-26 | 2018-06-15 | 北京九章云极科技有限公司 | 一种数据分析处理系统及数据分析处理方法 |
CN108304250A (zh) * | 2018-03-05 | 2018-07-20 | 北京百度网讯科技有限公司 | 用于确定运行机器学习任务的节点的方法和装置 |
CN108920259A (zh) * | 2018-03-30 | 2018-11-30 | 华为技术有限公司 | 深度学习作业调度方法、系统和相关设备 |
CN109189750A (zh) * | 2018-09-06 | 2019-01-11 | 北京九章云极科技有限公司 | 数据分析工作流的运行方法、数据分析系统及存储介质 |
CN109508238A (zh) * | 2019-01-05 | 2019-03-22 | 咪付(广西)网络技术有限公司 | 一种用于深度学习的资源管理系统及方法 |
US20190158428A1 (en) * | 2017-11-21 | 2019-05-23 | Fungible, Inc. | Work unit stack data structures in multiple core processor system for stream data processing |
CN109962940A (zh) * | 2017-12-14 | 2019-07-02 | 北京云基数技术有限公司 | 一种基于云平台的虚拟化实例调度系统及调度方法 |
CN110413391A (zh) * | 2019-07-24 | 2019-11-05 | 上海交通大学 | 基于容器集群的深度学习任务服务质量保证方法和系统 |
-
2020
- 2020-01-13 CN CN202010033907.3A patent/CN113112025A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180121258A1 (en) * | 2016-10-31 | 2018-05-03 | General Electric Company | Self-aware and self-registering software & analytics platform components |
US20190158428A1 (en) * | 2017-11-21 | 2019-05-23 | Fungible, Inc. | Work unit stack data structures in multiple core processor system for stream data processing |
CN109962940A (zh) * | 2017-12-14 | 2019-07-02 | 北京云基数技术有限公司 | 一种基于云平台的虚拟化实例调度系统及调度方法 |
CN108171473A (zh) * | 2017-12-26 | 2018-06-15 | 北京九章云极科技有限公司 | 一种数据分析处理系统及数据分析处理方法 |
CN108304250A (zh) * | 2018-03-05 | 2018-07-20 | 北京百度网讯科技有限公司 | 用于确定运行机器学习任务的节点的方法和装置 |
CN108920259A (zh) * | 2018-03-30 | 2018-11-30 | 华为技术有限公司 | 深度学习作业调度方法、系统和相关设备 |
CN109189750A (zh) * | 2018-09-06 | 2019-01-11 | 北京九章云极科技有限公司 | 数据分析工作流的运行方法、数据分析系统及存储介质 |
CN109508238A (zh) * | 2019-01-05 | 2019-03-22 | 咪付(广西)网络技术有限公司 | 一种用于深度学习的资源管理系统及方法 |
CN110413391A (zh) * | 2019-07-24 | 2019-11-05 | 上海交通大学 | 基于容器集群的深度学习任务服务质量保证方法和系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113806097A (zh) * | 2021-09-29 | 2021-12-17 | 杭州网易云音乐科技有限公司 | 一种数据处理方法、装置、电子设备以及存储介质 |
CN114881233A (zh) * | 2022-04-20 | 2022-08-09 | 深圳市魔数智擎人工智能有限公司 | 一种基于容器的分布式模型推理服务方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11960907B2 (en) | Configuring an electronic device using artificial intelligence | |
CN109525624B (zh) | 一种容器登录方法、装置及存储介质 | |
US10824449B2 (en) | Application running method and device | |
CN106371900B (zh) | 一种实现异步调用的数据处理方法及装置 | |
CN112257135A (zh) | 一种基于多线程的模型加载方法、装置、存储介质及终端 | |
CN111400000A (zh) | 网络请求处理方法、装置、设备和存储介质 | |
WO2021244267A1 (zh) | 应用程序的移植方法、装置、设备及介质 | |
CN113112025A (zh) | 模型建立系统、方法、装置及存储介质 | |
CN113377469A (zh) | 移动应用的业务界面显示方法、装置、终端及存储介质 | |
CN115756881A (zh) | 基于sdk的数据处理方法、装置、设备、存储介质 | |
CN115562878A (zh) | Gpu计算资源的管理方法、装置、电子设备及可读存储介质 | |
CN112328304A (zh) | 一种脚本适配方法、系统、设备及计算机存储介质 | |
CN111359210A (zh) | 一种数据处理方法、装置、电子设备以及存储介质 | |
CN114860401B (zh) | 异构云桌面调度系统、方法、服务系统、装置及介质 | |
CN115065609A (zh) | B端SaaS系统混合部署方法及系统 | |
CN115373865A (zh) | 一种并发线程管理方法、装置、电子设备和存储介质 | |
WO2017041604A1 (zh) | 一种应用加速方法及装置 | |
CN113742716A (zh) | 代码运行方法、装置、电子设备、存储介质和程序产品 | |
CN114298313A (zh) | 一种人工智能计算机视觉推理方法 | |
US20240250878A1 (en) | System and method for providing a cloud resource optimization policy in telecommunications system | |
Lee et al. | Development of energy-aware mobile applications based on resource outsourcing | |
CN105279175B (zh) | 数据传输的方法和装置 | |
CN114968275A (zh) | 一种组件部署方法、装置和电子设备 | |
CN114661247B (zh) | 自动扩容方法、装置、电子设备及存储介质 | |
WO2023193470A1 (zh) | 一种业务管理方法、系统及相关装置 |
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 |