CN116227625A - 智能模型开发方法、介质及设备 - Google Patents
智能模型开发方法、介质及设备 Download PDFInfo
- Publication number
- CN116227625A CN116227625A CN202310215098.1A CN202310215098A CN116227625A CN 116227625 A CN116227625 A CN 116227625A CN 202310215098 A CN202310215098 A CN 202310215098A CN 116227625 A CN116227625 A CN 116227625A
- Authority
- CN
- China
- Prior art keywords
- model
- intelligent model
- service
- external resource
- target
- 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
Images
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)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (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)
- Feedback Control In General (AREA)
Abstract
本公开提供一种智能模型开发方法、装置、平台、存储介质及电子设备;涉及人工智能技术领域。所述方法包括:获取训练数据集;在当前容器中通过外部资源加载接口接入目标外部资源;根据所述训练数据集和所述目标外部资源生成智能模型,并将所述智能模型部署在所述当前容器中。本公开通过结合容器环境和本地环境进行智能模型的开发,可以提高模型开发效率。
Description
技术领域
本公开涉及人工智能技术领域,具体而言,涉及一种智能模型开发方法、计算机可读存储介质以及电子设备。
背景技术
随着人工智能的快速发展以及普及,开发人员需要执行大量的模型开发工作,提供一个标准的开发环境和开发流程成为提高模型开发效率的关键。
目前,由于常用的模型开发平台无法与本地环境打通,使得模型开发平台的功能和服务存在一定的局限性,从而影响了模型开发的效率。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开提供一种智能模型开发方法、计算机可读存储介质以及电子设备,进而至少在一定程度上克服相关技术中模型开发效率较低的问题。
根据本公开的第一方面,提供一种智能模型开发方法,包括:
获取训练数据集;
在当前容器中通过外部资源加载接口接入目标外部资源;
根据所述训练数据集和所述目标外部资源生成智能模型,并将所述智能模型部署在所述当前容器中。
在本公开的一种示例性实施例中,所述获取训练数据集,包括:
获取基础数据集;
建立所述基础数据集的索引,并根据所述索引对所述基础数据集进行分类,得到多个版本的子数据集;
对各版本的所述子数据集进行标注,得到所述训练数据集。
在本公开的一种示例性实施例中,在当前容器中通过外部资源加载接口接入目标外部资源之前,所述方法还包括:
创建容器部署配置文件;
调用容器管理服务接口,以使所述容器管理服务接口根据所述容器部署配置文件部署所述当前容器。
在本公开的一种示例性实施例中,所述在当前容器中通过外部资源加载接口接入目标外部资源,包括:
通过所述外部资源加载接口注册多种类型的外部资源;
根据所述目标外部资源的类型将所述目标外部资源接入所述当前容器中。
在本公开的一种示例性实施例中,所述目标外部资源的类型包括本地资源插件;所述根据所述目标外部资源的类型将所述目标外部资源接入所述当前容器中,包括:
获取所述本地资源插件的资源路径;
根据所述资源路径将所述本地资源插件接入所述当前容器中。
在本公开的一种示例性实施例中,所述目标外部资源的类型包括外部服务插件;所述根据所述目标外部资源的类型将所述目标外部资源接入所述当前容器中,包括:
获取所述外部服务插件中的请求信息,所述请求信息包括目标外部服务的服务参数;
将与所述请求信息对应的所述目标外部服务接入所述当前容器中。
在本公开的一种示例性实施例中,将所述智能模型部署在所述当前容器中之后,所述方法还包括:
将所述智能模型打包为软件开发工具包并进行发布。
根据本公开的第二方面,提供一种智能模型调度方法,包括:
通过服务加载接口接收模型调度请求,并根据所述模型调度请求调用部署在容器中的目标智能模型;
获取所述目标智能模型的入参数据,并利用所述目标智能模型对所述入参数据进行处理,得到推理结果。
在本公开的一种示例性实施例中,所述根据所述模型调度请求调用部署在容器中的目标智能模型,包括:
根据所述模型调度请求配置服务参数;
根据所述服务参数创建推理服务,并将所述推理任务挂载在所述容器中,以通过所述推理服务启动所述目标智能模型。
根据本公开的第三方面,提供一种智能模型开发装置,包括:
训练数据获取模块,用于获取训练数据集;
外部资源接入模块,用于在当前容器中通过外部资源加载接口接入目标外部资源;
智能模型生成模块,用于根据所述训练数据集和所述目标外部资源生成智能模型,并将所述智能模型部署在所述当前容器中。
根据本公开的第四方面,提供一种智能模型调度装置,包括:
智能模型调度模块,用于通过服务加载接口接收模型调度请求,并根据所述模型调度请求调用部署在容器中的目标智能模型;
智能模型推理模块,用于获取所述目标智能模型的入参数据,并利用所述目标智能模型对所述入参数据进行处理,得到推理结果。
根据本公开的第五方面,提供一种智能模型开发平台,包括:业务应用层、调度管理层、外部服务接入层和基础环境层;
所述业务应用层包括数据管理模块、数据标注模块、算法开发模块、模型训练模块、模型部署模块和模型发布模块;
所述调度管理层包括容器部署模块、状态监控模块、资源管理模块和服务调度层;
所述外部资源接入层用于通过外部资源加载接口接入目标外部资源;
所述基础环境层用于为所述业务应用层和所述调度管理层提供基础环境的支撑。
根据本公开的第六方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理单元执行时实现上述任意一项所述的方法。
根据本公开的第七方面,提供一种电子设备,包括:处理单元;显示单元;以及存储单元,用于存储所述处理单元的可执行指令;其中,所述处理单元配置为经由执行所述可执行指令来执行上述任意一项所述的方法。
本公开示例性实施例可以具有以下部分或全部有益效果:
在本公开示例实施方式所提供的智能模型开发方法中,通过获取训练数据集;在当前容器中通过外部资源加载接口接入目标外部资源;根据所述训练数据集和所述目标外部资源生成智能模型,并将所述智能模型部署在所述当前容器中。本公开结合容器环境和本地环境进行智能模型的开发时,能够接入本地资源并直接从本地资源获取所需数据,无需用户手动上传,减少了冗余操作,提高了模型开发效率。而且,除本地资源外还能够接入用户自定义的外部服务,使得基于统一的模型开发流程实现后端服务的动态切换,进一步提高了模型开发效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1示出了本公开实施例中一种智能模型开发平台的架构图;
图2示出了本公开实施例中一种智能模型开发方法的流程图;
图3示出了本公开实施例中一种数据团队管理的示意图;
图4示出了本公开实施例中一种调度管理层的设计示意图;
图5示出了本公开实施例中一种接入外部资源的流程图;
图6示出了本公开实施例中一种智能模型调度方法的流程图;
图7示出了本公开实施例中一种智能模型开发装置的框图;
图8示出了本公开实施例中一种智能模型调度装置的框图;
图9示出了适于用来实现本公开实施例的电子设备的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
图1示意性的给出了本公开实施例中一种智能模型开发平台的架构图,包括:业务应用层101、调度管理层102、外部资源接入层103和基础环境层104。
具体地,业务应用层101可以包括数据管理模块、数据标注模块、算法开发模块、模型训练模块、模型部署模块和模型发布模块。其中,数据管理模块用于对算法所需基础数据进行管理,如文件管理、版本管理等;数据标注模块用于对基础数据进行标注处理;算法开发模块可以基于Jupyter Notebook环境进行算法代码的调试和开发,其中,JupyterNotebook是一个开源的Web应用程序,允许用户创建和共享包含代码、方程式、可视化和文本的文档。模型训练模块用于进行模型训练,生成智能模型;模型部署模块用于对智能模型进行封装,提供HTTP(Hyper Text Transfer Protocol,超文本传输协议)服务或gRPC(Remote Procedure Call,一种远程过程调用)服务;模型发布模块用于对智能模型进行打包,提供可直接调用的SDK(Software Development Kit,软件开发工具包),并提供SDK版本管理。业务应用层负责核心业务处理,主要对接Web层,即对可视化界面进行接口对接,以进行直观的交互操作。
调度管理层102基于Kubernetes(简称K8s)开发,包括容器部署模块、状态监控模块、资源管理模块和服务调度层。其中,容器部署模块用于完成容器管理服务接口的调用,本公开中的容器管理服务接口可以是K8s接口,使用K8s服务进行容器的部署、状态控制如容器的启动、停止和销毁等;状态监控模块用于对K8s部署的容器产生的日志进行不间断的收集,便于针对算法训练等各个模块产生的问题进行分析和解决;资源管理模块用于对容器使用的资源数量进行严格限制,资源主要包括CPU(Central Processing Unit,中央处理器)、内存和GPU(Graphic Processing Unit,图形处理器)等;服务调度层用于调用部署在容器中的智能模型,以利用智能模型完成相应的推理服务。
外部资源接入层103用于通过外部资源加载接口接入目标外部资源。其中,目标外部资源可以包括Gitlab、harbor、Nextcloud仓库等本地环境以及模型转换、模型压缩等外部服务中的一种或多种。示例性的,将本地环境中的Gitlab、harbor仓库等接入到当前系统中,可以减少数据冗余,提升使用效率。
基础环境层104用于为业务应用层和调度管理层提供基础环境的支撑。基础环境主要包含K8s服务、数据库、nacos注册中心、minio对象存储、Prometheus监控系统等基础软件,用来为业务应用层101、调度管理层102提供基础环境的支撑。例如,通过nacos注册中心可以快速实现动态服务发现、服务配置、服务元数据及流量管理。
该智能模型开发平台能够支撑算法开发的数据处理、模型构建、服务部署、SDK打包等全流程算法开发功能,提供统一的开发环境和开发流程。
以下对本公开实施例的技术方案进行详细阐述:
本示例实施方式提供了一种智能模型开发方法。参考图2所示,该智能模型开发方法可以包括以下步骤S210至步骤S230:
步骤S210.获取训练数据集;
步骤S220.在当前容器中通过外部资源加载接口接入目标外部资源;
步骤S230.根据所述训练数据集和所述目标外部资源生成智能模型,并将所述智能模型部署在所述当前容器中。
在本公开示例实施方式所提供的智能模型开发方法中,通过获取训练数据集;在当前容器中通过外部资源加载接口接入目标外部资源;根据所述训练数据集和所述目标外部资源生成智能模型,并将所述智能模型部署在所述当前容器中。本公开结合容器环境和本地环境进行智能模型的开发时,能够接入本地资源并直接从本地资源获取所需数据,无需用户手动上传,减少了冗余操作,提高了模型开发效率。而且,除本地资源外还能够接入用户自定义的外部服务,使得基于统一的模型开发流程实现后端服务的动态切换,进一步提高了模型开发效率。
下面,对于本示例实施方式的上述步骤进行更加详细的说明。
在步骤S210中,获取训练数据集。
示例性的,可以先获取用于算法开发和训练的基础数据集,基础数据集可以是图片集合、音频集合等,本公开对此不做限定,可以根据用户的实际需求上传对应的基础数据集。在实际的模型开发过程中,一组基础数据集可以用于多种算法的开发和训练。因此,在本公开示例实施方式中,可以在数据集的使用上增加数据团队管理,为不同的团队分配不同的数据集版本和标注数据版本,从逻辑层面对数据进行隔离,避免数据集使用混乱。
具体地,可以建立基础数据集的索引,并根据索引对基础数据集进行分类等管理,得到多个版本的子数据集。举例而言,一组基础数据集中包括一定数量的图片,可以为具有相同/相似特征的图片建立相同的索引,进而将基础数据集分为不同版本的子数据集,各子数据集之间互不影响,还可以对各子数据集单独进行调整。
得到多个版本的子数据集后,还可以对各版本的子数据集进行标注,得到训练数据集,以将训练数据集提供给项目内训练任务、开发环境使用。需要说明的是,不同版本的子数据集可以进行不同类型的标注,如A数据集进行用于图像检测类型的标注,B数据集进行用于图像分割类型的标注。对应的,同一版本的子数据集也可以产生多个版本的标注数据。
参考图3所示,示出了对基础数据集进行数据团队管理的示意图。其中,将基础数据集发送给团队1、团队2和团队3,为每个团队中的基础数据集建立不同的索引,以根据不同的索引得到不同版本的子数据集,即子数据集V1版本、子数据集V2版本和子数据集V3版本。以对子数据集V1版本进行标注为例,可以对该版本的子数据集进行不同类型的标注,得到不同版本的标注数据,即标注数据V1版本、标注数据V2版本和标注数据V3版本,最后将标注数据分配给不同的团队。例如,对团队1产生的子数据集进行标注后,得到标注数据V2版本,可以将该版本的标注数据分配给团队4和团队5。
需要说明的是,上传数量较大的基础数据集时,可以对接已经存在的数据存储系统,进行数据映射。还可以将大数据进行分片压缩,然后将压缩后的分片数据并行上传,以提升数据的上传效率。同时,当基础数据集的数量较大时,还会面临基础数据集索引建立缓慢的问题。本公开示例实施方式中,可以使用同步+异步的方式,当用户上传数据时,只建立其中一部分数据的索引,满足用户查看和使用,剩余的数据建立异步任务,在后台继续建立索引。可以理解的是,若上传的数据量少则可以建立全部数据的索引。对数据上传和建立索引两个流程进行了优化,在一定程度上提高了模型的开发效率。
在步骤S220中,在当前容器中通过外部资源加载接口接入目标外部资源。
目标外部资源可以是代码仓库、数据仓库、镜像仓库等本地资源以及用户自定义的外部服务中的一种或多种。本公开示例中对外部资源的处理采用接口化设计,以通过外部资源加载接口接入外部资源。在当前容器中通过外部资源加载接口接入目标外部资源之前,还需要预先部署容器,容器环境可以提供完整的算法依赖和执行环境(基于选择的镜像)以及jupyter编辑器,能够允许用户使用独立的容器空间进行在线的算法编辑和调试,从而实现在线编辑功能和在线调试功能。
示例性的,可以基于调度管理层创建容器部署配置文件,并调用容器管理服务接口,以使容器管理服务接口根据容器部署配置文件部署当前容器。具体地,参考图4所示,给出了调度管理层的一种设计示意图。调度管理层作为算法开发服务、算法训练服务和模型部署服务的核心功能,主要包含配置管理、状态监控、资源释放三个部分,其中:
配置管理部分用于创建K8s容器配置,该部分又可以包含资源检查、资源分配、文件挂载、配置生成四个功能模块。其中,资源检查模块用于检查当前K8s服务能提供的物理资源(CPU、GPU和内存)是否满足模型开发的需求,如果不满足则返回告警;资源分配模块用于在配置中声明各类型物理资源的数量。例如,若没有使用GPU,则分配到CPU节点,否则分配到GPU节点;文件挂载模块用于声明容器中文件和物理磁盘中文件路径的映射关系,以解决路径创建、文件拷贝、解压等常规文件处理问题;配置生成模块用于将资源检查、资源分配和文件挂载三个模块产生的配置进行整合,生成最终的容器部署配置文件,并调用K8s服务根据容器部署配置文件进行容器部署。可以理解的是,每个用户的容器资源可独立进行分配,资源占用之间互不干扰。
状态监控部分用于对部署好的容器进行运行状态的监控。该部分又可以包含容器监控、状态回调、异常告警、日志收集四个功能模块,与资源释放部分包含的状态检查、状态分析、资源回收三个功能模块连接。其中,容器监控是指创建每一个容器后,会产生对应容器的状态监控定时任务,每间隔一定时间会对运行的容器进行状态检查,并返回当前容器的运行状态;状态回调是指返回运行状态时,会根据创建容器的来源业务进行业务数据的更新,以保证在交互界面能够获取到最新的业务状态;异常告警是指当容器运行出现异常时,需要产生异常情况的描述信息,通过回调模块将容器运行的异常状态向来源业务进行反馈,并记录异常日志,用于资源释放部分中的状态分析;日志收集是指读取容器运行日志,通过EFK(Elasticsearch、Filebeat or Fluentd、Kibana,日志管理系统)日志收集服务对日志进行保存,并反馈给业务服务。
容器部署完成后,可以基于SPI(Service Provider Interface,服务供给接口)服务发现机制,通过外部资源加载接口自动注册多种类型的外部资源,并根据外部资源的具体类型进行调用。其中,外部资源包括代码仓库、数据仓库、镜像仓库等类型的本地资源以及用户自定义类型的外部服务,其他示例中,还可以包括其他类型的外部资源,本公开对此不做限定。根据实际需求,目标外部资源可以为其中的一种或多种类型,进而根据目标外部资源的类型将目标外部资源接入当前容器中。
示例性的,参考图5所示,示意性的给出了接入外部资源的流程图。
包括:
①外部资源的访问形式可以通过插件形式实现,如图5中所示的Gitlab插件、Harbor插件、模型转换插件,通过插件实现“外部资源SPI”;
②在智能模型平台启动时,可以通过插件加载器自动完成插件的加载,在系统里能够直接使用已经加载的插件;
③通过插件加载器从业务模块获取外部资源插件;
④从业务模块访问外部资源/服务。
另外,插件机制可以扩充外部资源的访问类型。示例性的,通过实现外部资源SPI接口,然后将外部资源经过打包上传,就能够使智能模型开发平台支持访问外部资源。针对外部资源的访问,可以包括加载资源(loadResource)、更新资源(updateResource)和执行服务(run)三种访问方式。其中,加载资源即获取某种类型的外部资源,加载外部资源时,需要提供相应的资源路径;更新资源即对已存在的某种外部资源进行变更,更新资源时,需要提供待更新的资源路径;执行服务即将外部资源作为一种服务进行使用,执行服务时,需要提供所需的服务参数。
一种示例实施方式中,目标外部资源的类型可以包括本地资源插件,如Gitlab插件、Harbor插件、Nextcloud插件等。可以理解的是,利用训练数据集进行算法训练之前,可以接入本地资源,如向Gitlab仓库拉取代码,而不需要用户手动上传代码。示例性的,对于本地资源插件,可以根据对应的资源路径即可完成资源的获取和加载。具体地,可以获取本地资源插件的资源路径,根据资源路径将本地资源插件接入当前容器中。
另一种示例实施方式中,目标外部资源的类型可以包括外部服务插件,如模型转换插件、模型压缩插件等。可以理解的是,利用训练数据集进行算法训练生成基础模型后,可以接入外部服务,如对基础模型进行压缩和转换,以优化模型,供资源受限的设备使用(例如,移动或嵌入式设备)或在资源受限的环境中使用。
示例性的,对于外部服务插件,可以获取外部服务插件中的请求信息,请求信息可以包括目标外部服务的服务参数,服务参数包括请求的接口地址、类型、参数和返回的数据结构等。然后,根据服务参数将与请求信息对应的目标外部服务接入当前容器中。可以理解的是,可以通过可视化的界面完成服务参数的定义,使得自定义外部服务接入成为可能。例如,可以将模型转换、模型压缩等通过API(Application Programming Interface,应用程序编程接口)提供的外部服务接入当前容器中。
本公开实现了本地生态的接入,将原本不属于系统中的服务或者工具可以进行集成使用,便于模型开发。
另外,本公开在智能模型开发中用到的各种工具如jupyter notebook编辑器都是采用的插件化开发,与本地资源接入采用了相同的方式,因此当后续技术发生迭代更新时,无需对系统进行二次开发,只需要开发相应功能的插件进行集成即可,降低了由技术迭代产生的开发成本。
在步骤S230中,根据所述训练数据集和所述目标外部资源生成智能模型,并将所述智能模型部署在所述当前容器中。
当接入的目标外部资源为代码仓库、数据仓库、镜像仓库等本地资源时,可以根据训练数据集和从本地资源拉取的代码等进行算法训练,生成智能模型,并将智能模型部署在当前容器中,然后提供两种接口,分别是gRPC接口和HTTP接口。若接入的目标资源为模型压缩、模型转换等外部服务,可以利用训练数据集进行算法训练,生成基础模型,再利用接入的外部服务对基础模型进行优化,得到智能模型,并将智能模型部署在当前容器中。将智能模型部署在容器中不受服务器限制,部署方便。而且,可以在同时在容器中部署多个智能模型,方便模型的管理和版本控制。
智能模型部署完成后,还可以将智能模型打包为软件开发工具包并进行发布。例如,可以将智能模型发布到模型仓库,模型仓库将保存不同版本的迭代模型,以进行模型的版本管理,通过模型仓库可以快速保存模型并应用上线,提升了模型的开发效率。
在本公开示例实施方式所提供的智能模型开发方法中,通过获取训练数据集;在当前容器中通过外部资源加载接口接入目标外部资源;根据所述训练数据集和所述目标外部资源生成智能模型,并将所述智能模型部署在所述当前容器中。本公开结合容器环境和本地环境进行智能模型的开发时,能够接入本地资源并直接从本地资源获取所需数据,无需用户手动上传,减少了冗余操作,提高了模型开发效率。而且,除本地资源外还能够接入用户自定义的外部服务,使得基于统一的模型开发流程实现后端服务的动态切换,进一步提高了模型开发效率。
进一步的,本示例实施方式提供了一种智能模型调度方法。参考图6所示,该智能模型调度方法可以包括以下步骤S610和步骤S620:
步骤S610.通过服务加载接口接收模型调度请求,并根据所述模型调度请求调用部署在容器中的目标智能模型;
步骤S620.获取所述目标智能模型的入参数据,并利用所述目标智能模型对所述入参数据进行处理,得到推理结果。
下面,对于本示例实施方式的上述步骤进行更加详细的说明。
在步骤S610中,通过服务加载接口接收模型调度请求,并根据所述模型调度请求调用部署在容器中的目标智能模型。
将智能模型部署在容器中后,可以通过在线服务对智能模型进行管理,如启动、停止、监控、在线调试、服务监控、日志查看、服务降级、扩缩容等操作。示例性的,启动在线服务时,可以通过调取接口进行参数传递,对智能模型进行操作,获得模型运行结果。本公开示例实施方式中,服务加载接口可以是gRPC接口和/或HTTP接口。例如,将部署好的智能模型进行封装,并提供gRPC服务和/或HTTP服务,也就是对外提供gRPC接口和/或HTTP接口,通过服务加载接口接收模型调度请求,以根据模型调度请求调用目标智能模型。
具体地,可以根据模型调度请求配置服务参数,根据服务参数创建推理服务。其中,服务参数可以包括智能模型名称、对应模型推理服务的模型文件、模型推理服务所需的物理资源(CPU、GPU和内存)、智能模型的版本等。创建推理服务后,将推理任务挂载在部署目标智能模型的容器中,以通过推理服务启动目标智能模型。
在步骤S620中,获取所述目标智能模型的入参数据,并利用所述目标智能模型对所述入参数据进行处理,得到推理结果。
获取目标智能模型的入参数据后,可以对入参数据进行格式化等预处理,以返回适配目标智能模型前向推导的输入数据。利用目标智能模型对输入数据进行处理,得到模型输出结果。然后,可以对模型输出结果进行后处理,如将模型输出结果进行格式转换等,得到最终的推理结果。
在本公开示例实施方式所提供的智能模型调度方法中,通过服务加载接口接收模型调度请求,并根据所述模型调度请求调用部署在容器中的目标智能模型;获取所述目标智能模型的入参数据,并利用所述目标智能模型对所述入参数据进行处理,得到推理结果。本公开通过灵活地调度不同的智能模型,进而实现智能模型的线上快速推理。
应当注意,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
进一步的,本示例实施方式中,还提供了一种智能模型开发装置。参考图7所示,该智能模型开发装置700可以包括训练数据获取模块710、外部资源接入模块720以及智能模型生成模块730,其中:
训练数据获取模块710,用于获取训练数据集;
外部资源接入模块720,用于在当前容器中通过外部资源加载接口接入目标外部资源;
智能模型生成模块730,用于根据所述训练数据集和所述目标外部资源生成智能模型,并将所述智能模型部署在所述当前容器中。
在一种可选的实施方式中,训练数据获取模块710包括:
基础数据获取模块,用于获取基础数据集;
索引建立模块,用于建立所述基础数据集的索引,并根据所述索引对所述基础数据集进行分类,得到多个版本的子数据集;
数据标注模块,用于对各版本的所述子数据集进行标注,得到所述训练数据集。
在一种可选的实施方式中,智能模型开发装置700还包括:
文件创建模块,用于创建容器部署配置文件;
容器部署模块,用于调用容器管理服务接口,以使所述容器管理服务接口根据所述容器部署配置文件部署所述当前容器。
在一种可选的实施方式中,外部资源接入模块720包括:
外部资源注册子模块,用于通过所述外部资源加载接口注册多种类型的外部资源;
外部资源接入子模块,用于根据所述目标外部资源的类型将所述目标外部资源接入所述当前容器中。
在一种可选的实施方式中,所述目标外部资源的类型包括本地资源插件;外部资源接入子模块包括:
路径获取单元,用于获取所述本地资源插件的资源路径;
资源接入单元,用于根据所述资源路径将所述本地资源插件接入所述当前容器中。
在一种可选的实施方式中,所述目标外部资源的类型包括外部服务插件;外部资源接入子模块包括:
请求获取单元,用于获取所述外部服务插件中的请求信息,所述请求信息包括目标外部服务的服务参数;
服务接入单元,用于将与所述请求信息对应的所述目标外部服务接入所述当前容器中。
在一种可选的实施方式中,智能模型开发装置700还包括:
智能模型发布模块,用于将所述智能模型打包为软件开发工具包并进行发布。
上述智能模型开发装置中各模块的具体细节已经在对应的智能模型开发方法中进行了详细的描述,因此此处不再赘述。
本示例实施方式中,还提供了一种智能模型调度装置。参考图8所示,该智能模型调度装置800可以包括智能模型调度模块810和智能模型推理模块820,其中:
智能模型调度模块810,用于通过服务加载接口接收模型调度请求,并根据所述模型调度请求调用部署在容器中的目标智能模型;
智能模型推理模块820,用于获取所述目标智能模型的入参数据,并利用所述目标智能模型对所述入参数据进行处理,得到推理结果。
在一种可选的实施方式中,智能模型调度模块810被配置为用于根据所述模型调度请求配置服务参数;根据所述服务参数创建推理服务,并将所述推理任务挂载在所述容器中,以通过所述推理服务启动所述目标智能模型。
上述智能模型调度装置中各模块的具体细节已经在对应的智能模型调度方法中进行了详细的描述,因此此处不再赘述。
上述装置中各模块可以是通用处理器,包括:中央处理器、网络处理器等;还可以是数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。各模块也可以由软件、固件等形式来实现。上述装置中的各处理器可以是独立的处理器,也可以集成在一起。
本公开的示例性实施方式还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在电子设备上运行时,程序代码用于使电子设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。该程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在电子设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
本公开的示例性实施方式还提供了一种能够实现上述方法的电子设备。下面参照图9来描述根据本公开的这种示例性实施方式的电子设备900。图9显示的电子设备900仅仅是一个示例,不应对本公开实施方式的功能和使用范围带来任何限制。
如图9所示,电子设备900可以以通用计算设备的形式表现。电子设备900的组件可以包括但不限于:至少一个处理单元910、至少一个存储单元920、连接不同系统组件(包括存储单元920和处理单元910)的总线930和显示单元940。
存储单元920存储有程序代码,程序代码可以被处理单元910执行,使得处理单元910执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。例如,处理单元910可以执行图2中的方法步骤。
存储单元920可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)921和/或高速缓存存储单元922,还可以进一步包括只读存储单元(ROM)923。
存储单元920还可以包括具有一组(至少一个)程序模块925的程序/实用工具924,这样的程序模块925包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线930可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备900也可以与一个或多个外部设备1000(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备900交互的设备通信,和/或与使得该电子设备900能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(J/O)接口950进行。并且,电子设备900还可以通过网络适配器960与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图9所示,网络适配器960通过总线930与电子设备900的其它模块通信。应当明白,尽管图9中未示出,可以结合电子设备900使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAJD系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开示例性实施方式的方法。
此外,上述附图仅是根据本公开示例性实施方式的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (14)
1.一种智能模型开发方法,其特征在于,包括:
获取训练数据集;
在当前容器中通过外部资源加载接口接入目标外部资源;
根据所述训练数据集和所述目标外部资源生成智能模型,并将所述智能模型部署在所述当前容器中。
2.根据权利要求1所述的智能模型开发方法,其特征在于,所述获取训练数据集,包括:
获取基础数据集;
建立所述基础数据集的索引,并根据所述索引对所述基础数据集进行分类,得到多个版本的子数据集;
对各版本的所述子数据集进行标注,得到所述训练数据集。
3.根据权利要求1所述的智能模型开发方法,其特征在于,在当前容器中通过外部资源加载接口接入目标外部资源之前,所述方法还包括:
创建容器部署配置文件;
调用容器管理服务接口,以使所述容器管理服务接口根据所述容器部署配置文件部署所述当前容器。
4.根据权利要求1所述的智能模型开发方法,其特征在于,所述在当前容器中通过外部资源加载接口接入目标外部资源,包括:
通过所述外部资源加载接口注册多种类型的外部资源;
根据所述目标外部资源的类型将所述目标外部资源接入所述当前容器中。
5.根据权利要求4所述的智能模型开发方法,其特征在于,所述目标外部资源的类型包括本地资源插件;所述根据所述目标外部资源的类型将所述目标外部资源接入所述当前容器中,包括:
获取所述本地资源插件的资源路径;
根据所述资源路径将所述本地资源插件接入所述当前容器中。
6.根据权利要求4所述的智能模型开发方法,其特征在于,所述目标外部资源的类型包括外部服务插件;所述根据所述目标外部资源的类型将所述目标外部资源接入所述当前容器中,包括:
获取所述外部服务插件中的请求信息,所述请求信息包括目标外部服务的服务参数;
将与所述请求信息对应的所述目标外部服务接入所述当前容器中。
7.根据权利要求1所述的智能模型开发方法,其特征在于,将所述智能模型部署在所述当前容器中之后,所述方法还包括:
将所述智能模型打包为软件开发工具包并进行发布。
8.一种智能模型调度方法,其特征在于,包括:
通过服务加载接口接收模型调度请求,并根据所述模型调度请求调用部署在容器中的目标智能模型;
获取所述目标智能模型的入参数据,并利用所述目标智能模型对所述入参数据进行处理,得到推理结果。
9.根据权利要求8所述的智能模型调度方法,其特征在于,所述根据所述模型调度请求调用部署在容器中的目标智能模型,包括:
根据所述模型调度请求配置服务参数;
根据所述服务参数创建推理服务,并将所述推理任务挂载在所述容器中,以通过所述推理服务启动所述目标智能模型。
10.一种智能模型开发装置,其特征在于,包括:
训练数据获取模块,用于获取训练数据集;
外部资源接入模块,用于在当前容器中通过外部资源加载接口接入目标外部资源;
智能模型生成模块,用于根据所述训练数据集和所述目标外部资源生成智能模型,并将所述智能模型部署在所述当前容器中。
11.一种智能模型调度装置,其特征在于,包括:
智能模型调度模块,用于通过服务加载接口接收模型调度请求,并根据所述模型调度请求调用部署在容器中的目标智能模型;
智能模型推理模块,用于获取所述目标智能模型的入参数据,并利用所述目标智能模型对所述入参数据进行处理,得到推理结果。
12.一种智能模型开发平台,其特征在于,包括:业务应用层、调度管理层、外部资源接入层和基础环境层;
所述业务应用层包括数据管理模块、数据标注模块、算法开发模块、模型训练模块、模型部署模块和模型发布模块;
所述调度管理层包括容器部署模块、状态监控模块、资源管理模块和服务调度层;
所述外部资源接入层用于通过外部资源加载接口接入目标外部资源;
所述基础环境层用于为所述业务应用层和所述调度管理层提供基础环境的支撑。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理单元执行时实现权利要求1-9任一项所述的方法。
14.一种电子设备,其特征在于,包括:
处理单元;以及
存储单元,用于存储所述处理单元的可执行指令;
其中,所述处理单元配置为经由执行所述可执行指令来执行权利要求1-9任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310215098.1A CN116227625A (zh) | 2023-02-28 | 2023-02-28 | 智能模型开发方法、介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310215098.1A CN116227625A (zh) | 2023-02-28 | 2023-02-28 | 智能模型开发方法、介质及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116227625A true CN116227625A (zh) | 2023-06-06 |
Family
ID=86574793
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310215098.1A Pending CN116227625A (zh) | 2023-02-28 | 2023-02-28 | 智能模型开发方法、介质及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116227625A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117726002A (zh) * | 2023-12-12 | 2024-03-19 | 暗物质(北京)智能科技有限公司 | 一种模型生产方法、装置、电子设备及存储介质 |
-
2023
- 2023-02-28 CN CN202310215098.1A patent/CN116227625A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117726002A (zh) * | 2023-12-12 | 2024-03-19 | 暗物质(北京)智能科技有限公司 | 一种模型生产方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108196915B (zh) | 基于应用容器引擎的代码处理方法、设备及存储介质 | |
CN102520922B (zh) | 一种协作环境下的远程开发方法及其系统 | |
US11667033B2 (en) | Systems and methods for robotic process automation | |
US20180024848A1 (en) | Translatable Texts Identification in In-Context Localization Utilizing Pseudo-Language and an External Server | |
CN109062572B (zh) | 一种组件调用方法、装置、设备及存储介质 | |
CN109542459A (zh) | 应用程序打包方法及装置、计算机装置及计算机存储介质 | |
CN112698921A (zh) | 一种逻辑代码运行方法、装置、计算机设备和存储介质 | |
CN109284126B (zh) | 类库自动更新方法、装置、电子设备、存储介质 | |
CN113641413A (zh) | 目标模型加载更新方法及装置、可读介质和电子设备 | |
CN113778445A (zh) | 一种跨平台组件生成方法、装置、电子设备及存储介质 | |
CN113127136B (zh) | Docker镜像生成方法及装置、存储介质、电子设备 | |
CN110688145B (zh) | Android MVP代码自动生成方法、装置、介质、电子设备 | |
CN116227625A (zh) | 智能模型开发方法、介质及设备 | |
CN114048415A (zh) | 表单生成方法及装置、电子设备和计算机可读存储介质 | |
CN110868324A (zh) | 一种业务配置方法、装置、设备和存储介质 | |
CN113377342B (zh) | 一种项目构建方法、装置、电子设备及存储介质 | |
CN113434315A (zh) | 接口管理方法及装置、存储介质、电子设备 | |
CN115567526B (zh) | 数据监控方法、装置、设备及介质 | |
CN114579206B (zh) | 动态加载应用程序的方法、装置、设备及介质 | |
CN116360741A (zh) | 小程序开发方法、系统、设备及存储介质 | |
CN115934093A (zh) | 小程序跨端应用方法、相关装置及计算机存储介质 | |
CN115291928A (zh) | 多种技术栈的任务自动集成方法、装置及电子设备 | |
CN112394920A (zh) | 一种应用软件开发方法、平台和电子设备 | |
CN114553688B (zh) | 云计算部署方法、装置、设备及计算机可读存储介质 | |
EP4345609A1 (en) | System and method for decomposing monolith applications into software services |
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 |