1.本发明涉及一种基于自定义算子组件的模型开发平台及其方法。
背景技术:2.现阶段,各个公开ai平台中提供的算子组件均为机器学习、深度学习的算子。这些算子组件的底层通常是开源的机器学习、深度学习的python函数/类,以后台的方式集成在平台中,通过ai平台的统一算子组件调用接口,实现标准化的调用操作。所有python函数/类调用所需的(全部/部分)参数,通过后台数据库的方式进行配置。前端通过读取相应算子组件的数据库配置,进而在前端界面给用户展示需要配置的参数项,并通过输入框、下拉菜单、滑动块等输入组件获取参数配置,传递给python函数/类,使其能够正常运行。
3.建模人员使用机器学习、深度学习为主的算子所搭建的模型,无法观察模型内部的结构、系数等配置,因此无法满足工业领域中的实时计算、性能仿真、健康管理等模型的可解释性需求,无法证明模型的稳定性、外推能力等,因此国产ai平台在工业领域中的应用并不广泛,导致机器学习、深度学习在降低环境误差、个体差异等方面提供的自动学习、自动特征选取尚未很好的赋能工业领域。
4.由此,针对工业领域的ai平台必须同时拥有完整的机器学习、深度学习的算子,并结合大量工业领域的算子,才能促进机器学习、深度学习在工业领域中的使用。由于工业领域涉及的专业知识广泛,而ai平台的开发者拥有的工业知识有限,为了在短时间内快速实现ai平台的推广,需要创造工业领域算子组件开发的生态。在生态中,提供便捷的算子组件开发、展示以及订阅等功能。在推广ai平台的同时,鼓励建模人员自行集成相关领域的算子组件与组件包,并将其上架展示,供其他建模人员浏览以及付费订阅。将订阅得到的款项返还给开发该算子组件/组件包的人员,进一步鼓励建模人员集成更多算子组件/组件包。
5.在当前架构下的ai平台,若需要添加算子组件需要前后端工程师同时配合改造才能完成,降低了模型开发的速度、同时限制了平台的适用性。
6.因此,需要ai平台中需要提供便捷的自定义算子组件/组件包功能。
技术实现要素:7.本发明的目的是克服现有技术的缺陷,提供一种基于自定义算子组件的模型开发平台,添加算子组件无需修改后台代码;当需要使用的算子组件未预置在ai平台官方组件包中时,可以查找第三方解决方案;开发的组件与组件包可以分享/订阅。
8.本发明的另外一个目的是提供一种基于自定义算子组件的模型开发平台的模型开发方法。
9.实现上述目的一种技术方案是:一种基于自定义算子组件的模型开发平台,包括ai平台、ai平台用户和至少两个ai平台租户,其中:
10.所述ai平台用户包含3种类型,分别为ai平台管理员、租户管理员和普通用户,每个ai平台租户均包括一个租户管理员和若干普通用户;所述ai平台管理员对所述ai平台进
行管理,所述租户管理员对其所在的所述ai平台租户内的操作进行管理,所述普通用户进行模型开发操作;
11.所述ai平台包括组件开发模块、组件包开发模块、上架审核模块、组件包订阅模块、模型开发模块和拓展模块;
12.所述组件开发模块用于实现单个组件的编辑与注册,单个组件包括描述信息、源代码和参数信息;所述组件开发模块内提供自动/手动源代码校核功能,每个组件在ai平台注册成功后,ai平台返回组件id;
13.所述组件包开发模块用于实现组件包的编辑与注册,单个组件包包括描述信息、一个或多个已注册的组件以及订阅方案信息;所述组件包开发模块内提供自动/手动源代码校核功能,每个组件包在ai平台注册成功后,ai平台返回组件包id;
14.所述上架审核模块用于负责提交组件包上架的申请以及组件包的审核,通过更新组件包的审批信息和显示信息,将组件包由“已注册”流转到“待审核”;所述上架审核模块包括沙箱环境子模块,所述ai平台管理员通过沙箱环境子模块对组件包内的组件进行逐一审核,避免由于未知的错误导致正式环境崩溃,若组件包内的全部组件全部通过审核,则组件包上架,所有ai平台用户均可查看,若组件包内的任意组件未通过审核,则由所述ai平台管理员填写审核意见,并返回组件包开发者;
15.所述组件包订阅模块收到订阅者的请求后,向组件包的开发者发起通知,开发者授权后,组件包对该订阅者开放使用权限;
16.所述模型开发模块用于负责将组件的源代码集成至模型中,并通过参数配置界面,完成组件的参数配置,实现模型的正常运行;
17.所述拓展模块用于实现ai平台中的辅助功能。
18.上述的一种基于自定义算子组件的模型开发平台,其中,所述组件开发模块包括组件基础信息子模块、源代码子模块和参数信息子模块,所述组件基础信息子模块用于注册算子组件的概述信息、使用方法描述、参数描述、分类标签、更新日期和附件;所述组件源代码子模块用于注册组件的源代码,并根据接口规范对代码进行校验;所述组件参数信息子模块用于自动识别源代码中的参数名,并注册相应的参数输入方式、注册“加密”状态和对源代码进行隐藏;所述参数输入方式包括但不限于文本框、下拉菜单和滑动组件。
19.上述的一种基于自定义算子组件的模型开发平台,其中,所述组件采用单输入-单输出、单输入-多输出、多输入-单输出或多输入-多输出的形式。
20.上述的一种基于自定义算子组件的模型开发平台,其中,所述组件包开发模块包括组件包基础信息子模块、组件选择子模块和订阅方案子模块,所述基础信息子模块组件用于注册组件包的描述信息,该描述信息包括功能描述、使用方法和所属类别;所述组件选择子模块用于选择组件注册至当前组件包内,支持一次注册多个组件;所述订阅方案子模块用于注册组件包订阅方案和开发者信息,所述组件包订阅方案包括组件包的使用期限、调用次数和价格信息。
21.上述的一种基于自定义算子组件的模型开发平台,其中,所述组件包包含一个或者多个组件,不同的组件包可以包含相同的组件。
22.上述的一种基于自定义算子组件的模型开发平台,其中,所述模型开发模块包括组件包展示子模块和拖拉拽子模块,所述组件包展示模块用于展示通过所述上架审核模块
审核并上架的组件包,所述组件包展示子模块至少包含预置官方组件包和自定义组件包两种展示方式;所述拖拉拽子模块用于通过拖拉拽操作将组件包展示子模块中的组件集成到模型中,并通过模型开发模块内的参数配置界面,完成模型配置,实现模型代码的执行。
23.上述的一种基于自定义算子组件的模型开发平台,其中,所述组件包订阅模块用于负责将组件包使用者的订阅请求传递至开发者所在的ai平台租户内的租户管理员,若请求通过,则将订阅者添加到允许访问列表中,若请求不通过,则由开发者所在的ai平台租户内的租户管理员填写审核意见,并返回订阅者。
24.上述的一种基于自定义算子组件的模型开发平台,其中,所述拓展模块包括但不限于权限管理子模块,所述权限管理模块用于控制用户的组件包订阅及使用权限,通过所述权限管理模块指定/消除若干租户的组件包订阅权限,若该租户获得某一组件包的订阅及使用权限,则其ai平台租户下所有ai平台用户均可使用该组件包;若该租户失去某一组件包的订阅及使用权限,则其租户下所有ai平台用户均无法添加该组件包下的组件,对于已存在于模型中的组件ai平台用户可以进行执行或删除,不能进行修改。
25.本发明还提供了一种基于自定义算子组件的模型开发方法,通过上述任意一项所述的基于自定义算子组件的模型开发平台进行模型开发,包括以下步骤:
26.s1,第一租户中的开发者开发组件步骤:所述开发者为一个ai平台租户中的普通用户或者租户管理员,开发者在前端页面上新建组件,创建组件记录,完成基础信息、源代码、参数信息的更新,通过组件开发模块内提供的自动校验功能后,实现组件在ai平台上的注册,开发者所在的ai平台租户内的所有用户均可见该组件;
27.s2,第一租户中的开发者开发组件包步骤:开发者在前端页面上新建组件包,创建组件包记录,完成组件包基础信息和组件选择,通过组件包开发模块内提供的自动校验功能后,实现组件包注册至ai平台,开发者所在的ai平台租户内的所有用户均可见该组件包,且能够使用该组件包;实现不修改平台的后台代码在ai平台上添加算子组件;
28.s3,第一租户中的租户管理员提交上架申请步骤:开发者所在的ai平台租户中的租户管理员在前端页面上编辑组件包的订阅方案,提交上架申请,通过更新审批字段以及显示字段,实现组件包流转至ai平台管理员进行审核;
29.s4,ai平台管理员审核步骤:ai平台管理员在前端页面上使用组件包内的组件,对注册至ai平台的组件包中的组件进行逐一审核,全部审核通过后,组件包的显示字段被更新,所有ai平台用户均可见该组件包,实现组件包及组件的分享;若组件包中的任意组件未通过审核,则由ai平台管理员填写审核意见,并返回组件包开发者;
30.s5,第二租户中的租户管理员订阅组件包步骤:另一个ai平台租户中的ai平台用户在ai平台的模型开发模块的组件包展示页面内找到所需的组件包,通知其所在的ai平台租户中的租户管理员,该ai平台租户中的租户管理员作为订阅者,通过组件包订阅模块订阅所需的组件包,更新组件包的订阅信息,流转至该组件包开发者所在的ai平台租户的租户管理员处等待审核;
31.s6,第一租户中的租户管理员审核订阅请求步骤:组件包开发者所在的ai平台租户的租户管理员对订阅申请进行审批,审批通过后,订阅者租户获取组件包的使用权限,实现ai平台用户订阅第三方组件包/组件;若审核驳回,则由组件包开发者所在的ai平台租户的租户管理员填写审核意见,更新订阅者的“待审核”订阅状态改为“被驳回”,并返回订阅
者审核意见;
32.s7,第二租户中的任何用户使用组件包步骤:组件包订阅成功后,订阅成功的ai平台租户中的所有用户通过拓展模块中的权限管理功能获得组件包及其包含的组件的使用权限,并通过模型开发模块对组件进行拖动、连接、参数配置,实现模型的开发,ai平台用户使用第三方的组件完成模型开发。
33.采用本发明的基于自定义算子组件的模型开发平台及其方法的技术方案,可以解决建模工程师需要使用的算子组件未预置在ai平台官方组件包中时,无法简单快速地形成解决方案与知识积累的问题,避免用户流失,促进ai平台发展,具有以下有益效果为:
34.(1)添加算子组件无需修改后台代码;
35.(2)当需要使用的算子组件未预置在ai平台官方组件包中时,可以查找第三方解决方案;
36.(3)开发的组件与组件包可以分享/订阅。
附图说明
37.图1为本发明的一种基于自定义算子组件的模型开发平台的总体框架图;
38.图2为本发明的一种基于自定义算子组件的模型开发方法的流程图。
具体实施方式
39.为了使本技术领域的技术人员能更好地理解本发明的技术方案,下面结合附图对其具体实施方式进行详细地说明:
40.请参阅图1,本发明的实施例,一种基于自定义算子组件的模型开发平台,包括ai平台1、ai平台用户和至少两个ai平台租户。本实施例中两个ai平台租户分别为ai平台租户a和ai平台租户b。
41.ai平台用户包含3种类型,分别为ai平台管理员2、租户管理员和普通用户,每个ai平台租户均包括一个租户管理员和若干普通用户;比如ai平台租户a包括租户管理员aa和若干普通用户ab;ai平台租户b包括租户管理员ba和若干普通用户bb。
42.ai平台管理员2对ai平台1进行管理,租户管理员对其所在的ai平台租户内的操作进行管理,普通用户进行模型开发操作。
43.ai平台1包括组件开发模块11、组件包开发模块12、上架审核模块13、组件包订阅模块14、模型开发模块15和拓展模块16。
44.组件开发模块11用于实现单个组件的编辑与注册,单个组件包括描述信息、源代码和参数信息;组件开发模块11内提供自动/手动源代码校核功能,每个组件在ai平台注册成功后,ai平台返回组件id;组件可以采用单输入-单输出、单输入-多输出、多输入-单输出或多输入-多输出的形式。
45.组件开发模块11包括组件基础信息子模块111、源代码子模块112和参数信息子模块113,组件基础信息子模块111用于注册算子组件的概述信息、使用方法描述、参数描述、分类标签、更新日期和附件等;组件源代码子模块112用于注册组件的源代码,并根据接口规范对代码进行校验;组件参数信息子模块113用于自动识别源代码中的参数名,并注册相应的参数输入方式、注册“加密”状态和对源代码进行隐藏;参数输入方式包括但不限于文
本框、下拉菜单和滑动组件。退一步,也可以手动注册参数,并自动更新源代码。
46.组件包开发模块12用于实现组件包的编辑与注册,单个组件包包括描述信息、一个或多个已注册的组件以及订阅方案信息;组件包开发模块12内提供自动/手动源代码校核功能,每个组件包在ai平台注册成功后,ai平台返回组件包id。
47.组件包开发模块12包括组件包基础信息子模块121、组件选择子模块122和订阅方案子模块123,基础信息子模块组件121用于注册组件包的描述信息,该描述信息包括功能描述、使用方法和所属类别;组件选择子模块122用于选择组件注册至当前组件包内,支持一次注册多个组件;订阅方案子模块123用于注册组件包订阅方案和开发者信息,组件包订阅方案包括组件包的使用期限、调用次数和价格信息等。
48.组件包可以包含一个或者多个组件,不同的组件包可以包含相同的组件。
49.上架审核模块13用于负责提交组件包上架的申请以及组件包的审核,通过更新组件包的审批信息和显示信息,将组件包由“已注册”流转到“待审核”;上架审核模块13包括沙箱环境子模块131,ai平台管理员2通过沙箱环境子模块131对组件包内的组件进行逐一审核,避免由于未知的错误导致正式环境崩溃,若组件包内的全部组件全部通过审核,则组件包上架,所有ai平台用户均可查看,若组件包内的任意组件未通过审核,则由ai平台管理员2填写审核意见,并返回组件包开发者。
50.组件包订阅模块14收到订阅者的请求后,向组件包的开发者发起通知,开发者授权后,组件包对该订阅者开放使用权限;具体地,组件包订阅模块14用于负责将组件包使用者的订阅请求传递至开发者所在的ai平台租户内的租户管理员,若请求通过,则将订阅者添加到允许访问列表中,若请求不通过,则由开发者所在的ai平台租户内的租户管理员填写审核意见,并返回订阅者。
51.模型开发模块15用于负责将组件的源代码集成至模型中,并通过参数配置界面,完成组件的参数配置,实现模型的正常运行;模型开发模块15包括组件包展示子模块151和拖拉拽子模块152,组件包展示模块151用于展示通过上架审核模块13审核并上架的组件包,组件包展示子模块151至少包含预置官方组件包和自定义组件包两种展示方式;拖拉拽子模块152用于通过拖拉拽操作将组件包展示子模块中的组件集成到模型中,并通过模型开发模块内的参数配置界面,完成模型配置,实现模型代码的执行。
52.拓展模块16用于实现ai平台中的辅助功能。拓展模块16包括但不限于权限管理子模块161,权限管理模块161用于控制用户的组件包订阅及使用权限,通过所述权限管理模块指定/消除若干租户的组件包订阅权限,若该租户获得某一组件包的订阅及使用权限,则其ai平台租户下所有ai平台用户均可使用该组件包;若该租户失去某一组件包的订阅及使用权限,则其租户下所有ai平台用户均无法添加该组件包下的组件,对于已存在于模型中的组件ai平台用户可以进行执行或删除,不能进行修改。
53.请参阅图2,本发明还提供了一种基于自定义算子组件的模型开发方法,通过基于自定义算子组件的模型开发平台进行模型开发,包括以下步骤:
54.s1,第一租户中的开发者开发组件步骤:开发者为ai平台租户a中的普通用户或者租户管理员,开发者在前端页面上新建组件,创建组件记录,完成基础信息、源代码、参数信息的更新,通过组件开发模块11内提供的自动校验功能后,实现组件在ai平台上的注册,开发者所在的ai平台租户a内的所有用户(租户管理员aa和若干普通用户ab)均可见该组件;
55.s2,第一租户中的开发者开发组件包步骤:开发者在前端页面上新建组件包,创建组件包记录,完成组件包基础信息和组件选择,通过组件包开发模块内提供的自动校验功能后,实现组件包注册至ai平台,开发者所在的ai平台租户a内的所有用户(租户管理员aa和若干普通用户ab)均可见该组件包,且能够使用该组件包;实现不修改平台的后台代码在ai平台上添加算子组件;
56.s3,第一租户中的租户管理员提交上架申请步骤:开发者所在的ai平台租户中a的租户管理员aa在前端页面上编辑组件包的订阅方案,提交上架申请,通过更新审批字段以及显示字段,实现组件包流转至ai平台管理员2进行审核;
57.s4,ai平台管理员审核步骤:ai平台管理员2在前端页面上使用组件包内的组件,对注册至ai平台的组件包中的组件进行逐一审核,全部审核通过后,组件包的显示字段被更新,所有ai平台用户(ai平台管理员2、租户管理员和普通用户)均可见该组件包,实现组件包及组件的分享;若组件包中的任意组件未通过审核,则由ai平台管理员2填写审核意见,并返回组件包开发者;
58.s5,第二租户中的租户管理员订阅组件包步骤:另一个ai平台租户b中的ai平台用户在ai平台的模型开发模块15的组件包展示页面内找到所需的组件包,通知其所在的ai平台租户b中的租户管理员ba,该ai平台租户b中的租户管理员ba作为订阅者,通过组件包订阅模块14订阅所需的组件包,更新组件包的订阅信息,流转至该组件包开发者所在的ai平台租户a的租户管理员aa处等待审核;
59.s6,第一租户中的租户管理员审核订阅请求步骤:组件包开发者所在的ai平台租户a的租户管理员aa对订阅申请进行审批,审批通过后,订阅者租户获取组件包的使用权限,实现ai平台用户订阅第三方组件包/组件;若审核驳回,则由组件包开发者所在的ai平台租户a的租户管理员aa填写审核意见,更新订阅者的“待审核”订阅状态改为“被驳回”,并返回订阅者ba审核意见;
60.s7,第二租户中的任何用户使用组件包步骤:组件包订阅成功后,订阅成功的ai平台租户b中的所有用户(租户管理员ba和若干普通用户bb)通过拓展模块中的权限管理功能获得组件包及其包含的组件的使用权限,并通过模型开发模块15对组件进行拖动、连接、参数配置,实现模型的开发,ai平台用户使用第三方的组件完成模型开发。
61.在步骤s1中,开发者在前端页面上新建组件,新增组件数据表记录,在前端页面上编写组件基础信息,通过组件开发模块11内提供的自动校验功能自动校验基础信息,更新组件数据表中的基础信息字段;然后在前端页面上编写组件源代码;在前端页面上添加参数信息,并自动更新源代码,通过组件开发模块11内提供的自动校验功能自动校验源代码格式,更新组件数据表中的源代码字段;自动检测源代码格式,并识别参数;在端页面上编辑组件,并更新组件数据表中的参数字段;最后更新组件数据表中的显示字段,实现组件在ai平台上的注册,开发者所在的ai平台租户a内的所有用户(租户管理员aa和若干普通用户ab)均可见该组件。
62.在步骤s2中,开发者在前端页面上新建组件包,新增组件包数据表记录,在前端页面上编写组件包基础信息;通过组件包开发模块内提供的自动校验功能自动校验组件包基础信息;然后更新组件包数据表中的基础信息字段;然后在前端页面上选择组件开发模块中已经开发完成的组件,更新组件包数据表中的组件字段;并更新组件包数据表中的显示
字段,实现组件包注册至ai平台,开发者所在的ai平台租户a内的所有用户(租户管理员aa和若干普通用户ab)均可见该组件包,且能够使用该组件包;实现不修改平台的后台代码在ai平台上添加算子组件。
63.步骤s3中,开发者所在的ai平台租户中a的租户管理员aa在前端页面上编辑组件包的订阅方案;更新组件包数据表中的订阅方案字段;然后更新组件包数据表中的显示字段;在前端页面上提交组件包上架申请,更新组件包数据表中的审批字段,然后更新组件包数据表中的显示字段;实现组件包流转至ai平台管理员2进行审核;
64.步骤s4中,ai平台管理员2在前端页面上使用组件包内的组件,对注册至ai平台的组件包中的组件人工进行逐一审核,全部审核通过后,更新组件包数据表中的审批字段,然后更新组件包数据表中的显示字段,所有ai平台用户(ai平台管理员2、租户管理员和普通用户)均可见该组件包,实现组件包及组件的分享;若组件包中的任意组件未通过审核,则由ai平台管理员2填写审核意见,更新组件包数据表中的审批字段,并返回组件包开发者。
65.步骤s5和s6中,订阅者通过组件包订阅模块14订阅所需的组件包,更新组件包的授权字段(订阅信息),流转至该组件包开发者所在的ai平台租户a的租户管理员aa处等待审核;组件包开发者所在的ai平台租户a的租户管理员aa对订阅申请进行审批,审批通过后,更新组件包的授权字段,订阅者租户获取组件包的使用权限,实现ai平台用户订阅第三方组件包/组件;若审核驳回,则由组件包开发者所在的ai平台租户a的租户管理员aa填写审核意见,更新组件包的授权字段,使得订阅者的“待审核”订阅状态改为“被驳回”,并返回订阅者审核意见。
66.步骤s7中,组件包订阅成功后,订阅成功的ai平台租户b中的所有用户(租户管理员ba和若干普通用户bb)通过拓展模块中的权限管理功能获得组件包及其包含的组件的使用权限,并通过模型开发模块15对组件进行拖拽,在待开发的模型代码中直接插入订阅成功的组件源代码,然后在前端页面上配置组件参数,再模型代码中插入组件参数,最后在前端页面中点击运算,就可执行模型代码,实现模型的开发,实现了ai平台用户使用第三方的组件完成模型开发。
67.本发明的基于自定义算子组件的模型开发平台,为了使ai模型开发人员(普通用户)能够快速建立模型,建立通用的ai平台,并提供自定义算子组件注册服务、自定义算子组件包注册服务、发布包审核服务、组件包订阅服务和模型开发服务。
68.本发明的基于自定义算子组件的模型开发方法,是基于多租户多角色ai平台的自定义算子组件/组件包(简称组件/组件包)的开发、分享、订阅与使用方法,涉及ai建模领域,包括组件注册、组件包注册、组件包审核、组件包订阅以及组件使用。简单流程是:首先,租户a的算子组件开发者通过ai平台进行算子组件开发,并由ai平台进行自动校验;其次,租户a的算子组件包开发者通过ai平台选择组件开发组件包,通过ai平台管理员人工审核后,在ai平台中进行展示;再次租户b的模型开发者在ai平台中订阅租户a中组件包开发者开发的组件包;最终,租户b的模型开发者在ai平台中使用租户a中组件包开发者开发的组件包中的组件完成模型开发。
69.综上所述,本发明的基于自定义算子组件的模型开发平台及其方法,在添加算子组件无需修改后台代码;当需要使用的算子组件未预置在ai平台官方组件包中时,可以查找第三方解决方案;开发者开发的组件与组件包可以分享/订阅;在建模工程师需要使用的
算子组件未预置在ai平台官方组件包中时,可以使用第三方开发的组件包及组件简单快速地形成解决方案,避免用户流失,促进ai平台发展。
70.本技术领域中的普通技术人员应当认识到,以上的实施例仅是用来说明本发明,而并非用作为对本发明的限定,只要在本发明的实质精神范围内,对以上所述实施例的变化、变型都将落在本发明的权利要求书范围内。