基于深度学习的应用上线方法、系统、设备及介质与流程

文档序号:24350628发布日期:2021-03-19 12:35阅读:122来源:国知局
基于深度学习的应用上线方法、系统、设备及介质与流程

本发明涉及深度学习技术领域,尤其涉及一种基于深度学习的应用上线方法、系统、设备及介质。



背景技术:

众所周知,传统it架构中,应用程序的部署,依赖于依次上线开发、测试和生成环境的全流程,其根据开发人员在开发环境编写代码,通过代码管理平台提交代码;测试人员在测试环境部署代码,并进行相应的测试;在测试通过之后,由运维人员将测试通过的代码部署在生产环境中。由于生产数据的敏感性和保密性,生产环境的数据和代码只依赖于运维人员根据既定的操作步骤进行更改,开发人员不能进行任何操作。

在深度学习项目中,开发人员需要对生产数据进行分析处理,如统计分析和筛选等处理过程需与生产进行交互,使得传统it架构不能适应深度学习项目,使得当前深度学习项目的应用开发过程,需在生产环境外,构造与生产数据的数据结构一致的伪数据进行模型训练,虽然伪数据与生产数据可以保持数据结构的一致上,但在分布上会存在一定的差异,从而导致训练出的深度学习模型在生产数据上难以达到预期的效果。



技术实现要素:

本发明实施例提供一种基于深度学习的应用上线方法、系统、设备及介质,以解决当前基于深度学习项目的应用无法在保障生产数据安全的情况下,采用生产数据进行模型训练的效果不佳的问题。

一种基于深度学习的应用上线方法,包括:

采用部署在生产网络下的生产核心区中的数据样本管理系统,从业务系统中获取与目标学习项目相对应的生产数据,将所述生产数据发送给处于所述生产网络下的生产训练区的模型训练流水线平台;

采用部署在生产网络下的生产训练区中的交互式代码编写平台,访问所述生产训练区的模型训练流水线平台中的生产数据,获取所述目标学习项目对应的目标项目代码,将所述目标项目代码发送给所述模型训练流水线平台;

采用部署在生产网络下的生产训练区中的模型训练流水线平台,调度系统计算资源运行所述目标项目代码,对所述生产数据进行数据预处理、模型训练和模型验证,获取有效深度学习模型,将所述有效深度学习模型发送给所述生产训练区的模型检查推送模块;

采用部署在生产网络下的生产训练区中的模型检查推送模块,基于所述目标项目代码和所述生产数据,确定模型版本信息,将所述有效深度学习模型和所述模型版本信息发送给处于测试网络下的测试管理区中的模型仓库;

采用测试网络下的测试管理区中的模型仓库,接收所述生产训练区的模型检查推送模块发送的有效深度学习模型和所述模型版本信息,基于所述模型版本信息,对所述有效深度学习模型进行版本管理;

采用部署在测试网络的功能测试区中的功能测试平台,从所述测试管理区的模型仓库中调用所述有效深度学习模型,对所述有效深度学习模型进行功能测试,获取测试成功的目标深度学习模型,将所述目标深度学习模型发送给生产网络下的生产核心区中的模型推理服务应用;

采用部署在生产网络下的生产核心区中的模型推理服务应用,将所述目标深度学习模型部署到目标应用中。

一种基于深度学习的应用上线系统,包括:

数据样本管理系统,部署在生产网络下的生产核心区中,用于从业务系统中获取与目标学习项目相对应的生产数据,将所述生产数据发送给处于所述生产网络下的生产训练区的模型训练流水线平台;

交互式代码编写平台,部署在生产网络下的生产训练区中,用于访问所述生产训练区的模型训练流水线平台中的生产数据,获取所述目标学习项目对应的目标项目代码,将所述目标项目代码发送给所述模型训练流水线平台;

模型训练流水线平台,部署在生产网络下的生产训练区中,用于调度系统计算资源运行所述目标项目代码,对所述生产数据进行数据预处理、模型训练和模型验证,获取有效深度学习模型,将所述有效深度学习模型发送给所述生产训练区的模型检查推送模块;

模型检查推送模块,部署在生产网络下的生产训练区中,用于基于所述目标项目代码和所述生产数据,确定模型版本信息,将所述有效深度学习模型和所述模型版本信息发送给处于测试网络下的测试管理区中的模型仓库;

模型仓库,部署在测试网络下的测试管理区中,用于接收所述生产训练区的模型检查推送模块发送的有效深度学习模型和所述模型版本信息,基于所述模型版本信息,对所述有效深度学习模型进行版本管理;

功能测试平台,部署在测试网络的功能测试区中,用于从所述测试管理区的模型仓库中调用所述有效深度学习模型,对所述有效深度学习模型进行功能测试,获取测试成功的目标深度学习模型,将所述目标深度学习模型发送给生产网络下的生产核心区中的模型推理服务应用;

模型推理服务应用,部署在生产网络下的生产核心区中,用于将所述目标深度学习模型部署到目标应用中。

一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于深度学习的应用上线方法。

一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述基于深度学习的应用上线方法。

