CN114546592A - 模型部署评测方法、服务器、电子设备及存储介质 - Google Patents
模型部署评测方法、服务器、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114546592A CN114546592A CN202210153062.0A CN202210153062A CN114546592A CN 114546592 A CN114546592 A CN 114546592A CN 202210153062 A CN202210153062 A CN 202210153062A CN 114546592 A CN114546592 A CN 114546592A
- Authority
- CN
- China
- Prior art keywords
- model
- deployment
- configuration file
- target device
- platform
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45591—Monitoring or debugging support
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种模型部署评测方法、服务器、电子设备及计算机存储介质。该模型部署评测方法包括:获取待部署的训练模型及配置文件;基于配置文件将训练模型转换成部署模型,完成训练模型的部署;若训练模型部署成功,基于配置文件对部署模型进行评测。通过这种方式,能够实现模型的自动化部署及验证,提升模型的性能。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种模型部署评测方法、服务器、电子设备及计算机存储介质。
背景技术
近年来,随着人工智能的蓬勃发展,国内外井喷式涌现出各种深度学习推理加速芯片及套件,包括Nvidia的系列GPU及其高性能推理加速库TensorRT,寒武纪的MLU系列,瑞芯微的RV系列等,针对深度学习算法特点做了大量优化,极大提升了算法推理侧的性能。
模型部署是打通模型训练与生产落地的重要环节,算法研究员训练出来的模型一般是与硬件设备无关的,要想充分发挥各类加速芯片的效能,必须通过模型转换,将原模型使用的算子和输入输出适配到特定硬件,即为模型部署。
但在现有技术中,模型部署(转换)后的精度可能较差,缺少模型验证,不能保证部署后的模型的性能;且需要研究人员的人工操作,自动化程度很低。
发明内容
本申请主要解决的技术问题是如何实现模型的自动化部署及验证,提升模型的性能。
为解决上述技术问题,本申请采用的一个技术方案是:提供一种模型部署评测方法。该模型部署评测方法包括:获取待部署的训练模型及配置文件;基于配置文件将训练模型转换成部署模型,完成训练模型的部署;若训练模型部署成功,基于配置文件对部署模型进行评测。
本申请能够基于配置文件实现模型的自动化部署及评测,即实现模型的部署及评测的一键式操作,无需人工干预,自动化程度高,能够保证模型的性能。进一步地,本申请是根据配置文件对训练模型进行部署,因此,可以通过调整配置文件,将训练模型配置到不同的目标设备或者目标设备平台上,能够减少研究员对各类硬件设备的认知要求,避免繁复的转换操作工作量。
其中,配置文件包括多个目标设备平台的平台信息,或者包括多个目标设备的设备信息及其目标设备平台的平台信息,上述基于配置文件将训练模型转换成部署模型,包括:基于平台信息将训练模型部署到与平台信息对应的目标设备平台,或者基于设备信息及其平台信息将训练模型部署到与设备信息对应的目标设备的目标设备平台。
通过上述方式,能够将训练模型一键批量部署到多个目标设备平台,以节约算法研究人员的模型生产力。
其中,配置文件包括目标设备平台的平台信息,上述基于配置文件将训练模型转换成部署模型,完成训练模型的部署,包括:对训练模型的输入输出合法性及配置文件的有效性进行校验;若校验成功,从配置文件中获取所述平台信息;基于平台信息将训练模型的模型格式转换为适配于目标设备平台的部署模型的模型格式,以将训练模型部署到目标设备平台。
通过上述方式,能够实现训练模型的自动化部署到目标设备平台。
其中,配置文件进一步包括目标设备的设备信息、数据集及分析脚本,上述基于配置文件对部署模型进行评测包括:基于设备信息为目标设备调配硬件资源;在目标设备上使用部署模型对数据集执行推理计算,以得到部署模型的推理结果;利用分析脚本对推理结果进行分析,以获得部署模型的计算精度和/或计算速度。
通过上述方式,能够实现训练模型的自动化评测。
其中,上述利用分析脚本对推理结果进行分析,以获得部署模型的计算精度和/或计算速度包括:利用分析脚本对推理结果进行聚合分析,基于聚合分析结果及数据集的标注结果获得部署模型的计算精度和/或计算速度。
通过上述方式,能够实现部署模型的自动化评测及反馈。
其中,配置文件进一步包括装载目标设备平台的目标设备的设备信息,上述基于平台信息将训练模型的模型格式转换为适配于目标设备平台的部署模型的模型格式,以将训练模型部署到目标设备平台,包括:基于设备信息为目标设备调配硬件资源;在目标设备上基于平台信息将训练模型的模型格式转换为适配于目标设备的目标设备平台的部署模型的模型格式,以将训练模型部署到目标设备的目标设备平台。
通过上述方式,能够实现训练模型的自动化部署到目标设备的目标设备平台。
其中,上述基于配置文件将训练模型转换成部署模型,完成训练模型的部署,包括:自动创建部署异步任务;基于配置文件分析部署异步任务的参数信息,确定部署训练模型的目标设备平台的平台信息;将部署异步任务调度到目标设备平台上执行。
通过上述方式,能够实现训练模型的自动化部署。
其中,上述基于配置文件对部署模型进行评测,包括:自动创建评测任务;基于评测任务的上下文信息获取部署模型、数据集及依赖库;将部署模型、数据集及依赖库打包拷贝到目标设备上执行。
通过上述方式,能够实现训练模型的自动化评测。
其中,模型部署评测方法进一步包括:获取与部署模型对应的目标设备的设备信息;将部署模型及其对应的设备信息生成模型推荐列表;发布模型推荐列表。
通过这种方式,能够提高模型部署及评测的智能化水平,提高用户体验。
其中,上述获取待部署的训练模型及配置文件包括:获取用户端权限;获取与用户端权限内的待部署的训练模型及其配置文件。
通过上述方式,能够提高数据的安全性。
其中,模型部署评测方法进一步包括:若训练模型部署失败或者校验失败,返回失败状态和记录日志。
通过这种方式,便于及时查找异常。
为解决上述技术问题,本申请采用的一个技术方案是:提供一种服务器。该服务器包括:管理服务模块,用于获取待部署的训练模型及配置文件,并自动发起部署任务;若训练模型部署成功,管理服务模块进一步基于预设流程自动发起评测任务;任务执行模块,与管理服务模块通信连接,用于基于配置文件将模型部署任务调度到目标设备平台上执行,以基于配置文件将训练模型转换成部署模型,完成训练模型到目标设备平台的部署;任务执行模块进一步用于在训练模型部署成功后,基于配置文件将评测任务调度到目标设备上执行,以对部署模型进行评测。
本申请能够基于配置文件实现模型的自动化部署及评测,即实现模型的部署及评测的一键式操作,无需人工干预,自动化程度高,能够保证模型的性能。进一步地,本申请是根据配置文件对训练模型进行部署,因此,可以通过调整配置文件,将训练模型配置到不同的目标设备或者目标设备平台上,能够减少研究员对各类硬件设备的认知要求,避免繁复的转换操作工作量。
为解决上述技术问题,本申请采用的一个技术方案是:提供一种电子设备。所述电子设备包括存储器和处理器,所述存储器与所述处理器耦接;其中,所述存储器用于存储程序数据,所述处理器用于执行所述程序数据以实现上述模型部署评测方法。
本申请能够基于配置文件实现模型的自动化部署及评测,即实现模型的部署及评测的一键式操作,无需人工干预,自动化程度高,能够保证模型的性能。进一步地,本申请是根据配置文件对训练模型进行部署,因此,可以通过调整配置文件,将训练模型配置到不同的目标设备或者目标设备平台上,能够减少研究员对各类硬件设备的认知要求,避免繁复的转换操作工作量。
为解决上述技术问题,本申请采用的一个技术方案是:提供一种计算机存储介质。该计算机存储介质上存储有程序指令,程序指令被执行时实现上述模型部署评测方法。
本申请能够基于配置文件实现模型的自动化部署及评测,即实现模型的部署及评测的一键式操作,无需人工干预,自动化程度高,能够保证模型的性能。进一步地,本申请是根据配置文件对训练模型进行部署,因此,可以通过调整配置文件,将训练模型配置到不同的目标设备或者目标设备平台上,能够减少研究员对各类硬件设备的认知要求,避免繁复的转换操作工作量。
本申请的有益效果是:区别于现有技术,本申请模型部署评测方法先获取待部署的训练模型及配置文件;接着基于配置文件将训练模型转换成部署模型,能够实现训练模型的自动化部署;若训练模型部署成功,则基于配置文件对部署模型进行评测,能够实现部署模型的自动化评测。因此,本申请能够基于配置文件实现模型的自动化部署及评测,即实现模型的部署及评测的一键式操作,无需人工干预,自动化程度高,能够保证模型的性能。进一步地,本申请是根据配置文件对训练模型进行部署,因此,可以通过调整配置文件,将训练模型配置到不同的目标设备或者目标设备平台上,能够减少研究员对各类硬件设备的认知要求,避免繁复的转换操作工作量。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。其中:
图1是本申请模型部署评测系统一实施例的结构示意图;
图2是本申请服务器一实施例的结构示意图;
图3是本申请模型部署评测方法一实施例的流程示意图;
图4是图3实施例中步骤S32的一具体流程示意图;
图5是图3实施例中步骤S32的一具体流程示意图;
图6是图3实施例中步骤S33的具体流程示意图;
图7是本申请模型部署评测方法一实施例的流程示意图;
图8是本申请电子设备一实施例的结构示意图;
图9是本申请计算机存储介质一实施例的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,均属于本申请保护的范围。
本申请中的术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
模型部署过程十分复杂且微妙。一方面,由于推理芯片的多样性,研究员们往往深陷于各类软硬件开发环境,耗时耗力;另一方面,由于深度学习算法的可解释性不足,模型转换后可能实际精度对比原模型有较大损失,需要尽早发现,反复验证。因此,需要有一套高度自动化的模型部署和评测方案。
为此,本申请首先提出一种模型部署评测系统,如图1所示,图1是本申请模型部署评测系统一实施例的结构示意图。本实施例模型部署评测系统(图未标)包括:终端设备10、服务器20及目标设备30,服务器20分别与终端设备10及目标设备30通信连接。
其中,终端设备10用于生成训练模型及配置文件;具体地,终端设备10对训练数据进行预处理,然后利用预处理后的训练数据对原始模型进行训练,以获得训练模型;配置文件至少包括:数据集、分析脚本、目标设备30的设备信息及目标设备30的目标设备平台(如tensorRT、MLU、RV等)的平台信息。服务器20基于设备信息将训练模型部署到目标设备30的目标设备平台上,且在目标设备30上利用数据集及分析脚本对部署到目标设备平台上的部署模型进行评测及性能修正(校准);服务器20进一步将评测结果反馈给终端设备10。
其中,终端设备10可以通过Web界面或者客户端的命令行将训练模型及配置文件上传给服务器20,并触发模型部署及评测。
本实施例的服务器20可以是云服务器或者物理服务器等。
可选地,如图2所示,本实施例的服务器20包括:管理服务模块21及任务执行模块22;其中,管理服务模块21与终端设备10通信连接,用于从终端设备10获取待部署的训练模型及配置文件,并基于预设流程(在监测到部署评测请求时)自动发起部署任务;若训练模型部署成功,管理服务模块21进一步基于预设流程自动发起评测任务;任务执行模块22与管理服务模块21通信连接,用于基于配置文件将模型部署任务调度到目标设备10的目标设备平台上执行,以基于配置文件将训练模型转换成部署模型,完成训练模型部署到目标设备平台的部署;任务执行模块22进一步用于在训练模型部署成功后,基于配置文件将评测任务调度到目标设备10上执行,以对部署模型进行评测。该部署模型是训练模型成功部署到目标设备上的模型。
可选地,本实施例的管理服务模块21可以是API服务模块,其核心功能模块包括模型管理子模块(图未示)、资产管理子模块(图未示)及权限管理子模块(图未示)等。
其中,模型管理子模块接受终端设备10上传训练模型,并为终端设备10提供模型部署评测发起接口及最终模型发布信息的获取接口,实现了自动化流程需要的底层能力。
资产管理子模块集中管理系统内置以及终端设备10上传的量化/评测数据集、硬件设备(目标设备)信息、分析脚本(对部署模型的推理结果进行分析)。
权限管理子模块可以通过Namespace等实现多租户隔离。具体地,Namespace通过基于角色的权限控制系统(Role Based Access Control,RBAC)能够实现严格的权限管控。每个Namespace下的角色单独授权。通过这种方式,能够使得每个用户端(用户或者客户端)基于自身的权限查看权限内的部署模型及目标设备等信息。
可选地,本实施例的管理服务模块21还可以包括模型推荐子模块(图未示),模型推荐子模块是作为上下游用户的媒介。部署模型,即部署完的模型通过评测校准后,可对外发布;一个模型在不同的目标设备上有不同的版本,模型推荐子模块可以针对同一个原始模型构建对应的模型推荐清单,用于展示该原始模型最新的多硬件(多目标设备)部署发布信息。
可选地,本实施例的任务执行模块22包括:任务分发子模块221及任务执行子模块223,任务分发子模块221分别与管理服务模块21及任务执行子模块223通信连接。管理服务模块21为任务队列生产者,任务执行模块22是任务队列的消费者。
进一步地,本实施例服务器20还包括:设备管理服务模块23,分别与管理服务模块21及任务分发子模块221通信连接;设备管理服务模块23存储用户注册的目标设备的型号、登录方式、工作目录等信息,并记录设备占用情况,且在任务执行模块22需要时为其分配空闲资源。
任务分发子模块221通过分析模型部署任务的配置文件,判断训练模型需要部署在何种目标设备或何种目标设备平台上及需要使用哪个数据集进行评测;任务分发子模块221再从设备管理服务模块23申请可用的资源,并将模型部署任务通过任务执行子模块223调度到对应的目标设备平台上执行,以将训练模型部署到该目标设备平台上;任务执行子模块223将任务分发子模块221提供的任务上下文、训练模型、数据集和对应的目标设备的依赖库打包后拷贝到目标设备上执行,以对部署到目标设备上的部署模型进行评测校正。
区别于现有技术,本实施例的模型部署评测方法先获取待部署的训练模型及配置文件;接着基于配置文件将训练模型转换成部署模型,能够实现训练模型的自动化部署;若训练模型部署成功,则基于配置文件对部署模型进行评测,能够实现部署模型的自动化评测。因此,本实施例能够基于配置文件实现模型的自动化部署及评测,即实现模型的部署及评测的一键式操作,无需人工干预,自动化程度高,能够保证模型的性能。进一步地,本实施例是根据配置文件对训练模型进行部署,因此,可以通过调整配置文件,将训练模型配置到不同的目标设备或者目标设备平台上,能够减少研究员对各类硬件设备的认知要求,避免繁复的转换操作工作量。
进一步地,本实施例的服务器20进一步包括操作入口,用于输入用户操纵,可以与终端设备10通信连接。
本实施例的API管理服务模块与操作入口是整个服务器20的“大脑”,负责数据计算、查询和存储;任务分发服务子模块负责接收API管理服务模块发送的模型部署/评测任务,申请合适的设备资源去执行;任务执行子模块是单次部署/评测任务的执行载体;设备管理服务模块集中管理所有的硬件设备资源。
在其它实施例中,用户可以在服务器上生成训练模型及配置文件等。
在其它实施例中,服务器20基于平台信息将训练模型部署到服务器20的目标设备平台上,且利用数据集及分析脚本在目标设备上对部署到目标设备平台上的部署模型进行评测及性能修正(校准)。
本申请进一步提出一种模型部署评测方法,可用于上述模型部署评测系统及服务器。如图3所示,图3是本申请模型部署评测方法一实施例的流程示意图。本实施例模型部署评测方法具体包括以下步骤:
步骤S31:获取待部署的训练模型及配置文件。
可以通过终端设备或者服务器生成训练模型及配置文件;具体地,终端设备或者服务器对训练数据进行预处理,然后利用预处理后的训练数据对原始模型进行训练,以获得训练模型;配置文件至少包括:数据集、分析脚本、目标设备(待部署的终端设备)的设备信息及其目标设备平台的平台信息。
在发起部署评测之前,需要预先向服务器的API服务模块注册量化/评测数据集、目标设备及其目标设备平台及分析脚本等信息。并准备好训练模型,训练模型的模型格式上支持Caffe和ONNX。
其中,配置文件用于为模型部署环节指定目标设备,并为评测环节指定目标设备、数据集等。
可选地,本实施例可以为每个用户端(用户或者终端设备)设置权限,用户或者终端需要通过自身的权限来查看或者部署目标设备,获取用户端权限内的待部署的训练模型及其配置文件:API服务模块获取先用户或者终端设备的权限,然后基于权限获取待部署的训练模型及其配置文件,在用户或者终端设备具有目标设备的权限时,获取待部署的训练模型及其配置文件,以将训练模型部署到目标设备的目标设备平台上。
API服务模块中的权限管理子模块可以通过Namespace等实现多租户隔离。具体地,Namespace通过基于角色的权限控制系统(Role Based Access Control,RBAC)能够实现严格的权限管控。每个Namespace下的角色单独授权。
通过这种方式,能够使得每个用户或者终端设备基于自身的权限查看权限内的部署模型及目标设备等信息,能够提高数据的安全性。
步骤S32:基于配置文件将训练模型转换成部署模型,完成训练模型的部署。
监测到部署评测请求,基于预设流程自动发起部署任务,并基于配置文件将训练模型转换成部署模型,以将训练模型部署到目标设备的目标设备平台。
用户或者终端设备可以通过Web界面或者客户端的命令行将部署评测请求上传给API服务模块;API服务模块若监测到部署评测请求,则基于配置文件将训练模型部署到目标设备的目标设备平台上。
可选地,本实施例可以基于预设流程自动创建部署异步任务;基于配置文件分析部署异步任务的参数信息,确定部署训练模型的目标设备的设备信息及其目标设备平台的平台信息,及确定数据集;将部署异步任务调度到目标设备上执行。本实施例可以通过如图4所示的方法实现步骤S32中训练模型部署,即执行部署异步任务。本实施例的方法包括步骤S41至步骤S44。
步骤S41:对训练模型的输入输出合法性及配置文件的有效性进行校验。
API服务模块收到部署评测请求后,首先会校验训练模型的模型文件,检查训练模型的模型网络的输入输出合法性。并解析配置文件,校验配置文件的有效性等,例如检查数据集是否存在,目标设备是否支持模型部署等。
步骤S42:若校验成功,从配置文件中获取设备信息及平台信息。
若上述校验成功,则API服务模块创建部署异步任务,置于队列中。任务分发子模块会按优先级读取模型部署任务,任务分发子模块从配置文件中获取目标设备的设备信息。该设备信息可以是设备的型号等信息。
步骤S43:基于设备信息为目标设备调配硬件资源。
在目标设备上部署训练模型,需要硬件资源支持。
步骤S44:在目标设备上基于平台信息将训练模型的模型格式转换为适配于目标设备的目标设备平台的部署模型的模型格式,以将训练模型部署到目标设备的目标设备平台。
任务执行子模块将训练模型的模型格式转换为适配于目标设备的目标设备平台的部署模型的模型格式,以将训练模型使用的算子和输入输出适配到目标设备的目标设备平台,使得部署模型能够在目标设备的目标设备平台上使用。
通过这种方式,能够实现训练模型的自动化部署。
例如,使用TensorFlow Mobile将模型部署到安卓设备上,先要将将训练好的模型,即训练模型转换成TensorFlow格式;然后向安卓应用添加TensorFlow Mobile依赖项;编写相关的Java代码,在安卓应用中使用TensorFlow模型执行推断。
在另一实施例中,配置文件包括目标设备平台的平台信息,基于平台信息将训练模型部署到目标设备平台上;本实施例可以基于预设流程自动创建部署异步任务;基于配置文件分析部署异步任务的参数信息,确定部署训练模型的目标设备平台的平台信息,及确定数据集;将部署异步任务调度到目标设备平台上执行。本实施例通过如图5所示的方法实现步骤S32中训练模型部署,即执行部署异步任务。本实施例的方法包括步骤S51至步骤S53。
步骤S51:对训练模型的输入输出合法性及配置文件的有效性进行校验。
具体实施方式可以参阅步骤S41。
步骤S52:若校验成功,从配置文件中获取平台信息。
若上述校验成功,则API服务模块创建部署异步任务,置于队列中。任务分发子模块会按优先级读取模型部署任务,任务分发子模块从配置文件中获取目标设备平台的平台信息。
步骤S53:基于平台信息将训练模型的模型格式转换为适配于目标设备平台的部署模型的模型格式,以将训练模型部署到目标设备平台。
任务执行子模块将训练模型的模型格式转换为适配于目标设备平台的模型格式,以将训练模型使用的算子和输入输出适配到目标设备平台。
本实施例可以将训练模型部署到服务器的目标设备平台上。
在其它实施例中,配置文件包括多个目标设备平台的平台信息,或者包括多个目标设备的设备信息及其目标设备平台的平台信息,可以基于平台信息将训练模型部署到与平台信息对应的目标设备平台,或者目标设备的设备信息及其平台信息将训练模型部署到与设备信息对应的目标设备的目标设备平台。通过这种方式,能够将训练模型一键批量部署到多个目标设备平台,以节约算法研究人员的模型生产力。
步骤S33:若训练模型部署成功,基于配置文件对部署模型进行评测。
具体地,本实施例可以通过如图6所示的方法实现步骤S33。本实施例的方法包括步骤S61至步骤S63。
步骤S61:若训练模型部署成功,基于设备信息为目标设备调配硬件资源。
其中,硬件资源为目标设备训练部署模型所需的硬件资源。
需要注意的是,若将训练模型部署到目标设备平台,在进行模型评测时,需要为目标设备调配硬件资源;若将训练模型部署到目标设备,在进行模型评测时,不需要为目标设备调配硬件资源(部署过程已经调配了硬件资源)。
具体地,基于预设流程自动创建评测任务;基于评测任务的上下文信息获取部署模型、数据集及依赖库;将部署模型、数据集及依赖库打包拷贝到目标设备上执行。
任务分发子模块会监测训练模型的部署状态,并将部署状态反馈给API服务模块;若训练模型部署成功,API服务模块组织评测任务上下文,创建模评测任务,置于队列中。任务分发子模块读取任务后,向设备管理服务模块申请相应的硬件资源。
需要注意的是,上述模型部署任务根据目标设备的不同,需要或者不需要向设备管理服务模块申请相应的硬件资源。
步骤S62:在目标设备上使用部署模型数据集执行推理计算,以得到部署模型的推理结果。
若资源调配成功,则任务分发子模块通过任务执行模块将评测任务调配到目标设备上执行。具体地,任务分发子模块将申请的硬件资源、依赖库及数据集等推送给目标设备;并在目标设备上使用部署模型数据集执行推理计算,以得到部署模型的推理结果;目标设备将推理结果返回给任务分发子模块。
步骤S63:利用分析脚本对推理结果进行分析,以获得部署模型的计算精度和/或计算速度。
具体地,利用分析脚本对推理结果进行聚合分析,并基于数据集的推理结果的聚合分析结果及该数据集的标注结果获得部署模型的计算精度和/或计算速度。
进一步基于部署模型及其计算精度和/或计算速度生成评测报告。
任务分发子模块利用分析脚本对推理结果进行聚合分析,以获得部署模型的计算精度及计算速度,并生成评测报告返回API服务模块,API服务模块将评测报告返回用户或者移动终端。
其中,推理结果对应数据集的每一项参数,不同的目标设备对应不同的数据集。
进一步地,可以对计算精度和/或计算速度小于阈值的部署模型进行校正,以提高其计算精度和/或计算速度,然后生成评测报告。
本实施例能够获得部署后的部署模型,且能够对部署模型的计算精度、计算速度进行即时验证措施,进而能够确保高质量的模型交付。
进一步地,本实施例模型部署评测方法还包括:若训练模型部署失败或者超时,API服务模块生成配置失败状态和日志,且将配置失败状态返回给用户或者移动终端,并记录日志。
进一步地,本实施例模型部署评测方法还包括:对训练模型的输入输出合法性及配置文件的有效性校验失败,则API服务模块生成校验失败状态和日志,且将校验失败状态返回给用户或者移动终端,并记录日志。通过这种方式,便于及时查找异常。
本申请进一步提出另一实施例的模型部署评测方法,如图7所示,图7是本申请模型部署评测方法一实施例的流程示意图。本实施例的方法包括以下步骤:
步骤S71:获取待部署的训练模型及配置文件。
步骤S72:基于配置文件将训练模型转换成部署模型,完成训练模型的部署。
步骤S73:若训练模型部署成功,基于配置文件对部署模型进行评测。
步骤S71至步骤S73与上述步骤S31至步骤S33类似,这里不赘述。
步骤S74:获取与部署模型对应的目标设备的设备信息。
模型推荐子模块获取与训练模型对应的目标设备的设备信息。
步骤S75:将部署模型及其对应的设备信息生成模型推荐列表;
步骤S76:发布模型推荐列表。
模型推荐子模块将训练模型及其对应的设备信息生成模型推荐列表。API服务模块向用户或者终端设备发布模型推荐列表。API服务模块进一步可以基于用户或者终端设备的部署权限发布模型推荐列表。
部署完的模型通过评测校准后,可对外发布,一个模型在不同的硬件上有不同的版本,针对同一个原始模型可以构建专门的推荐清单,即模型推荐列表,用于展示该模型最新的多硬件部署发布信息。
通过这种方式,能够提高模型部署及评测的智能化水平,提高用户体验。
本申请进一步提出一种电子设备,如图8所示,图8是本申请电子设备一实施例的结构示意图。本实施例电子设备100包括处理器101、与处理器101耦接的存储器102、输入输出设备103以及总线104。
该处理器101、存储器102、输入输出设备103分别与总线104相连,该存储器102中存储有程序数据,处理器101用于执行程序数据以实现:获取待部署的训练模型及配置文件;基于配置文件将训练模型转换成部署模型,完成训练模型的部署;若训练模型部署成功,基于配置文件对部署模型进行评测。
处理器101执行程序数据时还实现上述实施例的模型部署评测方法。上述实施例中的控制器可以集成在处理器101内。
在本实施例中,处理器101还可以称为CPU(Central Processing Unit,中央处理单元)。处理器101可能是一种集成电路芯片,具有信号的处理能力。处理器101还可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器101也可以是任何常规的处理器等。
本申请进一步提出一种计算机存储介质,如图9所示,图9是本申请计算机存储介质一实施例的结构示意图。计算机存储介质110其上存储有程序指令111,程序指令111被处理器(图未示)执行时实现:获取待部署的训练模型及配置文件;基于配置文件将训练模型转换成部署模型,完成训练模型的部署;若训练模型部署成功,基于配置文件对部署模型进行评测。
程序指令111被处理器(图未示)执行时还实现上述实施例的模型部署评测方法。
本实施例计算机存储介质110可以是但不局限于U盘、SD卡、PD光驱、移动硬盘、大容量软驱、闪存、多媒体记忆卡、服务器等。
区别于现有技术,本申请模型部署评测方法先获取待部署的训练模型及配置文件;接着基于配置文件将训练模型转换成部署模型,能够实现训练模型的自动化部署;若训练模型部署成功,则基于配置文件对部署模型进行评测,能够实现部署模型的自动化评测。因此,本申请能够基于配置文件实现模型的自动化部署及评测,即实现模型的部署及评测的一键式操作,无需人工干预,自动化程度高,能够保证模型的性能。进一步地,本申请是根据配置文件对训练模型进行部署,因此,可以通过调整配置文件,将训练模型配置到不同的目标设备或者目标设备平台上,能够减少研究员对各类硬件设备的认知要求,避免繁复的转换操作工作量。
本申请方案支持一键多平台批量部署,流程包含精度/速度评测环节,能及时提供模型真实运行报告,自动化程度极高,中间无需手工操作。本申请方案从数据集、模型格式、命名规则、交付标准等方面对深度学习模型的部署落地进行了规范化,有利于打造一个工业级模型生产平台。在减少用户繁复的手工工作量的同时大大提高了模型交付质量。
算法研究员在使用pytorch或其他框架训练完训练模型后,可以通过本申请的服务器或电子设备,一键转换为适配不同深度学习加速芯片的多个高效部署模型,并统一组织到模型推荐列表,系统将推送更新消息到下游的模型应用开发团队,这一过程能够节约大量的人力成本。
本申请方案可用于AI技术中台。
另外,上述功能如果以软件功能的形式实现并作为独立产品销售或使用时,可存储在一个移动终端可读取存储介质中,即,本申请还提供一种存储有程序数据的存储装置,所述程序数据能够被执行以实现上述实施例的方法,该存储装置可以为如U盘、光盘、服务器等。也就是说,本申请可以以软件产品的形式体现出来,其包括若干指令用以使得一台智能终端执行各个实施例所述方法的全部或部分步骤。
在本申请的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(可以是个人计算机,服务器,网络设备或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (14)
1.一种模型部署评测方法,其特征在于,包括:
获取待部署的训练模型及配置文件;
基于所述配置文件将所述训练模型转换成部署模型,完成所述训练模型的部署;
若所述训练模型部署成功,基于所述配置文件对所述部署模型进行评测。
2.根据权利要求1所述的模型部署评测方法,其特征在于,所述配置文件包括多个目标设备平台的平台信息,或者包括多个目标设备的设备信息及其目标设备平台的平台信息,所述基于所述配置文件将所述训练模型转换成部署模型,包括:
基于所述平台信息将所述训练模型部署到与所述平台信息对应的目标设备平台,或者基于所述目标设备的设备信息及其平台信息将所述训练模型部署到与所述设备信息对应的目标设备的目标设备平台。
3.根据权利要求1所述的模型部署评测方法,其特征在于,所述配置文件包括目标设备平台的平台信息,所述基于所述配置文件将所述训练模型转换成部署模型,完成所述训练模型的部署,包括:
对所述训练模型的输入输出合法性及所述配置文件的有效性进行校验;
若校验成功,从所述配置文件中获取所述平台信息;
基于所述平台信息将所述训练模型的模型格式转换为适配于所述目标设备平台的部署模型的模型格式,以将所述训练模型部署到所述目标设备平台。
4.根据权利要求3所述的模型部署评测方法,其特征在于,所述配置文件进一步包括目标设备的设备信息、数据集及分析脚本,所述基于所述配置文件对所述部署模型进行评测包括:
基于所述设备信息为所述目标设备调配硬件资源;
在所述目标设备上使用所述部署模型对所述数据集执行推理计算,以得到所述部署模型的推理结果;
利用所述分析脚本对所述推理结果进行分析,以获得所述部署模型的计算精度和/或计算速度。
5.根据权利要求4所述的模型部署评测方法,其特征在于,所述利用所述分析脚本对所述推理结果进行分析,以获得所述部署模型的计算精度和/或计算速度包括:
利用所述分析脚本对所述推理结果进行聚合分析;
基于聚合分析结果及所述数据集的标注结果获得所述部署模型的计算精度和/或计算速度。
6.根据权利要求3所述的模型部署评测方法,其特征在于,所述配置文件进一步包括装载所述目标设备平台的目标设备的设备信息,所述基于所述平台信息将所述训练模型的模型格式转换为适配于所述目标设备平台的部署模型的模型格式,以将所述训练模型部署到所述目标设备平台,包括:
基于所述设备信息为所述目标设备调配硬件资源;
在所述目标设备上基于所述平台信息将所述训练模型的模型格式转换为适配于所述目标设备的目标设备平台的部署模型的模型格式,以将所述训练模型部署到所述目标设备的目标设备平台。
7.根据权利要求1所述的模型部署评测方法,其特征在于,所述基于所述配置文件将所述训练模型转换成部署模型,完成所述训练模型的部署,包括:
自动创建部署异步任务;
基于所述配置文件分析所述部署异步任务的参数信息,确定部署所述训练模型的目标设备平台的平台信息;
将所述部署异步任务调度到所述目标设备平台上执行。
8.根据权利要求1所述的模型部署评测方法,其特征在于,所述基于所述配置文件对所述部署模型进行评测,包括:
自动创建评测任务;
基于所述评测任务的上下文信息获取所述部署模型、数据集及依赖库;
将所述部署模型、所述数据集及所述依赖库打包拷贝到目标设备上执行。
9.根据权利要求1所述的模型部署评测方法,其特征在于,进一步包括:
获取与所述部署模型对应的目标设备的设备信息;
将所述部署模型及其对应的所述设备信息生成模型推荐列表;
发布所述模型推荐列表。
10.根据权利要求1所述的模型部署评测方法,其特征在于,所述获取待部署的训练模型及配置文件包括:
获取用户端的权限;
获取所述用户端权限内的待部署的训练模型及其配置文件。
11.根据权利要求3所述的模型部署评测方法,其特征在于,进一步包括:
若所述训练模型部署失败或者所述校验失败,返回失败状态和记录日志。
12.一种服务器,其特征在于,包括:
管理服务模块,用于获取待部署的训练模型及配置文件,并自动发起部署任务;若所述训练模型部署成功,所述管理服务模块进一步自动发起评测任务;
任务执行模块,与所述管理服务模块通信连接,用于基于所述配置文件将所述模型部署任务调度到目标设备平台上执行,以基于所述配置文件将所述训练模型转换成部署模型,完成所述训练模型到所述目标设备平台的部署;所述任务执行模块进一步用于在所述训练模型部署成功后,基于所述配置文件将所述评测任务调度到目标设备上执行,以对部署模型进行评测。
13.一种电子设备,其特征在于,包括存储器和处理器,所述存储器与所述处理器耦接;其中,所述存储器用于存储程序数据,所述处理器用于执行所述程序数据以实现权利要求1至11任一项所述的模型部署评测方法。
14.一种计算机存储介质,其特征在于,其上存储有程序指令,所述程序指令被执行时实现权利要求1至11任一项所述的模型部署评测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210153062.0A CN114546592A (zh) | 2022-02-18 | 2022-02-18 | 模型部署评测方法、服务器、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210153062.0A CN114546592A (zh) | 2022-02-18 | 2022-02-18 | 模型部署评测方法、服务器、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114546592A true CN114546592A (zh) | 2022-05-27 |
Family
ID=81676052
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210153062.0A Pending CN114546592A (zh) | 2022-02-18 | 2022-02-18 | 模型部署评测方法、服务器、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114546592A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114780110A (zh) * | 2022-06-21 | 2022-07-22 | 山东极视角科技有限公司 | 一种算法链路的优化方法及优化系统 |
CN114861836A (zh) * | 2022-07-05 | 2022-08-05 | 浙江大华技术股份有限公司 | 一种基于人工智能平台的模型部署方法及相关设备 |
CN115187821A (zh) * | 2022-07-05 | 2022-10-14 | 阿波罗智能技术(北京)有限公司 | 验证模型转换前后正确性的方法、相关装置及程序产品 |
CN117035065A (zh) * | 2023-10-10 | 2023-11-10 | 浙江大华技术股份有限公司 | 模型评估的方法及相关装置 |
CN117056238A (zh) * | 2023-10-11 | 2023-11-14 | 深圳鲲云信息科技有限公司 | 验证部署框架下模型转换正确性的方法及计算设备 |
CN118012524A (zh) * | 2023-12-19 | 2024-05-10 | 慧之安信息技术股份有限公司 | 算法模型转换的文件抓取和配置方法和系统 |
-
2022
- 2022-02-18 CN CN202210153062.0A patent/CN114546592A/zh active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114780110A (zh) * | 2022-06-21 | 2022-07-22 | 山东极视角科技有限公司 | 一种算法链路的优化方法及优化系统 |
CN114861836A (zh) * | 2022-07-05 | 2022-08-05 | 浙江大华技术股份有限公司 | 一种基于人工智能平台的模型部署方法及相关设备 |
CN115187821A (zh) * | 2022-07-05 | 2022-10-14 | 阿波罗智能技术(北京)有限公司 | 验证模型转换前后正确性的方法、相关装置及程序产品 |
CN115187821B (zh) * | 2022-07-05 | 2024-03-22 | 阿波罗智能技术(北京)有限公司 | 验证模型转换前后正确性的方法、相关装置及程序产品 |
CN117035065A (zh) * | 2023-10-10 | 2023-11-10 | 浙江大华技术股份有限公司 | 模型评估的方法及相关装置 |
CN117056238A (zh) * | 2023-10-11 | 2023-11-14 | 深圳鲲云信息科技有限公司 | 验证部署框架下模型转换正确性的方法及计算设备 |
CN117056238B (zh) * | 2023-10-11 | 2024-01-30 | 深圳鲲云信息科技有限公司 | 验证部署框架下模型转换正确性的方法及计算设备 |
CN118012524A (zh) * | 2023-12-19 | 2024-05-10 | 慧之安信息技术股份有限公司 | 算法模型转换的文件抓取和配置方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114546592A (zh) | 模型部署评测方法、服务器、电子设备及存储介质 | |
CN107590075B (zh) | 一种软件测试方法及装置 | |
CN104834602B (zh) | 一种程序发布方法、装置和程序发布系统 | |
CN109117170B (zh) | 一种运行环境搭建方法及装置、代码合入方法及系统 | |
CN107038120B (zh) | 一种软件测试方法和设备 | |
CN110659198A (zh) | 应用程序的测试用例执行方法、装置和软件测试系统 | |
CN114924851B (zh) | 训练任务的调度方法、装置、电子设备和存储介质 | |
CN113687858A (zh) | 配置文件的检查方法、装置、电子设备及存储介质 | |
CN111651140B (zh) | 基于工作流的服务方法及装置 | |
CN109614159B (zh) | 计划任务分发、导入方法及装置 | |
CN115860143A (zh) | 算子模型生成方法、装置和设备 | |
CN109739492B (zh) | 一种生成脚本代码的方法、终端、设备和介质 | |
CN112558930B (zh) | 一种面向容器服务的软件生成系统及方法 | |
CN111832273A (zh) | 目的报文的确定方法及装置、存储介质、电子装置 | |
CN115129574A (zh) | 一种代码测试方法和装置 | |
CN117035065A (zh) | 模型评估的方法及相关装置 | |
CN115185841A (zh) | 系统重构测试方法、装置、设备及存储介质 | |
CN112740230B (zh) | 数据标注系统、方法和数据标注管理器 | |
CN114185557A (zh) | 软件产品部署方法、装置、介质及电子设备 | |
CN116820663A (zh) | 镜像构建方法、设备、存储介质及装置 | |
CN117215635B (zh) | 任务处理方法、装置及存储介质 | |
CN113254187A (zh) | 测试数据的生成方法、装置、电子设备和存储介质 | |
CN115437757A (zh) | 调度方法、系统、服务器和计算机可读存储介质 | |
CN106844056B (zh) | Hadoop大数据平台多租户作业管理方法及其系统 | |
CN117270956B (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 |