CN110888668A - 一种模型更新的***、方法、装置、终端设备和介质 - Google Patents

一种模型更新的***、方法、装置、终端设备和介质 Download PDF

Info

Publication number
CN110888668A
CN110888668A CN201811046230.6A CN201811046230A CN110888668A CN 110888668 A CN110888668 A CN 110888668A CN 201811046230 A CN201811046230 A CN 201811046230A CN 110888668 A CN110888668 A CN 110888668A
Authority
CN
China
Prior art keywords
model
updating
incremental
full
scale model
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.)
Granted
Application number
CN201811046230.6A
Other languages
English (en)
Other versions
CN110888668B (zh
Inventor
范志军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201811046230.6A priority Critical patent/CN110888668B/zh
Publication of CN110888668A publication Critical patent/CN110888668A/zh
Application granted granted Critical
Publication of CN110888668B publication Critical patent/CN110888668B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请公开了一种模型更新的***、方法、装置、终端设备和介质,属于计算机技术领域,该方法包括,训练子***基于检测到的新增样本进行模型训练,并将训练获得的增量更新数据上传至发布服务器;发布服务器则将存储的当前全量模型与增量更新数据合并获得更新后的增量全量模型。这样,不需要加载全量模型,并且仅将数据量极少的模型增量数据上传至发布服务器,极大地减少了上传和加载过程中耗费的时间,提高了处理效率。

Description

一种模型更新的***、方法、装置、终端设备和介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种模型更新的***、方法、装置、终端设备和介质。
背景技术
随着计算机技术的发展,基于大数据的模型训练的方式已经得到了广泛的应用。现有技术下,通常采用批处理(batch)的方式对模型进行训练以及更新,即每次模型训练时,将当前全量模型从磁盘加载到内存,并将训练后获得的全量模型上传至发布服务器进行发布,最后将模型占用的资源释放。
但是,由于每次训练更新时,都需要对全量模型进行加载,因此,若全量模型的数据量较大,则模型加载以及上传会耗费大量的时间,模型更新的效率较低。
发明内容
本申请实施例提供一种模型更新的***、方法、装置、终端设备和介质,用以对模型进行训练以及更新时,提高模型训练以及更新的效率。
一方面,提供一种模型更新的***,包括:训练子***和发布服务器,其中,
训练子***,用于确定检测到新增样本时,基于新增样本进行模型训练,获得当前全量模型的增量更新数据,并将增量更新数据上传至发布服务器;
发布服务器,用于将接收的增量更新数据与存储的当前全量模型进行合并,获得增量全量模型。
较佳的,训练子***还包括调度服务模块,梯度服务模块集群,以及参数服务模块集群,梯度服务模块集群中至少包括一个梯度服务模块,参数服务模块集群中至少包含一个参数服务模块;
调度服务模块,用于对新增样本进行切分后分配至各梯度服务模块;
每个梯度服务模块,分别用于基于接收的新增样本,进行梯度计算处理,并将获得的梯度值发送至参数服务模块;
每个参数服务模块,分别从至少一个梯度服务模块接收梯度值,并用于基于接收的梯度值,进行参数计算处理,获得增量更新数据并分别发送给发布服务器。
较佳的,训练子***还包括合并服务模块集群,合并服务模块集群中至少包含一个合并服务模块;
合并服务模块用于:将通过各参数服务模块获取的增量更新数据与本地存储的当前全量模型进行合并,获得增量全量模型;获取增量全量模型中的各模型参数的更新信息;筛选出对应的更新信息符合预设的筛选条件的模型参数;基于筛选出的模型参数,获得裁剪更新数据,并将裁剪更新数据上传至发布服务器;
发布服务器还用于:基于接收的裁剪更新数据,对增量全量模型进行裁剪更新,获得目标全量模型。
较佳的,合并服务模块用于:
获取当前时间,以及各模型参数的更新信息中包含的更新时间,筛选出当前时间与更新时间之间的时间差高于预设更新时间门限的各模型参数;和/或,
基于获取的各模型参数的更新信息中包含的创建时间,更新时间和更新次数,分别确定每一模型参数的更新频率,并筛选出更新频率低于预设更新频率门限值的各模型参数。
较佳的,合并服务模块还用于:
基于裁剪更新数据,对本地存储的增量全量模型进行裁剪更新,获得目标全量模型。
较佳的,训练子***还包括外部存储设备,外部存储设备用于:接收并存储训练子***发送的模型参数。
参数服务模块还用于:
将指定的模型参数存储至内存,并在未指定的各模型参数中,将使用间隔时间高于预设存储时间门限或者使用频率低于预设存储频率门限的未指定的各模型参数发送至外部存储设备,以及将其余的模型参数存储至本地设置的缓冲模块。
较佳的,训练子***还包括状态存储设备,状态存储设备用于:接收并存储调度服务模块发送的运行状态信息以及运行指令信息;
调度服务模块还用于:向状态存储设备发送运行状态信息以及运行指令信息。
一方面,一种模型更新方法,包括:
确定检测到新增样本时,基于新增样本进行模型训练,获得当前全量模型的增量更新数据;
将增量更新数据上传至发布服务器,触发发布服务器将接收的增量更新数据与存储的当前全量模型进行合并获得增量全量模型。
较佳的,进一步包括:
将增量更新数据与存储的当前全量模型进行合并,获得增量全量模型;
获取增量全量模型的中的各模型参数的更新信息;
筛选出对应的更新信息符合预设的筛选条件的模型参数;
基于筛选出的模型参数,获得裁剪更新数据;
将裁剪更新数据上传至发布服务器,触发发布服务器基于接收的裁剪更新数据对增量全量模型进行裁剪更新获得目标全量模型。
较佳的,筛选出对应的更新信息符合预设的筛选条件的模型参数,具体包括:
获取当前时间,以及各模型参数的更新信息中包含的更新时间,筛选出当前时间与更新时间之间的时间差高于预设更新时间门限的各模型参数;和/或,
基于获取的各模型参数的更新信息中包含的创建时间,更新时间和更新次数,分别确定每一模型参数的更新频率,并筛选出更新频率低于预设更新频率门限值的各模型参数。
较佳的,进一步包括:
基于裁剪更新数据,对本地存储的增量全量模型进行裁剪更新,获得目标全量模型。
较佳的,进一步包括:
将指定的模型参数存储至内存;
在未指定的各模型参数中,将使用间隔时间高于预设存储时间门限或者使用频率低于预设存储频率门限的未指定的各模型参数发送至外部存储设备,以及将其余的模型参数存储至本地设置的缓冲模块。
较佳的,进一步包括:
向状态存储设备发送运行状态信息以及运行指令信息,触发状态存储设备存储接收的运行状态信息以及运行指令信息。
一方面,一种模型更新方法,包括:
接收训练子***发送的增量更新数据;
获取存储的当前全量模型,并将增量更新数据与当前全量模型合并,获得增量全量模型;
其中,增量更新数据是训练子***对新增样本进行模型训练获得的。
较佳的,进一步包括:
接收训练子***发送的裁剪更新数据;
基于接收的裁剪更新数据,对增量全量模型进行裁剪更新,获得目标全量模型;
其中,裁剪更新数据是训练子***筛选出对应的更新信息符合预设的筛选条件的模型参数后基于筛选出的模型参数获得。
一方面,一种模型更新的装置,包括:
获得单元,用于确定检测到新增样本时,基于新增样本进行模型训练,获得当前全量模型的增量更新数据;
上传单元,用于将增量更新数据上传至发布服务器,触发发布服务器将接收的增量更新数据与存储的当前全量模型进行合并获得增量全量模型。
较佳的,上传单元还用于:
将增量更新数据与存储的当前全量模型进行合并,获得增量全量模型;
获取增量全量模型的中的各模型参数的更新信息;
筛选出对应的更新信息符合预设的筛选条件的模型参数;
基于筛选出的模型参数,获得裁剪更新数据;
将裁剪更新数据上传至发布服务器,触发发布服务器基于接收的裁剪更新数据对增量全量模型进行裁剪更新获得目标全量模型。
较佳的,在筛选出对应的更新信息符合预设的筛选条件的模型参数时,上传单元还用于:
获取当前时间,以及各模型参数的更新信息中包含的更新时间,筛选出当前时间与更新时间之间的时间差高于预设更新时间门限的各模型参数;和/或,
基于获取的各模型参数的更新信息中包含的创建时间,更新时间和更新次数,分别确定每一模型参数的更新频率,并筛选出更新频率低于预设更新频率门限值的各模型参数。
较佳的,上传单元还用于:
基于裁剪更新数据,对本地存储的增量全量模型进行裁剪更新,获得目标全量模型。
较佳的,上传单元还用于:
将指定的模型参数存储至内存;
在未指定的各模型参数中,将使用间隔时间高于预设存储时间门限或者使用频率低于预设存储频率门限的未指定的各模型参数发送至外部存储设备,以及将其余的模型参数存储至本地设置的缓冲模块。
较佳的,上传单元还用于:
向状态存储设备发送运行状态信息以及运行指令信息,触发状态存储设备存储接收的运行状态信息以及运行指令信息。
一方面,一种模型更新装置,包括:
接收单元,用于接收训练子***发送的增量更新数据;
合并单元,用于获取存储的当前全量模型,并将增量更新数据与当前全量模型合并,获得增量全量模型;
其中,增量更新数据是训练子***对新增样本进行模型训练获得的。
较佳的,合并单元还用于:
接收训练子***发送的裁剪更新数据;
基于接收的裁剪更新数据,对增量全量模型进行裁剪更新,获得目标全量模型;
其中,裁剪更新数据是训练子***筛选出对应的更新信息符合预设的筛选条件的模型参数后基于筛选出的模型参数获得。
一方面,提供一种终端设备,包括至少一个处理单元、以及至少一个存储单元,其中,存储单元存储有计算机程序,当程序被处理单元执行时,使得处理单元执行上述任意一种模型更新的方法的步骤。
一方面,提供一种计算机可读介质,其存储有可由终端设备执行的计算机程序,当程序在终端设备上运行时,使得终端设备执行上述任意一种模型更新的方法的步骤。
本申请实施例提供的一种模型更新的***、方法、装置、终端设备和介质中,训练子***基于检测到的新增样本进行模型训练,并将训练获得的增量更新数据上传至发布服务器;发布服务器则将存储的当前全量模型与增量更新数据合并获得更新后的增量全量模型。这样,不需要加载全量模型,并且仅将数据量极少的模型增量数据上传至发布服务器,极大地减少了上传和加载过程中耗费的时间,提高了处理效率。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施方式中提供的一种模型更新***的架构示意图;
图2为本申请实施方式中一种模型更新的方法的实施流程图;
图3a为本申请实施方式中一种更新信息的数据结构;
图3b为本申请实施方式中一种模型更新的执行流程示意图;
图4a为本申请实施方式中一种模型更新的装置的结构示意图一;
图4b为本申请实施方式中一种模型更新的装置的结构示意图二;
图5为本申请实施方式中终端设备结构示意图。
具体实施方式
为了对模型进行训练以及更新时,提高模型训练以及更新的效率,本申请实施例提供了一种模型更新的***、方法、装置、终端设备和介质。
首先,对本申请实施例中涉及的部分用语进行说明,以便于本领域技术人员理解。
1、终端设备:可以安装各类应用程序,并且能够将已安装的应用程序中提供的实体进行显示的设备,该电子设备可以是移动的,也可以是固定的。例如,手机、平板电脑、车载设备、个人数字助理(personal digital assistant,PDA)或其它能够实现上述功能的电子设备等。
2、更新信息:为模型参数在各训练过程中的使用信息,至少包括:创建时间,更新时间以及更新次数。
3、全量模型为基于所有窗口期的样本训练获得的模型,其中,当前全量模型,增量全量模型以及目标全量模型均为一种全量模型。
4、增量更新数据:也可以称为增量模型,是基于粒度窗口期的新增样本获得的模型,可选的,粒度窗口期可以为训练周期内。
5、裁剪更新数据:也可以称为裁剪模型,是与粒度窗口期的新增样本有关的模型。
由于全量模型较大时,每次训练时模型加载以及模型上传会耗费大量的时间,还会占用大量的内存资源,因此,本申请实施例中提供了一种模型更新的技术方案,训练子***基于检测到的新增样本进行模型训练,并将训练获得的数据量极少的增量更新数据上传至发布服务器;使得发布服务器基于增量更新数据对全量模型进行更新,进一步地,通过缓存模块将部分模型参数存储至外部存储设备,这样,不需要加载全量模型,并仅将模型增量数据上传至发布服务器,极大地减少了模型上传和加载耗费的时间,提高了数据处理效率,以及将部分模型参数存储至外部存储设备,极大地减少了内存资源的消耗。
图1示出了一种模型更新***的架构示意图。参阅图1所示,模型更新***包括:训练子***100和发布服务器120。
训练子***100还包括:调度服务模块101,梯度服务模块集群102,参数服务模块集群103,外部存储设备106,状态存储设备108,以及合并服务模块集群109。梯度服务模块集群102中至少包括一个梯度服务模块104,参数服务模块集群103中至少包括一个参数服务模块105。参数服务模块105中设置有缓存模块107。合并服务模块集群109中至少包括一个合并服务模块110。
由于模型训练以及合并可以采用单机模式,也可以采用分布及模型,因此,调度服务模块101,梯度服务模块104,参数服务模块105以及合并服务模块110中的任意模块或任意组合可以分别为不同的设备,也可以采用同一设备。
调度服务模块101,用于按照训练周期,周期性进行样本检测,确定检测到新增样本时,将新增样本进行切分并将切分后的新增样本分配至各梯度服务模块104,还用于消息接收和指令下发,以对训练子***100进行状态监控和***调度,还用于对合并服务模块110进行调度。
梯度服务模块104,用于基于新增样本,对模型参数进行去重处理以及梯度计算处理,并将获得的梯度值发送至参数服务模块105。
参数服务模块105,用于基于接收的梯度值,进行参数计算处理,获得增量更新数据。
合并服务模块110,用于确定达到合并周期时,将通过各参数服务模块105获取的增量更新数据与本地存储的当前全量模型进行合并,获得增量全量模型;还用于确定达到裁剪周期时,获取增量全量模型中的各模型参数的更新信息,并基于更新信息获得裁剪更新数据,以及基于裁剪更新数据对增量全量模型进行裁剪,还用于将裁剪更新数据上传至发布服务器120。
参数服务模块105中设置有缓存模块107,缓存模块107用于对各模型参数进行分类存储处理。可选的,可以采用虚拟页式存储算法(Least Recently Used,LRU)进行分类处理。LRU的淘汰标准是使用时间和使用频率,未使用的时间(即当前时间距离上一次使用的时间)越长越容易淘汰,使用频率越低越容易淘汰。
外部存储模块106,用于存储接收的各模型参数。可选的,外部存储模块106可以采用外部缓冲***(SSDB),能够存储kv,list,以及set等结构和类型的数据。
状态存储设备108,用于接收并存储调度服务模块101发送的运行状态信息以及运行指令信息。
发布服务器120,用于接收训练子***发送的增量更新数据,并合并本地存储的当前全量模型与增量更新数据,获得增量全量模型;还用于接收训练子***发送的裁剪更新数据,并基于裁剪更新数据对增量全量模型进行裁剪,获得目标全量模型。
本领域技术人员可以理解,图1仅仅是模型更新***的举例,并不构成对模型更新***的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件。
参阅图2所示,为本申请提供的一种模型更新的方法的实施流程图。在下面介绍过程中,结合图1所示的模型更新的架构图进行说明,该方法的具体实施流程如下:
步骤200:训练子***按照预设的训练周期,对样本进行周期性检测。
步骤201:训练子***确定检测到新增样本时,基于新增样本进行模型训练,获得当前全量模型的增量更新数据。
具体的,首先,调度服务模块101确定检测到新增样本时,将新增样本进行切分,并将切分后的新增样本分配至各梯度服务模块104。其中,新增样本为训练周期内新添加的样本。
然后,梯度服务模块104基于新增样本,对模型参数进行去重处理以及梯度计算处理,并将获得的梯度值发送至参数服务模块105。
接着,参数服务模块105用于基于接收的梯度值,进行参数计算处理,获得增量更新数据。
其中,模型训练是指基于新增样本,通过去重处理,梯度计算处理以及参数计算处理获得增量更新数据的过程。模型参数至少包括特征和参数。每一个特征包含至少一个参数。
例如,特征为用户的视频爱好,视频爱好包含历史类型参数和都市类型参数。
本申请实施例中,模型训练按照训练周期执行,不会每次模型训练结束后就停止,只有特定情况下,如发生程序异常或人工停止等情况时停止训练,也不会训练结束后释放模型占用的资源,即不需要每次训练时加载全量模型,这避免了每次模型训练加载全量模型时耗费的大量时间。
进一步地,在模型训练的过程中,状态存储设备108接收并存储调度服务模块101发送的运行状态信息以及运行指令信息。
这样,调度服务模块101在数据丢失时(如,发生突然断电等突发事件造成数据丢失),可以通过状态存储设备108中存储的数据进行数据恢复。
进一步地,参数服务模块105中设置有缓存模块107,缓存模块107用于对各模型参数进行分类存储处理。
可选的,可以采用虚拟页式存储算法(Least Recently Used,LRU)进行分类处理。LRU的淘汰标准是使用时间和使用频率,未使用的时间越长越容易淘汰,使用频率越低越容易淘汰。
具体的,分别针对每一模型参数进行分类存储处理时,可以采用以下方式:
1)确定模型参数为指定参数时,将该模型参数存储于内存中。
2)确定模型参数为未指定参数,并且该模型参数的本次使用时间与上一次的使用时间之间的间隔时间高于预设存储门限或单位之间内的使用频率低于预设存储频率门限时,将该模型参数发送至外部存储模块106。
3)确定模型参数为未指定参数,并且该模型参数的本次使用时间与上一次的使用时间之间的间隔时间不高于预设存储门限并且单位之间内的使用频率不低于预设存储频率门限时,将该模型参数存储至缓存模块107。
这样,就可以将大量的模型参数存储至外部存储模块106,节省了内存资源,解决了模型参数长期占用大量内存的资源消耗问题,以及由于仅采用外部存储模块106进行数据处理,处理数据的速率较低,因此,通过设置缓存模块107,对模型参数进行分类存储,提高了模型参数存取的速度,对内存的容量以及数据处理的速率进行了平衡,使得在资源有限的情况下,训练子***100可以长期运行,而不必停止。
步骤202:训练子***将增量更新数据上传至发布服务器。
步骤203:发布服务器将存储的当前全量模型与接收的增量更新数据进行合并,获得增量全量模型。
步骤204:训练子***基于增量更新数据,获得裁剪更新数据。
具体的,首先,训练子***中的合并服务模块110确定达到合并周期时,将通过各参数服务模块105获取的增量更新数据与本地存储的当前全量模型进行合并,获得增量全量模型。
然后,合并服务模块110确定达到裁剪周期时,获取增量全量模型中的各模型参数的更新信息,并基于更新信息获得裁剪更新数据。
其中,更新信息至少包括:创建时间,更新时间以及更新次数。参阅图3a所示,为更新信息的数据结构。数据结构中包括特征,参数,创建时间,最后更新时间以及更新次数。
其中,合并服务模块110基于更新信息获得裁剪更新数据时,可以执行步骤:
首先,基于各更新信息,筛选出对应的更新信息符合预设的筛选条件的模型参数。
然后,基于筛选出的各模型参数,确定裁剪更新数据。
其中,筛选模型参数时,可以采用以下两种方式中的任意一种或组合:
第一种方式为:获取当前时间,以及各模型参数的更新信息中包含的更新时间,分别计算当前时间与每一模型参数的更新时间之间的时间差,筛选出时间差高于预设更新时间门限的各模型参数。
第二种方式为:获取各模型参数的更新信息中包含的创建时间,更新时间和更新次数,分别确定每一模型参数的更新时间和创建时间的差值与更新次数之间的比值,作为更新频率,以及筛选出更新频率低于预设更新频率门限值的各模型参数。
步骤205:训练子***将裁剪更新数据上传至发布服务器。
具体的,合并服务模块110基于裁剪更新数据对增量全量模型进行裁剪,用于将裁剪更新数据上传至发布服务器120。
这样,就可以仅将增量更新数据以及裁剪更新数据上传至发布服务器120,由于增量更新数据以及裁剪更新数据的数据量与全量模型相比较小,因此,可以极大的减少上传的时间,提高上传的效率。其次,训练子***100通过合并服务模块110对当前全量模型进行合并以及裁剪,满足了容灾需要,即若发布服务器120中的全量模型的数据丢失时,可以通过合并服务模块110中存储的全量模型进行恢复。
进一步地,模型训练,模型合并以及模型裁剪分别通过不同的进程完成。训练周期,合并周期,以及裁剪周期的时长可以相同也可以不同,通常训练周期的时长较短,合并周期与裁剪周期的时长通常相同且较长。这是由于训练周期较短,可以不断地对新增样本进行训练,合并周期与裁剪周期较长,可以避免过于频繁的向发布服务器上传数据。
例如,训练周期的时长为15分钟,合并周期与裁剪周期的时长均为1小时。
步骤206:发布服务器基于接收到的裁剪更新数据,对增量全量模型进行裁剪,获得目标全量模型。
其中,全量模型为基于所有窗口期的样本训练获得的模型,当前全量模型,增量全量模型以及目标全量模型均为一种全量模型。增量更新数据也可以作为增量模型,是与训练周期内的样本有关的模型。裁剪更新数据也可以作为裁剪模型,是与裁剪周期内的样本有关的模型。
这样,就可以在发布服务器120中进行对当前全量模型进行合并以及裁剪更新,获得目标全量模型,并同时在合并服务模块109中进行模型合并以及裁剪更新,使得发布服务器120与训练子***100中的目标全量模型保持一致,满足了容灾的需要。
参阅图3b所示,为模型更新的执行流程示意图。该方法的具体流程如下:
步骤300:训练子***启动。
步骤301:训练子***周期性检测样本。
具体的,执行步骤301时,可参见上述实施例中步骤201。
步骤302:训练子***确定检测到新增样本时,进行模型训练,获得增量更新数据。
步骤303:训练子***将增量更新数据上传至发布服务器,触发发布服务器基于增量更新数据进行模型合并,获得增量全量模型。
步骤304:训练子***基于增量更新数据进行模型合并,获得增量全量模型。
步骤305:训练子***基于增量全量模型,确定裁剪更新数据,并将裁剪更新数据发送至发布服务器,触发发布服务器基于裁剪更新数据,对增量全量模型进行裁剪,获得目标全量模型。
具体的,执行步骤305时,可参见上述实施例中步骤204。
步骤306:训练子***基于裁剪更新数据,对增量全量模型进行裁剪,获得目标全量模型,执行步骤301。
步骤307:在执行步骤301-步骤306过程中,训练子***确定接收到停止指令时,停止运行。
这样,基于检测到的新增样本进行模型训练,获得增量更新数据,不需要加载全量模型,并且仅将数据量极少的模型增量数据上传至发布服务器,以及,将确定的裁剪更新数据上传至服务器,触发服务器基于裁剪更新数据对目标全量模型进行裁剪,获得全量模型,极大地减少了上传和加载过程中耗费的时间,提高了处理效率。
基于同一发明构思,本申请实施例中还提供了一种模型更新的装置,由于上述装置及设备解决问题的原理与一种模型更新的方法相似,因此,上述装置的实施可以参见方法的实施,重复之处不再赘述。
如图4a所示,其为本申请实施例提供的一种模型更新的装置的结构示意图一,包括:
获得单元410,用于确定检测到新增样本时,基于新增样本进行模型训练,获得当前全量模型的增量更新数据;
上传单元411,用于将增量更新数据上传至发布服务器,触发发布服务器将接收的增量更新数据与存储的当前全量模型进行合并获得增量全量模型。
较佳的,上传单元411还用于:
将增量更新数据与存储的当前全量模型进行合并,获得增量全量模型;
获取增量全量模型的中的各模型参数的更新信息;
筛选出对应的更新信息符合预设的筛选条件的模型参数;
基于筛选出的模型参数,获得裁剪更新数据;
将裁剪更新数据上传至发布服务器,触发发布服务器基于接收的裁剪更新数据对增量全量模型进行裁剪更新获得目标全量模型。
较佳的,在筛选出对应的更新信息符合预设的筛选条件的模型参数时,上传单元411还用于:
获取当前时间,以及各模型参数的更新信息中包含的更新时间,筛选出当前时间与更新时间之间的时间差高于预设更新时间门限的各模型参数;和/或,
基于获取的各模型参数的更新信息中包含的创建时间,更新时间和更新次数,分别确定每一模型参数的更新频率,并筛选出更新频率低于预设更新频率门限值的各模型参数。
较佳的,上传单元411还用于:
基于裁剪更新数据,对本地存储的增量全量模型进行裁剪更新,获得目标全量模型。
较佳的,上传单元411还用于:
将指定的模型参数存储至内存;
在未指定的各模型参数中,将使用间隔时间高于预设存储时间门限或者使用频率低于预设存储频率门限的未指定的各模型参数发送至外部存储设备,以及将其余的模型参数存储至本地设置的缓冲模块。
较佳的,上传单元411还用于:
向状态存储设备发送运行状态信息以及运行指令信息,触发状态存储设备存储接收的运行状态信息以及运行指令信息。
如图4b所示,其为本申请实施例提供的一种模型更新的装置的结构示意图二,包括:
接收单元420,用于接收训练子***发送的增量更新数据;
合并单元421,用于获取存储的当前全量模型,并将增量更新数据与当前全量模型合并,获得增量全量模型;
其中,增量更新数据是训练子***对新增样本进行模型训练获得的。
较佳的,合并单元421还用于:
接收训练子***发送的裁剪更新数据;
基于接收的裁剪更新数据,对增量全量模型进行裁剪更新,获得目标全量模型;
其中,裁剪更新数据是训练子***筛选出对应的更新信息符合预设的筛选条件的模型参数后基于筛选出的模型参数获得。
本申请实施例提供的一种模型更新的***、方法、装置、终端设备和介质中,训练子***基于检测到的新增样本进行模型训练,并将训练获得的增量更新数据上传至发布服务器;发布服务器则将存储的当前全量模型与增量更新数据合并获得更新后的增量全量模型。这样,不需要加载全量模型,并且仅将数据量极少的模型增量数据上传至发布服务器,极大地减少了上传和加载过程中耗费的时间,提高了处理效率。
基于同一技术构思,本申请实施例还提供了一种终端设备500,参照图5所示,终端设备500用于实施上述各个方法实施例记载的方法,例如实施图2所示的实施例,终端设备500可以包括存储器501、处理器502、输入单元503和显示面板504。
存储器501,用于存储处理器502执行的计算机程序。存储器501可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序等;存储数据区可存储根据终端设备500的使用所创建的数据等。处理器502,可以是一个中央处理单元(central processing unit,CPU),或者为数字处理单元等等。输入单元503,可以用于获取用户输入的用户指令。显示面板504,用于显示由用户输入的信息或提供给用户的信息,本申请实施例中,显示面板504主要用于显示终端设备中各应用程序的显示界面以及各显示界面中显示的控件实体。可选的,显示面板504可以采用液晶显示器(liquidcrystal display,LCD)或OLED(organic light-emitting diode,有机发光二极管)等形式来配置显示面板504。
本申请实施例中不限定上述存储器501、处理器502、输入单元503和显示面板504之间的具体连接介质。本申请实施例在图5中以存储器501、处理器502、输入单元503、显示面板504之间通过总线505连接,总线505在图5中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线505可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器501可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器501也可以是非易失性存储器(non-volatilememory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)、或者存储器501是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器501可以是上述存储器的组合。
处理器502,用于实现如图2所示的实施例,包括:
处理器502,用于调用存储器501中存储的计算机程序执行如实施图2所示的实施例。
本申请实施例还提供了一种计算机可读存储介质,存储为执行上述处理器所需执行的计算机可执行指令,其包含用于执行上述处理器所需执行的程序。
在一些可能的实施方式中,本申请提供的一种模型更新的方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行本说明书上述描述的根据本申请各种示例性实施方式的一种模型更新的方法中的步骤。例如,终端设备可以执行如实施图2所示的实施例。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本申请的实施方式的用于一种模型更新的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在计算设备上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,程序设计语言包括面向实体的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (15)

