CN114861836B - 一种基于人工智能平台的模型部署方法及相关设备 - Google Patents
一种基于人工智能平台的模型部署方法及相关设备 Download PDFInfo
- Publication number
- CN114861836B CN114861836B CN202210783939.4A CN202210783939A CN114861836B CN 114861836 B CN114861836 B CN 114861836B CN 202210783939 A CN202210783939 A CN 202210783939A CN 114861836 B CN114861836 B CN 114861836B
- Authority
- CN
- China
- Prior art keywords
- model
- deployed
- training
- algorithm
- artificial intelligence
- 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.)
- Active
Links
Images
Classifications
-
- 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
- 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)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computational Linguistics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Biology (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种基于人工智能平台的模型部署方法及相关设备,该方法包括:从预设算法集中,选择出第一用户指令所指示的至少一个目标算法,构成预训练模型;获取预训练模型对应的训练模型参数以及训练数据集;基于训练模型参数与训练数据集,对预训练模型进行训练,得到第一待部署模型;将第一待部署模型转换为第二待部署模型;对第二待部署模型进行调优,得到第三待部署模型;响应于对第三待部署模型的测试通过,基于第三待部署模型构造软件开发工具包并进行发布,以使待部署设备下载软件开发工具包,并依据软件开发工具包将第三待部署模型安装在待部署设备上。通过上述方式,本申请能提升模型精度,且应用范围较为广泛。
Description
技术领域
本申请涉及人工智能技术领域,具体涉及一种基于人工智能平台的模型部署方法及相关设备。
背景技术
随着人工智能(Artificial Intelligence,AI)的快速发展以及普及,开发人员需要执行大量的模型定制开发、调试工作,因此需要一种人工智能平台,一方面,人工智能平台能够帮助开发人员脱离模型的定制开发,能够对行业高深领域进行研究;另一方面,人工智能平台能够支持普通用户进行人工智能应用;但是,当前市面上的人工智能平台存在一些弊端,应用较为较窄且模型精度较低,需要进行改进。
发明内容
本申请提供一种基于人工智能平台的模型部署方法及相关设备,能够提升部署到待部署上的模型的精度,且应用范围较为广泛。
为解决上述技术问题,本申请采用的技术方案是:提供一种基于人工智能平台的模型部署方法,该方法包括:基于用户创建的支持多种功能的算法,创建预设算法集;响应于用户终端发送的第一用户指令,从预设算法集中,选择出第一用户指令所指示的至少一个目标算法,构成预训练模型;其中,用于创建至少一个目标算法的创建框架不同;获取预训练模型对应的训练模型参数以及训练数据集;基于训练模型参数与训练数据集,对预训练模型进行训练,得到第一待部署模型;将第一待部署模型转换为第二待部署模型,以使第二待部署模型中的各目标算法的格式转换为统一的、且与各待部署设备所支持的格式兼容的中间格式;对第二待部署模型进行调优,得到第三待部署模型,第三待部署模型的精度与第一待部署模型的精度的差值落在预设范围内、且第三待部署模型的各目标算法的格式与待部署设备所支持的格式匹配;响应于对第三待部署模型的测试通过,基于第三待部署模型构造软件开发工具包并进行发布,以使待部署设备下载软件开发工具包,并依据软件开发工具包将第三待部署模型安装在待部署设备上。
为解决上述技术问题,本申请采用的另一技术方案是:提供一种人工智能平台,该人工智能平台包括获取模块、训练模块、转换模块、测试模块以及部署模块,获取模块用于基于用户创建的支持多种功能的算法,创建预设算法集;响应于用户终端发送的第一用户指令,从预设算法集中,选择出第一用户指令所指示的至少一个目标算法,构成预训练模型;其中,用于创建至少一个目标算法的创建框架不同;获取预训练模型对应的训练模型参数以及训练数据集;训练模块与获取模块连接,用于基于训练模型参数与训练数据集,对预训练模型进行训练,得到第一待部署模型;转换模块与训练模块连接,用于将第一待部署模型转换为第二待部署模型,以使第二待部署模型中的各目标算法的格式转换为统一的、且与各待部署设备所支持的格式兼容的中间格式;对第二待部署模型进行调优,得到第三待部署模型,第三待部署模型的精度与第一待部署模型的精度的差值落在预设范围内、且第三待部署模型的各目标算法的格式与待部署设备所支持的格式匹配;测试模块与转换模块连接,用于对第三待部署模型进行测试;部署模块与测试模块连接,用于响应于对第三待部署模型的测试通过,基于第三待部署模型构造软件开发工具包并进行发布,以使待部署设备下载软件开发工具包,并依据软件开发工具包将第三待部署模型安装在待部署设备上。
为解决上述技术问题,本申请采用的另一技术方案是:提供一种人工智能平台,该人工智能平台包括互相连接的存储器和处理器,其中,存储器用于存储计算机程序,计算机程序在被处理器执行时,用于实现上述技术方案中的基于人工智能平台的模型部署方法。
为解决上述技术问题,本申请采用的另一技术方案是:提供一种计算机可读存储介质,该计算机可读存储介质用于存储计算机程序,计算机程序在被处理器执行时,用于实现上述技术方案中的基于人工智能平台的模型部署方法。
通过上述方案,本申请的有益效果是:用户对人工智能平台进行操作,以从预设算法集中选择出至少一个目标算法,构成预训练模型;人工智能平台获取预训练模型对应的训练模型参数以及训练数据集;然后,基于训练模型参数与训练数据集,对预训练模型进行训练,得到第一待部署模型;然后,将第一待部署模型转换为第二待部署模型,以使第二待部署模型中的各目标算法的格式转换为统一的、且与各待部署设备所支持的格式兼容的中间格式;对第二待部署模型进行调优得到第三待部署模型,第三待部署模型的精度与第一待部署模型的精度的差值落在预设范围内、且第三待部署模型的各目标算法的格式与待部署设备所支持的格式匹配;然后,对第三待部署模型进行测试;如果对第三待部署模型的测试通过,则基于第三待部署模型构造软件开发工具包并进行发布,以使待部署设备下载软件开发工具包,并依据软件开发工具包将第三待部署模型安装在待部署设备上;由于预设算法集可以包括多种算法,因此,本方案可生成多种算法的模型,能够应用于各种业务场景,扩宽了方案的应用范围,使开发人员脱离各种业务场景的算法的定制开发,减轻开发人员的负担;此外,在模型转换过程中,通过精度调优,用户可获取精度较优的模型,减少模型转换造成的精度损失,有助于提升部署到待部署上的模型的精度。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。其中:
图1是本申请提供的基于人工智能平台的模型部署方法一实施例的流程示意图;
图2是本申请提供的显示界面的示意图;
图3是本申请提供的人工智能平台一实施例的结构示意图;
图4是本申请提供的人工智能平台另一实施例的结构示意图;
图5是本申请提供的计算机可读存储介质一实施例的结构示意图。
具体实施方式
下面结合附图和实施例,对本申请作进一步的详细描述。特别指出的是,以下实施例仅用于说明本申请,但不对本申请的范围进行限定。同样的,以下实施例仅为本申请的部分实施例而非全部实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
需要说明的是,本申请中的术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”的特征可以明示或者隐含地包括至少一个该特征。本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
当前市面上的人工智能平台,存在的问题如下所示:
1.使用的算法方案单一,不能满足各种业务场景。
2.缺乏迭代训练的功能。
迭代训练的功能为:如果训练后的模型的精度不满足要求,则在训练后的模型的基础上,添加数据,对训练后的模型继续进行训练。
3.不能在各种芯片平台上部署模型,人工智能平台无法满足快速迭代的需求,无法支持模型的实时动态更新。
基于上述问题,本申请提供了一种基于人工智能平台的模型部署方案,能够满足多种业务场景,迭代训练能够被快速触发,且模型能够被部署到各种芯片平台,下面进行具体描述。
请参阅图1,图1是本申请提供的基于人工智能平台的模型部署方法一实施例的流程示意图,本实施例的执行主体为人工智能平台,该方法包括:
S11:响应于用户终端发送的第一用户指令,从预设算法集中选择出第一用户指令所指示的至少一个目标算法,构成预训练模型。
用户可以先登录人工智能平台,然后对人工智能平台进行操作,创建支持多种功能的算法。人工智能平台用于基于用户创建的支持多种功能的算法,创建预设算法集;在接收到用户终端发送的第一用户指令后,从预设算法集中,选择出第一用户指令所指示的至少一个目标算法,构成预训练模型,即第一用户指令用于表示从预设算法集中选择出至少一个目标算法。具体地,用于创建至少一个目标算法的创建框架不同,预设算法集包括至少两种算法,算法的具体种类以及数量可根据实际应用需要进行设置,比如:预设算法集中的算法可以为目标检测(Object Detection,OD)、目标分类(object classification,OC)、目标跟踪、缺陷检测、行人重识别、文字识别(比如:光学字符识别(optical characterrecognition,OCR))或图像分割等算法方案,本实施例对此不做限制。可以理解地,本实施例对目标算法使用的深度学习框架不做限制,比如,可以采用pytorch模型和TensorFlow模型等。
在一实施方式中,人工智能平台包括显示设备,显示设备的显示界面上具有与预设算法集中的每个算法对应的选项,供用户选择,用户可以从中选择一种算法作为目标算法;另外,每种算法还可包括多种不同的实现算法,比如,如图2所示,目标检测算法包括算法A1~算法A2,图像分割算法包括算法B1~算法B3,用户可选择算法B3作为目标算法。
可以理解地,如果用户需要采用一种新算法,可以直接将新算法更新至预设算法集,形成新的预设算法集。
S12:获取预训练模型对应的训练模型参数以及训练数据集。
训练数据集为训练目标算法对应的预训练模型所需的数据,训练数据集中的样本数据的种类以及样本数据的数量可以根据具体的业务场景进行设置,样本数据可以为图像、视频、文本或音频等;例如,假设目标算法为人脸识别算法,则训练数据集可以包括不同人的人脸图像。
训练模型参数由用户设置,为了降低用户的使用门槛,人工智能平台将复杂的超参数进行隐藏,且使用默认的最优参数,用户只需要输入通用的训练模型参数即可,训练模型参数可以包括业务场景的标注数据、预训练模型的结构或训练迭代次数等,本实施例对训练模型参数的种类不做限制。具体地,训练迭代次数为模型的总共训练的次数,当模型的训练次数达到训练迭代次数时,可结束训练;可以根据实际的芯片性能和精度,设置预训练模型的复杂度;标注数据可以包括位置标签、属性标签或类别标签,位置标签为目标对象的位置,属性标签为目标对象的属性,类别标签为目标对象的类别,目标对象可以为人、车、其他动物或物品,比如:属性标签包括衣服颜色、头发颜色、是否佩戴眼镜、年龄、性别或其他,类别标签包括人、狗、猫或其他。
进一步地,标注数据的获取有3个来源:①用户将标注数据从本地上传至人工智能平台;②人工智能平台设置有数据标注功能,用户可选择从本地上传素材(比如:图像、视频、文本或音频),在人工智能平台对素材进行标注,得到标注数据;③从数据集服务器远程下载对应的标注数据。
可以理解地,除了利用目标算法来确定预训练模型之外,还可以利用标算法对应的训练模型参数来确定预训练模型,或者,还可结合目标算法与训练模型参数来确定预训练模型。
在一实施方式中,可以基于训练模型参数,构建与目标算法对应的算法模型,得到预训练模型。具体地,人工智能平台为预设算法集中的每个算法提供了可供用户选择的算法模型,用户可自行选择需要的算法模型;或者,目标算法包括多个子算法,每个子算法的实现方式可以是多种多样的,用户通过选择合适的子算法对应的模型,搭建出预训练模型,例如,假设以目标算法为人脸识别算法为例,人脸识别算法包括人脸检测算法、人脸定位算法以及特征提取算法,人脸检测算法包括算法C1~C2,人脸定位算法包括算法C2~C5,特征提取算法包括算法C6~C7,用户可选择算法C1对应的子模型M1来实现人脸检测的功能,选择算法C2对应的子模型M2来实现人脸定位的功能,选择算法C7对应的子模型M3来实现特征提取的功能,预训练模型包括依次连接的子模型M1、子模型M2以及子模型M3。
在另一实施方式中,训练模型参数还包括预置模型,将预置模型确定为预训练模型,该预置模型为开发人员预先搭建好的与目标算法对应的算法模型。
在另一实施方式中,还可以提前为预设算法集中的每种算法创建对应的算法模型,生成预设模型库;然后,在实际应用时,直接从预设模型库中选择与目标算法对应的算法模型,得到预训练模型。
在其他实施方式中,用户还在训练前,选择业务场景的历史训练模型作为预训练模型,该方案能够减少训练耗时,实现快速迭代,优化模型的精度。
S13:基于训练模型参数与训练数据集,对预训练模型进行训练,得到第一待部署模型。
在获取到预训练模型后,利用训练数据集对预训练模型进行训练,得到训练结果,该训练结果包括第一待部署模型,第一待部署模型为对预训练模型进行训练得到的模型。可以理解地,训练预训练模型所采用的方案可参考相关技术,在此不再赘述。
在一实施方式中,训练结果还包括模型评估报告,模型评估报告包括损失曲线或全类平均正确率曲线,损失曲线表示训练次数与预训练模型的损失值的对应关系,全类平均正确率(mean Average Precision,MAP)曲线表示训练数据集中的目标对象的类别与类别的全类平均正确率的对应关系。判断模型评估报告中是否存在损失曲线,若是,则显示损失曲线。判断模型评估报告中是否存在全类平均正确率曲线,若是,则显示全类平均正确率曲线。通过设置损失曲线或全类平均正确率曲线,方便用户了解模型的训练状况。
S14:将第一待部署模型转换为第二待部署模型,并对第二待部署模型进行调优,得到第三待部署模型。
由于深度学习框架(比如:pytorch和TensorFlow等)的规模和依赖环境的限制,深度学习框架不适合在手机或开发板等嵌入式设备上安装;另外,基于深度学习框架的模型的结构通常比较庞大,需要较大的算力才能满足实时运行的需求;因此,需要将基于深度学习框架的模型转化为待部署设备中相应的推理引擎能读取的中间格式,即将第一待部署模型转换为第二待部署模型,以使第二待部署模型中的各目标算法的格式转换为统一的、且与各待部署设备所支持的格式兼容的中间格式,即第二待部署模型中的各个目标算法的格式是相同的。
由于每个算法可以对应不同的深度学习框架,因此训练产物(即第一待部署模型)的格式有多种,例如,pytorch框架对应的训练产物的格式为pth,需要将这些训练产物转换为一种中间格式(即第二待部署模型的格式),比如:caffe、onnx或darknet等格式,本实施例对此不做限制。
在一实施方式中,将第一待部署模型转换为第二待部署模型的方案包括如下步骤:
a1)获取用户输入的转化输入参数。
用户输入的通用的转化输入参数包括第一待部署模型、第一待部署模型的模型配置文件、待部署设备的平台标识信息或业务场景对应的部分素材,待部署设备可以为相关技术中的芯片平台。例如,以caffe模型为例,模型配置文件的结构类似于caffe模型中定义网络的文件prototxt。
a2)基于转化输入参数,从转换工具集中选出与待部署设备对应的转换工具,得到当前转换工具。
为了实现各种芯片平台的模型转换,本实施例提供的人工智能平台整体封装了各个芯片平台的转换工具,若有新增的芯片平台的转换工具,则对该转换工具进行封装,得到更新后的转换工具集。
进一步地,获取工具映射表,该工具映射表包括至少一个平台标识信息以及平台标识信息对应的转换工具;将待部署设备的平台标识信息与工具映射表进行匹配,得到当前转换工具。例如,平台标识信息与转换工具的对应关系可参考表1:
表1 平台标识信息和转换工具的对应关系
平台标识信息 | 转换工具 |
平台1 | 转换工具1 |
平台2 | 转换工具2 |
平台3 | 转换工具3 |
a3)采用当前转换工具将转化输入参数中的第一待部署模型转换为第二待部署模型。
用户输入通用的转换输入参数和待部署设备的平台标识信息,传入到封装的转换工具集中,得到当前转换工具;采用当前转换工具对第一待部署模型进行转换,得到对应的转换模型(即第二待部署模型)。由于不同芯片平台对应的转换方法不统一,导致用户需要学习多个芯片平台的转换工具,提高了人工智能应用落地的门槛;而本方案通过设置转换工具集,使得人工智能平台具备模型转换功能,降低对用户的专业性的要求,方便用户使用。
另外,封装的转换工具集的内部包括精度调优功能,目的是在模型转换的过程中,使第一待部署模型和转换后的模型的精度尽量达到一致,解决精度一致性问题,提高效率。具体地,精度调优功能包含精度评判、精度定位以及精度优化等功能,本实施例以精度评判、精度定位、精度优化功能为例进行说明;精度评判功能主要支持基于参考引擎比较的方式,在存在标签数据的情况下,也可采用标签数据作为参考,输出比较信息,例如,模型的输出节点的类型包括推理(Inference)、TopN(即从某个目标对象的多个分类结果取最大N个元素的结果)和Yolo(you only live once)等,对于Inference输出节点来说,准确率的计算方式采用余弦相似度;对于TopN输出节点来说,准确率的计算方式结合了置信度和类别;对于Yolo输出节点来说,准确率的计算方式结合了置信度、类别和检测框;精度定位功能和精度评判功能类似,区别在于精度评判功能只支持最终输出结果的比较,而精度定位功能则提供模型的每层输出结果的比较;精度优化功能是在多种量化方式下,对目标引擎(即待部署设备上的推理引擎)和参考引擎(即第二待部署模型对应的推理引擎)的输出结果进行比较,挑选出更优的量化方式,最终使得用户获得最优的转换模型(即第三待部署模型);其中,参考引擎可以为onnxRuntime和TensorRT等。
在一实施方式中,转化输入参数还包括测试数据,对第二待部署模型进行调优得到第三待部署模型的方案,具体包括:在每次对第二待部署模型进行调优后,将测试数据输入第一待部署模型,得到第一模型输出结果;将测试数据输入当前调优后的第二待部署模型,得到第二模型输出结果;基于第一模型输出结果与第二模型输出结果,判断第一待部署模型的精度与当前调优后的第二待部署模型的精度的差值是否落在预设范围内,预设范围为根据经验或具体应用需要设置的一个范围,比如,0附近;若第一待部署模型的精度与当前调优后的第二待部署模型的精度的差值落在预设范围内,则将当前调优后的第二待部署模型确定为第三待部署模型;若第一待部署模型的精度与第二待部署模型的精度的差值未落在预设范围内,则调整转化输入参数,并返回对采用当前转换工具将转化输入参数中的第一待部署模型转换为第二待部署模型的步骤,直至第二待部署模型的精度达到预设精度,得到第三待部署模型,第三待部署模型的精度与第一待部署模型的精度的差值落在预设范围内、且第三待部署模型的各目标算法的格式与待部署设备所支持的格式匹配。
通过转换工具集的精度调优功能,能够减少模型转换的精度损失,使得用户获取精度最优的转换后的模型。
S15:响应于对第三待部署模型的测试通过,基于第三待部署模型构造软件开发工具包并进行发布,以使待部署设备下载软件开发工具包,并依据软件开发工具包将第三待部署模型安装在待部署设备上。
对第三待部署模型进行测试,并判断测试是否通过,若是,则基于第三待部署模型构造软件开发工具包并进行发布,以使待部署设备下载软件开发工具包,并依据软件开发工具包将第三待部署模型安装在待部署设备上;或者,由用户将软件开发工具包下载,并上传至相应的待部署设备。
在一具体的实施例中,采用如下方案对来第三待部署模型进行测试以及部署:
(1)在获取到第三待部署模型后,执行自动化测试操作,对第三待部署模型进行测试,得到测试结果,具体方案如下所示:
c1)将第三待部署模型与第三待部署模型的模型辅助信息配置文件合并,得到第一部署信息,并将第一部署信息转换为第二部署信息。
模型辅助信息配置文件可由用户在人工智能平台的显示界面上进行设置,模型辅助信息配置文件可以包括待部署设备支持的最大通道数或类别映射表,类别映射表包括待部署设备上的每个算法模型的输出结果的类别以及输出结果对应的映射序号,任意两个输出结果的类别对应的映射序号不同。具体地,如果待部署设备支持多通道(batch),则可在模型辅助信息配置文件中写入该信息,有利于在待部署设备中减少模型耗时。
例如,将第三待部署模型和模型辅助信息配置文件结合,并转换为nnx格式得到第二部署信息,即第二部署信息包含第三待部署模型和模型辅助信息配置文件;人工智能平台还支持用户设置模型输出的类别的序号(记作模型输出序号),例如,如表2所示:
表2 模型输出序号与物体类别的对应关系
由表2可知,A模型与B模型的模型输出序号是一样的,但是代表的含义是不一致的;如果将A模型和B模型同时部署在同一设备中,将造成类别歧义,无法获得准确的输出结果;因此,为了方便用户在同一设备部署多个模型,模型辅助信息配置文件将支持表3的对应关系,为不同的物体类别设置唯一的映射序号:
表3 模型输出序号、物体类别以及映射序号的对应关系
c2)在接收到第二用户指令后,将待部署设备对应的软件开发工具包(SoftwareDevelopment Kit,SDK)中的模型相关信息替换为第二部署信息。
c3)运行软件开发工具包,得到测试结果。
本方案内置了各个芯片平台的软件开发工具包,软件开发工具包的内部包括默认的算法模型以及接收输入信息的调度库。用户选择自动化测试后,本方案用第三待部署模型替换芯片平台的软件开发工具包中默认的算法模型;然后,获取已标注的素材(包括图片素材和标注文件),将替换后的软件开发工具包上传至本方案链接的芯片平台并且运行该软件开发工具包,最终将软件开发工具包输出的结果与标注文件进行比对,得出测试结果。
(2)基于测试结果,判断第三待部署模型的性能是否达到预设性能。
利用测试结果判断第三待部署模型的性能是否达到预设性能;如果第三待部署模型的性能未达到预设性能,则返回执行获取与目标算法对应的训练模型参数以及训练数据集的步骤,即返回S12,直至第三待部署模型的性能达到预设性能。具体地,测试结果包括漏报率、误报率、全类平均正确率、检出率和有效率等性能指标,可以根据输出的性能指标,提示如何提升该指标性能。
在一实施方式中,预设性能可以为第一预设阈值,可以判断全类平均正确率是否低于第一预设阈值;如果全类平均正确率低于第一预设阈值,则表明第三待部署模型的性能未达到预设性能,此时生成第一提示信息,该第一提示信息用于表示添加正样本与背景样本到训练数据集中,以对训练数据集进行更新;利用更新后的训练数据集进行迭代训练,即返回执行获取与目标算法对应的训练模型参数以及训练数据集,直至第三待部署模型的性能达到预设性能。
在另一实施方式中,预设性能可以为第二预设阈值,可以判断检出率是否低于第二预设阈值;如果检出率低于第二预设阈值,则表明第三待部署模型的性能未达到预设性能,此时生成第二提示信息,该第二提示信息用于表示添加正样本到训练数据集中,以对训练数据集进行更新;利用更新后的训练数据集进行迭代训练,即返回获取与目标算法对应的训练模型参数以及训练数据集,直至第三待部署模型的性能达到预设性能。
在另一实施方式中,预设性能可以为第三预设阈值,可以判断有效率是否低于第三预设阈值;如果有效率低于第三预设阈值,则表明第三待部署模型的性能未达到预设性能,误报较多,此时生成第三提示信息,该第三提示信息用于表示添加背景样本到训练数据集中,以对训练数据集进行更新;利用更新后的训练数据集进行迭代训练,即返回获取与目标算法对应的训练模型参数以及训练数据集,直至第三待部署模型的性能达到预设性能。
可以理解地,还可以对上述几种方案进行组合,以判定第三待部署模型的性能是否达到预设性能,比如:预设性能包括第二预设阈值与第三预设阈值,判断检出率是否大于第二预设阈值以及有效率是否大于第三预设阈值,若是,则表明第三待部署模型的性能达到预设性能;或者,预设性能包括第一预设阈值、第二预设阈值以及第三预设阈值,判断全类平均正确率是否大于第一预设阈值、检出率是否大于第二预设阈值以及有效率是否大于第三预设阈值,若是,则表明第三待部署模型的性能达到预设性能。可以理解地,还可通过其他方式来检测第三待部署模型的性能,本实施例对此不作限定。
在其他实施方式中,自动化测试功能还支持保存当前时刻的测试结果(记作当前测试结果)以及历史时刻的测试结果(记作历史测试结果),目的是对第三待部署模型的测试结果进行多重比较,其包括每张测试图片的结果比对以及每个性能指标的对比,方便用户进一步分析模型的性能差异。
本实施例提供的人工智能平台具备自动化测试功能,能够利用第二测试数据进行自动化测试,实现对模型进行整体评估,得到漏报率、误报率、全类平均正确率、检出率以及有效率等性能指标;另外,还能够和历史测试结果进行比对,方便用户对模型进行进一步的深度分析,以便提升模型的性能。
(3)若第三待部署模型的性能达到预设性能,则确定对第三待部署模型的测试通过,将第三待部署模型部署到待部署设备上。
用户可选择替换软件开发工具包内默认的单个或多个算法模型,本方案自动将新的软件开发工具包进行打包,支持用户下载新的软件开发工具包。用户能够直接在人工智能平台的显示界面下载新的软件开发工具包,并且上传至对应的待部署设备中,以使得待部署设备运行该软件开发工具包,实现对第三待部署模型的部署,减少对用户更换软件开发工具包的专业性要求,实现了实时动态更新待部署设备中的算法模型。
值得说明的是,在实际业务落地过程中,模型训练及转换只是产品流程中的一环,用于实现某些特定功能,其输出可能用于当前流程的下一流程,模型打包可将模型的前后处理模型(一个或者多个模型)整合到一起,再加入描述性的文件(比如:前后处理模型的参数、模型相关参数、模型格式或版本等)来实现一个完整的功能;当需要使用时将这些模型解析成整个流程(pipeline)的不同阶段(stage),从而实现整个产品功能。例如,假设以行人重识别为例,采用的模型包括检测模型、跟踪模型以及特征对比模型,可对检测模型、跟踪模型以及特征对比模型进行模型打包,得到一个重识别模型;在实际使用时,拆分该模型重识别模型,分别利用检测模型、跟踪模型以及特征对比模型实现相应的效果,最终实现行人重识别。
人工智能平台支持自动在待部署设备的软件开发工具包中替换对应的算法模型,用户只需要直接下载对应的软件开发工具包,并部署在待部署设备中即可,降低对用户的专业性的要求,实现实时动态更新待部署设备中的算法模型。
本实施例提供了一种适应多种业务场景的人工智能平台方案,使开发人员脱离各种业务场景算法的定制开发,能够满足各种业务场景;而且,通过整体封装各种芯片平台的转换工具集,能够降低人工智能平台的使用门槛,促使人工智能迅速在实际业务中实现快速落地应用,提高模型转换效率;此外,人工智能平台还具备迭代训练功能,能够不断调整模型的精度,使得模型的性能更好;此外,支持模型在各种芯片平台进行模型转换和部署,应用范围较为广泛,且在模型转换过程中,通过精度调优功能,使得用户可获取精度最优的转换模型,减少模型转换的精度损失,有助于改善部署到待部署设备上的模型的精度。
请参阅图3,图3是本申请提供的人工智能平台一实施例的结构示意图,人工智能平台30包括获取模块31、训练模块32、转换模块33、测试模块34以及部署模块35。
获取模块31用于基于用户创建的支持多种功能的算法,创建预设算法集;响应于用户终端发送的第一用户指令,从预设算法集中,选择出第一用户指令所指示的至少一个目标算法,构成预训练模型;其中,用于创建至少一个目标算法的创建框架不同;获取预训练模型对应的训练模型参数以及训练数据集。
训练模块32与获取模块31连接,训练模块32用于基于训练模型参数与训练数据集,对预训练模型进行训练,得到第一待部署模型。
转换模块33与训练模块32连接,转换模块33用于将第一待部署模型转换为第二待部署模型,以使第二待部署模型中的各目标算法的格式转换为统一的、且与各待部署设备所支持的格式兼容的中间格式;对第二待部署模型进行调优,得到第三待部署模型,第三待部署模型的精度与第一待部署模型的精度的差值落在预设范围内、且第三待部署模型的各目标算法的格式与待部署设备所支持的格式匹配。
测试模块34与转换模块33连接,测试模块34用于对第三待部署模型进行测试。
部署模块35与测试模块34连接,部署模块35用于响应于对第三待部署模型的测试通过,基于第三待部署模型构造软件开发工具包并进行发布,以使待部署设备下载软件开发工具包,并依据软件开发工具包将第三待部署模型安装在待部署设备上。
本实施例所提供的方案支持模型在各种芯片平台上转换和部署,应用范围较为广泛;而且,由于在转换阶段以及测试阶段,均对模型的性能进行评估并调整模型,使得最终部署到芯片平台上的模型的性能较好。
请参阅图4,图4是本申请提供的人工智能平台另一实施例的结构示意图,人工智能平台40包括互相连接的存储器41和处理器42,存储器41用于存储计算机程序,计算机程序在被处理器42执行时,用于实现上述实施例中的基于人工智能平台的模型部署方法。
请参阅图5,图5是本申请提供的计算机可读存储介质一实施例的结构示意图,计算机可读存储介质50用于存储计算机程序51,计算机程序51在被处理器执行时,用于实现上述实施例中的基于人工智能平台的模型部署方法。
计算机可读存储介质50可以是服务端、U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本申请所提供的几个实施方式中,应该理解到,所揭露的方法以及设备,可以通过其它的方式实现。例如,以上所描述的设备实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本申请各个实施方式中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
若本申请技术方案涉及个人信息,应用本申请技术方案的产品在处理个人信息前,已明确告知个人信息处理规则,并取得个人自主同意。若本申请技术方案涉及敏感个人信息,应用本申请技术方案的产品在处理敏感个人信息前,已取得个人单独同意,并且同时满足“明示同意”的要求。例如,在摄像头等个人信息采集装置处,设置明确显著的标识告知已进入个人信息采集范围,将会对个人信息进行采集,若个人自愿进入采集范围即视为同意对其个人信息进行采集;或者在个人信息处理的装置上,利用明显的标识/信息告知个人信息处理规则的情况下,通过弹窗信息或请个人自行上传其个人信息等方式获得个人授权;其中,个人信息处理规则可包括个人信息处理者、个人信息处理目的、处理方式以及处理的个人信息种类等信息。
以上仅为本申请的实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种基于人工智能平台的模型部署方法,其特征在于,所述方法包括:
基于用户创建的支持多种功能的算法,创建预设算法集;
响应于用户终端发送的第一用户指令,从所述预设算法集中,选择出所述第一用户指令所指示的至少一个目标算法,构成每个所述目标算法分别对应的预训练模型;其中,用于创建不同的目标算法的创建框架不同;
获取所述预训练模型对应的训练模型参数以及训练数据集;
基于所述训练模型参数与所述训练数据集,对所述预训练模型进行训练,得到第一待部署模型;
将所述第一待部署模型转换为第二待部署模型,以使所述第二待部署模型中的各目标算法的格式转换为统一的、且与各待部署设备所支持的格式兼容的中间格式;
对所述第二待部署模型进行调优,得到第三待部署模型,所述第三待部署模型的精度与所述第一待部署模型的精度的差值落在预设范围内、且所述第三待部署模型的各目标算法的格式与所述待部署设备所支持的格式匹配;
响应于对所述第三待部署模型的测试通过,基于所述第三待部署模型构造软件开发工具包并进行发布,以使所述待部署设备下载所述软件开发工具包,并依据所述软件开发工具包将所述第三待部署模型安装在所述待部署设备上。
2.根据权利要求1所述的基于人工智能平台的模型部署方法,其特征在于,所述响应于对所述第三待部署模型的测试通过,基于所述第三待部署模型构造软件开发工具包并进行发布的步骤之前,包括:
对所述第三待部署模型进行测试,得到测试结果;
基于所述测试结果,判断所述第三待部署模型的性能是否达到预设性能;
若是,则确定对所述第三待部署模型的测试通过。
3.根据权利要求1所述的基于人工智能平台的模型部署方法,其特征在于,所述将所述第一待部署模型转换为第二待部署模型的步骤,包括:
获取用户输入的转化输入参数;
基于所述转化输入参数,从转换工具集中选出与所述待部署设备对应的转换工具,得到当前转换工具;
采用所述当前转换工具将所述第一待部署模型转换为所述第二待部署模型。
4.根据权利要求3所述的基于人工智能平台的模型部署方法,其特征在于,所述转化输入参数还包括测试数据,所述对所述第二待部署模型进行调优,得到第三待部署模型的步骤,包括:
在每次对所述第二待部署模型进行调优后,将所述测试数据输入所述第一待部署模型,得到第一模型输出结果;
将所述测试数据输入当前调优后的第二待部署模型,得到第二模型输出结果;
基于所述第一模型输出结果与所述第二模型输出结果,判断所述第一待部署模型的精度与所述当前调优后的第二待部署模型的精度的差值是否落在所述预设范围内;
若是,则将所述当前调优后的第二待部署模型确定为所述第三待部署模型。
5.根据权利要求1所述的基于人工智能平台的模型部署方法,其特征在于,所述第三待部署模型通过如下方式测试:
将所述第三待部署模型与所述第三待部署模型的模型辅助信息配置文件合并,得到第一部署信息,并将所述第一部署信息转换为第二部署信息;
在接收到第二用户指令后,将所述待部署设备对应的软件开发工具包中的模型相关信息替换为所述第二部署信息;
运行所述软件开发工具包,得到测试结果;
其中,所述模型辅助信息配置文件包括所述待部署设备支持的最大通道数或类别映射表,所述类别映射表包括所述待部署设备上的每个算法模型的输出结果的类别以及所述输出结果对应的映射序号,任意两个所述输出结果的类别对应的映射序号不同。
6.根据权利要求5所述的基于人工智能平台的模型部署方法,其特征在于,所述测试结果包括全类平均正确率、检出率以及有效率,所述方法还包括:
响应于所述全类平均正确率低于第一预设阈值,生成第一提示信息,所述第一提示信息用于表示添加正样本与背景样本到所述训练数据集中;
响应于所述检出率低于第二预设阈值,生成第二提示信息,所述第二提示信息用于表示添加所述正样本到所述训练数据集中;
响应于所述有效率低于第三预设阈值,生成第三提示信息,所述第三提示信息用于表示添加所述背景样本到所述训练数据集中。
7.根据权利要求1所述的基于人工智能平台的模型部署方法,其特征在于,基于所述训练模型参数与所述训练数据集,对所述预训练模型进行训练,得到的训练结果还包括模型评估报告,所述方法还包括:
响应于所述模型评估报告中存在损失曲线,显示所述损失曲线;
响应于所述模型评估报告中存在全类平均正确率曲线,显示所述全类平均正确率曲线;
其中,所述损失曲线表示训练次数与所述预训练模型的损失值的对应关系,所述全类平均正确率曲线表示所述训练数据集中的目标对象的类别与所述类别的全类平均正确率的对应关系。
8.一种人工智能平台,其特征在于,包括:
获取模块,用于基于用户创建的支持多种功能的算法,创建预设算法集;响应于用户终端发送的第一用户指令,从所述预设算法集中,选择出所述第一用户指令所指示的至少一个目标算法,构成每个所述目标算法分别对应的预训练模型;其中,用于创建不同的目标算法的创建框架不同;获取所述预训练模型对应的训练模型参数以及训练数据集;
训练模块,与所述获取模块连接,用于基于所述训练模型参数与所述训练数据集,对所述预训练模型进行训练,得到第一待部署模型;
转换模块,与所述训练模块连接,用于将所述第一待部署模型转换为第二待部署模型,以使所述第二待部署模型中的各目标算法的格式转换为统一的、且与各待部署设备所支持的格式兼容的中间格式;对所述第二待部署模型进行调优,得到第三待部署模型,所述第三待部署模型的精度与所述第一待部署模型的精度的差值落在预设范围内、且所述第三待部署模型的各目标算法的格式与所述待部署设备所支持的格式匹配;
测试模块,与所述转换模块连接,用于对所述第三待部署模型进行测试;
部署模块,与所述测试模块连接,用于响应于对所述第三待部署模型的测试通过,基于所述第三待部署模型构造软件开发工具包并进行发布,以使所述待部署设备下载所述软件开发工具包,并依据所述软件开发工具包将所述第三待部署模型安装在所述待部署设备上。
9.一种人工智能平台,其特征在于,包括互相连接的存储器和处理器,其中,所述存储器用于存储计算机程序,所述计算机程序在被所述处理器执行时,用于实现权利要求1-7中任一项所述的基于人工智能平台的模型部署方法。
10.一种计算机可读存储介质,用于存储计算机程序,其特征在于,所述计算机程序在被处理器执行时,用于实现权利要求1-7中任一项所述的基于人工智能平台的模型部署方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210783939.4A CN114861836B (zh) | 2022-07-05 | 2022-07-05 | 一种基于人工智能平台的模型部署方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210783939.4A CN114861836B (zh) | 2022-07-05 | 2022-07-05 | 一种基于人工智能平台的模型部署方法及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114861836A CN114861836A (zh) | 2022-08-05 |
CN114861836B true CN114861836B (zh) | 2022-10-28 |
Family
ID=82626179
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210783939.4A Active CN114861836B (zh) | 2022-07-05 | 2022-07-05 | 一种基于人工智能平台的模型部署方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114861836B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116069318B (zh) * | 2023-03-07 | 2023-05-30 | 北京麟卓信息科技有限公司 | 一种智能应用的快速构建部署方法及系统 |
CN116542344A (zh) * | 2023-07-05 | 2023-08-04 | 浙江大华技术股份有限公司 | 一种模型自动化部署方法、平台和系统 |
CN117035065A (zh) * | 2023-10-10 | 2023-11-10 | 浙江大华技术股份有限公司 | 模型评估的方法及相关装置 |
CN117524445A (zh) * | 2023-10-19 | 2024-02-06 | 广州中康数字科技有限公司 | 基于微服务、容器化技术的医学领域人工智能工程化平台 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114594963A (zh) * | 2022-03-21 | 2022-06-07 | 深圳市商汤科技有限公司 | 模型的部署方法、装置、电子设备及存储介质 |
WO2022134600A1 (zh) * | 2020-12-25 | 2022-06-30 | 东云睿连(武汉)计算技术有限公司 | 一种神经网络交互式自动训练系统和方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200249936A1 (en) * | 2019-02-04 | 2020-08-06 | James Ronald Barfield, JR. | Method and system for a platform for api based user supplied algorithm deployment |
US11481620B2 (en) * | 2019-07-29 | 2022-10-25 | International Business Machines Corporation | Intelligent retraining of deep learning models utilizing hyperparameter sets |
EP4036931A4 (en) * | 2019-09-26 | 2023-09-20 | Lunit Inc. | TRAINING METHOD FOR SPECIALIZING AN ARTIFICIAL INTELLIGENCE MODEL IN AN INSTITUTION FOR USE AND DEVICE FOR TRAINING ARTIFICIAL INTELLIGENCE MODELS |
CN111191789B (zh) * | 2020-01-20 | 2023-11-28 | 上海依图网络科技有限公司 | 模型优化部署系统、芯片、电子设备及介质 |
CN111897660B (zh) * | 2020-09-29 | 2021-01-15 | 深圳云天励飞技术股份有限公司 | 模型部署方法、模型部署装置及终端设备 |
CN114546592A (zh) * | 2022-02-18 | 2022-05-27 | 北京市商汤科技开发有限公司 | 模型部署评测方法、服务器、电子设备及存储介质 |
-
2022
- 2022-07-05 CN CN202210783939.4A patent/CN114861836B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022134600A1 (zh) * | 2020-12-25 | 2022-06-30 | 东云睿连(武汉)计算技术有限公司 | 一种神经网络交互式自动训练系统和方法 |
CN114594963A (zh) * | 2022-03-21 | 2022-06-07 | 深圳市商汤科技有限公司 | 模型的部署方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114861836A (zh) | 2022-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114861836B (zh) | 一种基于人工智能平台的模型部署方法及相关设备 | |
US11238310B2 (en) | Training data acquisition method and device, server and storage medium | |
JP6894534B2 (ja) | 情報処理方法及び端末、コンピュータ記憶媒体 | |
CN110851641B (zh) | 跨模态检索方法、装置和可读存储介质 | |
CN108288051B (zh) | 行人再识别模型训练方法及装置、电子设备和存储介质 | |
CN111160275B (zh) | 行人重识别模型训练方法、装置、计算机设备和存储介质 | |
CN107430604A (zh) | 图像内容的语义表示 | |
CN111931809A (zh) | 数据的处理方法、装置、存储介质及电子设备 | |
CN110780965A (zh) | 基于视觉的流程自动化方法、设备及可读存储介质 | |
CN109063790B (zh) | 对象识别模型优化方法、装置和电子设备 | |
CN111666766A (zh) | 数据处理方法、装置和设备 | |
CN111709941A (zh) | 一种面向病理图像的轻量级自动化深度学习系统及方法 | |
CN115909390B (zh) | 低俗内容识别方法、装置、计算机设备以及存储介质 | |
CN109408175B (zh) | 通用高性能深度学习计算引擎中的实时交互方法及系统 | |
CN114187486A (zh) | 模型训练方法及相关设备 | |
CN110275820A (zh) | 页面兼容性测试方法、系统及设备 | |
CN115375954B (zh) | 一种化学实验溶液识别方法、装置、设备及可读存储介质 | |
CN111274812B (zh) | 一种人物关系识别方法、设备及存储介质 | |
CN116956117A (zh) | 一种标签识别的方法、装置、设备、存储介质及程序产品 | |
CN113837910B (zh) | 试题推荐方法、装置、电子设备和存储介质 | |
CN112800235B (zh) | 一种可视化知识图谱数据建模方法和系统 | |
CN117011577A (zh) | 图像分类方法、装置、计算机设备和存储介质 | |
CN114299295A (zh) | 一种数据处理方法及相关装置 | |
CN113282781A (zh) | 图像检索方法及装置 | |
CN114842251A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |