1.本技术涉及机器学习技术领域,具体而言,涉及一种基于流数据的增量模型训练方法、装置及电子设备。
背景技术:
2.增量模型训练作为机器学习的一种方法,现阶段得到广泛的关注。在其中,输入数据不断被用于扩展现有模型的知识,即进一步训练模型,它代表了一种动态的学习的技术。现有传统的机器学习训练方案,例如离线情况下,通过对数据进行特征工程,生成全量特征库,再使用一些机器学习算法,对全量特征数据进行训练,最后生成模型部署到线上进行推理。
3.目前的增量模型训练方法大多都是基于离线场景下进行的,在采用部分或全部全量特征数据进行训练的基础上,利用新特征数据再次进行模型训练及更新。虽然能达到增量模型训练的目的,但是在模型训练的实时性、模型的误差评估等方面都不能很好的完成实际业务场景的要求,另外在面对现在业务系统中广泛应用的流数据场景,无法应用目前的增量学习技术更好地拟合流数据中的数据规律,也很难及时进行模型更新,从而不能反映用户在短时间内的行为兴趣,更不能帮助提升用户体验和商业指标。
技术实现要素:
4.有鉴于此,本技术实施例的目的在于提供一种基于流数据的增量模型训练方法、装置及电子设备,在原有模型基础采用双模型架构进行模型增量训练以及更新和线上推理过程,改善上述现有技术中存在的问题。
5.第一方面,本技术实施例提供了一种基于流数据的增量模型训练方法,所述方法包括:获取原始流数据;抽取所述原始流数据的实时特征,加入到全量特征库;根据初始训练模型确定主模型和副模型,并基于所述实时特征采用微批训练的方式对所述主模型和副模型进行多次交替训练,得到增量训练模型;在每次交替训练过程中,对所述主模型和副模型的其中一个进行模型增量训练,并同时使用另一个进行在线推理服务,每次交替训练过程中进行模型增量训练的模型与上一次交替训练过程不同;基于历史时间段内得到的所述全量特征库对所述增量训练模型进行修正,得到修正后的训练模型。
6.可选地,所述基于历史时间段内得到的所述全量特征库对所述增量训练模型进行修正,得到修正后的训练模型,包括:根据用户业务指标获取所述增量训练模型的评估结果,所述用户业务指标包括点击率、浏览时长、播放时长、新增、留存、日活、月活和转化率;根据所述评估结果以及历史时间段内得到的所述全量特征库,对所述增量训练模型进行修正,以得到修正后的训练模型。
7.在上述实现过程中,通过采用所述历史时间段内的全量特征进行模型修正,可以消除短期内用户行为兴趣对模型的影响,更全面地反映真实的数据规律,从而更加全面且准确地反映用户行为变化规律。
8.可选地,所述基于所述实时特征采用微批训练的方式对所述主模型和副模型进行多次交替训练,得到增量训练模型,包括:根据实际业务场景,预先设置触发条件,所述触发条件为实时特征数据量是否达到预设的特征数据量;判断所述实时特征的数据量是否满足预设的触发条件,若是,则触发微批训练的指令,对所述主(或副)模型进行微批训练以及更新,得到训练后的增量训练模型。
9.在上述实现过程中,通过触发式设计,在所述实时特征的数据量达到预设的特征数据量时,模型可自行进行增量训练,学习新的特征,从而实现模型的按需训练和更新。
10.可选地,所述初始训练模型为离线情况下,基于全量特征库的全量特征数据进行训练所得到的模型;所述主模型和副模型进行交替训练,直至模型增量训练过程结束。
11.可选地,所述在线推理服务为将所述增量训练模型以线上服务的形式部署在服务器或者云端,业务系统通过和用户的交互过程,在智能服务场景下触发调用在线推理服务,传入用户的一些上下文信息,在线推理服务依据所述增量训练模型返回给业务系统推理结果,经过业务系统的加工处理返回给用户端。
12.在上述实现过程中,通过采用所述增量训练模型进行实时的在线推理服务,使在线推理服务不间断的进行,且推理模型可以随增量模型训练的更新而同步更新。
13.可选地,抽取所述原始流数据的实时特征,加入到全量特征库,包括:采用大数据中的实时计算技术,对所述原始流数据进行实时特征抽取,所述实时计算技术为flink实时计算框架;将所述实时抽取的特征加入到全量特征库。
14.可选地,将所述实时抽取的特征采用消息队列方式存储,用于模型增量训练,所述消息队列为kafka分布式发布订阅消息系统。
15.在上述实现过程中,通过采用特征消息队列方式,进行触发式的模型训练,在所述实时特征的数据量达到预设的特征数据量时,模型可自行进行增量训练,学习新的特征,从而实现模型的按需训练和更新。
16.第二方面,本技术实施例还提供了一种基于流数据的增量模型训练装置,所述装置包括:获取模块,用于获取原始流数据;抽取模块,抽取所述原始流数据的实时特征,加入到全量特征库;训练模块,根据初始训练模型确定主模型和副模型,并基于所述实时特征采用微批训练的方式对所述主模型和副模型进行多次交替训练,得到增量训练模型;在每次交替训练过程中,对所述主模型和副模型的其中一个进行模型增量训练,并同时使用另一个进行在线推理服务,每次交替训练过程中进行模型增量训练的模型与上一次交替训练过程不同;推理模块,用于将实时更新的所述增量训练模型部署为在线推理服务,实现以最新模型进行实时在线推理服务;修正模块,用于基于历史时间段内得到的所述全量特征库对所述增量训练模型进行修正,得到修正后的训练模型。
17.第三方面,本技术实施例还提供了一种电子设备,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器运行所述计算机程序时,执行上述的基于流数据的增量模型训练方法中的任一实现方式中的步骤。
18.第四方面,本技术实施例还提供了一种可读存储介质,所述可读取存储介质中存储有计算机程序,所述计算机程序被处理器运行时,执行上述的基于流数据的增量模型训练方法中的任一实现方式中的步骤。
19.综上所述,本技术提供一种基于流数据的增量模型训练方法、装置和电子设备,通
过采用实时计算技术对原始流数据进行实时特征抽取,结合微批训练技术对初始训练模型进行触发式增量训练,实现模型的按需训练,并采用主模型和副模型双模型轮换的方式,大幅度提升了模型的更新和部署速度,实现了实时且不间断的在线推理服务,从而能够更加及时的追踪和响应真实的用户行为变化,然后结合模型的线上评估效果对模型进行修正,以使模型能反映更长时间维度的数据规律,避免遗忘历史特征,实现终身学习的目的。
附图说明
20.为了更清楚地说明本技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
21.图1为本技术实施例提供的一种基于流数据的增量模型训练方法的流程示意图;
22.图2为本技术实施例提供的一种基于流数据的增量模型训练方法中双模型轮换过程的示意图;
23.图3为本技术实施例提供的另一种基于流数据的增量模型训练方法的流程示意图;
24.图4为本技术实施例提供的一种基于流数据的增量模型训练装置的结构示意图。
25.图5为本技术实施例提供的一种基于流数据的增量模型训练电子设备的结构示意图。
26.图标:400-模型训练装置;410-获取模块;420-抽取模块;430-训练模块;440-推理模块;450-修正模块;500-模型训练电子设备;510-处理器;520-存储器;530-总线。
具体实施方式
27.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。在本技术的描述中,术语“主”、“副”等仅用于区分描述,而不能理解为指示或暗示相对重要性。显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术实施例的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术实施例保护的范围。
28.请参阅图1,图1为本技术实施例提供的一种基于流数据的增量模型训练方法的流程示意图,包括以下步骤:
29.s1:获取原始流数据。
30.其中,所述原始流数据是一组顺序、大量、快速、连续到达的数据序列,一般情况下,数据流可被视为一个随时间延续而无限增长的动态数据集合。
31.可选地,所述原始流数据可以是用户使用移动或web应用程序生成的日志文件、网购数据、游戏内玩家活动、社交网站信息、金融交易大厅或地理空间服务,以及来自数据中心内所连接设备或仪器的遥测数据中的至少一种数据,应用于网络监控、传感器网络、航空航天、气象测控和金融服务等领域。例如,公司可以通过原始流数据进行分析,深入了解其
业务和客户活动的方方面面,例如服务使用情况(用于计量/计费)、服务器活动、网站点击量以及设备、人员和实物的地理位置,从而迅速对新情况做出响应。例如,公司可以持续分析社交媒体流,从而跟踪公众对其品牌和产品的看法的变化,并在必要时及时做出反应。
32.s2:抽取所述原始流数据的实时特征,加入到全量特征库。
33.其中,所述全量特征库存储有历史时间段内所抽取的全部特征,用于后续的模型修正,以避免由于长期学习新的特征而遗忘历史特征。所述抽取的实时特征在存入全量特征库的同时,还需要发送到消息队列kafka中进行存储,以便供下游的训练模块使用。
34.可选地,通过采用大数据中的实时计算技术,对所述原始流数据进行实时特征抽取,其中,所述实时计算技术为flink实时计算框架,所述实时抽取的特征采用消息队列方式存储,所述消息队列为kafka分布式发布订阅消息系统。
35.在一些实施例中,所述特征抽取可以是对所述原始流数据进行数据清洗、采样等,所述数据清洗可以去除脏数据,如一些不可信的样本,所述数据采样,在分类问题中,可以采用随机采样、分层采样等解决正负样本不均衡的问题;
36.在一些实施例中,所述特征抽取也可以是对所述原始流数据进行归一化、标准化、离散化、二值化、哑编码、hash等预处理;
37.在一些实施例中,所述特征抽取也可以是对所述所述原始流数据进行特征选择,去除冗余特征及噪声特征,其中,所述特征选择方法可以是过滤式(filter)特征选择,通过评估单个特征和结果值之间的相关程度,排序留下top相关的特征部分,也可以是包裹式(wrapper)特征选择——递归特征删除算法,通过将特征选择看做一个特征子集搜索问题,筛选出各种特征子集,用模型评估结果,还可以是嵌入式(embedding)特征选择,根据模型来分析特征的重要性,如通过正则化方法进行特征选择。
38.在一些实施例中,还可以在线下对原始流数据进行降维处理,例如,采用主成分分析法(principal component analysis,pca)或线性判别分析法(linear discriminant analysis,lda),根据实际的业务需求,提前对数据进行降维,便于加快线上实时特征抽取的速率,加快模型训练,从而实现模型的及时更新。
39.以原始流数据为用户使用移动或web应用程序生成的网购数据为例,采用实时计算技术抽取所述原始流数据的实时特征,可以包括:对所述原始流数据进行清洗,如剔除掉30天内从未买东西的用户;还可以包括:各用户对不同类型商品的点击/收藏/加入购物车/购买的总计,各用户购买商品的时间,商品的热度或其在类别中的排序情况,商品的交互总人数等。
40.s3:根据初始训练模型确定主模型和副模型,并基于所述实时特征采用微批训练的方式对所述主模型和副模型进行多次交替训练,得到增量训练模型;在每次交替训练过程中,对所述主模型和副模型的其中一个进行模型增量训练,并同时使用另一个进行在线推理服务,每次交替训练过程中进行模型增量训练的模型与上一次交替训练过程不同;
41.其中,所述初始训练模型为离线情况下,基于全量特征库的全量特征数据进行训练所得到的模型;所述微批训练是在模型训练的过程中使用训练集中的一小部分样本对模型进行训练,在本技术提供的基于流数据的增量模型训练方法中所述一小部分训练样本的batch size是根据预设的特征数据量决定的;所述在线推理服务不同于模型训练,训练是通过从已有的数据中学习到某种能力,而推理是简化并使用该能力,使其能快速、高效地对
未知的数据进行操作,以获得预期的结果;所述在线推理服务是将训练好的增量训练模型作为推理模型,为用户提供在线推理服务。
42.可选地,所述基于所述实时特征采用微批训练的方式对所述主模型和副模型进行多次交替训练,得到增量训练模型,包括:根据实际业务场景,预先设置触发条件,所述触发条件为实时特征数据量是否达到预设的特征数据量;判断所述实时特征的数据量是否满足预设的触发条件,若是,则触发微批训练的指令,对所述主(或副)模型进行微批训练以及更新,得到训练后的增量训练模型。
43.可选地,所述主模型和副模型进行交替训练,直至模型增量训练过程结束。所述增量训练过程结束指通过人工干预的方式进行结束,可以是设置一些阀值,如果某些业务指标低于或者高于设定阈值时,停止增量训练,并对增量训练模型进行修正。
44.在上述实现过程中,通过触发式的微批模型增量学习,可以完全实现模型的按需训练和更新,减少人工操作,实现模型增量训练的自动化,并更好地拟合流数据中的数据规律,从而及时更新模型,使模型能更好地反映用户短时间的行为兴趣。
45.可选地,所述在线推理服务为将所述增量训练模型以线上服务的形式部署在服务器或者云端,业务系统通过和用户的交互过程,在智能服务场景下触发调用在线推理服务,传入用户的一些上下文信息,在线推理服务依据所述增量训练模型返回给业务系统推理结果,经过业务系统的加工处理返回给用户端。
46.在上述实现过程中,通过采用主模型和副模型双模型轮换的方式,可以同时实现线上模型训练和实时在线推理服务,且用于在线推理服务的模型也随着模型训练的更新而同步更新,解决了模型拷贝过程中无法提供推理服务的问题,从而大幅度提高了模型更新和部署的速度。
47.以原始流数据为用户使用移动或web应用程序生成的网购数据为例,根据上述所述的方法,从原始流数据抽取出上述网购数据相关的实时特征,如某用户对部分商品的浏览时长/点击数/总购买数/收藏数/加入购物车数,采用微批训练对所述主模型和副模型进行增量训练及更新和在线推理服务,以使增量训练模型能通过用户的历史行为反映对各商品的需求或者喜爱程度等;将实时更新的所述增量训练模型部署为在线推理服务,通过业务系统与用户的交互过程,在智能推荐等智能服务场景下触发调用在线推理服务,收集某用户的一些上下问信息,如其之前所搜索的商品名称或者所浏览的商品界面,然后业务系统对所述增量训练模型的推理结果进行加工处理,返回给用户端,完成智能推荐。
48.s4:基于历史时间段内得到的所述全量特征库对所述增量训练模型进行修正,得到修正后的训练模型;
49.可选地,所述基于历史时间段内得到的所述全量特征库对所述增量训练模型进行修正,得到修正后的训练模型,包括:根据用户业务指标获取所述增量训练模型的评估结果,所述用户业务指标包括点击率、浏览时长、播放时长、新增、留存、日活、月活和转化率;根据所述评估结果以及历史时间段内得到的所述全量特征库,对所述增量训练模型进行修正,以得到修正后的训练模型。
50.其中,所述用户业务指标可以根据不用的业务需求进行设置;所述历史时间段可以是近几个月、近半年甚至近几年的较长时间间隔,也可以根据实际需求灵活调整;所述历史遗忘特征,是指学习了新的知识之后,几乎彻底遗忘掉之前习得的内容,这也是深度学习
中存在的灾难性遗忘问题;所述修正方法类似于迁移学习的思路,利用已经训练好的增量训练模型,针对所述历史遗忘特征的数据规律对模型参数进行调整,以完成模型的修正的过程,使修正后的模型能更好地反映更长时间维度的数据规律。
51.在上述实现过程中,采用所述历史时间段内全量特征库的全量特征进行修正,可以消除短期内用户行为兴趣对模型的影响,使修正后的模型不仅能够反映近段时间数据的规律,更能反映更长时间维度的数据规律,有效地解决了深度学习过程中避免遗忘历史特征的问题,从而更全面、更准确地反映用户行为变化规律,同时也实现模型终身学习的目的。
52.以原始流数据为用户使用移动或web应用程序生成的网购数据为例,比如,需要根据相关网购流数据对用户进行分群,若近期所学习的特征都是活跃度高的用户的行为特征,那通过评估模型效果的用户业务指标可发现,现有模型对活跃度低的用户的行为特征规律的反应正在淡化,此时就需要进行模型修正,可以采用近三个月的网购数据的相关特征对现有模型进行修正,以消除短期内用户行为兴趣对模型的影响。
53.上述基于流数据的增量模型训练方法,通过采用实时计算技术对原始流数据进行实时特征抽取,结合微批训练技术对初始训练模型进行触发式增量训练,实现模型的按需训练,并采用主模型和副模型双模型轮换的方式,大幅度提升了模型的更新和部署速度,实现了实时且不间断的在线推理服务,从而能够更加及时的追踪和响应真实的用户行为变化,然后结合模型的线上评估效果对模型进行修正,以使模型能反映更长时间维度的数据规律,避免遗忘历史特征,实现终身学习的目的。
54.请参阅图2,图2为本技术实施例提供的一种基于流数据的增量模型训练方法中双模型轮换过程的示意图,包括以下步骤:
55.s21:获取抽取的原始流数据的实时特征。
56.可选地,将获取的实时特征加入到全量特征库中,并同时发送到消息队列kafka中进行存储,以便供下游的训练模块使用。
57.s22:采用微批训练的方式对所述主模型进行模型增量训练,以得到训练后的增量训练模型1。
58.可选地,结合微批训练技术,基于所述实时特征对所述主模型进行触发式的模型增量训练,实现模型的按需训练和更新。
59.s23:将所述副模型部署为在线推理服务。
60.可选地,在s22和s23之前还包括,根据初始训练模型确定主模型和副模型,所述初始训练模型离线情况下,预先基于全量特征库的全量特征数据进行训练所得到的模型;在本技术的方法中,先对主模型还是副模型进行模型增量训练,不做限定要求,在另一些实施例中,s22可以是采用微批训练的方式对所述副模型进行模型增量训练,此时s23是将所述主模型部署为在线推理服务。
61.s24:采用经过微批训练后的主模型进行在线推理服务。
62.可选地,经过微批训练,所述主模型更新为增量训练模型1,采用增量训练模型1进行在线推理服务。
63.s25:复制增量训练模型1以更新所述副模型,以用于下一次的微批训练。
64.可选地,在采用所述主模型替换所述副模型进行在线推理服务后,复制增量训练
模型1以更新所述副模型,并将更新后的所述副模型用于进行下一次的微批训练。在副模型进行更新的过程中,主模型负责在线推理服务,解决了模型复制拷贝过程中无法提供在线推理服务的问题。
65.s26:采用微批训练的方式对所述副模型进行模型增量训练,以得到训练后的增量训练模型2。
66.s27:复制增量训练模型2以更新所述主模型,以用于下一次的微批训练。
67.上述双模型轮换过程,通过对主模型和副模型交替进行微批训练和在线推理服务,可以同时实现线上模型的按需训练和实时不间断的在线推理服务,提高了模型更新和部署的速度,且用于在线推理服务的模型也随着模型增量训练的更新而同步更新,解决了模型拷贝过程中无法提供在线推理服务的问题。在交替训练过程中,结合实时抽取的特征,采用微批训练技术较好地解决了模型训练的实时性问题,加快了模型的更新速度,以更加及时的追踪和响应真实的用户行为变化。
68.请参阅图3,图3为本技术实施例提供的另一种基于流数据的增量模型训练方法的流程示意图,包括以下步骤:
69.s31:获取原始流数据。
70.可选地,所述原始流数据可以是通过日志收集程序flume从http、database和datasync中所收集的日志数据。
71.s32:将所述原始流数据发送到消息队列kafka。
72.可选地,利用日志收集程序flume收集、读取原始流数据,并同步到消息队列kafka中进行缓存,便于后续调用。
73.s33:抽取所述原始流数据的实时特征。
74.可选地,利用flink或者spark实时计算技术对kafka中的数据进行消费,如清洗、字段匹配等处理,此步骤与上述步骤s2一致,在此不再赘述。
75.s34:将所述实时特征,加入到全量特征库中,并发送到消息队列kafka进行存储。
76.可选地,将所抽取的实时特征一方面存入到全量特征库内,另一方面再次发送到消息队列kafka进行存储,供下游的训练模块使用。
77.s35:根据初始训练模型确定主模型和副模型,基于所述实时特征采用微批训练的方式对所述主模型和副模型交替进行模型增量训练及更新和在线推理服务,多次微批训练后得到增量训练模型。
78.其中,所述初始训练模型为离线情况下,预先基于全量特征库的全量特征数据进行训练所得到的模型;所述在线推理服务,可以部署在服务器上,利用服务器的高性能帮助用户处理推理业务;所述在线推理服务,还可以将模型部署在移动端上,例如手机或者物联网的嵌入式端;每次交替训练过程中,对所述主模型和副模型的其中一个进行模型增量训练,并同时使用另一个进行在线推理服务,每次交替训练过程中进行模型增量训练的模型与上一次交替训练过程不同。
79.在一些实施例中,所述在线推理服务所采用的在线推理框架可以是tensorflow推理框架、pytorch推理框架、tensorrt推理框架、xgboost推理框架、openvino推理框架、mediapipe推理框架,也可以使用自研的推理框架。
80.s36:根据用户业务指标对所述增量训练模型的进行评估。
81.可选地,将用户业务指标设定为某产品、app或者平台的新增、留存、日活、月活和转化率等,其中,新增可以表示该产品、app或者平台的日新增用户、月新增用户等;留存表示新用户注册在随后的时间里的存留状况,可以是日留存;日活表示日活跃用户,具体指历史注册登录的用户,在注册日之后,又登录了该产品、app或者平台;月活表示月独立活跃用户数,即一个月内每天的日活加起来再对独立用户去重。
82.s37:根据所述评估结果以及历史时间段内得到的所述全量特征库,对初始所述增量训练模型进行修正,以得到修正后的训练模型。
83.可选地,根据上述业务指标获取模型的评估结果,通过设置一些阈值,当某些业务指标低于或者高于设定阈值时,停止所述主模型和副模型交替进行的增量训练,并对所得到的增量训练模型进行修正,获得修正后的训练模型。
84.可选地,所述方法在s37之后,还包括,将所述修正后的训练模型传回至初始训练模型,再次按照s35-s37进行模型增量训练、模型评估以及模型修正。
85.在上述实施例中,所述实时计算技术还可以是storm、sparkstreaming等实时计算框架,所述消息队列还可以是redis、activemq等。这里陈述的一般是大数据实时计算技术相关算法,无论是数据获取、同步、存储还是计算,业界都很成熟,算法选择很多,不再列举。
86.上述基于流数据的增量模型训练方法,通过采用实时计算技术对原始流数据进行实时特征抽取,采用特征消息队列的方式,结合微批训练技术对初始训练模型进行触发式增量训练,实现模型的按需训练,并采用主模型和副模型双模型轮换的方式,大幅度提升了模型的更新和部署速度,实现了实时且不间断的在线推理服务,从而能够更加及时的追踪和响应真实的用户行为变化,然后结合模型的线上评估效果对模型进行修正,以使模型能反映更长时间维度的数据规律,避免遗忘历史特征,实现终身学习的目的。
87.请参阅图4,图4为本技术实施例提供的一种基于流数据的增量模型训练装置的结构示意图,该模型训练装置400包括:获取模块410,用于获取原始流数据;抽取模块420,抽取所述原始流数据的实时特征,加入到全量特征库;训练模块430,用于获取初始训练模型,并将其分为主模型和副模型,基于所述实时特征采用微批训练的方式对所述主模型和副模型交替进行模型增量训练及更新和在线推理服务;推理模块440,用于将实时更新的所述增量训练模型部署为在线推理服务,实现以最新模型进行实时在线推理服;修正模块450,用于基于历史时间段内得到的所述全量特征库对所述增量训练模型进行修正,得到修正后的训练模型。
88.上述增量模型训练装置的详细描述,请参见上述实施例中相关方法步骤的描述。
89.请参阅图5,图5为本技术实施例提供的一种电子设备的结构示意图,该电子设备500包括:存储器510和处理器520,存储器510和处理器520通过总线530连接,存储器510存储有计算机程序,处理器520读取并运行所述计算机程序时,以使电子设备500可执行上述的实施例中方法的全部或部分流程,以实现基于流数据的增量模型训练。
90.应当理解是,该电子设备可以是个人电脑(personal computer,pc)、平板电脑、智能手机等具有逻辑计算功能的电子设备。
91.本技术实施例还提供了一种可读存储介质,所述可读取存储介质中存储有计算机程序,所述计算机程序被处理器读取并运行时,执行基于流数据的增量模型训练方法中的步骤。
92.以上所述实施例,仅为本技术的具体实施方式,用以说明本技术的技术方案,而非对其限制,本技术的保护范围并不局限于此,尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本技术实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
技术特征:
1.一种基于流数据的增量模型训练方法,其特征在于,包括:获取原始流数据;抽取所述原始流数据的实时特征,加入到全量特征库;根据初始训练模型确定主模型和副模型,并基于所述实时特征采用微批训练的方式对所述主模型和副模型进行多次交替训练,得到增量训练模型;在每次交替训练过程中,对所述主模型和副模型的其中一个进行模型增量训练,并同时使用另一个进行在线推理服务,每次交替训练过程中进行模型增量训练的模型与上一次交替训练过程不同;基于历史时间段内得到的所述全量特征库对所述增量训练模型进行修正,得到修正后的训练模型。2.根据权利要求1所述的方法,其特征在于,所述基于历史时间段内得到的所述全量特征库对所述增量训练模型进行修正,得到修正后的训练模型,包括:根据用户业务指标获取所述增量训练模型的评估结果,所述用户业务指标包括点击率、浏览时长、播放时长、新增、留存、日活、月活和转化率;根据所述评估结果以及历史时间段内得到的所述全量特征库,对所述增量训练模型进行修正,以得到修正后的训练模型。3.根据权利要求1所述的方法,其特征在于,基于所述实时特征采用微批训练的方式对所述主模型和副模型进行多次交替训练,得到增量训练模型,包括:根据实际业务场景,预先设置触发条件,所述触发条件为实时特征数据量是否达到预设的特征数据量;判断所述实时特征的数据量是否满足预设的触发条件,若是,则触发微批训练的指令,对所述主(或副)模型进行微批训练以及更新,得到训练后的增量训练模型。4.根据权利要求1所述的方法,其特征在于,所述初始训练模型为离线情况下,基于全量特征库的全量特征数据进行训练所得到的模型;所述主模型和副模型进行交替训练,直至模型增量训练过程结束。5.根据权利要求1所述的方法,其特征在于,所述在线推理服务为将所述增量训练模型以线上服务的形式部署在服务器或者云端,业务系统通过和用户的交互过程,在智能服务场景下触发调用在线推理服务,传入用户的一些上下文信息,在线推理服务依据所述增量训练模型返回给业务系统推理结果,经过业务系统的加工处理返回给用户端。6.根据权利要求1所述的方法,其特征在于,所述抽取所述原始流数据的实时特征,加入到全量特征库,包括:采用大数据中的实时计算技术,对所述原始流数据进行实时特征抽取,所述实时计算技术为flink实时计算框架;将所述实时抽取的特征加入到全量特征库。7.根据权利要求6所述的方法,其特征在于,所述方法还包括:将所述实时抽取的特征采用消息队列方式存储,用于模型增量训练,所述消息队列为kafka分布式发布订阅消息系统。8.一种基于流数据的增量模型训练装置,其特征在于,包括:获取模块,用于获取原始流数据;抽取模块,用于抽取所述原始流数据的实时特征,加入到全量特征库;
训练模块,用于根据初始训练模型确定主模型和副模型,并基于所述实时特征采用微批训练的方式对所述主模型和副模型进行多次交替训练,得到增量训练模型;在每次交替训练过程中,对所述主模型和副模型的其中一个进行模型增量训练,并同时使用另一个进行在线推理服务,每次交替训练过程中进行模型增量训练的模型与上一次交替训练过程不同;推理模块,用于将实时更新的所述增量训练模型部署为在线推理服务,实现以最新模型进行实时在线推理服务;修正模块,用于基于历史时间段内得到的所述全量特征库对所述增量训练模型进行修正,得到修正后的训练模型。9.一种电子设备,其特征在于,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器运行所述计算机程序时执行权利要求1至7中任一项所述的基于流数据的增量模型训练方法。10.一种可读存储介质,其特征在于,其存储有计算机程序,所述计算机程序在处理器上运行时执行权利要求1至7中任一项所述的基于流数据的增量模型训练方法。
技术总结
本申请提供了一种基于流数据的增量模型训练方法、装置及电子设备,该方法包括:获取原始流数据;抽取所述原始流数据的实时特征,加入到全量特征库;根据初始训练模型确定主模型和副模型,并基于所述实时特征采用微批训练的方式对所述主模型和副模型进行多次交替训练,得到增量训练模型;在每次交替训练过程中,对所述主模型和副模型的其中一个进行模型增量训练,并同时使用另一个进行在线推理服务;基于历史时间段内得到的所述全量特征库对所述增量训练模型进行修正,得到修正后的训练模型。本申请通过采用双模型交替进行微批增量训练和在线推理服务,实现了实时且不间断的在线推理服务,使模型能更加及时的追踪和响应真实的用户行为变化。的用户行为变化。的用户行为变化。
技术研发人员:田大钊
受保护的技术使用者:鼎道智联(北京)科技有限公司
技术研发日:2022.02.18
技术公布日:2022/5/25
转载请注明原文地址:https://tc.8miu.com/read-9345.html