1.一种模型更新***,其特征在于,包括:训练子***和发布服务器,其中,
所述训练子***,用于确定检测到新增样本时,基于所述新增样本进行模型训练,获得当前全量模型的增量更新数据,并将所述增量更新数据上传至所述发布服务器;
所述发布服务器,用于将接收的增量更新数据与存储的当前全量模型进行合并,获得增量全量模型。
2.如权利要求1所述的***,其特征在于,所述训练子***还包括调度服务模块,梯度服务模块集群,以及参数服务模块集群,所述梯度服务模块集群中至少包括一个梯度服务模块,所述参数服务模块集群中至少包含一个参数服务模块;
所述调度服务模块,用于对新增样本进行切分后分配至各梯度服务模块;
每个梯度服务模块,分别用于基于接收的新增样本,进行梯度计算处理,并将获得的梯度值发送至所述参数服务模块;
每个参数服务模块,分别从至少一个梯度服务模块接收梯度值,并用于基于接收的梯度值,进行参数计算处理,获得增量更新数据并分别发送给所述发布服务器。
3.如权利要求1所述的***,其特征在于,所述训练子***还包括合并服务模块集群,所述合并服务模块集群中至少包含一个合并服务模块;
所述合并服务模块用于:将通过各参数服务模块获取的所述增量更新数据与本地存储的当前全量模型进行合并,获得增量全量模型;获取所述增量全量模型中的各模型参数的更新信息;筛选出对应的更新信息符合预设的筛选条件的模型参数;基于筛选出的模型参数,获得裁剪更新数据,并将所述裁剪更新数据上传至所述发布服务器;
所述发布服务器还用于:基于接收的裁剪更新数据,对所述增量全量模型进行裁剪更新,获得目标全量模型。
4.如权利要求3所述的***,其特征在于,所述合并服务模块用于:
获取当前时间,以及各模型参数的更新信息中包含的更新时间,筛选出所述当前时间与更新时间之间的时间差高于预设更新时间门限的各模型参数;和/或,
基于获取的各模型参数的更新信息中包含的创建时间,更新时间和更新次数,分别确定每一模型参数的更新频率,并筛选出更新频率低于预设更新频率门限值的各模型参数。
5.如权利要求3所述的***,其特征在于,所述合并服务模块还用于:
基于所述裁剪更新数据,对本地存储的增量全量模型进行裁剪更新,获得目标全量模型。
6.如权利要求1-5任一项所述的***,其特征在于,所述训练子***还包括外部存储设备,所述外部存储设备用于:接收并存储所述训练子***发送的模型参数;
所述参数服务模块还用于:
将指定的模型参数存储至内存,并在未指定的各模型参数中,将使用间隔时间高于预设存储时间门限或者使用频率低于预设存储频率门限的未指定的各模型参数发送至外部存储设备,以及将其余的模型参数存储至本地设置的缓冲模块。
7.如权利要求2所述的***,其特征在于,所述训练子***还包括状态存储设备,所述状态存储设备用于:接收并存储所述调度服务模块发送的运行状态信息以及运行指令信息;
所述调度服务模块还用于:向所述状态存储设备发送运行状态信息以及运行指令信息。
8.一种模型更新方法,其特征在于,包括:
确定检测到新增样本时,基于所述新增样本进行模型训练,获得当前全量模型的增量更新数据;
将所述增量更新数据上传至所述发布服务器,触发所述发布服务器将接收的增量更新数据与存储的当前全量模型进行合并获得增量全量模型。
9.如权利要求8所述的方法,其特征在于,进一步包括:
将所述增量更新数据与存储的当前全量模型进行合并,获得增量全量模型;
获取所述增量全量模型的中的各模型参数的更新信息;
筛选出对应的更新信息符合预设的筛选条件的模型参数;
基于筛选出的模型参数,获得裁剪更新数据;
将所述裁剪更新数据上传至所述发布服务器,触发所述发布服务器基于接收的裁剪更新数据对所述增量全量模型进行裁剪更新获得目标全量模型。
10.如权利要求9所述的方法,其特征在于,筛选出对应的更新信息符合预设的筛选条件的模型参数,具体包括:
获取当前时间,以及各模型参数的更新信息中包含的更新时间,筛选出所述当前时间与更新时间之间的时间差高于预设更新时间门限的各模型参数;和/或,
基于获取的各模型参数的更新信息中包含的创建时间,更新时间和更新次数,分别确定每一模型参数的更新频率,并筛选出更新频率低于预设更新频率门限值的各模型参数。
11.一种模型更新方法,其特征在于,包括:
接收训练子***发送的增量更新数据;
获取存储的当前全量模型,并将所述增量更新数据与所述当前全量模型合并,获得增量全量模型;
其中,所述增量更新数据是所述训练子***对新增样本进行模型训练获得的。
12.一种模型更新的装置,其特征在于,包括:
获得单元,用于确定检测到新增样本时,基于所述新增样本进行模型训练,获得当前全量模型的增量更新数据;
上传单元,用于将所述增量更新数据上传至所述发布服务器,触发所述发布服务器将接收的增量更新数据与存储的当前全量模型进行合并获得增量全量模型。
13.一种模型更新装置,其特征在于,包括:
接收单元,用于接收训练子***发送的增量更新数据;
合并单元,用于获取存储的当前全量模型,并将所述增量更新数据与所述当前全量模型合并,获得增量全量模型;
其中,所述增量更新数据是所述训练子***对新增样本进行模型训练获得的。
14.一种终端设备,其特征在于,包括至少一个处理单元、以及至少一个存储单元,其中,所述存储单元存储有计算机程序,当所述程序被所述处理单元执行时,使得所述处理单元执行权利要求8~10或11任一权利要求所述方法的步骤。
15.一种计算机可读介质,其特征在于,其存储有可由终端设备执行的计算机程序,当所述程序在终端设备上运行时,使得所述终端设备执行权利要求8~10或11任一所述方法的步骤。
CN201811046230.6A 2018-09-07 2018-09-07 一种模型更新的***、方法、装置、终端设备和介质 Active CN110888668B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811046230.6A CN110888668B (zh) 2018-09-07 2018-09-07 一种模型更新的***、方法、装置、终端设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811046230.6A CN110888668B (zh) 2018-09-07 2018-09-07 一种模型更新的***、方法、装置、终端设备和介质

