CN114281311A - 一种模型开发系统 - Google Patents
一种模型开发系统 Download PDFInfo
- Publication number
- CN114281311A CN114281311A CN202111603215.9A CN202111603215A CN114281311A CN 114281311 A CN114281311 A CN 114281311A CN 202111603215 A CN202111603215 A CN 202111603215A CN 114281311 A CN114281311 A CN 114281311A
- Authority
- CN
- China
- Prior art keywords
- model
- docker
- training
- task
- development process
- 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
- 238000011161 development Methods 0.000 title claims abstract description 133
- 238000000034 method Methods 0.000 claims abstract description 135
- 230000008569 process Effects 0.000 claims abstract description 116
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 79
- 238000012549 training Methods 0.000 claims abstract description 76
- 238000004364 calculation method Methods 0.000 claims abstract description 29
- 238000012544 monitoring process Methods 0.000 claims abstract description 27
- 238000004519 manufacturing process Methods 0.000 claims description 17
- 238000011156 evaluation Methods 0.000 claims description 13
- 230000000694 effects Effects 0.000 claims description 10
- 238000000605 extraction Methods 0.000 claims description 8
- 238000012795 verification Methods 0.000 claims description 8
- 238000004458 analytical method Methods 0.000 claims description 6
- 238000013515 script Methods 0.000 claims description 6
- 230000005856 abnormality Effects 0.000 claims description 4
- 238000004806 packaging method and process Methods 0.000 claims description 4
- 230000018109 developmental process Effects 0.000 description 108
- 238000007726 management method Methods 0.000 description 14
- 238000002360 preparation method Methods 0.000 description 7
- 238000013461 design Methods 0.000 description 6
- 238000013508 migration Methods 0.000 description 6
- 230000005012 migration Effects 0.000 description 6
- 238000003860 storage Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000009795 derivation Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000012417 linear regression Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000012216 screening Methods 0.000 description 4
- 238000003066 decision tree Methods 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000002955 isolation Methods 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000002790 cross-validation Methods 0.000 description 2
- 230000008676 import Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种模型开发系统,具体包括:多个Docker,用于执行模型开发过程中的多个任务步骤;调度模块,用于配置每个Docker的启动时序和启动参数,并按照每个Docker的启动时序,依次启动每个Docker,执行模型开发过程中与该Docker对应的任务步骤,直至执行完成所有任务步骤,获得开发完成的模型;训练日志生成模块,用于记录每个Docker在执行对应任务步骤时的相关计算任务信息,形成训练日志文件;模型部署模块,用于将开发完成的模型部署到应用系统中。本发明实施例提供的方案中,统一了开发流程,对算法环境进行了统一标准的管理;并且提供了对模型开发全过程的监控和回溯,以及多种模型部署方式。
Description
技术领域
本发明涉及人工智能技术领域,特别涉及一种模型开发系统。
背景技术
模型开发过程中,在算法准备、建模过程、建模应用等多个不同阶段,都需要对模型进行流程管理和有效性判定,以最高程度的减少模型与算法方面的开发和管理风险。
而针对不同应用领域下的模型开发,有各自的管控要求。但目前的模型开发多是由开发人员自行搭建算法环境,并按照各自的开发流程进行开发,缺乏一套统一标准的开发流程,不便于进行统一管理。
并且出于安全性和合规性方面的考虑,模型应用场景的网络架构和IT环境通常较为复杂,不同的业务系统间较为独立,甚至在网络的物理层进行了隔离,因此在模型部署上会出现进行跨系统甚至跨网络环境部署的情况,这就导致了模型在部署时会出现迁移的操作风险。
发明内容
鉴于上述问题,本发明提供一种克服上述问题或者至少部分地解决上述问题的一种模型开发系统,技术方案如下所述:
一种模型开发系统,包括:
多个应用容器引擎Docker,用于执行模型开发过程中的多个任务步骤,每个所述Docker执行与其对应的任务步骤,每个所述任务步骤由独立计算任务计算产生;
调度模块,用于配置每个所述Docker的启动时序和启动参数,并按照每个所述Docker的启动时序,依次启动每个所述Docker,执行模型开发过程中与该Docker对应的任务步骤,直至执行完成所有所述任务步骤,获得开发完成的模型,各个所述Docker的启动时序一一对应模型开发过程中各个任务步骤的串行顺序;
训练日志生成模块,用于记录每个所述Docker在执行对应任务步骤时的相关计算任务信息,形成训练日志文件;
模型部署模块,用于将所述开发完成的模型部署到应用系统中。
上述的系统,可选的,所述模型部署模块在将所述开发完成的模型部署到应用系统的过程中,所述模型部署模块还被配置为:
若模型开发过程中的开发环境与所述应用系统的生产环境之间的网络互通,则将所述开发完成的模型直接部署到所述应用系统中;
若模型开发过程中的开发环境与所述应用系统的生产环境之间的网络存在物理隔离,且所述生产环境和所述开发环境的部署系统为同一系统,则将所述开发完成的模型打包为Docker镜像文件后部署到所述应用系统中;
若模型开发过程中的开发环境与所述应用系统的生产环境之间的网络存在物理隔离,并且所述生产环境和所述开发环境的部署系统不为同一系统,则根据所述开发完成的模型生成模型文件,并将模型文件提供给所述应用系统,在所述应用系统中构建对应模型。
上述的系统,可选的,所述模型文件中包括所述开发完成的模型的计算逻辑和模型参数。
上述的系统,可选的,所述模型开发过程中的多个任务步骤中包括第一步骤,执行所述第一步骤的Docker,在执行所述第一步骤的过程中,具体被配置为:获取模型开发所需的原始数据,根据预设特征提取规则,对所述原始数据进行特征提取,以构建模型开发过程所需的样本数据集;
在执行所述第一步骤的过程中,所述训练日志生成模块被配置为记录所述原始数据的获取时间和所述原始数据的来源信息。
上述的系统,可选的,所述模型开发过程中的多个任务步骤还包括第二步骤,执行所述第二步骤的Docker,在执行所述第二步骤的过程中,具体被配置为:选择模型开发过程中所需的训练算法,应用所述样本数据集对所述训练算法进行训练,以获得训练完成的第一模型;
在执行所述第二步骤的过程中,所述训练日志生成模块被配置为记录训练过程中的建模脚本、软硬件条件、开发者身份、校验信息、起止时间戳以及所使用训练算法的算法名称、算法类型、算法使用的参数和算法训练迭代的轮次信息。
上述的系统,可选的,所述模型开发过程中的多个任务步骤还包括第三步骤,执行所述第三步骤的Docker,在执行所述第三步骤的过程中,具体被配置为:对所述第一模型进行评估,判断所述第一模型是否达到预设要求;若未达到所述预设要求,则重新进行模型训练的过程,并得到新的第一模型,直至得到的新的第一模型达到所述预设要求时,将当前获得的新的第一模型确定为所述开发完成的模型;
在执行所述第三步骤的过程中,所述训练日志生成模块被配置为记录对每次得到的所述新的第一模型进行评估时产生的相关评估信息。
上述的系统,可选的,所述模型开发过程中的多个任务步骤还包括第四步骤,执行所述第四步骤的Docker,在执行所述第四步骤的过程中,具体被配置为:在每次进行模型训练时,进行模型可解释性分析;
在执行所述第四步骤的过程中,所述训练日志生成模块被配置为记录每次模型训练使用的样本数据集中各个特征的特征定义可解释性、特征异常性可解释性和特征选择可解释性,以及记录每次模型训练选择的训练算法对应的算法可解释性和算法参数可解释性。
上述的系统,可选的,还包括模型监控模块,在将所述开发完成的模型部署到应用系统中后,所述模型监控模块被配置为监控所述开发完成的模型在实际使用时的模型效果,并记录相关模型效果监控信息,形成模型应用监控报告。
上述的系统,可选的,所述模型监控模块还被配置为:判断所述开发完成的模型在实际使用时是否满足预设的使用标准,若不满足所述预设的使用标准,发出重新开发模型的警报。
上述的系统,可选的,还包括显示模块,所述显示模块用于将所述训练日志文件进行显示。
与现有技术相比,本发明具有以下优点:一种模型开发系统,具体包括:多个应用容器引擎Docker,用于执行模型开发过程中的多个任务步骤,每个所述Docker执行与其对应的任务步骤,每个所述任务步骤由独立计算任务计算产生;调度模块,用于配置每个所述Docker的启动时序和启动参数,并按照每个所述Docker的启动时序,依次启动每个所述Docker,执行模型开发过程中与该Docker对应的任务步骤,直至执行完成所有所述任务步骤,获得开发完成的模型,各个所述Docker的启动时序一一对应模型开发过程中各个任务步骤的串行顺序;训练日志生成模块,用于记录每个所述Docker在执行对应任务步骤时的相关计算任务信息,形成训练日志文件;模型部署模块,用于将所述开发完成的模型部署到应用系统中。本发明实施例提供的方案中,将模型开发过程分割为多个任务步骤,每个任务步骤的计算任务交给对应的Docker独立执行,结合串行调度设计完成了模型开发,统一了开发流程,对算法环境进行了统一标准的管理,减少了模型开发流程中出现的操作风险;在模型开发过程中形成的训练日志文件,提供了对模型开发全过程的监控和回溯,加强了对建模过程的监管;模型部署时提供了多种部署方式,还能够实现跨系统和跨网络情况下的模型部署。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本发明实施例提供的一种模型开发系统的结构框图;
图2为本发明实施例提供的一种模型开发系统的又一结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
参考图1示出了,本发明实施例提供的一种模型开发系统的结构框图,图1示出的连接结构为本发明实施例提供的一种模型开发系统的一种可行性实现方案,该系统的执行主体为设置在系统平台中的服务器,所述的模型开发系统具体包括:
多个应用容器引擎Docker,用于执行模型开发过程中的多个任务步骤,每个所述Docker执行与其对应的任务步骤,每个所述任务步骤由独立计算任务计算产生;
调度模块,用于配置每个所述Docker的启动时序和启动参数,并按照每个所述Docker的启动时序,依次启动每个所述Docker,执行模型开发过程中与该Docker对应的任务步骤,直至执行完成所有所述任务步骤,获得开发完成的模型,各个所述Docker的启动时序一一对应模型开发过程中各个任务步骤的串行顺序;
本发明实施例提供的系统中,模型开发过程主要包括建模数据准备、模型迭代开发与模型应用等主要步骤,每个主要步骤都可分割为一个或多个具体的任务步骤,分割标准为一个任务步骤由一个独立的计算任务实现,通常每个任务步骤的计算任务需要使用不同的算法或代码工具来完成;本发明实施例提供的系统,在底层将建模流程中每一个任务步骤都启动一个独立的Docker来执行,由于每一个计算任务都分配一个Docker环境独立运行,实现了最小化的粒度隔离计算资源和计算任务,为算法模型开发流程中迭代和监控需求提供了基础支持。
本发明实施例提供的系统中,调度模块可采用K8S调度器,用于配置每个所述Docker的启动参数,包括每个所述Docker的输入数据、使用算法参数等;调度模块还用于按照模型开发过程中各个任务步骤的串行顺序,依次启动对应顺序的所述Docker以执行对应的任务步骤,实现模型开发过程。
本发明实施例提供的系统,在底层计算资源的使用和开发系统环境的搭建架构上,将每个任务步骤都采用对应的所述Docker进行封装,以标准的Docker虚拟化的方式实现一个单独的计算任务,以执行对应的任务步骤;再结合调度模块将每个计算任务的输入数据、输出数据串行形成模型训练的工作流,实现了将所有的计算任务以流水线的形式构成完整的计算流程,完成模型开发过程的完整训练。这样一方面能够统一管理整个系统底层资源,为开发者分配一致的开发虚拟环境,使得开发者在使用系统平台时都会使用统一的镜像文件,并通过镜像文件的管理,保证了开发的模型和算法在系统环境及第三方开源算法代码版本上的一致性和安全性;另一方面通过对模型开发过程进行了精细化的分割,使得开发人员在模型的迭代过程中,只需要对部分的计算步骤进行修正,而不需要对完整的建模流程代码进行修改,并可以在不同模型开发任务或不同开发者之间进行复用,提升了开发效率;再者能够在计算资源上进行调度与管控,同时在资源需求扩张时,能够进行快速的横向扩展或迁移,并提供算法环境在行内进行快速部署、扩展、迁移的能力。
本发明实施例提供的系统中,还包括训练日志生成模块,用于记录每个所述Docker在执行对应任务步骤时的相关计算任务信息,形成训练日志文件。由于对模型开发过程进行了模块化的封装,将实现每一个任务步骤的计算任务都由一个独立的Docker执行,从而能够更方便地形成计算任务日志文件,这就使得系统可以对开发者模型算法的训练全过程进行详细的监控和回溯,保证了对模型开发流程中各个部分的可追溯性,加强了对建模过程的监管。
本发明实施例提供的系统中,训练日志文件用于提供模型开发过程中各个步骤的回溯与管理,包含多种关于模型管理和评估的报告与模型开发的相关文档,包括但不限于模型数据报告、模型评估报告、模型运行报告、模型开发流程日志、模型上线监控报告、可解释性报告等;这些报告和日志分别在执行模型开发过程中的对应任务步骤时记录产生,使得管理者可以方便的进行模型开发流程回溯,并且对模型的上线与应用情况进行监控与管理,完善整个模型开发与应用的管理流程,最小化由算法模型开发与部署导致的风险。
本发明实施例提供的系统中,模型开发过程主要包括建模数据准备、模型迭代开发与模型应用等主要步骤,将建模数据准备记为第一步骤,将模型迭代开发中的模型训练记为第二步骤、模型迭代开发中的模型评估记为第三步骤、模型迭代开发中的可解释性分析记为第四步骤,第一步骤至第四步骤的每个步骤中都可由一个或多个任务步骤实现,即第一步骤至第四步骤的每个步骤都可一个或多个Docker来执行完成对应的一个或多个任务步骤。每一步骤对应配置的Docker数目由实现该步骤所需要的任务步骤数决定。
本发明实施例提供的系统中,第一步骤是建模数据准备,包括:获取模型开发所需的原始数据,根据预设特征提取规则,对所述原始数据进行特征提取,以构建模型开发过程所需的样本数据集,作为后续算法训练和迭代过程中统一的数据来源。建模数据准备阶段包括数据获取和数据处理,数据获取使用数据接口导入原始数据,本发明实施例提供的系统提出两种不同的方式导入原始数据:一是使用中间件连接多类数据库/数仓,以脚本的方式进行抽取原始数据;二是通过本地文件或服务器文件的方式直接导入原始数据。获取原始数据之后进行数据处理,包括特征筛选、样本筛选、特征工程等处理步骤。
本发明实施例提供的系统中,在由对应的Docker来执行第一步骤中各个任务步骤时,所述训练日志生成模块被配置为形成模型数据报告,模型数据报告包括所记录的所述原始数据的获取时间和所述原始数据的来源信息,来源信息包括数据存储介质与数据获取脚本;本发明实施例提供的系统中,模型数据报告还包括所述训练日志生成模块记录的特征提取相关信息,包括数据采样方法、特征工程的流程与方法;样本数据集还可采用签名或校验码,用于对样本数据集进行唯一性标识。
本发明实施例提供的系统中,第二步骤是模型训练,包括:选择模型开发过程中所需的训练算法,往往还需要对训练算法进行参数配置,然后应用所述样本数据集对所述训练算法进行训练,以达到最优化模型参数,获得训练完成的第一模型。本发明实施例提供的系统支持多个算法进行并行训练,以便开发者可以对多个算法表现进行结果比对,该系统也支持使用冠军挑战者的方式,对算法类型,迭代轮次,算法超参进行网格搜索,挑选出最优的算法模型表现。
本发明实施例提供的系统中,在由对应的Docker来执行第二步骤中各个任务步骤时,所述训练日志生成模块被配置为生成模型开发流程日志,模型开发流程日志包括记录的训练过程中的建模脚本、软硬件条件、开发者身份、校验信息、起止时间戳以及所使用训练算法的算法名称、算法类型、算法使用的参数和算法训练迭代的轮次信息。本发明实施例提供的系统中,在形成模型开发流程新的分支时需要完整的校验信息如(签名或校验码),对模型开发流程进行唯一的标识,校验合格的情况下模型开发流程日志进行记录。
本发明实施例提供的系统中,第三步骤是模型评估,由于一次训练得到的第一模型往往是不满足预设要求的,因此在每一次训练后都要对该次训练得到的第一模型进行模型评估,判断所述第一模型是否达到预设要求;若未达到所述预设要求,则重新进行模型训练的过程,并得到新的第一模型,直至得到的新的第一模型达到所述预设要求时,将当前获得的新的第一模型确定为所述开发完成的模型。经过多轮的迭代优化,最终形成所述开发完成的模型。模型评估可以使用包括ROC曲线、混淆矩阵、V折交叉验证等方法对第一模型的表现进行评估,并使用包括交叉验证、洗牌抽样、随机抽样等的验证方式检测第一模型的稳定,从而评估模型的效果是否达到预设要求。如果训练得到的第一模型不能达到精度要求,或开发者需要对模型的算法或流程进行修正探索时,可以返回到第一步骤选择新的特征子集(即建模数据准备阶段筛选新的特征构成样本数据集)和/或返回到第二步骤选择新的算法重新进行迭代,形成模型开发流程新的分支。
本发明实施例提供的系统中,在由对应的Docker来执行第三步骤中各个任务步骤时,所述训练日志生成模块被配置为生成模型评估报告,模型评估报告包括记录的对每次得到的所述新的第一模型进行评估时产生的相关评估信息。
本发明实施例提供的系统中,第四步骤是模型迭代开发中的可解释性分析,包括:在每次进行模型训练时,进行模型可解释性分析。在执行所述第四步骤的过程中,所述训练日志生成模块被配置为生成可解释性报告,可解释性报告包括记录的每次模型训练使用的样本数据集中各个特征的特征定义可解释性、特征异常性可解释性和特征选择可解释性,以及记录每次模型训练选择的训练算法对应的算法可解释性和算法参数可解释性。具体来说,特征定义的可解释性包括特征定义的相关业务逻辑和规则,特征的数据位置、以及详细ETL(Extract-Transform-Load,即将数据从来源端经过抽取extract、转换transform、加载load至目的端的过程)过程的记录位置。特征异常性的可解释性:应确保特征的分布合理,并对缺失值、异常值进行检验,并说明分布的合理性;并对特征的统计分布进行可视化展示。特征衍生的可解释性:应保证特征衍生方法的合理性,并对特征衍生流程进行明确记录。特征选择的可解释性:特征选择过程应有一定的量化统计指标作为决策依据,需要将特征选择过程中的IV值、集成算法GBDT和XGBOOSTING中的特征重要性方法、变量相关性、变量显著性检验等变量筛选方法进行记录,并需要开发人员记录特征选择的业务逻辑和算法依据。建模过程中算法的可解释性:通过统计指标对算法的可解释性进行说明,对样本特征在算法中的表现进行可视化展示,详细的解释算法使用时在样本中的归因权重。算法参数的可解释性:需对业务相关的算法参数设置的方案进行说明;若使用的是网格搜索的自动化调参方法,应记录调参的过程及代码原理。通过可解释性报告对每个样本使用的模型特征的有效性进行了可视化复现,能够辅助开发者对模型应用的有效性进行验证与说明。
本发明实施例提供的系统中,所述训练日志生成模块还被配置为记录模型开发各个计算节点中的完整流程(如算法模块中迭代不同轮次中算法表现数据、特征衍生中新增加的特征集等)、模型迭代时不同版本的模型的不同表现、以及开发者在原始模型训练后手动对模型进行调整的记录(如评分卡模型中开发者对变量分箱的手动调整)等,使得本发明实施例提供的系统支持对开发者的模型成果进行版本管理与发布。
本发明实施例提供的系统中,还包括模型部署模块,用于将所述开发完成的模型部署到应用系统中。当完成模型的迭代开发流程,迭代训练的模型效果达到精度要求后,需要对模型进行上线应用,所述模型部署模块可采用多种部署方式进行部署,本发明实施例提供的系统中,所述模型部署模块还被配置为可采用如下三种部署方式将开发完成的模型部署到应用系统中,以适应不同的网络环境和系统架构。
第一种部署方式:当模型开发过程中的开发环境与所述应用系统的生产环境之间的网络互通时,则将所述开发完成的模型直接部署到所述应用系统中,并以接口形式对外提供服务。这种方式是通过将算法模型包装为接口的形式,以如RESTFULL-API(RESTFUL-API是一种接口设计方式,中文名称为表述性状态转移接口设计)等的接口形式直接对外提供服务,其他系统通过将数据传入接口服务得到模型的计算结果,返回后应用于其他应用系统,实现与其他业务系统的直接交互。
第二种部署方式:当模型开发过程中的开发环境与所述应用系统的生产环境之间的网络存在物理隔离,不能通信,但所述生产环境和所述开发环境的部署系统为同一系统时,则将所述开发完成的模型打包为Docker镜像文件后部署到所述应用系统中,并以如RESTFULL-API等的接口形式对外提供服务。此时不需要将模型部署到其他应用系统,可以直接在生产环境的系统中以接口形式进行应用,相当于生产环境的系统就是应用系统,记录模型部署到其他业务系统或在平台中的模型接口后的应用信息进行管理。
第三种部署方式:当模型开发过程中的开发环境与所述应用系统的生产环境之间的网络存在物理隔离,并且所述生产环境和所述开发环境的部署系统不为同一系统时,系统开发的算法和模型必须要通过其他业务系统进行部署,可以根据所述开发完成的模型生成模型文件,并将模型文件提供给所述应用系统,在所述应用系统中构建对应模型。
本发明实施例提供的系统中,所述模型文件中包括所述开发完成的模型的计算逻辑和模型参数,通过重现模型的计算逻辑和模型参数可以实现与模型文件对应的模型的构建。如金融领域运用的模型主要分为两类:线性的回归模型和基于Boosting的模型提升方法。对于线性回归模型,本质上是一类由线性多项式构成判别公式,模型文件只需要记录数据转换逻辑和线性多项式中的系数,就可以复现算法;对于基于Boosting的模型提升方法,其本质是多个决策树构成的判别模型,模型文件记录决策树的逻辑判断和决策树中的节点参数就可以复现模型的结果。现有的模型文件的生成只能生成模型开发语言中运用的文件,但本发明实施例提供的系统是深入模型本身的参数与逻辑,针对不同模型文件类型,自动化的生成相关语言的代码,对于不支持模型直接进行应用的系统,通过计算逻辑和参数就能完成模型算法的复现。并且这样一方面保证了算法与模型在不同网络环境和系统需求中可以稳定快速地进行迁移部署,同时也保证了算法和模型在迁移部署的过程中不会出现泄漏或篡改等操作风险。
本发明实施例提供的系统中,模型文件支持大多数主流的业务系统开发环境,包括数据库系统中的存储过程、JAVA环境中的JAR包、PYTHON环境中的PMML文件、C++环境中的DLL文件等,其他业务系统可以根据需求,使用模型文件将训练完成的模型直接载入使用。本发明实施例提供的系统支持对开发者的模型成果进行版本管理与发布,并能够将模型结果输出为多种模型文件,将模型结果与其他业务系统进行对接,进行快速的上线与迭代,避免由模型部署和迁移过程中造成的模型泄露或模型上线过程中的操作风险。本发明实施例提供的系统提供的模型文件格式覆盖了绝大部分的系统需求,包括但不限于:1)存储过程形式的模型文件,支持Oracle、mysql、Hive等数据库直接使用模型文件进行模型与算法的跑批;2)PMML格式的存储文件,支持PYTHON服务、决策引擎等计算流形式的业务系统使用模型文件;3)以JAR包形式输出模型文件,支持业务系统直接引用系统输出模型文件,在业务流程中直接计算出结果。
参考图2示出了,本发明实施例提供的一种模型开发系统的又一结构框图,在本发明实施例提供的系统中还包括模型监控模块,在将所述开发完成的模型部署到应用系统中后,所述模型监控模块被配置为监控所述开发完成的模型在实际使用时的模型效果,并记录相关模型效果监控信息,形成模型应用监控报告。
本发明实施例提供的系统中,所述模型监控模块还被配置为:判断所述开发完成的模型在实际使用时是否满足预设的使用标准,若不满足所述预设的使用标准,发出重新开发模型的警报。其中预设的使用标准具体为,判断所述开发完成的模型在实际使用时是否达到所述预设要求,以及判断所述开发完成的模型在实际使用时产生的模型结果与在模型开发过程中产生的模型结果是否一致,当判断出所述开发完成的模型在实际使用时未达到所述预设要求和/或判断出所述开发完成的模型在实际使用时产生的模型结果与在模型开发过程中产生的模型结果不一致时,所述模型监控模块发出重新开发模型的警报。本发明实施例提供的系统中,所述模型监控模块支持通过脚本的方式,使用验证数据集或新产生的数据,对模型进行跑批,检验模型包括稳定性、准确性在内的多项指标,持续的监控模型算法的有效性、监控模型开发与线上应用的一致性(通常用于跨网络或跨系统进行模型部署时,判断是否出现了模型迁移过程中的操作风险)、监控随着时间推移新数据在模型中的表现是否保持稳定,并根据监控结果判断模型是否需要进行重构。
本发明实施例提供的系统中,还包括显示模块,所述显示模块被配置为将所述训练日志文件进行显示。除此之外,所述显示模块还可以被配置为显示所述模型监控模块生成的模型应用监控报告和发出的重新开发模型的警报。
为了更加清晰的对本申请模型开发系统进行说明,本发明实施例提供一具体实例如下:
以一个独立模型的开发流程为例,需要完成数据清洗、数据特征筛选、特征工程、模型训练、模型参数调优、模型结果验证与检验、模型可解释性分析等一系列的串行任务,才能完成模型的一轮训练与开发。模型开发完成还可进行模型部署和模型应用效果监控。模型开发过程中每个串行任务都可分割为一个或多个任务步骤实现,每个任务步骤的计算任务都需要使用不同的算法或代码工具来完成。
将模型开发过程中每个任务步骤进行封装,以标准的Docker虚拟化的方式形成一个单独的计算任务,再由如K8S调度工具依次启动每个Docker,将计算任务的输入输出数据串行形成模型训练的工作流,通过将所有的计算任务以PIPLINE(流水线)的形式构成完整的计算流程,完成算法和模型的训练;在进行模型开发过程中,训练日志生成模块还可自动化的生成关于模型管理和评估的报告与模型开发的相关文档,以方便的进行模型开发流程回溯。
由于进行了训练流程的模块化封装,并以Docker的方式独立了计算任务,一方面能够方便形成训练流程中每个任务步骤的日志和回溯,加强了对建模过程的监管;另一方面将模型开发过程每个步骤进行标准化,对算法环境进行了统一标准的管理,保证了模型开发的一致性和安全性,规避了模型算法开发过程中的操作风险。
本发明实施例提供的系统可以应用到各个领域,尤其适用于银行金融领域。在针对金融建模场景时,在设计和功能上主要体现在以下几个方面:
第一、在算法的支持上主要针对金融领域建模使用的线性回归及其衍生算法和基于Boosting模型提升方法的相关算法,通过本发明实施例提供的系统,完善了金融领域建模使用的这两大类算法的算法评估、参数自动化优化、安装部署的相应组件。
第二、在金融系统中模型的应用上,由于模型效果的优劣会直接影响到资金的损失,所以在金融场景下,对模型的态度会更加的审慎,需要对模型的效果有更加深入的评估,在本发明实施例提供的系统中,对模型效果的评估与监控上,除了传统模型效果评估中的正确率、召回率、混淆矩阵的方法外,能够增加模型与数据多维度的统计检验、稳定性检验、跨期验证、提升度等指标上的评估与监控,更加的符合金融系统中模型应用的流程与方法。
第三、本发明实施例提供的系统中,对模型部署提出了跨系统、跨网络的部署方案,符合银行IT环境下网络环境物理隔离的设计要求,也更加符合银行当前业务系统与算法系统不兼容的现状。
第四、本发明能够针对模型开发过程进行详细的回溯、监控与管理功能,符合金融系统中对算法应用的风险管理制度与金融系统中更加严格的监管要求。
第五、本发明实施例提供的系统,提出了模型的可解释功能设计,目标是当使用基于Boosting提升方法的相关模型时,需要针对银行风险管理流程,对模型结果、模型的参数与风控规则制定方案进行详细说明,以满足模型应用的相应规范。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种模型开发系统,其特征在于,包括:
多个应用容器引擎Docker,用于执行模型开发过程中的多个任务步骤,每个所述Docker执行与其对应的任务步骤,每个所述任务步骤由独立计算任务计算产生;
调度模块,用于配置每个所述Docker的启动时序和启动参数,并按照每个所述Docker的启动时序,依次启动每个所述Docker,执行模型开发过程中与该Docker对应的任务步骤,直至执行完成所有所述任务步骤,获得开发完成的模型,各个所述Docker的启动时序一一对应模型开发过程中各个任务步骤的串行顺序;
训练日志生成模块,用于记录每个所述Docker在执行对应任务步骤时的相关计算任务信息,形成训练日志文件;
模型部署模块,用于将所述开发完成的模型部署到应用系统中。
2.根据权利要求1所述的系统,其特征在于,所述模型部署模块在将所述开发完成的模型部署到应用系统的过程中,所述模型部署模块还被配置为:
若模型开发过程中的开发环境与所述应用系统的生产环境之间的网络互通,则将所述开发完成的模型直接部署到所述应用系统中;
若模型开发过程中的开发环境与所述应用系统的生产环境之间的网络存在物理隔离,且所述生产环境和所述开发环境的部署系统为同一系统,则将所述开发完成的模型打包为Docker镜像文件后部署到所述应用系统中;
若模型开发过程中的开发环境与所述应用系统的生产环境之间的网络存在物理隔离,并且所述生产环境和所述开发环境的部署系统不为同一系统,则根据所述开发完成的模型生成模型文件,并将模型文件提供给所述应用系统,在所述应用系统中构建对应模型。
3.根据权利要求2所述的系统,其特征在于,所述模型文件中包括所述开发完成的模型的计算逻辑和模型参数。
4.根据权利要求1或2所述的系统,其特征在于,所述模型开发过程中的多个任务步骤中包括第一步骤,执行所述第一步骤的Docker,在执行所述第一步骤的过程中,具体被配置为:获取模型开发所需的原始数据,根据预设特征提取规则,对所述原始数据进行特征提取,以构建模型开发过程所需的样本数据集;
在执行所述第一步骤的过程中,所述训练日志生成模块被配置为记录所述原始数据的获取时间和所述原始数据的来源信息。
5.根据权利要求4所述的系统,其特征在于,所述模型开发过程中的多个任务步骤还包括第二步骤,执行所述第二步骤的Docker,在执行所述第二步骤的过程中,具体被配置为:选择模型开发过程中所需的训练算法,应用所述样本数据集对所述训练算法进行训练,以获得训练完成的第一模型;
在执行所述第二步骤的过程中,所述训练日志生成模块被配置为记录训练过程中的建模脚本、软硬件条件、开发者身份、校验信息、起止时间戳以及所使用训练算法的算法名称、算法类型、算法使用的参数和算法训练迭代的轮次信息。
6.根据权利要求5所述的系统,其特征在于,所述模型开发过程中的多个任务步骤还包括第三步骤,执行所述第三步骤的Docker,在执行所述第三步骤的过程中,具体被配置为:对所述第一模型进行评估,判断所述第一模型是否达到预设要求;若未达到所述预设要求,则重新进行模型训练的过程,并得到新的第一模型,直至得到的新的第一模型达到所述预设要求时,将当前获得的新的第一模型确定为所述开发完成的模型;
在执行所述第三步骤的过程中,所述训练日志生成模块被配置为记录对每次得到的所述新的第一模型进行评估时产生的相关评估信息。
7.根据权利要求6所述的系统,其特征在于,所述模型开发过程中的多个任务步骤还包括第四步骤,执行所述第四步骤的Docker,在执行所述第四步骤的过程中,具体被配置为:在每次进行模型训练时,进行模型可解释性分析;
在执行所述第四步骤的过程中,所述训练日志生成模块被配置为记录每次模型训练使用的样本数据集中各个特征的特征定义可解释性、特征异常性可解释性和特征选择可解释性,以及记录每次模型训练选择的训练算法对应的算法可解释性和算法参数可解释性。
8.根据权利要求7所述的系统,其特征在于,还包括模型监控模块,在将所述开发完成的模型部署到应用系统中后,所述模型监控模块被配置为监控所述开发完成的模型在实际使用时的模型效果,并记录相关模型效果监控信息,形成模型应用监控报告。
9.根据权利要求8所述的系统,其特征在于,所述模型监控模块还被配置为:判断所述开发完成的模型在实际使用时是否满足预设的使用标准,若不满足所述预设的使用标准,发出重新开发模型的警报。
10.根据权利要求1所述的系统,其特征在于,还包括显示模块,所述显示模块用于将所述训练日志文件进行显示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111603215.9A CN114281311A (zh) | 2021-12-24 | 2021-12-24 | 一种模型开发系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111603215.9A CN114281311A (zh) | 2021-12-24 | 2021-12-24 | 一种模型开发系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114281311A true CN114281311A (zh) | 2022-04-05 |
Family
ID=80875351
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111603215.9A Pending CN114281311A (zh) | 2021-12-24 | 2021-12-24 | 一种模型开发系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114281311A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109885389A (zh) * | 2019-02-19 | 2019-06-14 | 山东浪潮云信息技术有限公司 | 一种基于容器的并行深度学习调度训练方法及系统 |
CN112633501A (zh) * | 2020-12-25 | 2021-04-09 | 深圳晶泰科技有限公司 | 基于容器化技术的机器学习模型框架的开发方法与系统 |
CN112800018A (zh) * | 2021-01-07 | 2021-05-14 | 中国电子系统技术有限公司 | 一种开发系统 |
CN113760464A (zh) * | 2021-09-14 | 2021-12-07 | 中化现代农业有限公司 | 一种基于深度学习的人工智能模型开发平台 |
-
2021
- 2021-12-24 CN CN202111603215.9A patent/CN114281311A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109885389A (zh) * | 2019-02-19 | 2019-06-14 | 山东浪潮云信息技术有限公司 | 一种基于容器的并行深度学习调度训练方法及系统 |
CN112633501A (zh) * | 2020-12-25 | 2021-04-09 | 深圳晶泰科技有限公司 | 基于容器化技术的机器学习模型框架的开发方法与系统 |
CN112800018A (zh) * | 2021-01-07 | 2021-05-14 | 中国电子系统技术有限公司 | 一种开发系统 |
CN113760464A (zh) * | 2021-09-14 | 2021-12-07 | 中化现代农业有限公司 | 一种基于深度学习的人工智能模型开发平台 |
Non-Patent Citations (2)
Title |
---|
林志达,吴石松: "Dockers容器在人工智能研发平台中的关键技术研究", 《自动化与仪器仪表》, 31 December 2020 (2020-12-31), pages 192 - 196 * |
王鹤麟、于洋、王益: "基于容器的AI系统开发——百度PaddlePaddle解析", pages 1 - 5, Retrieved from the Internet <URL:https://www.163.com/dy/article/CRVU8QE70511FQO9.html> * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190065343A1 (en) | Automated Log Analysis and Problem Solving Using Intelligent Operation and Deep Learning | |
US7660884B2 (en) | Apparatus, system, and method for generating a resource utilization description for a parallel data processing system | |
CN106227654B (zh) | 一种测试平台 | |
US20170109636A1 (en) | Crowd-Based Model for Identifying Executions of a Business Process | |
CN112416369B (zh) | 一种面向异构混合环境的智能化部署方法 | |
US11681511B2 (en) | Systems and methods for building and deploying machine learning applications | |
Lima et al. | MLOps: Practices, Maturity Models, Roles, Tools, and Challenges-A Systematic Literature Review. | |
CN117971384A (zh) | 一种基于容器和大数据的自动化运维方法 | |
CN112784273A (zh) | 一种sql风险识别方法、装置及设备 | |
CN117675838A (zh) | 一种智能量测主站数据自动同步及共享方法及系统 | |
CN114818353A (zh) | 一种基于故障特征关系图谱的列控车载设备故障预测方法 | |
Tabassam | MLOps: A step forward to Enterprise machine learning | |
van der Aalst et al. | Process mining software | |
CN117289925A (zh) | 一种基于组件技术的软件建模方法及系统 | |
CN115840560A (zh) | 一种用于软件开发过程的管理系统 | |
CN114281311A (zh) | 一种模型开发系统 | |
CN114780443A (zh) | 微服务应用自动化测试方法、装置、电子设备及存储介质 | |
CN113626044A (zh) | 服务管理方法及装置 | |
Ardagna et al. | A fast and incremental development life cycle for data analytics as a service | |
Tadano et al. | Automatic synthesis of SRN models from system operation templates for availability analysis | |
CN117130942B (zh) | 一种模拟国产化生产环境的仿真测试方法 | |
US20230359449A1 (en) | Learning-augmented application deployment pipeline | |
Kumar | Cloud Simulator Search Framework The Vigilant Fetcher | |
CN117081666B (zh) | 故障预测方法、装置、电子设备、存储介质及程序产品 | |
CN118170685B (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 |