CN114546425A - 模型部署方法、装置、电子设备及存储介质 - Google Patents
模型部署方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114546425A CN114546425A CN202210089696.4A CN202210089696A CN114546425A CN 114546425 A CN114546425 A CN 114546425A CN 202210089696 A CN202210089696 A CN 202210089696A CN 114546425 A CN114546425 A CN 114546425A
- Authority
- CN
- China
- Prior art keywords
- model
- deployed
- service
- file
- source 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/63—Image based installation; Cloning; Build to order
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/116—Details of conversion of file system types or formats
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- 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)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例提供了一种模型部署方法、装置、电子设备及存储介质,所述方法包括:确定待部署模型,获取所述待部署模型对应的源代码文件,以及确定所述待部署模型所需的资源及运行环境;根据所述源代码文件、所述资源以及所述运行环境,生成待部署模型对应的模型数据,所述模型数据包括模型文件、输入格式、预测代码;将所述模型文件进行格式转换,并基于格式转换后的所述模型文件、所述输入格式、所述预测代码构建模型镜像;基于Kubernetes将所述模型镜像部署为服务。如此自动化进行模型部署,使得模型上线比较简单,可以满足工程要求,保证业务落地和业务进度。
Description
技术领域
本发明实施例涉及数据处理技术领域,尤其涉及一种模型部署方法、装置、电子设备及存储介质。
背景技术
模型部署是模型上线不可或缺的一部分,且是一件比较费时费力的工资。在企业的智能化应用中,经常会遇到如下问题:用了复杂的机器学习模型或者改进机器学习模型可以大大提升模型效果,但是在模型上线时却无法满足工程要求。这里主要是因为算法工程师和业务开发工程师掌握的技术集和工具是不同的,算法工程师一般使用python,R等计算机编程语言,而业务开发工程师则一般使用java等计算机编程语言。算法工程师负责模型的训练和导出,而业务开发工程师负责导入模型和基于模型进行预测。因此当算法工程师和业务开发工程师掌握的技术集和工具不同时,导致算法工程师训练的模型,业务开发工程师无法使用,影响业务落地和业务进度。
发明内容
为了解决上述当算法工程师和业务开发工程师掌握的技术集和工具不同时,导致算法工程师训练的模型,业务开发工程师无法使用,影响业务落地和业务进度。的技术问题,本发明实施例提供了一种模型部署方法、装置、电子设备及存储介质。
在本发明实施例的第一方面,首先提供了一种模型部署方法,所述方法包括:
确定待部署模型,获取所述待部署模型对应的源代码文件,以及确定所述待部署模型所需的资源及运行环境;
根据所述源代码文件、所述资源以及所述运行环境,生成待部署模型对应的模型数据,所述模型数据包括模型文件、输入格式、预测代码;
将所述模型文件进行格式转换,并基于格式转换后的所述模型文件、所述输入格式、所述预测代码构建模型镜像;
基于Kubernetes将所述模型镜像部署为服务。
在一个可选的实施方式中,所述确定待部署模型,包括:
在监测到用户针对notebook创建按钮的预设操作触发的情况下,创建notebook,以及确定相应的资源;
在监测到用户针对所述notebook的预设操作触发的情况下,记录所述用户在所述notebook中输入的AI模型对应的源代码文件;
确定所述AI模型为待部署模型。
在一个可选的实施方式中,所述获取所述待部署模型对应的源代码文件,包括:
获取所述待部署模型对应的第一格式的源代码文件,或者,获取所述待部署模型对应的第二格式的源代码文件。
在一个可选的实施方式中,所述根据所述源代码文件、所述资源以及所述运行环境,生成待部署模型对应的模型数据,包括:
在监测到用户针对部署按钮的预设操作触发的情况下,调用所述资源解析所述源代码文件以及所述运行环境,生成待部署模型对应的模型数据。
在一个可选的实施方式中,所述基于Kubernetes将所述模型镜像部署为服务之后,所述方法还包括:
获取测试数据,并将所述测试数据输入至所述服务,获取所述服务的预测结果;
将所述预测结果与所述测试数据对应的预期结果进行比较,若所述预测结果与所述预期结果一致,则确定所述服务正常。
在一个可选的实施方式中,所述基于Kubernetes将所述模型镜像部署为服务之后,所述方法还包括:
获取所述服务的性能指标,其中,所述性能指标至少包括下述之一:调用量、调用耗时、失败率、资源占用状况;
将所述性能指标与标准性能指标进行比较,根据比较结果确定所述服务是否异常。
在一个可选的实施方式中,所述基于Kubernetes将所述模型镜像部署为服务之后,所述方法还包括:
获取所述服务输出的预测结果,对所述服务输出的预测结果进行分析,并将所述服务输出的预测结果与所述服务输出的历史预测结果进行对比分析;
若分析出所述服务的准确率未达到预期准确率,则确定所述准确率对应的偏差等级;
查找与所述偏差等级对应的用户提醒方式,利用所述用户提醒方式提醒进行模型迭代,并跳转至所述获取所述待部署模型对应的源代码文件的步骤。
在本发明实施例的第二方面,提供了一种模型部署装置,所述装置包括:
模型确定模块,用于确定待部署模型;
文件获取模块,用于获取所述待部署模型对应的源代码文件;
资源、环境确定模块,用于确定所述待部署模型所需的资源及运行环境;
数据生成模块,用于根据所述源代码文件、所述资源以及所述运行环境,生成待部署模型对应的模型数据,所述模型数据包括模型文件、输入格式、预测代码;
镜像构建模块,用于将所述模型文件进行格式转换,并基于格式转换后的所述模型文件、所述输入格式、所述预测代码构建模型镜像;
镜像部署模块,用于基于Kubernetes将所述模型镜像部署为服务。
在本发明实施例的第三方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述第一方面中所述的模型部署方法。
在本发明实施例的第四方面,还提供了一种存储介质,所述存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面中所述的模型部署方法。
在本发明实施例的第五方面,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面中所述的模型部署方法。
本发明实施例提供的技术方案,确定待部署模型,获取待部署模型对应的源代码文件,以及确定待部署模型所需的资源及运行环境,根据源代码文件、资源以及运行环境,生成待部署模型对应的模型数据,模型数据包括模型文件、输入格式、预测代码,将模型文件进行格式转换,并基于格式转换后的模型文件、输入格式、预测代码构建模型镜像,基于Kubernetes将模型镜像部署为服务。通过获取待部署模型对应的源代码文件,以及确定待部署模型所需的资源及运行环境,根据源代码文件、资源以及运行环境,生成待部署模型对应的模型文件、输入格式、预测代码,将模型文件进行格式转换,并基于格式转换后的模型文件、输入格式、预测代码构建模型镜像,基于Kubernetes将模型镜像部署为服务,如此自动化进行模型部署,使得模型上线比较简单,可以满足工程要求,保证业务落地和业务进度。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中示出的一种微服务框架示意图;
图2为本发明实施例中示出的一种模型部署的实施流程图;
图3为本发明实施例中示出的一种模型部署方法的实施流程示意图;
图4为本发明实施例中示出的一种模型部署装置的结构示意图;
图5为本发明实施例中示出的一种电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本发明实施例中,通过构建代理,AI平台,notebook建模的微服务框架,实现了不同模块解耦,容器化,资源动态扩容,多租户隔离的在线notebook建模等功能。具有CPU和内存等资源动态伸缩和高效利用,可以将用户制作的pip安装包构建出镜像,提供给其他用户使用等优势。
其中,如图1所示,微服务框架主要有三个组成部分:代理,AI平台,notebook建模。三个模块间功能界限清晰,完全可以做到微服务化拆分,符合能够独立运行的标准,其中,AI平台和notebook模块是需要进行无状态化处理。
代理是基于k8s配置的访问代理模块,负责代理转发用户的访问请求,AI平台主要包括域账号认证模块,项目管理模块,数据管理模块,模型管理模块,模型监控模块等。域账号认证模块主要提供web安全访问认证的接口,k8s主要负责生成和启动各个隔离的Notebook容器,结合Kubernetes资源调度分配算法,实现了在计算集群上多用户资源需求的负载均衡,能够充分优化利用计算机中心的集群资源,具备了横向动态扩容的能力,为用户提供更为便捷,高效的计算资源访问方式。
基于如上述的微服务框架,在本发明实施例中,考虑了部署环境、部署类型、模型存储、性能要求、模型管理。针对部署环境,本发明部署的模型最终是以容器的形式提供服务,因此对软件的依赖不高。针对部署类型,本发明支持在线预测和批量离线预测。针对模型存储,本发明将其转换为统一格式,同时增加相关业务信息,以及监控的相关信息。针对性能要求,如果模型监控指标没有达到性能要求,本发明会及时反馈用户,进行快速迭代。针对模型管理,本发明基于镜像,通过将模型打包成镜像,进行版本控制,在不影响调用端的情况下,能自由的切换版本,以及AB测试。
基于上述的考虑,如图2所示,为本发明实施例提供的一种模型部署的实施流程图,主要包括六个部分:第一部分是用户提供py或ipynb文件,以及所需的资源(内存和cpu等)。第二部分是自动解析生成模型数据,主要包括模型文件、输入格式以及预测代码。第三部分是模型存储格式统一转换。第四部分是增加相关业务信息和模型监控信息。第五部分是基于k8s与docker部署服务。第六部分是模型预测。
具体地,如图3所示,为本发明实施例提供的一种模型部署方法的实施流程示意图,该方法应用于处理器,具体可以包括以下步骤:
S301,确定待部署模型,获取所述待部署模型对应的源代码文件,以及确定所述待部署模型所需的资源及运行环境。
在本发明实施例中,用户可以在notebook建模中创建notebook,选择运行环境,CPU,内存等资源,成功创建notebook后,用户可以点击访问notebook,然后用户可以在其中编写代码,调试,编写相关文件。如此用户可以提供相关模型的源代码文件、运行环境以及所需的资源等。
基于此,在本发明实施例中,在监测到用户针对notebook创建按钮的预设操作触发的情况下,创建notebook,以及确定相应的资源以及运行环境,在监测到用户针对notebook的预设操作触发的情况下,记录用户在notebook中输入的AI模型对应的源代码文件,确定该AI模型为待部署模型。
从而本发明实施例可以获取该待部署模型对应的源代码文件,以及确定待部署模型所需的资源及运行环境。这里该待部署模型对应的源代码文件,即前述用户选择的AI模型的py或者ipynb文件,待部署模型所需的资源及运行环境,即前述用户选择的AI模型的运行环境以及所需的资源(cpu,内存)等信息。
需要说明的是,对于待部署模型对应的源代码文件,具体可以存在两种形式,由此本发明实施例可以获取待部署模型对应的第一格式的源代码文件,或者,获取待部署模型对应的第二格式的源代码文件。这里第一格式的源代码文件即前述py文件,而第二格式的源代码文件即前述ipynb文件,本发明实施例对此不作限定。
S302,根据所述源代码文件、所述资源以及所述运行环境,生成待部署模型对应的模型数据,所述模型数据包括模型文件、输入格式、预测代码。
在本发明实施例中,用户选择待部署模型对应的源代码文件(即py或者ipynb文件)、运行环境以及所需的资源(CPU,内存等),由此可以提供待部署模型对应的py或者ipynb文件、运行环境以及所需的资源。
根据用户提供的待部署模型对应的py或者ipynb文件、运行环境以及所需的资源,可以自动生成待部署模型对应的模型数据,所述模型数据包括模型文件、输入格式、预测代码。
需要说明的是,对于输入格式(conda.yaml):保存待部署模型运行的python环境,对于预测代码(MLmodel):包括但不限于预处理、预测、加载等相关代码,本发明实施例对此不作限定。
其中,在本发明实施例中,在监测到用户针对部署按钮的预设操作触发的情况下,自动调用资源解析待部署模型对应的源代码文件以及运行环境,生成待部署模型对应的模型文件、输入格式、预测代码。
S303,将所述模型文件进行格式转换,并基于格式转换后的所述模型文件、所述输入格式、所述预测代码构建模型镜像。
在本发明实施例中,对于模型文件,统一转换成一个格式,因此对模型文件进行格式转换。例如模型文件(python_model.pkl):统一格式后的模型文件。
需要说明的是,对于建模采用的机器学习框架(scikit-learn、Keras、Pytorch、xgboost等),模型文件格式的转换不受机器学习框架的影响,均可以统一转换成一个格式,本发明实施例对此不作限定。
基于此,在本发明实施例中,基于格式转换后的所述模型文件、所述输入格式、所述预测代码,利用docker将待部署模型构建成模型镜像,并由此保存到私有仓库。
S304,基于Kubernetes将所述模型镜像部署为服务。
在本发明实施例中,可以将待部署模型启动,即基于Kubernetes将模型镜像部署为服务,由此可以进行正常的模型预测,即正常的模型服务,完成正常的模型预测功能。
这里Kubernetes(k8s)是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效,Kubernetes提供了应用部署,规划,更新,维护的一种机制。
由此用户通过选择py或者ipynb文件和运行环境以及所需的资源(cpu,内存)等信息,点击部署按钮自动解析所有全局函数、数据格式、输出格式,自动生成模型数据,包括模型文件、输入格式以及预测代码,最后基于docker将模型构建成镜像,基于k8s将模型镜像部署为服务。
通过上述对本发明实施例提供的技术方案的描述,通过获取待部署模型对应的源代码文件,以及确定待部署模型所需的资源及运行环境,根据源代码文件、资源以及运行环境,生成待部署模型对应的模型文件、输入格式、预测代码,将模型文件进行格式转换,并基于格式转换后的模型文件、输入格式、预测代码构建模型镜像,基于Kubernetes将模型镜像部署为服务,如此自动化进行模型部署,使得模型上线比较简单,可以满足工程要求,保证业务落地和业务进度。
此外,在本发明实施例中,当模型第一次启动时,可以试跑一下进行测试:模型是否能够正常输出,输出的是否是正常结果(即输入测试数据看结果是否与预期一致)。基于此,在本发明实施例中,基于Kubernetes将模型镜像部署为服务之后,可以获取测试数据,调用该服务,将测试数据输入至服务,获取服务的预测结果,将预测结果与测试数据对应的预期结果进行比较,若预测结果与预期结果一致,则确定服务正常,否则就认为服务异常,此时就可以停止服务,需要对模型进行迭代。
另外,在本发明实施例中,模型上线后需要对模型进行监控,以便于在模型异常时进行告警,可以设置阈值监控模型的调用量、调用耗时、失败率、资源占用状况(I/O、CPU等等)。基于此,在本发明实施例中,基于Kubernetes将模型镜像部署为服务之后,获取服务的性能指标,其中,性能指标至少包括下述之一:调用量、调用耗时、失败率、资源占用状况,将性能指标与标准性能指标进行比较,根据比较结果确定服务是否异常,在服务异常的情况下进行告警,以便于及时更新模型或者调整模型。其中,例如失败率超过预设失败率阈值,则认为服务异常。
其中,对于AI模型部署完成后,需要不断地进行迭代,由于数据/市场/客群等会随着时间发生偏移,这会导致AI模型预测的偏差,同时AI技术日新月异,半年可能就要完整更迭一次,因此需要进行不断的训练、调试和迭代。本发明借助良好的版本交互能力,能够让用户无感知的进行版本迭代,同时进行灰度对比。基于此,在本发明实施例中,基于Kubernetes将模型镜像部署为服务之后,获取服务输出的预测结果,对服务输出的预测结果进行分析,并将服务输出的预测结果与服务输出的历史预测结果进行对比分析;若分析出服务的准确率未达到预期准确率,则确定准确率对应的偏差等级;查找与偏差等级对应的用户提醒方式,利用用户提醒方式提醒进行模型迭代,并跳转至获取待部署模型对应的源代码文件的步骤。
例如,获取服务输出的预测结果,对服务输出的预测结果进行分析,并将服务输出的预测结果与服务输出的历史预测结果进行对比分析,若分析出服务的准确率未达到预期准确率,则计算准确率与预期准确率之间的差值,由该差值确定准确率对应的偏差等级,如下表1所示,其中,不同偏差等级对应着不同的用户提醒方式。由此可以利用用户提醒方式提醒用户进行模型迭代,进而可以跳转到S301进行模型迭代。
差值 | 偏差等级 | 用户提醒方式 |
0~5% | 1 | 邮箱 |
6%~10% | 2 | 短信 |
11~15% | 3 | 电话 |
…… | …… | …… |
表1
与上述方法实施例相对应,本发明实施例还提供了一种模型部署装置,如图4所示,该装置可以包括:模型确定模块410、文件获取模块420、资源、环境确定模块430、数据生成模块440、镜像构建模块450、镜像部署模块460。
模型确定模块410,用于确定待部署模型;
文件获取模块420,用于获取所述待部署模型对应的源代码文件;
资源、环境确定模块430,用于确定所述待部署模型所需的资源及运行环境;
数据生成模块440,用于根据所述源代码文件、所述资源以及所述运行环境,生成待部署模型对应的模型数据,所述模型数据包括模型文件、输入格式、预测代码;
镜像构建模块450,用于将所述模型文件进行格式转换,并基于格式转换后的所述模型文件、所述输入格式、所述预测代码构建模型镜像;
镜像部署模块460,用于基于Kubernetes将所述模型镜像部署为服务。
本发明实施例还提供了一种电子设备,如图5所示,包括处理器51、通信接口52、存储器53和通信总线54,其中,处理器51,通信接口52,存储器53通过通信总线54完成相互间的通信,
存储器53,用于存放计算机程序;
处理器51,用于执行存储器53上所存放的程序时,实现如下步骤:
确定待部署模型,获取所述待部署模型对应的源代码文件,以及确定所述待部署模型所需的资源及运行环境;根据所述源代码文件、所述资源以及所述运行环境,生成待部署模型对应的模型数据,所述模型数据包括模型文件、输入格式、预测代码;将所述模型文件进行格式转换,并基于格式转换后的所述模型文件、所述输入格式、所述预测代码构建模型镜像;基于Kubernetes将所述模型镜像部署为服务。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种存储介质,该存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的模型部署方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的模型部署方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在存储介质中,或者从一个存储介质向另一个存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种模型部署方法,其特征在于,所述方法包括:
确定待部署模型,获取所述待部署模型对应的源代码文件,以及确定所述待部署模型所需的资源及运行环境;
根据所述源代码文件、所述资源以及所述运行环境,生成待部署模型对应的模型数据,所述模型数据包括模型文件、输入格式、预测代码;
将所述模型文件进行格式转换,并基于格式转换后的所述模型文件、所述输入格式、所述预测代码构建模型镜像;
基于Kubernetes将所述模型镜像部署为服务。
2.根据权利要求1所述的方法,其特征在于,所述确定待部署模型,包括:
在监测到用户针对notebook创建按钮的预设操作触发的情况下,创建notebook,以及确定相应的资源;
在监测到用户针对所述notebook的预设操作触发的情况下,记录所述用户在所述notebook中输入的AI模型对应的源代码文件;
确定所述AI模型为待部署模型。
3.根据权利要求1所述的方法,其特征在于,所述获取所述待部署模型对应的源代码文件,包括:
获取所述待部署模型对应的第一格式的源代码文件,或者,获取所述待部署模型对应的第二格式的源代码文件。
4.根据权利要求1所述的方法,其特征在于,所述根据所述源代码文件、所述资源以及所述运行环境,生成待部署模型对应的模型数据,包括:
在监测到用户针对部署按钮的预设操作触发的情况下,调用所述资源解析所述源代码文件以及所述运行环境,生成待部署模型对应的模型数据。
5.根据权利要求1所述的方法,其特征在于,所述基于Kubernetes将所述模型镜像部署为服务之后,所述方法还包括:
获取测试数据,并将所述测试数据输入至所述服务,获取所述服务的预测结果;
将所述预测结果与所述测试数据对应的预期结果进行比较,若所述预测结果与所述预期结果一致,则确定所述服务正常。
6.根据权利要求1所述的方法,其特征在于,所述基于Kubernetes将所述模型镜像部署为服务之后,所述方法还包括:
获取所述服务的性能指标,其中,所述性能指标至少包括下述之一:调用量、调用耗时、失败率、资源占用状况;
将所述性能指标与标准性能指标进行比较,根据比较结果确定所述服务是否异常。
7.根据权利要求1所述的方法,其特征在于,所述基于Kubernetes将所述模型镜像部署为服务之后,所述方法还包括:
获取所述服务输出的预测结果,对所述服务输出的预测结果进行分析,并将所述服务输出的预测结果与所述服务输出的历史预测结果进行对比分析;
若分析出所述服务的准确率未达到预期准确率,则确定所述准确率对应的偏差等级;
查找与所述偏差等级对应的用户提醒方式,利用所述用户提醒方式提醒进行模型迭代,并跳转至所述获取所述待部署模型对应的源代码文件的步骤。
8.一种模型部署装置,其特征在于,所述装置包括:
模型确定模块,用于确定待部署模型;
文件获取模块,用于获取所述待部署模型对应的源代码文件;
资源、环境确定模块,用于确定所述待部署模型所需的资源及运行环境;
数据生成模块,用于根据所述源代码文件、所述资源以及所述运行环境,生成待部署模型对应的模型数据,所述模型数据包括模型文件、输入格式、预测代码;
镜像构建模块,用于将所述模型文件进行格式转换,并基于格式转换后的所述模型文件、所述输入格式、所述预测代码构建模型镜像;
镜像部署模块,用于基于Kubernetes将所述模型镜像部署为服务。
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1至7中任一项所述的方法步骤。
10.一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210089696.4A CN114546425A (zh) | 2022-01-25 | 2022-01-25 | 模型部署方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210089696.4A CN114546425A (zh) | 2022-01-25 | 2022-01-25 | 模型部署方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114546425A true CN114546425A (zh) | 2022-05-27 |
Family
ID=81673520
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210089696.4A Pending CN114546425A (zh) | 2022-01-25 | 2022-01-25 | 模型部署方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114546425A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114791801A (zh) * | 2022-06-27 | 2022-07-26 | 军事科学院***工程研究院网络信息研究所 | 一种基于多变体的软件安全防御方法和*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109901823A (zh) * | 2019-02-26 | 2019-06-18 | 中电科软件信息服务有限公司 | 基于云环境的交互式模型开发环境***和方法 |
CN112445462A (zh) * | 2020-11-16 | 2021-03-05 | 北京思特奇信息技术股份有限公司 | 基于面向对象设计的人工智能建模平台和方法 |
CN113608880A (zh) * | 2021-09-29 | 2021-11-05 | 深圳市信润富联数字科技有限公司 | 算法模型部署*** |
US20210382728A1 (en) * | 2020-06-09 | 2021-12-09 | Tencent Technology (Shenzhen) Company Limited | Running pbs jobs in kubernetes |
-
2022
- 2022-01-25 CN CN202210089696.4A patent/CN114546425A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109901823A (zh) * | 2019-02-26 | 2019-06-18 | 中电科软件信息服务有限公司 | 基于云环境的交互式模型开发环境***和方法 |
US20210382728A1 (en) * | 2020-06-09 | 2021-12-09 | Tencent Technology (Shenzhen) Company Limited | Running pbs jobs in kubernetes |
CN112445462A (zh) * | 2020-11-16 | 2021-03-05 | 北京思特奇信息技术股份有限公司 | 基于面向对象设计的人工智能建模平台和方法 |
CN113608880A (zh) * | 2021-09-29 | 2021-11-05 | 深圳市信润富联数字科技有限公司 | 算法模型部署*** |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114791801A (zh) * | 2022-06-27 | 2022-07-26 | 军事科学院***工程研究院网络信息研究所 | 一种基于多变体的软件安全防御方法和*** |
CN114791801B (zh) * | 2022-06-27 | 2022-08-30 | 军事科学院***工程研究院网络信息研究所 | 一种基于多变体的软件安全防御方法和*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11327749B2 (en) | System and method for generating documentation for microservice based applications | |
WO2019074574A1 (en) | AUTOMATED ORCHESTRATION OF FLOW OF INCIDENT SORTING WORKS | |
US10217054B2 (en) | Escalation prediction based on timed state machines | |
US20190325323A1 (en) | Knowledge management | |
US11218386B2 (en) | Service ticket escalation based on interaction patterns | |
US20120323550A1 (en) | System and method for system integration test (sit) planning | |
US10771562B2 (en) | Analyzing device-related data to generate and/or suppress device-related alerts | |
EP3378017A1 (en) | Automatic extraction of tasks associated with communications | |
US20110252019A1 (en) | Project management system | |
CN111240955A (zh) | Http接口自动化测试方法及装置、存储介质、电子设备 | |
CN114546425A (zh) | 模型部署方法、装置、电子设备及存储介质 | |
CN106293890B (zh) | 一种基于复杂度的业务处理方法和装置 | |
CN112379913B (zh) | 基于风险识别的软件优化方法、装置、设备及存储介质 | |
CN112085289A (zh) | 程序维护任务处理方法、装置、设备及存储介质 | |
US11627193B2 (en) | Method and system for tracking application activity data from remote devices and generating a corrective action data structure for the remote devices | |
US20230244686A1 (en) | Automatic determination of alternative paths for a process flow using machine learning | |
CN115827051A (zh) | 一种软件集成管理***、方法及服务器 | |
US20220171380A1 (en) | Automated device maintenance | |
Mukunthan et al. | Multilevel Petri net‐based ticket assignment and IT management for improved IT organization support | |
CN112231115A (zh) | 一种执行动态***算子的方法以及装置 | |
US20080281650A1 (en) | Method for computing the resiliency score of an organization or any part thereof | |
US20110251867A1 (en) | Method and system for integrated operations and service support | |
CN114003248B (zh) | 一种模型管理方法、装置、电子设备及存储介质 | |
Karnavel et al. | Development and application of new quality model for software projects | |
US20220237021A1 (en) | Systems and methods of telemetry diagnostics |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20220527 |
|
RJ01 | Rejection of invention patent application after publication |