Publications (2)

Publication Number Publication Date
CN110888668A true CN110888668A (zh) 2020-03-17
CN110888668B CN110888668B (zh) 2024-04-16

Family

ID=69744696

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811046230.6A Active CN110888668B (zh) 2018-09-07 2018-09-07 一种模型更新的***、方法、装置、终端设备和介质

Country Status (1)

Country Link
CN (1) CN110888668B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112418986A (zh) * 2020-11-19 2021-02-26 定智衣(上海)服装科技有限公司 一种高稳定智能量体的算法升级解决方案
CN112613938A (zh) * 2020-12-11 2021-04-06 上海哔哩哔哩科技有限公司 模型训练方法、装置及计算机设备
CN112860303A (zh) * 2021-02-07 2021-05-28 济南大学 一种模型增量更新的方法及***
CN113496286A (zh) * 2020-03-18 2021-10-12 杭州海康威视数字技术股份有限公司 模型训练控制方法和设备
CN114706864A (zh) * 2022-03-04 2022-07-05 阿波罗智能技术(北京)有限公司 自动挖掘场景数据的模型更新方法、装置及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120191631A1 (en) * 2011-01-26 2012-07-26 Google Inc. Dynamic Predictive Modeling Platform
CN103294568A (zh) * 2013-06-24 2013-09-11 国家电网公司 基于e语言的配网模型增量入库方法
CN105718490A (zh) * 2014-12-04 2016-06-29 阿里巴巴集团控股有限公司 一种用于更新分类模型的方法及装置
CN105843867A (zh) * 2016-03-17 2016-08-10 畅捷通信息技术股份有限公司 基于元数据模型的检索方法和基于元数据模型的检索装置
CN106980753A (zh) * 2017-02-28 2017-07-25 浙江工业大学 一种用于神经疾病的基于体素分析的数据驱动机器学习方法
CN107527091A (zh) * 2016-10-14 2017-12-29 腾讯科技(北京)有限公司 数据处理方法和装置
CN107688493A (zh) * 2016-08-05 2018-02-13 阿里巴巴集团控股有限公司 训练深度神经网络的方法、装置及***

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120191631A1 (en) * 2011-01-26 2012-07-26 Google Inc. Dynamic Predictive Modeling Platform
CN103294568A (zh) * 2013-06-24 2013-09-11 国家电网公司 基于e语言的配网模型增量入库方法
CN105718490A (zh) * 2014-12-04 2016-06-29 阿里巴巴集团控股有限公司 一种用于更新分类模型的方法及装置
CN105843867A (zh) * 2016-03-17 2016-08-10 畅捷通信息技术股份有限公司 基于元数据模型的检索方法和基于元数据模型的检索装置
CN107688493A (zh) * 2016-08-05 2018-02-13 阿里巴巴集团控股有限公司 训练深度神经网络的方法、装置及***
CN107527091A (zh) * 2016-10-14 2017-12-29 腾讯科技(北京)有限公司 数据处理方法和装置
WO2018068742A1 (zh) * 2016-10-14 2018-04-19 腾讯科技(深圳)有限公司 数据处理方法和装置
CN106980753A (zh) * 2017-02-28 2017-07-25 浙江工业大学 一种用于神经疾病的基于体素分析的数据驱动机器学习方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王平;田华阁;田学民;黄德先;: "一种基于增量式SVR学习的在线自适应建模方法", 化工学报, no. 08 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113496286A (zh) * 2020-03-18 2021-10-12 杭州海康威视数字技术股份有限公司 模型训练控制方法和设备
CN112418986A (zh) * 2020-11-19 2021-02-26 定智衣(上海)服装科技有限公司 一种高稳定智能量体的算法升级解决方案
CN112613938A (zh) * 2020-12-11 2021-04-06 上海哔哩哔哩科技有限公司 模型训练方法、装置及计算机设备
CN112860303A (zh) * 2021-02-07 2021-05-28 济南大学 一种模型增量更新的方法及***
CN112860303B (zh) * 2021-02-07 2023-07-04 济南大学 一种模型增量更新的方法及***
CN114706864A (zh) * 2022-03-04 2022-07-05 阿波罗智能技术(北京)有限公司 自动挖掘场景数据的模型更新方法、装置及存储介质

