CN110489093A - 一种面向ai应用的持续构造方法、装置、终端及存储介质 - Google Patents
一种面向ai应用的持续构造方法、装置、终端及存储介质 Download PDFInfo
- Publication number
- CN110489093A CN110489093A CN201910980675.XA CN201910980675A CN110489093A CN 110489093 A CN110489093 A CN 110489093A CN 201910980675 A CN201910980675 A CN 201910980675A CN 110489093 A CN110489093 A CN 110489093A
- Authority
- CN
- China
- Prior art keywords
- construction
- application
- several components
- trustship
- micro services
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
- G06F8/24—Object-oriented
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Building Environments (AREA)
Abstract
本发明公开了一种面向AI应用的持续构造方法、装置、终端及存储介质,所述方法包括:将待持续构造的AI应用建模为若干组件,对所述若干组件进行独立封装,对封装后的组件进行分别托管;监听托管后的所述若干组件的变更事件,根据监听结果对所述变更事件进行调度;当监听到与托管后的所述若干组件相应的变更事件时,加载并读取预定义的构造配置文件,获取构造参数,根据所述构造参数对与所监听到变更事件相应的所述若干组件进行构造,并对构造结果进行判断,根据所述判断结果,对所述待持续构造的AI应用进行构造。本发明通过基于微服务的组件化AI应用建模方法,利用多事件监听机制能够分别处理多个组件,更好地应对了AI应用的持续构造问题。
Description
技术领域
本发明涉及AI应用技术领域,尤其涉及的是一种面向AI应用的持续构造方法、装置、终端及存储介质。
背景技术
在软件开发过程中,为了更灵活地适应需求变化以及更高效地保障软件质量,软件开发团队往往会采用持续构造的开发实践,即每次完成一定的代码修改就触发代码编译、单元测试、集成测试等操作,这样的开发实践能够及时发现代码变更所隐含的缺陷,并能够以较小的代价定位、修复发现的缺陷。
目前,人工智能(AI)技术发展迅猛,人工智能技术已经在自动驾驶、个人生活助手、个性化推荐等越来越多领域得到广泛的应用。与普通的应用软件相比,AI应用除了业务逻辑处理代码之外,其更核心的组件往往是其依赖的AI模型和训练数据。
现有的对AI应用持续构造的方法有持续集成工具如Travis-CI、Jenkins等,其中Travis-CI提供在线的持续集成服务,开发者可以直接注册使用。而 Jenkins支持用户自己搭建持续集成服务器,并且其基于插件的特性使得开发者可以根据自己的需求进行功能定制。在使用了这些工具后,任何对代码的修改都会触发持续集成服务器自动构建、测试项目。另外,产业界已经有Modelarts之类的AI开发平台,开发者可以基于这些平台搭建自己的AI 模型,这些平台提供较多的服务,如硬件增强、在线调试、可视化、数学计算加速等,这些服务可以简化和加快AI模型的开发过程。
但是,现有的持续集成工具主要关注对项目源代码的更改,而无法灵活响应 AI应用中算法模型和数据集的更改。现有的AI开发平台主要关注如何提升算法模型的开发效率,缺乏对AI应用整体持续构造的支持。
因此,现有技术还有待于改进和发展。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供面向AI应用的持续构造方法、装置、智能终端及存储介质,旨在解决现有技术中在对AI应用进行持续构造时,缺少整体持续构造的问题。
本发明解决技术问题所采用的技术方案如下:
第一方面,本发明实施例提供面向AI应用的持续构造方法,所述方法包括:
将待持续构造的AI应用建模为若干组件,对所述若干组件进行独立封装,对封装后的组件进行分别托管;
监听托管后的所述若干组件的变更事件,根据监听结果对所述变更事件进行调度;
当监听到与托管后的所述若干组件相应的变更事件时,加载并读取预定义的构造配置文件,获取构造参数,根据所述构造参数对与所监听到变更事件相应的所述若干组件进行构造,并对构造结果进行判断,得到判断结果;
根据所述判断结果,对所述待持续构造的AI应用进行构造。
优选地,所述若干组件包括业务逻辑代码、AI算法模型和模型训练数据。
优选地,所述将待持续构造的AI应用建模为若干组件,并对所述若干组件进行分别托管,包括:
从所述待持续构造的AI应用中抽取出所述业务逻辑代码,封装成独立的业务逻辑代码微服务,提供用于调用所述业务逻辑代码微服务的第一调用接口,使用仓库平台对所述业务逻辑代码微服务进行托管;
从所述待持续构造的AI应用中抽取出所述算法模型,封装成独立的算法模型微服务,提供用于调用所述算法模型微服务的第二调用接口,使用仓库平台对所述算法模型微服务进行托管;
从所述待持续构造的AI应用中抽取出所述数据处理模块和数据集,分别封装成独立的数据处理模块微服务及数据集微服务,提供用于调用所述数据处理模块微服务第三调用接口以及用于调用所述数据集微服务的第四调用接口,使用仓库平台对所述数据处理模块微服务、所述数据集微服务进行托管;
对所述业务逻辑代码微服务、所述算法模型微服务、所述数据处理模块微服务和数据集微服务,利用所述第一调用接口、第二调用接口、第三调用接口以及第四调用接口进行集成,形成完整的待持续构造的AI应用。
优选地,述变更事件包括:代码仓库有新的代码被推送进来的代码推送事件、有外界贡献的代码请求合并进来的合并请求事件、应用管理者主动发起构造的行为的主动触发事件。
优选地,所述根据所述构造参数对与所监听到变更事件相应的所述若干组件进行构造,并对构造结果进行判断,得到判断结果,包括:
预先设置构造配置文件的预期构造结果;
将所述构造结果与所述预期构造结果进行比对,判断出所述构造结果是成功还是失败。
优选地,所述根据判断结果,对所述待持续构造的AI应用进行构造,包括:
当所述判断结果为所述业务逻辑代码构造失败时,对所述业务逻辑进行修正;
当所述判断结果为AI算法模型构造失败时,对所述AI算法模型进行优化;
当所述判断结果为所述模型训练数据失败时,增加数据集。
优选地,所述仓库平台为基于Git的仓库平台。
优选地,所述监听托管后的所述若干组件的变更事件,根据监听结果对所述变更事件进行调度,包括:
对托管后的所述若干组件的变更事件进行监听,根据不同变更事件的响应优先级对所述变更事件进行调度。
优选地,所述将待持续构造的AI应用建模为若干组件,对所述若干组件进行独立封装,对封装后的组件进行分别托管,还包括:
通过解耦合,将待持续构造的AI应用建模为业务逻辑代码、AI算法模型和模型训练数据,对所述业务逻辑代码、AI算法模型和模型训练数据进行独立封装,对封装后的组件进行分别托管。
第二方面,本发明实施例还提供一种面向AI应用持续构造装置,所述装置包括:
建模单元,用于将待持续构造的AI应用建模为若干组件,对所述若干组件进行独立封装,对封装后的组件进行分别托管;
变更事件监听单元,用于监听托管后的所述若干组件的变更事件,根据监听结果对所述变更事件进行调度;
构造结果判断单元,当监听到与托管后的所述若干组件相应的变更事件时,加载并读取预定义的构造配置文件,获取构造参数,根据所述构造参数对与所监听到变更事件相应的所述若干组件进行构造,并对构造结果进行判断,得到判断结果;
构造单元,用于根据所述判断结果,对所述待持续构造的AI应用进行构造。
第三方面,本发明实施例还提供一种智能终端,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于执行如上述任意一项所述的面向AI应用的持续构造方法。
第四方面,本发明实施例还提供一种非临时性计算机可读存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如上述任意一项所述的面向AI应用的持续构造方法。
本发明的有益效果:本发明通过将AI应用建模成三个组件,每个组件封装成独立的微服务后分别进行托管,对托管后的微服务灵活配置构造触发条件,利用多事件监听机制分别对三个组件进行处理,从而提升了构造的效率,从整体上更好地应对了AI应用的持续构造问题。
附图说明
图1是本发明提供的面向AI应用的持续构造方法的较佳实施例的流程图。
图2是本发明提供的面向AI应用的持续构造方法中对AI应用建模的较佳实施例的流程图。
图3是本发明提供的面向AI应用的持续构造方法的原理框图。
图4是本发明提供的面向AI应用的持续构造装置的功能原理图。
图5是本发明提供的智能终端的功能原理图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供的面向AI应用的持续构造方法,该方法可应用在智能终端。智能终端可以但不限于是各种个人计算机、笔记本电脑、手机、平板电脑。本发明的智能终端采用多核处理器。其中,终端的处理器可以为中央处理器(Central Processing Unit,CPU),图形处理器(Graphics Processing Unit,GPU)、视频处理单元(Video Processing Unit,VPU)等中的至少一种。
由于现有技术中的面向AI应用的持续构造,要么是利用持续集成工具如Travis-CI、Jenkins等,要么是利用AI开发平台,如华为Modelarts、谷歌AI等。现有的持续集成工具主要关注对项目源代码的更改,对数据、算法和模型没有进行特殊的优化配置,在开发流程上无法灵活响应AI应用中算法模型和数据集的更新。现有的AI开发平台主要关注如何提升算法模型的开发效率,缺乏对AI应用整体持续构造的支持。
为了解决上述问题,在本发明实施例中,当需要对某一款AI应用进行持续构造时,先把该AI应用进行建模为多个组件,例如建模为三个组件,对建模后的组件进行封装独立托管,对托管后的组件进行变更事件监听,当AI应用中任何一个组件发生变动时,支撑平台的持续构造功就会被触发。通过读取构造配置,平台运行相应的构造模块,构造过程将依托相应的托管平台进行版本管理,并把构造结果反馈回AI应用以供进一步的迭代改进。解决了现有技术中不能在整体上对AI应用的持续构造的问题。
举例说明,若待持续构造的AI应用是用于垃圾分类的,首先将该AI应用建模成三个组件,业务逻辑代码、AI算法模型、模型训练数据,对业务逻辑代码、AI算法模型、模型训练数据进行独立封装,封装后分别进行托管。对托管后的封装组件进行变更事件监听,假如当监听到一个变更事件是关于网络连接操作的,另一个变更事件时关于图片识别算法,即意味着业务逻辑代码与AI算法模型发生了变动,此时AI应用的持续构造功能被触发,加载并读取预定义的用于持续构造的构造配置文件,根据配置文件内容运行与网络连接操作以及图片识别算法相关的编译命令,分别获得网络连接操作的构造参数、图片识别算法的构造参数,根据构造参数对业务逻辑代码、AI算法模型进行构造,将实际构造结果与配置中的预期结果进行比对,得出比对结果,根据比对结果对该AI应用进行迭代优化。从而实现对垃圾识别分类AI应用的持续构造。
下面结合附图,详细说明本发明的各种非限制性实施方式。
示例性方法
参见图1,本实施例提供一种面向AI应用的持续构造方法,包括如下步骤:
步骤S100、将待持续构造的AI应用建模为若干组件,对所述若干组件进行独立封装,对封装后的组件进行分别托管。
在本发明实施例中,通过功能解耦合将待持续构造的AI应用建模为业务逻辑代码(如网络连接操作、数据库读取操作等)、AI算法模型(如图片识别算法、语音识别算法等)、模型训练数据(如标记图片、语音-文本对等)进行分别托管。
如图2所示,所述步骤S100具体包括以下步骤:
步骤S110、从所述待持续构造的AI应用中抽取出所述业务逻辑代码,封装成独立的业务逻辑代码微服务,提供用于调用所述业务逻辑代码微服务的第一调用接口,使用仓库平台对所述业务逻辑代码微服务进行托管;其中,所述的微服务指的是AI应用中能实现某个具体功能的单元,例如垃圾识别应用中,垃圾颜色的识别就是一个微服务,输入一个垃圾,返回这个垃圾的颜色,通过这事方式很容易与其他模块组合。逻辑代码仓库可以是基于Git的仓库如本地部署GitLab。
步骤S120、从所述待持续构造的AI应用中抽取出所述算法模型,封装成独立的算法模型微服务,提供用于调用所述算法模型微服务的第二调用接口,使用仓库平台对所述算法模型微服务进行托管;
步骤S130、从所述待持续构造的AI应用中抽取出所述数据处理模块和数据集,分别封装成独立的数据处理模块微服务及数据集微服务,提供用于调用所述数据处理模块微服务第三调用接口以及用于调用所述数据集微服务的第四调用接口,使用仓库平台对所述数据处理模块微服务、所述数据集微服务进行托管;
步骤S140、对所述业务逻辑代码微服务、所述算法模型微服务、所述数据处理模块微服务和数据集微服务,利用所述第一调用接口、第二调用接口、第三调用接口以及第四调用接口进行集成,形成完整的待持续构造的AI应用。其中,模型和数据仓库可以基于git的LFS系统,或者其他分布式文件系统进行管理。通过接口和服务组合的方式。因为逻辑代码、数据集加载和模型部分都是微服务的方式,可以通过接口进行衔接。需要说明的是,本实施例中所述的第一、第二、第三、第四,仅仅是为了表述的方便,是对所涉及的接口进行区分,并不具有其他特殊含义,更不是对本实施例技术方案的限定。所涉及的接口均为普通的数据接口。
本实施例通过从AI应用中抽取出单独的组件,将抽取出的组件封装成独立的微服务,并对外提供调用接口,代码使用基于Git的仓库平台进行托管,实现对AI应用的建模。利用独立微服务所提供的调用接口进行集成,完成AI应用的整体实现。
举例说明,当用户需要对垃圾识别AI应用进行持续构造时,通过功能解耦合和微服务,从垃圾识别AI应用中抽取出业务逻辑代码部分,封装成独立的业务逻辑代码微服务。所述业务逻辑代码部分是指如用户注册、垃圾分类后提交至垃圾站等这些功能性的应用部分。即将垃圾识别AI应用中的用户注册以及垃圾分类后提交至垃圾站这部分应用抽取出来,封装成一个用于用户注册以及垃圾分类后提交至垃圾站的微服务,同时针对该微服务生成一个对外的调用数据接口,对封装后的微服务进行平台托管。
从垃圾识别AI应用中抽取出针对具体垃圾图片识别的算法,所述的算法是用于深度学习CNN算法,将该用于图片识别的算法封装成一个微服务,同时也生成一个对外调用该微服务的调用数据接口,对封装后的微服务进行平台托管。
从垃圾识别AI应用中抽取出识别图片中的垃圾是什么类别的模型,该模型可以通过CNN算法调用数据模块中标注的数据对该模型进行训练。将该识别模型封装成一个微服务,同时也生成一个对外调用该微服务的调用数据接口,对封装后的微服务进行平台托管。
通过所设置的接口对用于用户注册以及垃圾分类后提交至垃圾站的微服务、针对具体垃圾图片识别的算法以及识别图片中的垃圾是什么类别的模型进行集成(衔接),形成完整的垃圾识别AI应用。
步骤S200、监听托管后的所述若干组件的变更事件,根据监听结果对所述变更事件进行调度。
在本发明实施例中,通过事件驱动的方式,对经过上述步骤S100处理后的AI应用进行实时监听,用以发现AI应用的变更,对监听到的变更事件进行调度。监听三种事件,即代码推送事件、合并请求事件、主动触发事件。代码推送事件指的是代码仓库有新的代码被推送进来,合并请求事件指的是有外界贡献者的代码请求合并进来,主动触发事件指的是应用管理者主动发起构造的行为。
在另外的实施例中,事件还可以包括:代码变更、数据变更和模型变更,事件将对应分别对应不同的服务和仓库,以及触发不同的流程。比如,发生了数据推送,则需要加载数据相关的配置,触发数据检查规则,检查数据变更是不是达到了一定的阈值,然后进行模型重新训练等等。
为了更快速的对监听到的变更进行调度,对变更事件进行调度可以根据事件的响应优先级别来进行,比如事先设置待调度事件响应优先级别分为一级、二级、三级,一级表示优先级别在同等条件下,优先调度,二级表示一般级别调度级别次于一级,三级是最低响应级别。
因此,可将针对上述三种事件的调度级别规定为,主动触发事件为一级响应事件,合并请求事件为二级响应事件,代码推送事件为三级响应事件。从而在处理事件时根据优先级大小进行调度。
进一步,对AI应用的变更,可能一次涉及到多处,例如,可能是业务逻辑代码组件与模型训练数据组件都有变更。由于本发明中对变更事件的监听是事件驱动,因此可以根据事件同时对两个组件的变更进行响应。例如,监听到业务逻辑代码组件变更事件是代码推送事件,模型训练数组组件变更事件是代码推送事件和主动触发事件,由于两个组件都有代码推送事件,因此可以同时对这两个组件进行响应,提升了构造效率。同时,结合本发明中对处理事件是根据优先级进行调度,可以从整体上实现对AI应用的持续构造。
步骤S300、当监听到与托管后的所述若干组件相应的变更事件时,加载并读取预定义的构造配置文件,获取构造参数,根据所述构造参数对与所监听到变更事件相应的所述若干组件进行构造,并对构造结果进行判断,得到判断结果。其中,配置文件是:规定什么时候启动流水线,训练到什么程度停止,达到什么精确度替换之前的版本等。例如,可以配置数据更新10%以上,触发模型的重新训练,以免太少数据训练没意义白费算力,或数据变化太大没有及时更新模型等。再比如,还可以配置模型准确率提升5%以上,生成一个新的模型版本,并替换上一轮训练的模型。逻辑代码将加载这个模型后,更新现在的AI应用。
本发明实施例中,在监听到AI应用变更事件后,便会触发构造行为。如图3所示,具体来说构造行为的过程为,变更事件发生后,支撑平台加载预定义的构造配置文件,根据配置内容运行具体的构造内容,其中,配置文件明确AI应用的编译命令、构造环境等参数。构造配置读取完毕之后会把需要构造的代码模块传送到构造服务器,构造服务器依据构造参数执行自动化编译、集成、测试等构造活动。依据实际的构造结果以及配置中的预期结果,经过对比后输出最终的构造结果是成功还是失败,并辅以必要的解释说明。 根据解释说明方便用户对构造失败的原因进行查找分析。
步骤S400、根据所述判断结果,对所述待持续构造的AI应用进行构造。
本发明实施例中,根据步骤S300中所反馈的判断结果,对所述待持续构造的AI应用进行构造。结合图3,具体来说,如果得到的反馈是业务逻辑代码的构造失败,则对业务逻辑进行修正。例如对数据库的读取操作 进行重新构造,构造结果显示构造失败,通过阅读构造失败辅助的解释说明,发现是业务逻辑代码组件构造报错,则有针对性的对该组件进行修正。同理,如果算法模型的构造失败,例如模型效果没有达到预期的指标,则对算法模型进行调优。如果数据的构造失败,例如数据量不够、模型拟合不足,则继续扩充数据集。
需要说明的是,在本发明所提供的上述实施例中,如果只改了算法,平台会加载数据之后重新训练模型,然后执行后续操作。如果只改了逻辑代码,则前序数据和模型都不会重新加载和训练,节省资源也提高应用的构建效率。
示例性设备
参见图4,本发明实施例提供一种面向AI应用的持续构造装置,该装置包括:建模单元410、变更事件监听单元420、构造结果判断单元430以及构造单元440。
具体地,所述建模单元410,用于将待持续构造的AI应用建模为若干组件,对所述若干组件进行独立封装,对封装后的组件进行分别托管。
变更事件监听单元420,用于监听托管后的所述若干组件的变更事件,根据监听结果对所述变更事件进行调度;
构造结果判断单元430,当监听到与托管后的所述若干组件相应的变更事件时,加载并读取预定义的构造配置文件,获取构造参数,根据所述构造参数对与所监听到变更事件相应的所述若干组件进行构造,并对构造结果进行判断,得到判断结果;
构造单元440,用于根据所述判断结果,对所述待持续构造的AI应用进行构造。
基于上述实施例,本发明还提供了一种智能终端,其原理框图可以如图5所示。该智能终端包括通过系统总线连接的处理器、存储器、网络接口、显示屏、温度传感器。其中,该智能终端的处理器用于提供计算和控制能力。该智能终端的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该智能终端的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种面向AI应用的持续构造方法。该智能终端的显示屏可以是液晶显示屏或者电子墨水显示屏,该智能终端的温度传感器是预先在智能终端内部设置,用于检测内部设备的当前运行温度。
本领域技术人员可以理解,图5中示出的原理框图,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的智能终端的限定,具体的智能终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种终端,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
将待持续构造的AI应用建模为若干组件,对所述若干组件进行独立封装,对封装后的组件进行分别托管;
监听托管后的所述若干组件的变更事件,根据监听结果对所述变更事件进行调度;
当监听到与托管后的所述若干组件相应的变更事件时,加载并读取预定义的构造配置文件,获取构造参数,根据所述构造参数对与所监听到变更事件相应的所述若干组件进行构造,并对构造结果进行判断,得到判断结果;
根据所述判断结果,对所述待持续构造的AI应用进行构造。
在本实施例中,智能终端作为整个AI应用的部署载体,其具体工作流程是用户提交数据,系统自动选择算法,触发模型训练,模型收敛以后测试准确率,准确率达标形成新的模型版本提交模型仓库托管并形成新的微服务,逻辑代码通过接口会调用新的微服务,并出发持续集成和持续部署模块,将新的应用部署到智能终端。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
综上所述,本发明公开了一种面向AI应用的持续构造方法、装置、智能终端及存储介质,所述方法包括:将待持续构造的AI应用建模为若干组件,对所述若干组件进行独立封装,对封装后的组件进行分别托管;监听托管后的所述若干组件的变更事件,根据监听结果对所述变更事件进行调度;当监听到与托管后的所述若干组件相应的变更事件时,加载并读取预定义的构造配置文件,获取构造参数,根据所述构造参数对与所监听到变更事件相应的所述若干组件进行构造,并对构造结果进行判断,得到判断结果;根据所述判断结果,对所述待持续构造的AI应用进行构造。本发明通过将AI应用建模成三个组件,组件封装成独立的微服务后分别进行托管,对托管后的微服务灵活配置构造触发条件,利用多事件监听机制分别对三个组件进行处理,提升了构造的效率,从整体上更好地应对了AI应用的持续构造问题。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (12)
1.一种面向AI应用持续构造方法,其特征在于,所述方法包括:
将待持续构造的AI应用建模为若干组件,对所述若干组件进行独立封装,对封装后的组件进行分别托管;
监听托管后的所述若干组件的变更事件,根据监听结果对所述变更事件进行调度;
当监听到与托管后的所述若干组件相应的变更事件时,加载并读取预定义的构造配置文件,获取构造参数,根据所述构造参数对与所监听到变更事件相应的所述若干组件进行构造,并对构造结果进行判断,得到判断结果;
根据所述判断结果,对所述待持续构造的AI应用进行构造。
2.根据权利要求1所述的面向AI应用持续构造方法,其特征在于,所述若干组件包括业务逻辑代码、AI算法模型和模型训练数据。
3.根据权利要求2所述的面向AI应用持续构造方法,其特征在于,所述将待持续构造的AI应用建模为若干组件,并对所述若干组件进行分别托管,包括:
从所述待持续构造的AI应用中抽取出所述业务逻辑代码,封装成独立的业务逻辑代码微服务,提供用于调用所述业务逻辑代码微服务的第一调用接口,使用仓库平台对所述业务逻辑代码微服务进行托管;
从所述待持续构造的AI应用中抽取出所述算法模型,封装成独立的算法模型微服务,提供用于调用所述算法模型微服务的第二调用接口,使用仓库平台对所述算法模型微服务进行托管;
从所述待持续构造的AI应用中抽取出所述数据处理模块和数据集,分别封装成独立的数据处理模块微服务及数据集微服务,提供用于调用所述数据处理模块微服务第三调用接口以及用于调用所述数据集微服务的第四调用接口,使用仓库平台对所述数据处理模块微服务、所述数据集微服务进行托管;
对所述业务逻辑代码微服务、所述算法模型微服务、所述数据处理模块微服务和数据集微服务,利用所述第一调用接口、第二调用接口、第三调用接口以及第四调用接口进行集成,形成完整的待持续构造的AI应用。
4.根据权利要求1所述的面向AI应用持续构造方法,其特征在于,所述变更事件包括:代码仓库有新的代码被推送进来的代码推送事件、有外界贡献的代码请求合并进来的合并请求事件、应用管理者主动发起构造的行为的主动触发事件。
5.根据权利要求1所述的面向AI应用持续构造方法,其特征在于,所述根据所述构造参数对与所监听到变更事件相应的所述若干组件进行构造,并对构造结果进行判断,得到判断结果,包括:
预先设置构造配置文件的预期构造结果;
将所述构造结果与所述预期构造结果进行比对,判断出所述构造结果是成功还是失败。
6.根据权利要求5所述的面向AI应用持续构造方法,其特征在于,所述根据判断结果,对所述待持续构造的AI应用进行构造,包括:
当所述判断结果为业务逻辑代码构造失败时,对所述业务逻辑进行修正;
当所述判断结果为AI算法模型构造失败时,对所述AI算法模型进行优化;
当所述判断结果为所述模型训练数据失败时,增加数据集。
7.根据权利要求3所述的面向AI应用持续构造方法,其特征在于,所述仓库平台为基于Git的仓库平台。
8.根据权利要求1所述的面向AI应用持续构造方法,其特征在于,所述监听托管后的所述若干组件的变更事件,根据监听结果对所述变更事件进行调度,包括:
对托管后的所述若干组件的变更事件进行监听,根据不同变更事件的响应优先级对所述变更事件进行调度。
9.根据权利要求2所述的面向AI应用持续构造方法,其特征在于,所述将待持续构造的AI应用建模为若干组件,对所述若干组件进行独立封装,对封装后的组件进行分别托管,还包括:
通过解耦合,将待持续构造的AI应用建模为业务逻辑代码、AI算法模型和模型训练数据,对所述业务逻辑代码、AI算法模型和模型训练数据进行独立封装,对封装后的组件进行分别托管。
10.一种面向AI应用持续构造装置,其特征在于,所述装置包括:
建模单元,用于将待持续构造的AI应用建模为若干组件,对所述若干组件进行独立封装,对封装后的组件进行分别托管;
变更事件监听单元,用于监听托管后的所述若干组件的变更事件,根据监听结果对所述变更事件进行调度;
构造结果判断单元,当监听到与托管后的所述若干组件相应的变更事件时,加载并读取预定义的构造配置文件,获取构造参数,根据所述构造参数对与所监听到变更事件相应的所述若干组件进行构造,并对构造结果进行判断,得到判断结果;
构造单元,用于根据所述判断结果,对所述待持续构造的AI应用进行构造。
11.一种终端,其特征在于,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于执行如权利要求1-9中任意一项所述的方法。
12.一种存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如权利要求1-9中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910980675.XA CN110489093A (zh) | 2019-10-16 | 2019-10-16 | 一种面向ai应用的持续构造方法、装置、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910980675.XA CN110489093A (zh) | 2019-10-16 | 2019-10-16 | 一种面向ai应用的持续构造方法、装置、终端及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110489093A true CN110489093A (zh) | 2019-11-22 |
Family
ID=68544651
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910980675.XA Pending CN110489093A (zh) | 2019-10-16 | 2019-10-16 | 一种面向ai应用的持续构造方法、装置、终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110489093A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111897599A (zh) * | 2020-07-30 | 2020-11-06 | 平安科技(深圳)有限公司 | 基于微核模型插件模式的服务方法、装置、设备及存储介质 |
WO2022000888A1 (zh) * | 2020-06-30 | 2022-01-06 | 北京百度网讯科技有限公司 | 执行定制化人工智能生产线的装置和方法、设备和介质 |
CN114938332A (zh) * | 2022-06-29 | 2022-08-23 | 上海喜马拉雅科技有限公司 | 模型参数配置方法、装置、电子设备及可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104423960A (zh) * | 2013-09-10 | 2015-03-18 | 阿里巴巴集团控股有限公司 | 一种项目持续集成的方法及系统 |
US20170308494A1 (en) * | 2016-04-21 | 2017-10-26 | Wal-Mart Stores, Inc. | Portable continuous integration device and related systems and methods |
CN109710524A (zh) * | 2018-12-19 | 2019-05-03 | 上海华兴数字科技有限公司 | 一种自动测试方法、系统和计算机存储介质 |
CN110162414A (zh) * | 2019-02-01 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 基于微服务架构实现人工智能服务的方法及装置 |
-
2019
- 2019-10-16 CN CN201910980675.XA patent/CN110489093A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104423960A (zh) * | 2013-09-10 | 2015-03-18 | 阿里巴巴集团控股有限公司 | 一种项目持续集成的方法及系统 |
US20170308494A1 (en) * | 2016-04-21 | 2017-10-26 | Wal-Mart Stores, Inc. | Portable continuous integration device and related systems and methods |
CN109710524A (zh) * | 2018-12-19 | 2019-05-03 | 上海华兴数字科技有限公司 | 一种自动测试方法、系统和计算机存储介质 |
CN110162414A (zh) * | 2019-02-01 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 基于微服务架构实现人工智能服务的方法及装置 |
Non-Patent Citations (1)
Title |
---|
张亚楠: "基于OSGI的持续集成系统", 《软件导刊》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022000888A1 (zh) * | 2020-06-30 | 2022-01-06 | 北京百度网讯科技有限公司 | 执行定制化人工智能生产线的装置和方法、设备和介质 |
EP3968145A4 (en) * | 2020-06-30 | 2022-09-28 | Beijing Baidu Netcom Science Technology Co., Ltd. | DEVICE AND METHOD FOR EXECUTING A SPECIFIC ARTIFICIAL INTELLIGENCE PRODUCTION LINE AND DEVICE AND MEDIUM |
US11954011B2 (en) | 2020-06-30 | 2024-04-09 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Apparatus and method for executing customized artificial intelligence production line |
CN111897599A (zh) * | 2020-07-30 | 2020-11-06 | 平安科技(深圳)有限公司 | 基于微核模型插件模式的服务方法、装置、设备及存储介质 |
WO2021139358A1 (zh) * | 2020-07-30 | 2021-07-15 | 平安科技(深圳)有限公司 | 基于微核模型插件模式的服务方法、装置、设备及存储介质 |
CN114938332A (zh) * | 2022-06-29 | 2022-08-23 | 上海喜马拉雅科技有限公司 | 模型参数配置方法、装置、电子设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113064351B (zh) | 数字孪生模型构建方法、装置、存储介质及电子设备 | |
CN110942387B (zh) | 基于微服务的电票业务功能构建方法和系统 | |
Hyre et al. | Digital twins: representation, replication, reality, and relational (4Rs) | |
CN110489093A (zh) | 一种面向ai应用的持续构造方法、装置、终端及存储介质 | |
CN111861020A (zh) | 模型部署方法、装置、设备及存储介质 | |
CN112036577B (zh) | 基于数据形式的应用机器学习的方法、装置和电子设备 | |
Riva et al. | Experiences with software product family evolution | |
WO2023151523A1 (zh) | 基于数字孪生DaaS平台的深度学习编程方法及系统 | |
CN111191871A (zh) | 项目基线数据生成方法、装置、计算机设备和存储介质 | |
CN115829297B (zh) | 装配式建筑的工作包生成方法、装置、终端及存储介质 | |
CN111930357B (zh) | 一种可视化建模作业流调度引擎的构建方法 | |
Trucco et al. | A probabilistic cognitive simulator for HRA studies (PROCOS) | |
CN109684046A (zh) | 事件自助处理方法、装置、设备和计算机存储介质 | |
CN111680868A (zh) | 医药工艺流程化方法、装置、计算机设备和存储介质 | |
CN113050929A (zh) | 一种基于Hyperledger Fabric的智能合约开发运维一体化平台 | |
Incerto et al. | Symbolic performance adaptation | |
CN115454420A (zh) | 人工智能算法模型部署系统、方法、设备及存储介质 | |
CN108985459A (zh) | 训练模型的方法和装置 | |
CN109800776A (zh) | 素材标注方法、装置、终端和计算机可读存储介质 | |
CN112379913B (zh) | 基于风险识别的软件优化方法、装置、设备及存储介质 | |
CN114911492A (zh) | 推理服务部署方法、装置、设备以及存储介质 | |
US11651257B2 (en) | Software CoBot engineering, execution, and monitoring | |
CN115719026A (zh) | 适用于人工智能中台的系统和方法、可读介质 | |
Vrba | Review of industrial applications of multi-agent technologies | |
JP2023537766A (ja) | 自動化されたデータサイエンスプロセスのためのシステム及び方法 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191122 |