上述基于深度学习的应用上线方法、系统、设备及介质,所述生产网络下的生产核心区中的数据样本管理系统,将生产数据单向传输给生产网络下的生产训练区的模型训练流水线平台,以使生产网络下的生产训练区的交互式代码编写平台,可访问模型训练流水线平台中存储的生产数据,了解生产数据的特征,以编写目标项目代码,保障在了解生产数据的前提下进行编写目标项目代码,提高目标项目代码编写的有效性和后续训练所得的模型准确性。在模型训练流水线平台上调度系统计算资源运行所述目标项目代码,对所述生产数据进行数据预处理、模型训练和模型验证,获取有效深度学习模型,使得数据预处理、模型训练和模型验证过程中,不存在生产数据从生产网络泄漏的问题,以保障生产数据安全。部署在所述生产训练区的模型检查推送模块,只将有效深度学习模型和模型版本信息发送给处于测试网络下的测试管理区中的模型仓库,避免生产数据从生产环境泄漏到测试环境所导致的安全风险。部署在所述测试网络的功能测试区中的功能测试平台,对模型仓库中获取的有效深度学习模型进行功能测试,获取测试成功的目标深度学习模型,再通过生产网络下的生产核心区中的模型推理服务应用,部署到目标应用中,完成目标深度学习模型部署到所述目标应用的处理流程,整个处理流程不存在生产数据流出生产网络所在的生产环境以外的安全风险,又可以保障目标深度学习模型是基于生产数据训练确定的,提高目标深度学习模型的模型准确率。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明一实施例中基于深度学习的应用上线系统的一示意图;

图2是本发明一实施例中基于深度学习的应用上线方法的一流程图;

图3是本发明一实施例中基于深度学习的应用上线方法的一流程图;

图4是本发明一实施例中计算机设备的一示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供一种基于深度学习的应用上线方法,基于深度学习的应用上线方法应用在图1所示的应用环境中,具体应用在基于深度学习的应用上线系统上,基于深度学习的应用上线系统包括生产网络和测试网络两个局域网;生产网络下设置有生产核心区和生产训练区;测试网络下设置有测试管理区和功能测试区。

其中,生产核心区是生产网络下中用于进行数据采集和应用部署的区域。生产训练区是在生产网络这一生产环境下进行模型训练的专属网络区域,区别于其他生产应用所在的生产核心区。生产训练区从属于生产网络所在的生产环境,具有生产环境的特性:不与开发环境和测试环境相连接,只与测试网络中的测试管理区进行有限和可控的连接,如仅用于部署代码和推送模型。

生产核心区包括数据样本管理系统、模型推理服务应用和基本应用,该基本应用是指除了模型推理服务应用以外的其他应用。数据样本管理系统是用于保存生产数据并对生产数据进行管理的系统,本示例中,数据样本管理系统需将深度学习项目训练过程所需的生产数据,从业务系统导入到数据样本管理系统对应的系统数据库中,对系统数据库中存储的生产数据进行管理,在需要进行模型训练过程中,将生产数据导出到生产训练区。本示例中,生产训练区可单向从生产核心区的数据样本管理系统获取生产数据,但不以任何形式输出生产数据。模型推理服务应用是用于对外提供http模型推理服务的应用。

其中,生产训练区包括模型训练流水线平台、交互式代码编写平台和模型检查推送模块。交互式代码编写平台是可以访问生产数据,对生产数据进行观察分析,并进行代码编写和提交的的平台。模型训练流水线平台从交互式代码编写平台获取目标项目代码,基于目标项目代码构建并运行以下数据处理流水线:数据预处理-模型训练-模型验证。即将生产数据输入到数据处理流水线,调度cpu或者gpu等系统计算资源运行数据预处理-模型训练-模型验证等处理步骤,获取训练所得的有效深度学习模型。

其中,测试管理区包括代码仓库和模型仓库。其中,代码仓库是用于存储目标项目代码的仓库。模型仓库是用于存储有效深度学习模型的仓库。

其中,功能测试区是用于实现功能测试的区域。

在一实施例中,如图2所示,提供一种基于深度学习的应用上线方法,应用在图1所示的基于深度学习的应用上线系统中,具体包括如下步骤:

s21:采用部署在生产网络下的生产核心区中的数据样本管理系统,从业务系统中获取与目标学习项目相对应的生产数据,将生产数据发送给处于生产网络下的生产训练区的模型训练流水线平台。

其中,生产核心区是生产网络下中用于进行数据采集和应用部署的区域。数据样本管理系统是用于保存生产数据,并对生产数据进行管理的系统,可以导入目标学习项目所需的生产数据,对生产数据进行版本管理,以便后续可以重现。目标学习项目对应的生产数据是指目标学习项目开发过程中采用的实际生产形成的数据。目标学习项目是指本次开发的深度学习项目。

作为一示例,数据样本管理系统设置在生产网络所在的生产环境中,可以接收处于同一生产网络的业务系统所导入的目标学习项目对应的生产数据,再将生产数据发送给处于生产网络下的生产训练区的模型训练流水线平台,以便在模型训练流水线平台进行目标学习项目的模型训练。可理解地,数据样本管理系统可接收生产网络下业务系统导入的目标学习项目对应的生产数据,只将生产数据单向传输给生产网络下的生产训练区的模型训练流水线平台,生产数据只在生产网络所在的生产环境,不会导致生产数据外泄到生产网络所在的生产环境之外,保障目标学习项目对应的生产数据的安全性,避免生产数据外泄的风险。

