一种人工智能模型部署系统
文献发布时间:2023-06-19 09:36:59
技术领域
本发明属于软件开发管理技术领域,具体涉及一种人工智能模型部署系统。
背景技术
随着人工智能技术的发展,各种各样的人工智能技术层出不穷,极大提升了算法的效果,带来了更多的商业落地场景和智能产品,为生活带来了更多的便利。在开发一个商业化的人工智能产品时,AI算法只是其中的一部分,数据的采集,处理和标注;模型的训练,验证和部署也是很重要的一部分。除此之外,针对不同的算力平台,还需要对模型进行加速和优化。当前,为提升整体算法的效果和更新迭代速度,对人工智能开发系统模块化,自动化,流程化的要求越来越高。对于在不同平台上落地的AI算法,可以进行针对性的优化和差异化的部署,充分调动硬件的算力,保证算法效果的稳定性,增强产品的效果,提升算法开发人员的开发效率。
现有技术存在的问题或者缺陷:现有的算法开发框架,更关注模型训练和验证阶段,对其他环节的支持有限,并不能满足算法落地时对数据管理,模型训练和部署差异化的具体要求。
发明内容
针对上述现有的算法开发框架不能满足算法落地时对数据管理、模型训练和部署差异化的技术问题,本发明提供了一种效率高、使用方便、误差小的人工智能模型部署系统。
为了解决上述技术问题,本发明采用的技术方案为:
一种人工智能模型部署系统,包括数据管理模块、算法和软件开发模块、工程部署计算机硬件模块,所述算法和软件开发模块分别通过通信连接有数据管理模块、工程部署计算机硬件模块,所述数据管理模块用于对算法开发和算法落地的全部阶段进行数据处理以及权限管制,所述工程部署计算机硬件模块通过模型转换工具将算法和软件开发模块完成的架构和算法模型匹配到目标运算平台,所述算法和软件开发模块内设置有算法开发子模块、软件开发子模块,所述算法开发子模块与软件开发子模块连接。
所述数据管理模块包括数据获取子模块、数据清洗子模块、数据处理子模块、数据存储子模块,所述数据获取子模块通过通信连接有数据清洗子模块,所述数据获取子模块获取原始数据源,所述数据清洗子模块通过通信连接有数据处理子模块,所述数据处理子模块通过通信连接有数据存储子模块。
所述数据存储子模块设置一种或多种相互独立的储存单元。
所述数据管理模块内设置有数据权限管理子模块。
所述算法开发子模块包括基准模型单元、模型训练单元、验证测试单元、输出单元,所述基准模型单元与模型训练单元连接,所述模型训练单元与验证测试单元连接,所述验证测试单元与输出单元连接,所述基准模型单元内设置有至少两种预训练基准算法模型,所述模型训练单元设置有可视化监督工具,所述验证测试单元根据模型效果进行反复迭代同时更新算法。
所述软件开发子模块包括软件构架搭建单元、开发算法接口、测试和脚本单元,所述软件构架搭建单元与开发算法接口连接,所述开发算法接口与测试和脚本单元连接,所述软件构架搭建单元根据产品的业务和使用逻辑完成软件整体层面的架构,所述开发算法接口与算法开发子模块的输出单元连接,所述开发算法接口适配算法开发子模块的定型算法,所述测试和脚本单元用于软件和算法的测试和脚本保存。
本发明与现有技术相比,具有的有益效果是:
本发明完整的提供了人工智能算法开发和部署框架,实现了从开发到工程落地的完整流程。在算法开发阶段,需要使用到的工具流程和开发过程,从而帮助开发人员快速验证算法和思路。在算法落地阶段,开发人员可以快速高效的将算法移植到对应的平台上,而不用担心适配问题,提升算法和软件开发人员的整体效率。
附图说明
图1为本发明的整体结构示意图;
图2为本发明数据管理模块的工作流程图;
图3为本发明算法和软件开发模块的工作流程图;
图4为本发明工程部署计算机硬件模块的工作流程图。
其中:1为数据管理模块,2为算法和软件开发模块,3为工程部署计算机硬件模块,201为算法开发子模块,202为软件开发子模块,101为数据获取子模块,102为数据清洗子模块,103为数据处理子模块,104为数据存储子模块,105为数据权限管理子模块,2011为基准模型单元,2012为模型训练单元,2013为验证测试单元,2014为输出单元,2021为软件构架搭建单元,2022为开发算法接口,2023为测试和脚本单元。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
一种人工智能模型部署系统,如图1所示,包括数据管理模块1、算法和软件开发模块2、工程部署计算机硬件模块3,算法和软件开发模块2分别通过通信连接有数据管理模块1、工程部署计算机硬件模块3,数据管理模块1用于对算法开发和算法落地的全部阶段进行数据处理以及权限管制,工程部署计算机硬件模块3通过模型转换工具将算法和软件开发模块2完成的架构和算法模型匹配到目标运算平台,算法和软件开发模块2内设置有算法开发子模块201、软件开发子模块202,算法开发子模块201与软件开发子模块202连接。工程部署计算机硬件模块3针对不同的算力平台,使用对应的模型转换工具,将模型转换为平台支持的运行格式,再根据不同平台的算力支持情况,对模型进行模型剪枝,量化和蒸馏的优化和加速。
进一步,数据管理模块1包括数据获取子模块101、数据清洗子模块102、数据处理子模块103、数据存储子模块104,数据获取子模块101通过通信连接有数据清洗子模块102,数据获取子模块101获取原始数据源,数据清洗子模块101通过通信连接有数据处理子模块103,数据处理子模块103通过通信连接有数据存储子模块104。如图2所示,当确定具体的需求时,根据不同的业务场景,通过数据获取子模块101收集对应的数据。首先收集开源的数据,接着采集业务场景中的数据。数据采集完成之后,通过数据清洗子模块102对数据进行清理。然后通过数据处理子模块103对数据进行标注,并将数据分为开发集,验证集和测试集。最后通过数据存储子模块104将标注信息和原始数据存储在对应的数据库中,并针对不同级别的开发人员和不同的开发周期,对数据赋予不同的权限。
进一步,优选的,数据存储子模块104设置一种或多种相互独立的储存单元。
进一步,数据管理模块1内设置有数据权限管理子模块105。数据权限管理子模块105根据开发人员级别和开发周期长短,对开发者赋予不同层级的数据使用的权限。
进一步,算法开发子模块201包括基准模型单元2011、模型训练单元2012、验证测试单元2013、输出单元2014,基准模型单元2011与模型训练单元2012连接,模型训练单元2012与验证测试单元2013连接,验证测试单元2013与输出单元2014连接,基准模型单元2011内设置有至少两种预训练基准算法模型,模型训练单元2012设置有可视化监督工具,验证测试单元2013根据模型效果进行反复迭代同时更新算法。
进一步,软件开发子模块202包括软件构架搭建单元2021、开发算法接口2022、测试和脚本单元2023,软件构架搭建单元2021与开发算法接口2022连接,开发算法接口2022与测试和脚本单元2023连接,软件构架搭建单元2021根据产品的业务和使用逻辑完成软件整体层面的架构,开发算法接口2022与算法开发子模块201的输出单元2014连接,开发算法接口2022适配算法开发子模块201的定型算法,测试和脚本单元2023用于软件和算法的测试和脚本保存。如图3所示,开发人员在获得数据之后,从系统提供的预训练算法库中,选择一个基准算法,然后在训练集中进行训练,在验证集中评估模型的效果,根据具体的问题,迭代循环去完善模型指标。在开发过程中,系统提供了可视化评估平台,可以随时对模型指标和效果进行评估,提供充足的决策信息,帮助算法开发人员得到更好的算法模型。
该系统作为一个完整的开发和部署系统,其对应的硬件平台主要包括CPU处理器,存储硬件,GPU计算平台和各种端上平台。CPU处理器是该系统进行资源调度的核心。存储硬件用来管理数据。GPU计算平台主要用来模型的训练和验证。各种端上平台用来进行模型的部署。
本发明中的模块、单元或组件的划分仅仅是一种逻辑功能的划分,在实际实现时可以有其他的划分方式,例如多个模块和/或单元可以结合或集成于另一个系统中。作为分离部件说明的模块、单元、组件在物理上可以是分开的,也可以是不分开的。作为单元显示的部件可以是物理单元,也可以不是物理单元,即可以位于一个具体地方,也可以分布到网格单元中。因此可以根据实际需要选择其中的部分或全部的单元来实现实施例的方案。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质,包括但不限于磁盘存储器、CD-ROM、光学存储器等,上实施的计算机程序产品的形式。
上面仅对本发明的较佳实施例作了详细说明,但是本发明并不限于上述实施例,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化,各种变化均应包含在本发明的保护范围之内。
- 一种人工智能模型部署系统
- 一种基于云服务器的人工智能模型部署方法