AI模型的自动迭代运维方法、系统、设备及存储介质与流程

文档序号:21643584发布日期:2020-07-29 02:56阅读:576来源:国知局
AI模型的自动迭代运维方法、系统、设备及存储介质与流程

本发明涉及人工智能技术领域,特别涉及一种ai(artificialintelligence,人工智能)模型的自动迭代运维方法、系统、设备及存储介质。



背景技术:

基于ai技术,多种业务会产生大量的深度学习或机器学习模型,模型的训练数据来自于线上,而线上数据在长时间下会发生变化,例如黑白样本比和脏数据占比发生变化,然而使用历史数据训练产生的模型无法感知到线上数据的变化,这会导致模型不再贴合实际数据,准确率或召回率会下降。针对ai模型的迭代,需要定期地取线上的数据,经过数据清洗后重新训练模型,或者在原有模型的基础上做增量训练,这样会带来多模型运维复杂的问题,具体表现为,模型越多版本管理越复杂,与模型越多人力成本越高的问题,在取数据、数据清洗、模型训练、新旧模型效果对比、模型替换等阶段需要人工介入。



技术实现要素:

本发明要解决的技术问题是为了克服现有技术中人工迭代训练模型运维困难、人工运维成本高的缺陷,提供一种ai模型的自动迭代运维方法、系统、设备及存储介质。

本发明是通过下述技术方案来解决上述技术问题:

本发明第一方面提供了一种ai模型的自动迭代运维方法,所述自动迭代运维方法包括以下步骤:

s1、获取训练集对应的版本号及待训练ai模型对应的版本名;

s2、根据所述版本号及所述版本名使用训练服务从文件系统自动下载所述训练集和所述待训练ai模型;

s3、所述训练服务使用所述训练集自动对所述待训练ai模型进行训练;

s4、所述训练服务自动对训练的效果进行评估,以得到评估结果;

s5、所述训练服务根据所述评估结果判断是否进行模型替换,若是则自动热加载替换模型。

较佳地,所述s1还包括:获取训练方式和待替换ai模型对应的版本名;

所述s2还包括:根据所述待替换ai模型对应的版本名使用训练服务从所述文件系统自动下载所述待替换ai模型;

所述训练方式包括增量训练和全量训练;

所述s3包括:

若所述训练方式为全量训练,则所述训练服务使用所述训练集自动对所述待训练ai模型进行训练,以得到全量训练后的模型;

若所述训练方式为增量训练,则所述训练服务使用所述训练集自动对所述待替换ai模型进行训练,以得到增量训练后的模型;

所述s4包括以下步骤:

若所述训练方式为全量训练,则所述训练服务自动对所述待训练ai模型和所述全量训练后的模型的精确率和/或召回率进行比较,以得到评估结果;

若所述训练方式为增量训练,则所述训练服务自动对所述待替换ai模型和所述增量训练后的模型的精确率和/或召回率进行比较,以得到评估结果。

较佳地,在所述s2和所述s3之间还包括以下步骤:

所述训练服务自动对所述训练集及所述待训练ai模型和/或所述待替换ai模型进行格式校验,所述训练服务根据校验结果自动判断所述训练集及所述待训练ai模型和/或所述待替换ai模型是否可用。

较佳地,所述待训练ai模型、所述待替换ai模型、所述全量训练后的模型、所述增量训练后的模型均为python(一种跨平台的计算机程序设计语言)数据模型;

所述s3和所述s4之间还包括以下步骤:

所述训练服务自动将所述python数据模型转换成java(一门面向对象编程语言)数据模型,并对所述java数据模型进行格式校验,若校验通过则执行所述s4。

较佳地,所述版本名包括业务线名、场景名、数据周期名。

较佳地,所述s5包括以下步骤:

所述训练服务根据所述评估结果判断是否进行模型替换,若是则判断是否自动替换,若是则自动热加载替换模型,若否则将所述评估结果通过邮件和/或短信发送至预设的接收端。

本发明第二方面提供了一种ai模型的自动迭代运维系统,包括前端、管理端和训练服务端;

所述前端用于获取训练集对应的版本号;

所述管理端用于获取待训练ai模型对应的版本名;

所述训练服务端包括下载模块、训练模块、评估模块和替换模块;

所述下载模块用于根据所述版本号及所述版本名从文件系统自动下载所述训练集和所述待训练ai模型;

所述训练模块用于使用所述训练集自动对所述待训练ai模型进行训练;

所述评估模块用于自动对训练的效果进行评估,以得到评估结果;

所述替换模块用于根据所述评估结果判断是否进行模型替换,若是则自动热加载替换模型。

较佳地,所述前端还用于获取训练方式,所述管理端还用于获取待替换ai模型对应的版本名;

所述下载模块还用于根据所述待替换ai模型对应的版本名从所述文件系统自动下载所述待替换ai模型;

所述训练方式包括增量训练和全量训练;

所述训练模块包括全量训练单元和增量训练单元;

所述全量训练单元用于在所述训练方式为全量训练时使用所述训练集自动对所述待训练ai模型进行训练,以得到全量训练后的模型;

所述增量训练单元用于在所述训练方式为增量训练时使用所述训练集自动对所述待替换ai模型进行训练,以得到增量训练后的模型;

所述评估模块包括全量评估单元和增量评估单元;

所述全量评估单元用于在所述训练方式为全量训练时自动对所述待训练ai模型和所述全量训练后的模型的精确率和/或召回率进行比较,以得到评估结果;

所述增量评估单元用于在所述训练方式为增量训练时自动对所述待替换ai模型和所述增量训练后的模型的精确率和/或召回率进行比较,以得到评估结果。

较佳地,所述训练服务端还包括校验模块;

所述校验模块用于自动对所述训练集及所述待训练ai模型和/或所述待替换ai模型进行格式校验,并根据校验结果自动判断所述训练集及所述待训练ai模型和/或所述待替换ai模型是否可用。

较佳地,所述待训练ai模型、所述待替换ai模型、所述全量训练后的模型、所述增量训练后的模型均为python数据模型;

所述训练服务端还包括模型转换模块;

所述模型转换模块用于自动将所述python数据模型转换成java数据模型,并对所述java数据模型进行格式校验,若校验通过则调用所述评估模块。

较佳地,所述版本名包括业务线名、场景名、数据周期名。

较佳地,所述替换模块包括第一判断单元、第二判断单元、自动替换单元和结果发送单元;

所述第一判断单元用于根据所述评估结果判断是否进行模型替换,若是则调用所述第二判断单元;

所述第二判断单元用于判断是否自动替换,若是则调用所述自动替换单元,若否则调用所述结果发送单元;

所述自动替换单元用于自动热加载替换模型;

所述结果发送单元用于将所述评估结果通过邮件和/或短信发送至预设的接收端。

本发明第三方面提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所述的ai模型的自动迭代运维方法。

本发明第四方面提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的ai模型的自动迭代运维方法的步骤。

本发明的积极进步效果在于:

本发明公开的一种ai模型的自动迭代运维方法、系统、设备及存储介质,以ai训练侧服务为中心,配合管理端,可做到ai模型自动迭代运维,按照不同的场景可做到各种不同的模型运维和版本配置;并且使运维人员与各业务模型的复杂逻辑隔离,版本透明,能在减少运维成本的基础上提高运维效率。

附图说明

图1为本发明实施例1的ai模型的自动迭代运维方法的流程图。

图2为本发明实施例2的ai模型的自动迭代运维系统的示意图。

图3为本发明实施例2的ai模型的自动迭代运维系统中训练服务端的结构示意图。

图4为本发明实施例2的ai模型的自动迭代运维系统中训练模块的结构示意图。

图5为本发明实施例2的ai模型的自动迭代运维系统中评估模块的结构示意图。

图6为本发明实施例2的ai模型的自动迭代运维系统中替换模块的结构示意图。

图7为发明实施例3的电子设备的结构示意图。

具体实施方式

下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。

实施例1

如图1所示,本实施例提供了一种ai模型的自动迭代运维方法,包括以下步骤:

步骤101、获取训练集对应的版本号、训练方式、待替换ai模型对应的版本名及待训练ai模型对应的版本名;其中,训练方式包括增量训练和全量训练;训练集为近一周的数据,也可以为自己上传的数据。

本实施例中,训练方式依据运维人员配置而定,可选择增量训练和/或全量训练。

步骤102、根据版本号、待替换ai模型对应的版本名及待训练ai模型对应的版本名使用训练服务从文件系统分别自动下载训练集、待替换ai模型和待训练ai模型。

步骤103、训练服务自动对训练集及待训练ai模型和/或待替换ai模型进行格式校验,训练服务根据校验结果自动判断训练集及待训练ai模型和/或待替换ai模型是否可用,若不可用则执行步骤104;若可用则执行步骤105。

本实施例中,训练服务自动对数据进行汇总和清洗。

步骤104、进入异常处理流程。

步骤105、训练服务按照1:9将训练集拆分成子训练集和子测试集。

其中,子训练集用于自动对待训练ai模型和/或待替换ai模型进行训练;子测试集用于自动对待训练ai模型、全量训练后的模型、待替换ai模型、增量训练后的模型进行效果评估。

步骤106、训练服务使用训练集自动对待训练ai模型进行训练;具体为,若训练方式为全量训练,则训练服务使用子训练集自动对待训练ai模型进行训练,得到全量训练后的模型;若训练方式为增量训练,则训练服务使用子训练集自动对待替换ai模型进行训练,得到增量训练后的模型。

本实施例中,训练服务是由python代码构建的可自动调动的一种程序,待训练ai模型、待替换ai模型、全量训练后的模型、增量训练后的模型均为python数据模型。

步骤107、训练服务自动将python数据模型转换成java数据模型,并对java数据模型进行格式校验,若校验未通过则执行步骤104;若校验通过则执行步骤108。

步骤108、训练服务自动对训练的效果进行评估,以得到评估结果;具体为,若训练方式为全量训练,则训练服务使用子测试集自动对待训练ai模型和全量训练后的模型的精确率和/或召回率进行比较,得到评估结果;若训练方式为增量训练,则训练服务使用子测试集自动对待替换ai模型和增量训练后的模型的精确率和/或召回率进行比较,得到评估结果。

步骤109、训练服务根据评估结果判断是否进行模型替换,若否则流程结束;若是则执行步骤110。

步骤110、判断是否自动替换,若是则执行步骤111,若否则执行步骤112。

步骤111、自动热加载替换模型,流程结束。

步骤112、评估结果通过邮件和/或短信发送至预设的接收端,后续预设的接收端选择是否加载模型到生产环境或者测试环境,若选择“加载”,则替换模型。

本实施例中,模型评估采用现有的实现方式。如步骤108中若训练方式为增量训练,则训练服务使用子测试集自动对待替换ai模型和增量训练后的模型的精确率和/或召回率进行比较,得到评估结果,可以包括以下步骤:

获取待替换ai模型在测试集上的精确率和召回率。

获取待训练ai模型在测试集上的精确率和召回率。

对比待训练ai模型和待替换ai模型,在召回率变化小于10%的前提下,若待训练ai模型的精确率大于待替换ai模型的精确率,则替换模型。

本实施例中,模型评估可根据线上数据情况采用合理的迭代周期,保证数据量,取新旧模型精确率对比与召回率的对比(新模型是指待训练模型,旧模型是指待替换模型),由运维人员决定是否触发热加载更换模型操作。

本实施例提供的ai模型的自动迭代运维方法,其优势在于,一旦运维人员配置模型场景,此场景下模型能够以滑动窗口的形式取线上的数据自我增量训练,并且返回新旧模型在线上数据的测试结果,可由运维人员手动触发或根据训练结果自动热加载新模型以替换旧模型。本发明适用于机器学习与深度学习模型的自动迭代更新,相对于传统的手动训练更新模型,统一了多场景下模型的版本管理,减少了人力运维成本,并且提高了运维效率。

本实施例提供的ai模型的自动迭代运维方法,相对于人工训练模型实现模型迭代,自动运维可以解决在多场景下模型的自我迭代,无需人为介入。运维人员只需要根据场景配置模型版本,各场景下的模型就能够定期自动取数据增量训练,并根据新旧模型的结果自动热加载替换老模型。

本实施例通过配置场景,实现各场景的模型自动迭代更新,并根据新的数据自动划分测试集,进行新旧两个版本的模型效果评估,返回评分,根据评分结果,判别是否热加载替换。主要特点为:采用离线训练方式,不干预线上预测服务,并采用热加载方式实现模型更换时业务零感知,达到对业务方零侵入的效果;并且针对增量的业务数据,用同一模型增量训练以保证训练数据的时效性与模型的可用性,同时ai模型的自动迭代运维系兼容所有可部署的深度学习与机器学习模型。

本实施例中,模型版本的命名方式按“业务线名+场景名+数据周期名”命名,此种命名方式是由最少的信息保证了模型版本的唯一性,方便版本管理。

本实施例中,以ai训练侧服务为中心,配合管理端,可做到ai模型自动迭代运维,按照不同的场景可做到各种不同的模型运维和版本配置;并且使运维人员与各业务模型的复杂逻辑隔离,版本透明,能在减少运维成本的基础上提高运维效率。

实施例2

如图2所示,本实施例提供了一种ai模型的自动迭代运维系统,包括前端1、管理端2和训练服务端3。

前端1用于获取训练集对应的版本号、训练方式,其中,训练方式包括增量训练和全量训练;训练集为近一周的数据。

管理端2用于获取待训练ai模型对应的版本名及待替换ai模型对应的版本名。

如图3所示,训练服务端3包括下载模块301、校验模块302、训练模块303、模型转换模块304、评估模块305、替换模块306。

下载模块301用于根据版本号及版本名从文件系统自动下载训练集、待训练ai模型和/或待替换ai模型。

校验模块302用于自动对训练集、待训练ai模型和/或待替换ai模型进行格式校验,并根据校验结果自动判断训练集、待训练ai模型和/或待替换ai模型是否可用。

训练模块303用于使用可用的训练集自动对可用的待训练ai模型进行训练。

如图4所示,训练模块303包括全量训练单元3031和增量训练单元3032。

全量训练单元3031用于在训练方式为全量训练时使用训练集自动对待训练ai模型进行训练,以得到全量训练后的模型。

增量训练单元3032用于在训练方式为增量训练时使用训练集自动对待替换ai模型进行训练,以得到增量训练后的模型。

本实施例中,训练服务是由python代码构建的可自动调动的一种程序,待训练ai模型、待替换ai模型、全量训练后的模型、增量训练后的模型均为python数据模型。

模型转换模块304用于自动将python数据模型转换成java数据模型,并对java数据模型进行格式校验,若校验通过则调用评估模块305。

评估模块305用于自动对训练的效果进行评估,以得到评估结果。

如图5所示,评估模块305包括全量评估单元3051和增量评估单元3052。

全量评估单元3051用于在训练方式为全量训练时自动对待训练ai模型和全量训练后的模型的精确率和/或召回率进行比较,以得到评估结果。

增量评估单元3052用于在训练方式为增量训练时自动对待替换ai模型和增量训练后的模型的精确率和/或召回率进行比较,以得到评估结果。

如图6所示,替换模块306包括第一判断单元3061、第二判断单元3062、自动替换单元3063和结果发送单元3064。

第一判断单元3061用于根据评估结果判断是否进行模型替换,若是则调用第二判断单元3062。

第二判断单元3062用于判断是否自动替换,若是则调用自动替换单元3063,若否则调用结果发送单元3064。

自动替换单元3063用于自动热加载替换模型。

结果发送单元3064用于将评估结果通过邮件和/或短信发送至预设的接收端。

本实施例中,训练服务端3调用下载模块301下载练集、待训练ai模型和/或待替换ai模型时,通过管理端2将“数据下载中,准备训练”的信息返回给前端1,前端1显示“准备训练”。

本实施例中,训练服务端3调用校验模块302自动对下载到的训练集、待训练ai模型和/或待替换ai模型进行格式校验,并根据校验结果自动判断训练集、待训练ai模型和/或待替换ai模型是否可用时。若不可用则进入异常处理流程,同时通过管理端2将“数据损坏请重新训练”的信息返回给前端1,前端1显示“数据损坏请重新训练”;若可用则通过管理端2将“训练中”的信息返回给前端1,前端1显示“训练中”。

本实施例中,训练服务端3调用评估模块305对训练的效果进行评估时,通过管理端2将“训练成功,未加载”的信息返回给前端1,前端1显示“训练成功,未加载”,同时将待训练ai模型用对应的版本名命名后发送到文件系统。

本实施例中,训练服务端3调用自动替换单元3063自动热加载替换模型时,通过管理端2将“加载”的信息返回给前端1,前端1显示“加载”。

本实施例通过配置场景,实现各场景的模型自动迭代更新,并根据新的数据自动划分测试集,进行新旧两个版本的模型效果评估,返回评分,根据评分结果,判别是否热加载替换。主要特点为:采用离线训练方式,不干预线上预测服务,并采用热加载方式实现模型更换时业务零感知,达到对业务方零侵入的效果;并且针对增量的业务数据,用同一模型增量训练以保证训练数据的时效性与模型的可用性,同时ai模型的自动迭代运维系兼容所有可部署的深度学习与机器学习模型。

本实施例中,以ai训练侧服务为中心,配合管理端,可做到ai模型自动迭代运维,按照不同的场景可做到各种不同的模型运维和版本配置;并且使运维人员与各业务模型的复杂逻辑隔离,版本透明,能在减少运维成本的基础上提高运维效率。

实施例3

图7为本发明实施例3提供的一种电子设备的结构示意图。电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现实施例1的ai模型的自动迭代运维方法。图7显示的电子设备30仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

如图7所示,电子设备30可以以通用计算设备的形式表现,例如其可以为服务器设备。电子设备30的组件可以包括但不限于:上述至少一个处理器31、上述至少一个存储器32、连接不同系统组件(包括存储器32和处理器31)的总线33。

总线33包括数据总线、地址总线和控制总线。

存储器32可以包括易失性存储器,例如随机存取存储器(ram)321和/或高速缓存存储器322,还可以进一步包括只读存储器(rom)323。

存储器32还可以包括具有一组(至少一个)程序模块324的程序/实用工具325,这样的程序模块324包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。

处理器31通过运行存储在存储器32中的计算机程序,从而执行各种功能应用以及数据处理,例如本发明实施例1所提供的ai模型的自动迭代运维方法。

电子设备30也可以与一个或多个外部设备34(例如键盘、指向设备等)通信。这种通信可以通过输入/输出(i/o)接口35进行。并且,模型生成的设备30还可以通过网络适配器36与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器36通过总线33与模型生成的设备30的其它模块通信。应当明白,尽管图中未示出,可以结合模型生成的设备30使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、raid(磁盘阵列)系统、磁带驱动器以及数据备份存储系统等。

应当注意,尽管在上文详细描述中提及了电子设备的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。

实施例4

本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现实施例1所提供的ai模型的自动迭代运维方法的步骤。

其中,可读存储介质可以采用的更具体可以包括但不限于:便携式盘、硬盘、随机存取存储器、只读存储器、可擦拭可编程只读存储器、光存储器件、磁存储器件或上述的任意合适的组合。

在可能的实施方式中,本发明还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行实现实施例1所述的ai模型的自动迭代运维方法的步骤。

其中,可以以一种或多种程序设计语言的任意组合来编写用于执行本发明的程序代码,所述程序代码可以完全地在用户设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户设备上部分在远程设备上执行或完全在远程设备上执行。

虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1