作为一示例,数据样本管理系统可接收处于同一生产网络下的另一个深度学习项目的数据样本管理系统所导入的目标学习项目对应的生产数据,再将生产数据发送给处于生产网络下的生产训练区的模型训练流水线平台,以便在模型训练流水线平台进行目标学习项目的模型训练。例如,数据样本管理系统a可以接收数据样本管理系统b导入的生产数据,作为目标学习项目01的生产数据。

在一实施例中,数据样本管理系统从业务系统中获取与目标学习项目相对应的生产数据之后,需采用版本号生成工具对生产数据的存储信息、版本时间和随机码进行处理,形成唯一的数据版本号;再将生产数据和数据版本号,发送给处于生产网络下的生产训练区的模型训练流水线平台,以便在模型训练流水线平台进行目标学习项目的模型训练,还可利用数据版本号对训练所得的目标深度学习模型进行数据追溯和模型管理。其中,生产数据的存储信息包括但不限于生产数据在系统数据库中存储的文件夹名称或者存储地址等。版本时间是指导入生产数据的时间。数据版本号是用于唯一识别模型训练所采用的生产数据的版本。

在一实施例中,步骤s21中,采用部署在生产网络下的生产核心区中的数据样本管理系统,从业务系统中获取与目标学习项目相对应的生产数据,将生产数据发送给处于生产网络下的生产训练区的模型训练流水线平台,包括:

s211:采用部署在生产网络下的生产核心区中的数据样本管理系统,从业务系统中获取与目标学习项目相对应的生产数据,判断生产数据是否包括客户敏感信息。

s212:若生产数据包含客户敏感信息,则获取生产数据对应的权限验证信息,将生产数据和权限验证信息发送给处于生产网络下的生产训练区的模型训练流水线平台。

其中,客户敏感信息是指包含客户隐私的信息。权限验证信息是指对客户敏感信息进行保密所确定的允许访问所需权限和/或动态验证码的信息。

作为一示例,采用部署在生产网络下的生产核心区中的数据样本管理系统,从业务系统中获取与目标学习项目相对应的生产数据,先采用字符串匹配算法或者其他算法,判断生产数据中是否包含敏感词库中的敏感词对应的敏感字段;若生产数据中包含敏感字段,则认定生产数据包含客户敏感信息;若生产数据中未包含敏感字段,则认定生产数据不包含客户敏感信息。例如,若敏感词库中的敏感词包括账户金额而不包括访问时间,若生产数据中包含账户金额这一敏感字段时,则认定包含客户敏感信息。

作为一示例,数据样本管理系统在确定生产数据中包含客户敏感信息之后,可以根据生产数据对应的机构来源,确定可以访问生产数据对应的目标权限信息,将目标权限信息确定为权限验证信息。也可以采用动态码生成工具随机生成动态验证码,确定动态验证码对应的验证有效期,基于动态验证码和验证有效期确定目标验证信息,将目标验证信息确定为权限验证信息。还可以将目标权限信息和目标验证信息一起作为权限验证信息。可理解地,在确定权限验证信息之后,可将生产数据和权限验证信息发送给处于生产网络下的生产训练区的模型训练流水线平台,以便在模型训练流水线平台进行目标学习项目的模型训练。

s22:采用部署在生产网络下的生产训练区中的交互式代码编写平台,访问生产训练区的模型训练流水线平台中的生产数据,获取目标学习项目对应的目标项目代码,将目标项目代码发送给模型训练流水线平台。

作为一示例,交互式代码编写平台,可以访问从数据样本管理系统单向传输给模型训练流水线平台的生产数据,对生产数据进行分析处理,获取分析结果;再根据分析结果,编写数据预处理、模型训练和模型验证对应的代码,获取目标学习项目对应的目标项目代码。

本示例中,交互式代码编写平台部署在生产网络所在的生产环境内,用户需采用用户帐号登录交互式代码编写平台,在交互式代码编写平台上完成对生产数据进行分析处理,获取分析结果;再根据分析结果,编写数据预处理、模型训练和模型验证对应的代码,获取目标学习项目对应的目标项目代码。

本示例中,交互式代码编写平台部署到生产操作间,用户只有进入到生产操作间,才可以通过交互式代码编写平台,访问生产训练区的模型训练流水线平台中的生产数据,以实现对生产数据进行访问。生产操作间提供24小时的摄像、录音监控,禁止开发人员携带任何电子设备,保证开发人员无法进行拍照、录音和手写等对生产数据的记录行为,防止生产数据泄漏。

作为一示例,交互式代码编写平台部署到生产操作间内,生产操作间内部署有电子设备监测仪、监控摄像头和监控录音设备,在用户进入生产操作间对交互式代码编写平台进行操作过程中,进行电子设备监测、摄像和录音监控,禁止用户携带任何电子设备进入生产操作间进行拍照、录音笔和手写等记录生产数据的行为,防止生产数据泄漏。

在一实施例中,步骤s22,即采用部署在生产网络下的生产训练区中的交互式代码编写平台,访问生产训练区的模型训练流水线平台中的生产数据,获取目标学习项目对应的目标项目代码,包括:

s221:采用部署在生产网络下的生产训练区中的交互式代码编写平台,访问生产训练区的模型训练流水线平台中的生产数据,获取关注字段对应的字段数值。

s222:对关注字段对应的字段数值进行分析,获取关注字段对应的字段数值的分布形式。

s223:基于关注字段对应的字段数值的分布形式,获取与分布形式相对应的数据预处理、模型训练和模型验证的代码,确定为目标学习项目的目标项目代码。

其中,关注字段是指根据目标应用的开发设计需求,确定需要关注了解的字段,即需要关注了解的字段名称。目标项目代码是指根据关注字段对应的字段数值的分布形式,用户自主编写的用于实现对生产数据进行数据预处理、模型训练和模型验证的代码。

作为一示例,步骤s221中,用户在生产操作间内,对部署在生产网络下的生产训练区的交互式代码编写平台进行操作,以采用交互式代码编写平台,访问生产训练区的模型训练流水线平台中的生产数据,从生产数据中抽取多个关注字段对应的字段数值,以便实现对多个关注字段对应的字段数值进行分析处理。

由于生产数据包含客户敏感信息时,数据样本管理系统将生产数据和权限验证信息一起发送给模型训练流水线平台,用户在生产操作间内通过交互式代码编写平台,访问生产训练区的模型训练流水线平台中的生产数据过程中,需获取用户帐号和与用户帐号相对应的当前验证信息,基于当前验证信息和权限验证信息进行验证,获取访问验证结果;若访问验证结果为验证通过,则允许访问生产训练区的模型训练流水线平台中的生产数据;若访问验证结果为验证不通过,则不允许访问生产训练区的模型训练流水线平台中的生产数据。例如,若权限验证信息包含目标权限信息,则与用户帐号相对应的当前验证信息为用户帐号对应的当前权限信息;若当前权限信息和目标权限信息相匹配,则获取验证通过的访问验证结果;若当前权限信息和目标权限信息不匹配,则获取验证不通过的访问验证结果。又例如,若权限验证信息包含目标验证信息,即包括动态验证码和验证有效期,则与用户帐号相对应的当前验证信息为用户当前输入的当前验证码以及当前输入时间,若当前验证码和动态验证码一致且当前输入时间在验证有效期内,则获取验证通过的访问验证结果;反之,获取验证不通过的访问验证结果。

作为一示例,步骤s222中,在交互式代码编写平台中,采用k-s检验(kolmogorov-smirnov)或者anderson-darling检验等特征分析检验方法,对每个关注字段对应的字段数值进行处理,确定每一关注字段对应的字段数值的分布形式。本示例中,分布形式包括但不限于正态分布、泊松分布或者离散分布,该离散分布是指除了正态分布和泊松分布以外的分布方式。

例如,用户可操作交互式代码编写平台,通过编程进行数据初步处理,例如,从csv和json等格式中获取关注字段,对关注字段进行处理,可以是通过打印输出观察关注字段对应的字段数值的分布形式、按照特征值进行分类和归一化等等,以便了解生产数据的分布和特征,一般来说,用户只有了解生产数据的数据分布特征,才能精确地选择需要的生产数据进行后续的模型训练。

作为一示例,步骤s223中,在交互式代码编写平台上,显示每一关注字段对应的字段数值的分布形式,用户在了解各个关注字段对应的字段对应的字段数值的分布形式之后,依据该分布形式,自主编写对不同关注字段对应的数据预处理的代码、以及将数据预处理后的数据进行模型训练和模型验证的代码等,确定为目标学习项目的目标项目代码。

本示例中,交互式代码编写平台在获取目标学习项目的目标项目代码之后,需将目标项目代码发送给模型训练流水线平台进行执行,即执行目标项目代码对生产数据进行数据预处理、模型训练和模型验证等处理过程,还需将目标项目代码发送给处于测试网络下的测试管理区中的代码仓库,以便采用代码仓库对目标项目代码进行统一管理。

本示例中,交互式代码编写平台在获取目标项目代码之后,需利用其代码管理平台gitlab对目标项目代码进行处理,确定目标项目代码对应的代码版本号,需将目标项目代码和代码版本号一并发送给模型训练流水线平台,并将目标项目代码和代码版本号一并发送给处于测试网络下的测试管理区中的代码仓库,以便代码仓库利用代码版本号,对目标项目代码进行统一管理。

s23:采用部署在生产网络下的生产训练区中的模型训练流水线平台,调度系统计算资源运行目标项目代码,对生产数据进行数据预处理、模型训练和模型验证,获取有效深度学习模型,将有效深度学习模型发送给生产训练区的模型检查推送模块。

作为一示例,采用部署在生产训练区中的模型训练流水线平台,调度cpu或者gpu等系统计算资源,通过cpu或者gpu等系统计算资源运行交互式代码编写平台提供的目标项目代码,对数据样本管理系统发送的生产数据进行处理,即对生产数据进行数据预处理、模型训练和模型验证,形成初步验证通过的有效深度学习模型。此处模型验证是指在生产环境上进行用户测试,是指采用模型训练过程中,未接触过相同类型的其他生产数据进行测试,以验证其效果,如召回率、准确率和acu曲线是否达标的过程。

例如,采用gpu计算资源运行交互式代码编写平台提供的目标项目代码过程中,gpu计算资源由gpu服务器提供,可将gpu服务器加入kubernetes集群,进行统一的管理和虚拟化,模型训练流水线平台调度时通过kubernetes管理指令在gpu卡上启动(虚拟化后,并不需要关心启动于哪一张卡,由集群统一管理),占据某一张或多张gpu卡,目标学习项目的模型训练和模型验证过程中,调用该gpu卡的计算资源进行加载,从而提供深度模型服务。

在一实施例中,步骤s23,即采用部署在生产网络下的生产训练区中的模型训练流水线平台,调度系统计算资源运行目标项目代码,对生产数据进行数据预处理、模型训练和模型验证,获取有效深度学习模型,包括:

s231:采用部署在生产网络下的生产训练区中的模型训练流水线平台,调度系统计算资源运行目标项目代码,对生产数据中每一关注字段对应的字段数值进行归一化处理,获取每一关注字段对应的归一化数值,根据所有关注字段对应的归一化数值,确定训练数据,将训练数据划分为训练集和测试集。

s232:将训练集中的训练数据输入到目标学习项目对应的深度学习模型网络进行训练,获取原始深度学习模型。

s233:将测试集中的训练数据输入到原始深度学习模型进行验证,获取有效深度学习模型。

作为一示例,步骤s231中,由于目标项目代码中包含数据预处理、模型训练和模型验证等各个处理环节的代码,在模型训练流水线平台上调度系统计算资源运行目标项目代码时,需先对生产数据进行数据预处理,具体为对生产数据中每一关注字段对应的字段数值进行归一化处理,获取每一关注字段对应的归一化数值;再基于所有关注字段对应的归一化数值,形成训练数据。该训练数据是用于进行模型训练和模型验证的数据。

在一实施例中,步骤s231中,调度系统计算资源运行目标项目代码,对生产数据中每一关注字段对应的字段数值进行归一化处理,获取每一关注字段对应的归一化数值,包括:

(1)调度系统计算资源运行目标项目代码,从生产数据中抽取关注字段对应的字段数值,确定关注字段对应的字段数值的分布形式。

本示例中,用户在交互式代码编写平台编写目标项目代码之前,预先对生产数据中各个关注字段对应的字段数值进行抽取,分析每一关注字段对应的字段数值的分布形式,以便基于了解到的关注字段对应的字段数值的分布形式,编写可以进行数据预处理的目标项目代码,因此,采用部署在生产网络下的生产训练区中的模型训练流水线平台,调度系统计算资源运行目标项目代码时,可直接从生产数据中抽取关注字段对应的字段数值,可根据关注字段直接确定关注字段对应的字段数值的分布形式。

(2)若关注字段对应的字段数值的分布形式为正态分布,则采用归一化算法对关注字段对应的字段数值进行归一化处理,获取关注字段对应的归一化数值。

本示例中,在生产数据中任一关注字段对应的字段数值的分布形式为正态分布,例如,生产数据中的年龄字段或者访问时间字段等,则直接采用归一化算法对关注字段对应的字段数值进行归一化处理,以获取该关注字段对应的归一化数值。本示例中,归一化算法为其中,s为归一化数值,x为字段数值,为字段数值的均值,σx为字段数值的标准差。

(3)若关注字段对应的字段数值的分布形式为泊松分布,则对关注字段对应的字段数值进行log变换处理,获取关注字段对应的log变换数值,再采用归一化算法对关注字段对应的log变换数值进行归一化处理,获取关注字段对应的归一化数值。

本示例中,在生产数据中任一关注字段对应的字段数值的分布形式为泊松分布时,即这些关注字段对应的字段数值基本上都是正数,且字段数值越小,字段数值的数量越多;而字段数值越大,则字段数值的数量越小,使得服从泊松分布的字段数值的均值为较小的数,且字段数值的标准差为较大的数,若直接采用归一化算法进行归一化处理,其归一化处理效果不佳。因此,在生产数据中任一关注字段对应的字段数值的分布形式为泊松分布时,先对关注字段对应的字段数值进行log变换处理,获取关注字段对应的log变换数值,以形成类似正态分布的分布形式,即y=logx,其中,y为log变换数值,x为字段数值;接着,采用归一化算法对log变换数值进行归一化处理,获取关注字段对应的归一化数值,此时,其中,s为归一化数值,y为log变换数值,为log变换数值的均值,σy为log变换数值的标准差。

(4)若关注字段对应的字段数值的分布形式为离散分布,则采用数值区间转换表,对关注字段对应的字段数值进行归一化处理,获取关注字段对应的归一化数值。

其中,数值区间转换表是指预先配置的用于对服从离散分布的字段数值进行转换处理的信息表,数值区间转换表中包括多个配置数值范围和与配置数值范围相对应的配置归一化值。该配置数值范围为预先划分为不同区间范围,而配置数值范围相对应的配置归一化值是指在字段数值归属于配置数值范围时,其直接配置的归一归值。

本示例中,在关注字段对应的字段数值的分布形式为离散分布时,需将该关注字段对应的字段数值查询数值区间转换表,确定字段数值在数值区间转换表中所属的配置数值范围确定为目标数值区间,将目标数值区间对应的配置归一化值,确定为关注字段对应的归一化数值。

可理解地,根据字段数值对应的字段数值的分布形式,采用不同处理方法进行归一化处理,再利用所有关注字段对应的归一化数值,形成训练数据,以保证训练数据的数据结构标准化,有助于提高后续模型训练和模型验证的处理效率,并有助于保障最终训练确定的有效深度学习模型的识别准确率。

作为一示例,步骤s232中,将训练集中的训练数据输入到目标学习项目对应的深度学习模型网络进行训练,以利用基于生产数据进行归一化处理形成的训练数据,对目标学习项目对应的深度学习模型网络的模型参数进行调整,确定原始深度学习模型。

作为一示例,步骤s233中,将测试集中的训练数据输入到已经训练好模型参数的原始深度学习模型进行模型验证,具体可以为,将训练数据输入到已经训练好模型参数的原始深度学习模型中,获取原始深度学习模型对应的模型输出,将模型输出与训练数据中的数据标签进行对比,统计模型输出与数据标签一致的准确样本数量和测试集中所有训练数据对应的总样本数量,根据准确样本数量和总样本数量,确定验证通过的有效深度学习模型。

本实施例中,模型训练流水线平台从同处于生产网络下的数据样本管理系统中单向获取生产数据,并接收交互式代码编写平台发送的目标项目代码,在模型训练流水线平台上调度系统计算资源运行目标项目代码,对生产数据进行数据预处理、模型训练和模型验证等流水线操作,使得数据预处理、模型训练和模型验证等过程均没有脱离生产网络所在的生产环境,避免生产数据从生产环境泄漏的安全风险。

s24:采用部署在生产网络下的生产训练区中的模型检查推送模块,基于目标项目代码和生产数据,确定模型版本信息,将有效深度学习模型和模型版本信息发送给处于测试网络下的测试管理区中的模型仓库。

本示例中,采用部署在生产训练区的模型检查推送模块,获取目标项目代码对应的代码版本号,并获取生产数据对应的数据版本号,再基于代码版本号和数据版本号,确定模型版本信息,将有效深度学习模型和模型版本信息关联,一并发送给处于测试网络下的测试管理区中的模型仓库,以实现仅将生产数据的数据版本号和基于生产数据形成的有效深度学习模型发送到测试网络所在的测试环境,避免生产数据从生产环境泄漏到测试环境所导致的安全风险。可理解地,模型版本信息包括代码版本号和数据版本号,在需要复现模型版本信息对应的有效深度学习模型,只需再次利用代码版本号对应的目标项目代码,对数据版本号对应的生产数据进行数据预处理、模型训练和模型验证,即可重现有效深度学习模型。

s25:采用测试网络下的测试管理区中的模型仓库,接收生产训练区的模型检查推送模块发送的有效深度学习模型和模型版本信息,基于模型版本信息,对有效深度学习模型进行版本管理。

本示例中,模型仓库部署在测试网络所在的测试环境下,可接收处理生产网络所在的生产环境下的模型检查推送模块发送的有效深度学习模型和模型版本信息,由于每一有效深度学习模型训练所采用的目标项目代码和生产数据不同,其对应的模型版本信息不同,使得模型版本信息可以唯一指示某一有效深度学习模型,因此,可以利用模型版本信息对有效深度学习模型进行版本管理,例如,对模型版本信息对应的有效深度学习模型进行存储或重现等。

在一实施例中,步骤s25中,即基于模型版本信息,对有效深度学习模型进行版本管理,具体包括如下步骤:

s251:基于模型版本信息,查询模型仓库中的模型版本信息表,判断是否包含与模型版本信息一致的已有版本信息。

s252:若包含与模型版本信息一致的已有版本信息,则不保存与模型版本信息相对应的有效深度学习模型。

s253:若不包含与模型版本信息一致的已有版本信息,则保存与模型版本信息相对应的有效深度学习模型。

其中,模型版本信息表是用于存储不同有效深度学习模型对应的模型版本信息的数据表。已有版本信息是指系统当前时间之前存储在模型版本信息表中的模型版本信息。

本示例中,基于模型版本信息,查询模型仓库中的模型版本信息表,判断模型版本信息表中是否记录有与模型版本信息一致的已有版本信息。若包含与模型版本信息一致的已有版本信息,则说明在系统当前时间之前已经将有效深度学习模型存储在模型仓库,无需重复存储,因此,不保存与模型版本信息相对应的有效深度学习模型。若不包含与模型版本信息一致的已有版本信息,则说明在系统当前时间之前没有将有效深度学习模型存储在模型仓库,需将与模型版本信息相对应的有效深度学习模型,存储在模型仓库中,以便后续可调用模型仓库中的有效深度学习模型进行功能测试。

s26:采用部署在测试网络的功能测试区中的功能测试平台,从测试管理区的模型仓库中调用有效深度学习模型,对有效深度学习模型进行功能测试,获取测试成功的目标深度学习模型,将目标深度学习模型发送给生产网络下的生产核心区中的模型推理服务应用。

本示例中,用户可部署在测试网络的功能测试区中的功能测试平台,从测试管理区的模型仓库中调用有效深度学习模型,采用除生产数据以外的对有效深度学习模型进行功能测试,获取功能测试结果。若功能测试结果为测试成功,则将有效深度学习模型确定为目标深度学习模型,将目标深度学习模型发送给生产网络下的生产核心区中的模型推理服务应用。若功能测试结果为测试失败,则获取测试失败报告,基于测试失败报告和模型版本信息,形成失败提醒信息,将失败提醒信息发送给开发终端,以使开发终端的用户再次进入生产操作间,采用生产操作间部署的交互式代码编写平台,对目标项目代码进行修改,形成更新后的目标项目代码,重复执行后续步骤。

s27:采用部署在生产核心区中的模型推理服务应用,将目标深度学习模型部署到目标应用中。

目标应用是指本次需要上线的应用。本示例中,用户将功能测试成功的目标深度学习模型,通过生产发布到指定的“模型推理服务应用”上,向外提供http模型推理服务,由目标应用进行调用,以完成在目标应用上调用目标学习项目对应的目标深度学习模型。例如,通用深度学习推理服务,可在生产环境中快速上线由tensorflow和pytorch框架训练出的目标深度学习模型,提供gpu和cpu两种部署方式,并且实现目标深度学习模型多节点部署时的负载均衡策略,支持线上海量推理请求。

本实施例所提供的基于深度学习的应用上线方法中,生产网络下的生产核心区中的数据样本管理系统,将生产数据单向传输给生产网络下的生产训练区的模型训练流水线平台,以使生产网络下的生产训练区的交互式代码编写平台,可访问模型训练流水线平台中存储的生产数据,了解生产数据的特征,以编写目标项目代码,保障在了解生产数据的前提下进行编写目标项目代码,提高目标项目代码编写的有效性和后续训练所得的模型准确性。在模型训练流水线平台上调度系统计算资源运行目标项目代码,对生产数据进行数据预处理、模型训练和模型验证,获取有效深度学习模型,使得数据预处理、模型训练和模型验证过程中,不存在生产数据从生产网络泄漏的问题,以保障生产数据安全。部署在生产训练区的模型检查推送模块,只将有效深度学习模型和模型版本信息发送给处于测试网络下的测试管理区中的模型仓库,避免生产数据从生产环境泄漏到测试环境所导致的安全风险。部署在测试网络的功能测试区中的功能测试平台,对模型仓库中获取的有效深度学习模型进行功能测试,获取测试成功的目标深度学习模型,再通过生产网络下的生产核心区中的模型推理服务应用,部署到目标应用中,完成目标深度学习模型部署到目标应用的处理流程,整个处理流程不存在生产数据流出生产网络所在的生产环境以外的安全风险,又可以保障目标深度学习模型是基于生产数据训练确定的,提高目标深度学习模型的模型准确率。

在一实施例中,如图3所示,基于深度学习的应用上线方法还包括如下步骤:

s31:采用部署在生产网络下的生产训练区中的交互式代码编写平台,访问生产训练区的模型训练流水线平台中的生产数据,获取目标学习项目无关的非模型代码,将非模型代码提交到处于测试网络下的测试管理区中的代码仓库。

s32:采用部署在生产网络下的生产核心区的基本应用,调用并部署代码仓库中存储的非模型代码。

其中,与目标学习项目无关的非模型代码是指不涉及到模型训练和模型验证的代码。基本应用是指设置在生产核心区内的除了模型推理服务应用以外的其他应用

作为一示例,步骤s301中,交互式代码编写平台,可以访问从数据样本管理系统单向传输给模型训练流水线平台的生产数据,对生产数据进行分析处理,获取分析结果;再根据分析结果,编写与目标学习项目无关的非模型代码,由于非代码模型不涉及到模型训练和模型验证等深度学习过程,因此,可以直接将非模型代码直接提交到处于测试网络下的测试管理区中的代码仓库,以便利用代码仓库对非模型代码进行统一管理。

作为一示例,步骤s302中,采用部署在生产网络下的生产核心区的基本应用,调用并部署代码仓库中存储的非模型代码,以将基于生产数据形成的非模型代码部署到无需采用深度学习项目的基本应用上,由于非模型代码也是基于生产数据形成的,在基本应用上运行非模型代码,在一定程度上保障非模型代码编写和应用的针对性和准确性,也不会导致生产数据从生产网络所在的生产环境泄漏,保障生产数据的安全性。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

在一实施例中,提供一种基于深度学习的应用上线系统,该基于深度学习的应用上线系统与上述实施例中基于深度学习的应用上线方法一一对应。

数据样本管理系统,部署在生产网络下的生产核心区中,用于从业务系统中获取与目标学习项目相对应的生产数据,将生产数据发送给处于生产网络下的生产训练区的模型训练流水线平台;

交互式代码编写平台,部署在生产网络下的生产训练区中,用于访问生产训练区的模型训练流水线平台中的生产数据,获取目标学习项目对应的目标项目代码,将目标项目代码发送给模型训练流水线平台;

模型训练流水线平台,部署在生产网络下的生产训练区中,用于调度系统计算资源运行目标项目代码,对生产数据进行数据预处理、模型训练和模型验证,获取有效深度学习模型,将有效深度学习模型发送给生产训练区的模型检查推送模块;

模型检查推送模块,部署在生产网络下的生产训练区中,用于基于目标项目代码和生产数据,确定模型版本信息,将有效深度学习模型和模型版本信息发送给处于测试网络下的测试管理区中的模型仓库;

模型仓库,部署在测试网络下的测试管理区中,用于接收生产训练区的模型检查推送模块发送的有效深度学习模型和模型版本信息,基于模型版本信息,对有效深度学习模型进行版本管理;

功能测试平台,部署在测试网络的功能测试区中,用于从测试管理区的模型仓库中调用有效深度学习模型,对有效深度学习模型进行功能测试,获取测试成功的目标深度学习模型,将目标深度学习模型发送给生产网络下的生产核心区中的模型推理服务应用;

模型推理服务应用,部署在生产网络下的生产核心区中,用于将目标深度学习模型部署到目标应用中。

优选地,数据样本管理系统,包括:

敏感信息判断模块,用于采用部署在生产网络下的生产核心区中的数据样本管理系统,从业务系统中获取与目标学习项目相对应的生产数据,判断生产数据是否包括客户敏感信息;

数据权限获取模块,用于若生产数据包含客户敏感信息,则获取生产数据对应的权限验证信息,将生产数据和权限验证信息发送给处于生产网络下的生产训练区的模型训练流水线平台。

优选地,交互式代码编写平台,包括:

字段数值获取模块,用于采用部署在生产网络下的生产训练区中的交互式代码编写平台,访问生产训练区的模型训练流水线平台中的生产数据,获取关注字段对应的字段数值;

分布形式获取模块,用于对关注字段对应的字段数值进行分析,获取关注字段对应的字段数值的分布形式;

项目代码获取模块,用于基于关注字段对应的字段数值的分布形式,获取与分布形式相对应的数据预处理、模型训练和模型验证的代码,确定为目标学习项目的目标项目代码。

优选地,模型训练流水线平台,包括:

归一化数值获取模块,用于采用部署在生产网络下的生产训练区中的模型训练流水线平台,调度系统计算资源运行目标项目代码,对生产数据中每一关注字段对应的字段数值进行归一化处理,获取每一关注字段对应的归一化数值,根据所有关注字段对应的归一化数值,确定训练数据,将训练数据划分为训练集和测试集;

原始深度学习模型获取模块,用于将训练集中的训练数据输入到目标学习项目对应的深度学习模型网络进行训练,获取原始深度学习模型;

有效深度学习模型获取模块,用于将测试集中的训练数据输入到原始深度学习模型进行验证,获取有效深度学习模型。

优选地,归一化数值获取模块,包括:

分布形式确定单元,用于调度系统计算资源运行目标项目代码,从生产数据中抽取关注字段对应的字段数值,确定关注字段对应的字段数值的分布形式;

正态分布归一化单元,用于若关注字段对应的字段数值的分布形式为正态分布,则采用归一化算法对关注字段对应的字段数值进行归一化处理,获取关注字段对应的归一化数值;

泊松分布归一化单元,用于若关注字段对应的字段数值的分布形式为泊松分布,则对关注字段对应的字段数值进行log变换处理,获取关注字段对应的log变换数值,再采用归一化算法对关注字段对应的log变换数值进行归一化处理,获取关注字段对应的归一化数值;

离散分布归一化单元,用于若关注字段对应的字段数值的分布形式为离散分布,则采用数值区间转换表,对关注字段对应的字段数值进行归一化处理,获取关注字段对应的归一化数值。

优选地,模型仓库,包括:

版本信息判断模块,用于基于模型版本信息,查询模型仓库中的模型版本信息表,判断是否包含与模型版本信息一致的已有版本信息;

第一模型处理模块,用于若包含与模型版本信息一致的已有版本信息,则不保存与模型版本信息相对应的有效深度学习模型;

第二模型处理模块,用于若不包含与模型版本信息一致的已有版本信息,则保存与模型版本信息相对应的有效深度学习模型。

优选地,基于深度学习的应用上线系统还包括:

交互式代码编写平台,部署在生产网络下的生产训练区中,用于访问生产训练区的模型训练流水线平台中的生产数据,获取目标学习项目无关的非模型代码,将非模型代码提交到处于测试网络下的测试管理区中的代码仓库;

基本应用,部署在生产网络下的生产核心区中,用于调用并部署代码仓库中存储的非模型代码。

关于基于深度学习的应用上线系统的具体限定可以参见上文中对于基于深度学习的应用上线方法的限定,在此不再赘述。上述基于深度学习的应用上线系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于执行基于深度学习的应用上线方法过程采用或生成的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于深度学习的应用上线方法。

在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中基于深度学习的应用上线方法,例如图2所示s21-s27,或者图3所示,为避免重复,这里不再赘述。或者,处理器执行计算机程序时实现基于深度学习的应用上线系统这一实施例中的各模块/单元的功能,为避免重复,这里不再赘述。

在一实施例中,提供一计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中基于深度学习的应用上线方法,例如图2所示s21-s27,或者图3所示,为避免重复,这里不再赘述。或者,该计算机程序被处理器执行时实现上述基于深度学习的应用上线系统这一实施例中的各模块/单元的功能,为避免重复,这里不再赘述。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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)等。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。

以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

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