CN113821232A - 模型更新方法和装置 - Google Patents
模型更新方法和装置 Download PDFInfo
- Publication number
- CN113821232A CN113821232A CN202011341953.6A CN202011341953A CN113821232A CN 113821232 A CN113821232 A CN 113821232A CN 202011341953 A CN202011341953 A CN 202011341953A CN 113821232 A CN113821232 A CN 113821232A
- Authority
- CN
- China
- Prior art keywords
- model
- incremental
- version
- full
- version number
- 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
- 238000000034 method Methods 0.000 title claims abstract description 62
- 230000004044 response Effects 0.000 claims abstract description 35
- 230000015654 memory Effects 0.000 claims description 20
- 238000001514 detection method Methods 0.000 claims description 10
- 239000000126 substance Substances 0.000 claims 1
- 238000012549 training Methods 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 8
- 238000010801 machine learning Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000012384 transportation and delivery Methods 0.000 description 2
- 101100217298 Mus musculus Aspm gene Proteins 0.000 description 1
- 108010001267 Protein Subunits Proteins 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004138 cluster model Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0251—Targeted advertisements
- G06Q30/0253—During e-commerce, i.e. online transactions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0251—Targeted advertisements
- G06Q30/0269—Targeted advertisements based on user profile or attribute
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0277—Online advertisement
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Development Economics (AREA)
- Strategic Management (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Game Theory and Decision Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了模型更新方法和装置,涉及模型训练技术领域。方法的一具体实施方式包括:响应于确定当前提供服务的模型的全量模型版本号与待更新全量模型版本号一致,检测是否存在与全量模型版本号相对应的增量模型版本顺序表;响应于确定存在增量模型版本顺序表,基于增量模型版本顺序表加载各增量模型以对当前提供服务的模型进行更新。该实施方式有效提升了模型更新的实时性和可靠性。
Description
技术领域
本申请涉及计算机技术领域,具体涉及模型训练技术领域,尤其涉及一种模型更新方法和装置。
背景技术
计算广告是随着互联网应用发展起来的一个综合多学科的研究领域,包含了数据管理、数据挖掘、机器学习、分布式系统等前沿技术,其中CTR(Click-through Rate,点击率)预测作为计算广告学的核心算法之一,在电商广告系统中成为精确广告投放的关键技术。为了获取更为精确的CTR预估值,目前业界主要采用构建机器学习平台的方式,通过加载机器学习模型,对外提供模型预估能力,为最终的广告投放提供指导。
随着用户数据的不断膨胀和算法模型的日益复杂,预估服务的算法效果已经开始受限于单机性能,难以进一步提升。因此为了支持超大模型的在线预估,业界出现了机器学习的分布式部署策略,该策略通过将算法模型根据计算和数据两个维度切分,并进行分布式集群部署,减轻了对单机性能的压力,对外提供了完整的模型预估能力。除此之外,分布式机器学习平台中还引入了一个公共的版本调度服务——中心server,保证了分布式集群模型更新过程中的版本一致性。在中心server中主要维护两个信息:
1、机器学习平台对外提供服务的模型版本号和待更新的模型版本号。
2、分布式集群内每台机器加载的模型版本号。
模型预估服务会定时访问中心server,进行本机模型版本号的上报以及中心server对外服务模型版本号的获取。当本机模型版本号与中心server中的模型版本号相同则进行服务注册,若不同则下线该服务。当中心server管理的服务都已经加载了待更新版本,则进行模型版本的切换,从而保证了集群内服务版本的一致性。
发明内容
本申请实施例提供了一种模型更新方法、装置、设备以及存储介质。
根据第一方面,本申请实施例提供了一种模型更新方法,该方法包括:响应于确定当前提供服务的模型的全量模型版本号与待更新全量模型版本号一致,检测是否存在与全量模型版本号相对应的增量模型版本顺序表;响应于确定存在增量模型版本顺序表,基于增量模型版本顺序表加载各增量模型以对当前提供服务的模型进行更新。
在一些实施例中,基于增量模型版本顺序表加载各增量模型以对当前提供服务的模型进行更新,包括:执行切换操作以对当前提供服务的模型进行更新,其中,切换操作包括:对当前提供服务的模型进行备份,得到备份模型;加载第一增量模型对所述备份模型进行更新,得到更新后的备份模型,第一增量模型为增量模型版本顺序表中未被加载的增量模型的版本号中排序第一的版本号对应的增量模型;
将更新后的备份模型作为当前提供服务的模型,并执行切换操作。
在一些实施例中,其中,加载第一增量模型对备份模型进行更新,包括:响应于确定第一增量模型存在且通过完整性校验,加载第一增量模型对所述备份模型进行更新。
在一些实施例中,该方法还包括:响应于检测到当前加载的增量模型的版本号与第一增量模型的版本号的差值大于等于预设阈值,则上报告警。
在一些实施例中,基于增量模型版本顺序表加载各增量模型以对当前提供服务的模型进行更新,包括:将增量模型版本顺序表及增量模型版本顺序表中各增量模型版本号对应的增量模型备份至本地,在本地按照增量模型版本顺序表加载各增量模型以对当前提供服务的模型进行更新。
在一些实施例中,该方法还包括:响应于检测到加载增量模型失败,停止加载所述增量模型,并上报告警。
在一些实施例中,该方法还包括:响应于确定当前提供服务的模型的全量模型版本号与待更新全量模型版本号不一致,加载待更新全量模型版本号对应的全量模型以对当前提供服务的模型进行更新。根据第二方面,本申请实施例提供了一种模型更新装置,该装置包括:检测模块,被配置成响应于确定当前提供服务的模型的全量模型版本号与待更新全量模型版本号一致,检测是否存在与所述全量模型版本号相对应的增量模型版本顺序表;更新模块,被配置成响应于确定存在所述增量模型版本顺序表,基于增量模型版本顺序表加载各增量模型以对当前提供服务的模型进行更新。
根据第三方面,本申请实施例提供了一种电子设备,该电子设备包括一个或多个处理器;存储装置,其上存储有一个或多个程序,当一个或多个程序被该一个或多个处理器执行,使得一个或多个处理器实现如第一方面的任一实施例的模型更新方法。
根据第四方面,本申请实施例提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面的任一实施例的模型更新方法。
本申请通过响应于确定当前提供服务的模型的全量模型版本号与待更新全量模型版本号一致,检测是否存在与全量模型版本号相对应的增量模型版本顺序表;响应于确定存在增量模型版本顺序表,基于增量模型版本顺序表加载各增量模型以对当前提供服务的模型进行更新,使得模型可在数据分布变化剧烈的条件下,通过增量模型进行实时更新,进而有效提高了模型更新的实时性和可靠性。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其他特征将通过以下的说明书而变得容易理解。
附图说明
图1是本申请可以应用于其中的示例性系统架构图;
图2是根据本申请的模型更新方法的一个实施例的流程图;
图3是根据本申请的模型更新方法的一个应用场景的示意图;
图4是根据本申请的模型更新方法的另一个实施例的流程图;
图5是根据本申请的模型更新装置的一个实施例的示意图;
图6是适于用来实现本申请实施例的服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的用户图像识别模型的更新方法的实施例的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如,购物类应用、通讯类应用等。
终端设备101、102、103可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是具有显示屏的各种电子设备,包括但不限于手机和笔记本电脑。当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供模型更新服务),也可以实现成单个软件或软件模块。在此不做具体限定。
服务器105可以是提供各种服务的服务器,例如,响应于确定当前提供服务的模型的全量模型版本号与待更新全量模型版本号一致,检测是否存在与全量模型版本号相对应的增量模型版本顺序表;响应于确定存在增量模型版本顺序表,基于增量模型版本顺序表加载各增量模型以对当前提供服务的模型进行更新。
需要说明的是,服务器105可以是硬件,也可以是软件。当服务器105为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器为软件时,可以实现成多个软件或软件模块(例如用来提供模型更新服务),也可以实现成单个软件或软件模块。在此不做具体限定。
需要指出的是,本公开的实施例所提供的模型更新方法可以由服务器105执行,也可以由终端设备101、102、103执行,还可以由服务器105和终端设备101、102、103彼此配合执行。相应地,用户图像识别模型的更新装置包括的各个部分(例如各个单元、子单元、模块、子模块)可以全部设置于服务器105中,也可以全部设置于终端设备101、102、103中,还可以分别设置于服务器105和终端设备101、102、103中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
图2示出了可以应用于本申请的模型更新方法的实施例的流程示意图200。在本实施例中,模型更新方法包括以下步骤:
步骤201,响应于确定当前提供服务的模型的全量模型版本号与待更新全量模型版本号一致,检测是否存在与全量模型版本号相对应的增量模型版本顺序表。
在本实施例中,执行主体(如图1中所示的服务器105或终端设备101、102、103)可以定时访问版本管理中心以获取当前提供服务的模型的全量模型版本号以及待更新全量模型版本号,若确定当前提供服务的模型的全量模型版本号与待更新全量模型的版本号一致,即当前提供服务的模型的全量模型版本已是最新版本,则检测是否存在与全量模型版本号相对应的增量模型版本顺序表。其中,版本管理中心用于对提供服务的模型或模型集群中的各模型的全量模型版本号、与全量模型版本号对应的增量模型版本号、待更新全量模型版本号以及与待更新全量模型版本号相对应的增量模型版本号进行管理及调度。提供服务的模型或模型集群中的各模型可定时向版本管理中心上报各自模型的全量模型版本号及增量模型版本号。
具体地,版本管理中心可以为分布式机器学习中的中心server。中心server可实时获取模型离线训练平台训练产生的并存放至网盘的全量模型的全量模型版本号和与全量模型相对应的增量模型的增量模型版本号,以及将增量模型的版本号按生成顺序进行保存得到的增量模型版本顺序表。这里,模型离线训练平台用于收集当前提供服务的模型的应用数据以训练全量模型和增量模型。其中,全量模型用于指示将训练数据全部加入内存以对模型进行训练得到的模型,增量模型用于指示将训练数据分成多份以对模型进行多次训练得到的模型。增量模型通常在所对应的全量模型生成后以分钟级别产生,用于在所对应的全量模型的基础上对部分模型参数进行修改。由一个或多个增量模型的版本号组成的增量模型版本顺序表与全量模型版本相对应,用于表征在所对应的全量模型基础上加载各增量模型的顺序。
具体地,全量模型的版本号为V1,与全量模型版本号对应的增量模型版本顺序表中各增量模型版本号的顺序为V1.1、V1.2、V1.3,则在V1全量模型的基础上,加载增量模型的顺序是V1.1增量模型、V1.2增量模型、V1.3增量模型。
需要指出的是,执行主体检测是否存在与全量模型版本号相对应的增量模型版本顺序表的方式可以是直接检测网盘中是否存在增量版本顺序表、也可以在本地检测是否存在网盘备份的增量版本顺序表,本申请对此不作限定。在一些可选的方式中,该方法还包括:响应于确定当前提供服务的模型的全量模型版本号与待更新全量模型版本号不一致,加载待更新全量模型版本号对应的全量模型以对当前提供服务的模型进行更新。
在本实现方式中,执行主体可定时访问版本管理中心以获取当前提供服务的模型的全量模型版本号以及待更新全量模型版本号,若当前提供服务的模型的全量模型版本号与待更新全量模型的版本号不一致,即当前提供服务的模型所对应的全量模型版本不是最新版本,则加载待更新全量模型版本号所对应的全量模型以对当前提供服务的模型进行更新。
具体地,当前提供服务的模型的全量模型版本号为V1,待更新全量模型的版本号为V2,则加载V2版本的待更新全量模型以对当前提供服务的模型进行更新。
这里,执行主体加载V2版本的全量模型对V1版本的全量模型进行更新的方式可以是首先将存储在备份缓存空间的当前提供服务的模型的备份模型(V1版本的全量模型)删除,然后将V2版本全量模型加载至备份缓存空间,并将当前提供服务的模型切换为V2版本全量模型,即将V2版本全量模型确定为当前提供服务的模型,以实现对当前提供服务的模型的更新,该方式可有效保障切换的平滑性。
该方式通过响应于确定当前提供服务的模型的全量模型版本号与待更新全量模型版本号不一致,加载与待更新全量模型版本号相对应的全量模型以对当前提供服务的模型进行更新,有效实现了全量模型的同步更新。
步骤202,响应于确定存在增量模型版本顺序表,基于增量模型版本顺序表加载各增量模型以对当前提供服务的模型进行更新。
在本实施例中,执行主体可以在确定本地或网盘中存在增量模型版本顺序表后,按照增量模型版本顺序表依次加载各增量模型版本对应的增量模型以对当前提供服务的模型进行更新。
这里,执行主体按照增量模型版本顺序表依次加载各增量模型的方式可以是首先暂停当前提供服务的模型的服务,然后加载增量模型,在加载完成后,即得到更新后的模型后,使用更新后的模型继续提供服务;也可以是首先将当前提供服务的模型进行备份,然后在备份模型基础上加载增量模型,得到更新后的备份模型,使用更新后的备份模型对外提供服务,即将更新后的备份模型作为当前提供服务的模型,本申请对此不作限定。
继续参见图3,图3是根据本实施例的模型更新方法的应用场景的一个示意图。
在图3的应用场景中,执行主体301可以定时向分布式机器学习中的中心server302获取当前提供服务的模型的全量模型的版本号、增量模型版本号以及待更新全量模型版本号。这里,中心server可实时获取模型离线训练平台303训练产生的并存放至网盘304的全量模型的全量模型版本号(例如,V1、V2……Vn)、与全量模型相对应的增量模型的增量模型版本号(例如,与V1对应的V1.1……V1.m,与V2对应的V2.1……V2.m等)。其中,模型离线训练平台303用于收集当前提供服务的模型的应用数据以训练全量模型和增量模型。响应于确定当前提供服务的模型的全量模型版本号与待更新全量模型版本号一致,则继续检测是否存在与全量模型版本号相对应的增量模型版本顺序表,响应于确定存在增量模型版本顺序表,执行主体可以按照增量模型版本顺序表直接从网盘中加载各增量模型以对当前提供服务的模型进行更新。
本公开的模型更新方法,通过响应于确定当前提供服务的模型的全量模型版本号与待更新全量模型版本号一致,检测是否存在与全量模型版本号相对应的增量模型版本顺序表;响应于确定存在增量模型版本顺序表,基于增量模型版本顺序表加载各增量模型以对当前提供服务的模型进行更新,有效提升了模型更新的实时性和可靠性。
进一步参考图4,其示出了图2所示的模型更新方法实施例中的基于增量模型版本顺序表加载各增量模型以对当前提供服务的模型进行更新的又一个实施例的流程400。在本实施例中,基于增量模型版本顺序表加载各增量模型以对当前提供服务的模型进行更新,包括:执行切换操作以对当前提供服务的模型进行更新。本实施例的模型更新方法中切换操作的流程400,可包括以下步骤:
步骤401,对当前提供服务的模型进行备份,得到备份模型。
在本实施例中,执行主体可以首先将当前提供服务的模型同步加载至备份缓存空间,得到备份模型。
具体地,若当前提供服务的模型存储于第一缓存空间buffer1,则可以设置第二缓存空间buffer2,即备份缓存空间,并将当前提供服务的模型同步加载至第二缓存空间buffer2,得到备份模型。
步骤402,加载第一增量模型对备份模型进行更新,得到更新后的备份模型。
在本实施例中,执行主体可以进一步加载第一增量模型到备份缓存空间对备份模型进行更新,得到更新后的备份模型。这里,第一增量模型为增量模型版本顺序表中未被加载的增量模型的版本号中排序第一的版本号对应的增量模型。
步骤403,将更新后的备份模型作为当前提供服务的模型,并执行切换操作。
在本实施例中,执行主体在得到更新后的备份模型之后,将更新后的备份模型作为当前提供服务的模型以对外提供服务,即将当前提供服务的模型切换为更新后的备份模型,并进一步执行切换操作。
具体地,当前提供服务的模型(全量模型版本号V1)存储于第一缓存空间buffer1,当前提供服务的模型的备份,即备份模型(全量模型版本号V1),存储于第二缓存空间buffer2。执行主体响应于确定存在增量模型版本顺序表,增量模型版本顺序表中各增量模型版本号及排列顺序为V1.1、V1.2、V1.3,其中,V1.1、V1.2、V1.3均未被加载过,则加载增量模型版本顺序表中对应的增量模型未被加载的排序第一的增量模型版本号V1.1对应的增量模型以对备份模型进行更新,得到更新后的备份模型(全量模型版本号V1+增量模型版本号V1.1)。进一步地,将更新后的备份模型作为当前提供服务的模型以对外提供服务,并继续执行切换操作。
切换操作包括,执行主体对当前提供服务的模型(全量模型版本号V1+增量模型版本号V1.1)进行备份,这里,执行主体对当前提供服务的模型进行备份的方式可以包括多种,具体可根据内存空间的大小进行设置。
具体地,执行主体可以在缓存空间buffer1,即原当前提供服务的模型(全量模型版本号V1)基础上直接加载增量模型V1.1,以得到当前提供服务的模型(全量模型版本号V1+增量模型版本号V1.1)的备份模型(全量模型版本号V1+增量模型版本号V1.1),该方式可有效节省内存空间。
此外,执行主体也可以设置第三缓存空间buffer3,将当前提供服务的模型(全量模型版本号V1+增量模型版本号V1.1)同步加载至第三缓存空间buffer3,即备份缓存空间,以得到备份模型,本申请对此不作限定。
进一步地,执行主体加载第一增量模型V1.2至备份缓存空间以对备份模型(全量模型版本号V1+增量模型版本号V1.1)进行更新,得到更新后的备份模型(全量模型版本号V1+增量模型版本号V1.1+增量模型版本号V1.2),并将更新后的备份模型作为当前提供服务的模型(全量模型版本号V1+增量模型版本号V1.1+增量模型版本号V1.2),继续执行切换操作,依此类推。
在一些可选的实现方式中,加载第一增量模型对备份模型进行更新,包括:响应于确定第一增量模型存在且通过完整性校验,加载第一增量模型对备份模型进行更新。
在本实现方式中,执行主体在加载第一增量模型对备份模型进行更新之前,需确定第一增量模型版本号对应的增量模型的配置文件是否存在,若存在则进一步进行文件完整性校验,若增量模型的配置文件通过校验,则加载第一增量模型对备份模型进行更新。
这里,对增量模型的配置文件进行完整性校验的方式可以为现有技术或未来发展技术中的校验方式,例如,MD5(Message-Digest Algorithm,消息摘要算法)、SHA1(SecureHash Algorithm,安全散列算法)等,本申请对此不作限定。
该实现方式通过响应于第一增量模型存在且通过完整性校验,加载第一增量模型对备份模型进行更新,即在确定增量模型存在且增量模型完整的条件下,加载增量模型以对备份模型进行更新,有效提升了模型更新的可靠性和有效性。
在一些可选的方式中,基于增量模型版本顺序表加载各增量模型以对当前提供服务的模型进行更新,包括:将增量模型版本顺序表及增量模型版本顺序表中各增量模型版本号对应的增量模型备份至本地,在本地按照增量模型版本顺序表加载各增量模型以对当前提供服务的模型进行更新。
在本实现方式中,执行主体可以先将增量模型版本顺序表及增量模型版本顺序表中各增量模型版本号对应的增量模型备份至本地,然后在本地按照增量模型版本顺序表加载各增量模型以对当前提供服务的模型进行更新。
该实现方式通过先将增量模型版本顺序表及增量模型版本顺序表中各增量模型版本号对应的增量模型备份至本地,再在本地按照增量模型版本顺序表加载各增量模型以对当前提供服务的模型进行更新,可有效避免在加载增量模型的过程中出现网络中断等异常,同时有助于模型进行快速更新。
在一些可选的方式中,该方法还包括:响应于检测到加载增量模型失败,停止加载增量模型,并上报告警。
在本实现方式中,由于加载增量模型即是在原始全量模型的基础上对部分模型的参数进行修改,故若在多次增量模型加载后出现增量模型加载失败,此时,模型参数已经累计修改多次,无法直接重新加载,此时,可停止对该全量模型进行增量模型更新,并上报告警。通常情况下,该方式不会影响当前服务以及后续全量模型更新。
该实现方式通过响应于检测到加载增量模型失败,停止加载增量模型,并上报告警,有助于及时处理增量模型加载异常。
在一些可选的方式中,响应于检测到当前加载的增量模型的版本号与第一增量模型的版本号的差值大于等于预设阈值,则上报告警。
在本实现方式中,执行主体可以定时检测加载的增量模型的版本号与增量模型版本顺序表中第一增量模型版本号的差值,若差值大于等于预设阈值,即对当前提供服务的模型的更新速度,明显小于预定速度,则输出告警以请求人工处理。
具体地,当前提供服务的模型加载的增量模型的版本号为V1.2,而当前增量模型版本顺序表中的第一增量模型的版本号为V1.6,二者的差值为V0.4,若预设阈值为V0.2,即二者差值大于预设阈值,模型加载出现异常则上报告警。
需要指出的是,执行主体在上报告警的同时,可不停止当前增量模型的加载,以避免差值进一步扩大。
该实现方式通过响应于检测到加载的增量模型的版本号与第一增量模型的版本号的差值大于等于预设阈值,则上报告警,有助于及时发现增量模型加载中过程的异常,进一步提高增量模型加载的可靠性。
本申请的上述实施例,主要描述图2所示的模型更新方法实施例中基于增量模型版本顺序表加载各增量模型以对当前提供服务的模型进行更新的执行过程,该实施例通过执行切换操作以对当前提供服务的模型进行更新,切换操作包括:对当前提供服务的模型进行备份,得到备份模型,加载第一增量模型对所述备份模型进行更新,得到更新后的备份模型,将更新后的备份模型作为当前提供服务的模型,并执行切换操作,有效提升了模型更新和切换过程的平滑性。
进一步参考图5,作为对上述各图所示方法的实现,本申请提供了一种模型更新装置的一个实施例,该装置实施例与图1所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图5所示,本实施例的模型更新装置500包括:检测模块501、更新模块502。
其中,检测模块501,可被配置成响应于确定当前提供服务的模型的全量模型版本号与待更新全量模型版本号一致,检测是否存在与所述全量模型版本号相对应的增量模型版本顺序表。
更新模块502,可被配置成响应于确定存在增量模型版本顺序表,基于增量模型版本顺序表加载各增量模型以对当前提供服务的模型进行更新。在本实施例的一些可选的方式中,更新模块可进一步被配置成执行切换操作以对当前提供服务的模型进行更新,其中,切换操作包括:对当前提供服务的模型进行备份,得到备份模型;加载第一增量模型对所述备份模型进行更新,得到更新后的备份模型,第一增量模型为增量模型版本顺序表中未被加载的增量模型的版本号中排序第一的版本号对应的增量模型;将更新后的备份模型作为当前提供服务的模型,并执行切换操作。
在本实施例的一些可选的方式中,加载第一增量模型对所述备份模型进行更新,包括:响应于确定第一增量模型存在且通过完整性校验,加载第一增量模型对所述备份模型进行更新。
在本实施例的一些可选的方式中,该方法还包括:第一告警模块,可被配置成响应于检测到当前加载的增量模型的版本号与第一增量模型的版本号的差值大于等于预设阈值,则上报告警。
在本实施例的一些可选的方式中,更新模块进一步可被配置成将增量模型版本顺序表及增量模型版本顺序表中各增量模型版本号对应的增量模型备份至本地,在本地按照增量模型版本顺序表加载各增量模型以对当前提供服务的模型进行更新。
在本实施例的一些可选的方式中,该装置还包括:第二告警模块,可被配置成响应于检测到加载增量模型失败,停止加载增量模型,并上报告警。
在本实施例的一些可选的方式中,该装置还包括:加载模块,可被配置成响应于确定当前提供服务的模型的全量模型版本号与待更新全量模型版本号不一致,加载待更新全量模型版本号对应的全量模型以对当前提供服务的模型进行更新。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图6所示,是根据本申请实施例的模型更新方法的电子设备的框图。
600是根据本申请实施例的模型更新方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图6所示,该电子设备包括:一个或多个处理器601、存储器602,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图6中以一个处理器601为例。
存储器602即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的模型更新方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的模型更新方法。
存储器602作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的模型更新方法对应的程序指令/模块(例如,附图5所示的检测模块501、更新模块502)。处理器601通过运行存储在存储器602中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的模型更新方法。
存储器602可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储模型更新的电子设备的使用所创建的数据等。此外,存储器602可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器602可选包括相对于处理器601远程设置的存储器,这些远程存储器可以通过网络连接至模型更新的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
模型更新方法的电子设备还可以包括:输入装置603和输出装置604。处理器601、存储器602、输入装置603和输出装置604可以通过总线或者其他方式连接,图6中以通过总线连接为例。
输入装置603可接收输入的数字或字符信息,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置604可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
根据本申请实施例的技术方案,有效提升了模型更新的实时性和可靠性。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (10)
1.一种模型更新方法,所述方法包括:
响应于确定当前提供服务的模型的全量模型版本号与待更新全量模型版本号一致,检测是否存在与所述全量模型版本号相对应的增量模型版本顺序表;
响应于确定存在所述增量模型版本顺序表,基于所述增量模型版本顺序表加载各增量模型以对当前提供服务的模型进行更新。
2.根据权利要求1所述的方法,其中,所述基于增量模型版本顺序表加载各增量模型以对当前提供服务的模型进行更新,包括:
执行切换操作以对当前提供服务的模型进行更新,其中,所述切换操作包括:对所述当前提供服务的模型进行备份,得到备份模型;
加载第一增量模型对所述备份模型进行更新,得到更新后的备份模型,所述第一增量模型为增量模型版本顺序表中未被加载的增量模型的版本号中排序第一的版本号对应的增量模型;
将更新后的备份模型作为当前提供服务的模型,并执行切换操作。
3.根据权利要求2所述的方法,其中,所述加载第一增量模型对所述备份模型进行更新,包括:
响应于确定第一增量模型存在且通过完整性校验,加载第一增量模型对所述备份模型进行更新。
4.根据权利要求2所述的方法,所述方法还包括:
响应于检测到当前加载的增量模型的版本号与第一增量模型的版本号的差值大于等于预设阈值,则上报告警。
5.根据权利要求1所述的方法,其中,基于增量模型版本顺序表加载各增量模型以对当前提供服务的模型进行更新,包括:
将增量模型版本顺序表及增量模型版本顺序表中各增量模型版本号对应的增量模型备份至本地,在本地按照增量模型版本顺序表加载各增量模型以对当前提供服务的模型进行更新。
6.根据权利要求1所述的方法,所述方法还包括:
响应于检测到加载增量模型失败,停止加载增量模型,并上报告警。
7.根据权利要求1所述的方法,所述方法还包括:
响应于确定当前提供服务的模型的全量模型版本号与待更新全量模型版本号不一致,加载待更新全量模型版本号对应的全量模型以对当前提供服务的模型进行更新。
8.一种模型更新装置,所述装置包括:
检测模块,被配置成响应于确定当前提供服务的模型的全量模型版本号与待更新全量模型版本号一致,检测是否存在与所述全量模型版本号相对应的增量模型版本顺序表;
更新模块,被配置成响应于确定存在所述增量模型版本顺序表,基于所述增量模型版本顺序表加载各增量模型以对当前提供服务的模型进行更新。
9.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的方法。
10.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011341953.6A CN113821232A (zh) | 2020-11-25 | 2020-11-25 | 模型更新方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011341953.6A CN113821232A (zh) | 2020-11-25 | 2020-11-25 | 模型更新方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113821232A true CN113821232A (zh) | 2021-12-21 |
Family
ID=78924955
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011341953.6A Pending CN113821232A (zh) | 2020-11-25 | 2020-11-25 | 模型更新方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113821232A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024027314A1 (zh) * | 2022-07-30 | 2024-02-08 | 超聚变数字技术有限公司 | 备份数据恢复方法及计算设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080275923A1 (en) * | 2007-05-02 | 2008-11-06 | International Business Machines Corporation | Method for the expungement of backup versions of files on server targets that are configured to be updated sequentially |
CN107819870A (zh) * | 2017-11-21 | 2018-03-20 | 广州视睿电子科技有限公司 | 增量拉取数据方法、装置、存储介质、终端设备和服务器 |
CN109450977A (zh) * | 2018-10-09 | 2019-03-08 | 阿里巴巴集团控股有限公司 | 缓存数据的推送、更新方法及装置 |
CN111597200A (zh) * | 2019-02-21 | 2020-08-28 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置及存储介质 |
CN111708566A (zh) * | 2020-06-10 | 2020-09-25 | 深圳云之家网络有限公司 | 软件增量更新方法、装置、系统及计算机可读存储介质 |
-
2020
- 2020-11-25 CN CN202011341953.6A patent/CN113821232A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080275923A1 (en) * | 2007-05-02 | 2008-11-06 | International Business Machines Corporation | Method for the expungement of backup versions of files on server targets that are configured to be updated sequentially |
CN107819870A (zh) * | 2017-11-21 | 2018-03-20 | 广州视睿电子科技有限公司 | 增量拉取数据方法、装置、存储介质、终端设备和服务器 |
CN109450977A (zh) * | 2018-10-09 | 2019-03-08 | 阿里巴巴集团控股有限公司 | 缓存数据的推送、更新方法及装置 |
CN111597200A (zh) * | 2019-02-21 | 2020-08-28 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置及存储介质 |
CN111708566A (zh) * | 2020-06-10 | 2020-09-25 | 深圳云之家网络有限公司 | 软件增量更新方法、装置、系统及计算机可读存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024027314A1 (zh) * | 2022-07-30 | 2024-02-08 | 超聚变数字技术有限公司 | 备份数据恢复方法及计算设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10652119B2 (en) | Automatic recovery engine with continuous recovery state machine and remote workflows | |
CN110516971B (zh) | 异常检测的方法、装置、介质和计算设备 | |
CN110795503A (zh) | 分布式存储系统的多集群数据同步方法及相关装置 | |
US10897512B2 (en) | Generating push notifications | |
CN113051043A (zh) | 微服务异常补偿方法和装置 | |
CN111782341B (zh) | 用于管理集群的方法和装置 | |
CN112860343A (zh) | 配置变更方法、系统、装置、电子设备以及存储介质 | |
CN109299124B (zh) | 用于更新模型的方法和装置 | |
CN113821232A (zh) | 模型更新方法和装置 | |
CN111510480B (zh) | 一种请求发送方法、装置以及第一服务器 | |
CN112288128A (zh) | 信息预测方法和装置 | |
CN111865720A (zh) | 用于处理请求的方法、装置、设备以及存储介质 | |
CN111782147A (zh) | 用于集群扩缩容的方法和装置 | |
CN111782357A (zh) | 标签控制方法及装置、电子设备和可读存储介质 | |
JP7307766B2 (ja) | トラフィック調整方法、装置、電子機器、コンピュータ可読記録媒体及びコンピュータプログラム | |
CN111368184A (zh) | 智能语音设备的屏保投放方法、设备及存储介质 | |
CN112346512A (zh) | 时间同步方法和装置 | |
CN111400106B (zh) | 一种区块链账本同步方法、装置以及电子设备 | |
CN113656239A (zh) | 针对中间件的监控方法、装置及计算机程序产品 | |
CN111581049A (zh) | 分布式系统运行状态监测方法、装置、设备及存储介质 | |
CN115629918B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN111258954B (zh) | 数据迁移方法、装置、设备及存储介质 | |
CN113377660B (zh) | 测试方法和装置 | |
CN112527368B (zh) | 集群内核版本更新方法、装置、电子设备和存储介质 | |
CN114356505A (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 |