Also Published As

Publication number Publication date
CN110888668B (zh) 2024-04-16

Similar Documents

Publication Publication Date Title
CN110888668B (zh) 一种模型更新的***、方法、装置、终端设备和介质
US11146502B2 (en) Method and apparatus for allocating resource
US10712915B2 (en) Information presentation using a client on a terminal
US9773011B2 (en) On-demand caching in a WAN separated distributed file system or clustered file system cache
US8984058B2 (en) Pre-fetching remote resources
EP2733603B1 (en) Data processing system with data characteristics based identification of corresponding instructions
US9513835B2 (en) Impact-based migration scheduling from a first tier at a source to a second tier at a destination
CN107729570B (zh) 用于服务器的数据迁移方法和装置
US9547520B1 (en) Virtual machine load balancing
US9270539B2 (en) Predicting resource provisioning times in a computing environment
CN104750538B (zh) 用于为目标应用提供虚拟存储池的方法和***
CN114490566B (zh) 集群数据迁移方法、装置、计算机设备及存储介质
CN115543965A (zh) 跨机房数据处理方法、设备、存储介质及程序产品
CN115827250A (zh) 一种数据存储方法、装置及设备
US9436406B2 (en) Migration decision window selection based on hotspot characteristics
CN113076224B (zh) 数据备份方法、数据备份***、电子设备及可读存储介质
CN109271193B (zh) 一种数据处理方法、装置、设备及存储介质
US20190310920A1 (en) Pre-Fetching and Staging of Restore Data on Faster Tiered Storage
CN113760499A (zh) 调度计算单元的方法、装置、计算设备及介质
CN113760982A (zh) 一种数据处理方法和装置
CN112818204B (zh) 一种业务的处理方法、装置、设备及存储介质
CN110659125A (zh) 一种分析任务执行方法、装置、***及电子设备
US11366613B2 (en) Method and apparatus for writing data
CN111080250B (zh) 流程回退补偿方法、装置、存储介质及电子设备
CN114116790A (zh) 数据处理的方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40021557

Country of ref document: HK

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant