CN107209746B - 模型参数融合方法及装置 - Google Patents
模型参数融合方法及装置 Download PDFInfo
- Publication number
- CN107209746B CN107209746B CN201580001411.5A CN201580001411A CN107209746B CN 107209746 B CN107209746 B CN 107209746B CN 201580001411 A CN201580001411 A CN 201580001411A CN 107209746 B CN107209746 B CN 107209746B
- Authority
- CN
- China
- Prior art keywords
- parameter
- group
- nodes
- parameter collection
- node
- 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.)
- Active
Links
- 238000007500 overflow downdraw method Methods 0.000 title claims abstract description 14
- 230000004927 fusion Effects 0.000 claims abstract description 346
- 238000000034 method Methods 0.000 claims abstract description 78
- 238000010801 machine learning Methods 0.000 claims abstract description 56
- 238000004364 calculation method Methods 0.000 description 20
- 238000012549 training Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 11
- 238000013500 data storage Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 8
- 241001465754 Metazoa Species 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 239000000470 constituent Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/10—Requirements analysis; Specification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/16—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using machine learning or artificial intelligence
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Geometry (AREA)
- Human Computer Interaction (AREA)
- Mobile Radio Communication Systems (AREA)
- Architecture (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明实施例提供一种模型参数融合方法及装置,应用于机器学习系统,机器学习系统包括至少一个参数收集组和至少一个参数分发组,每个参数收集组对应至少一个参数分发组,涉及机器学习领域,用于解决模型参数融合中对参数服务器性能要求高、数据传输量大和动态调整计算资源的问题。该方法包括:在任一参数收集组满足组内融合条件时,融合参数收集组中M个节点的模型参数,得到该参数收集组的第一模型参数,其中,参数收集组最低融合节点数s≤M≤参数收集组包含节点的总个数;向参数收集组对应的参数分发组中的N个节点发送参数收集组的第一模型参数,其中,1≤N≤参数收集组对应的参数分发组包含节点的总个数。
Description
技术领域
本发明涉及机器学习领域,尤其涉及一种模型参数融合方法及装置。
背景技术
模型参数是指由多个约束参数组成的描述模型的参数,通过模型参数可以将具有共同特征的数据筛选出来,比如,当模型参数是图像类模型参数时,通过不同的模型参数,可以从众多的图像数据中筛选出具有人物、动物、或人脸的图像数据。随着数据量和数据种类的快速增长,用于数据筛选的模型参数也越来越多,而这些模型参数是经过对大量具有共同特征的数据进行多次计算融合得到的。
目前,模型参数融合都是将数据划分成多个数据子集,分配到不同的节点对分配的数据子集采用数据迭代的计算方法进行训练,每经过一次或者多次迭代计算,将各节点对不同数据子集训练得到的模型参数进行一次融合,并将融合后的模型参数作为下次迭代计算的初始模型参数,经过多次融合之后,得到最终的总模型参数。
现有技术中,模型参数融合的方法主要有两种:第一种是当各节点对多个数据子集完成多次迭代计算之后,参数服务器将各节点对多个数据子集训练得到的模型参数进行汇总、融合,得到新的模型参数,然后,各节点对多个数据子集再根据新的模型参数进行下次迭代计算;第二种是当某个节点对其分配的数据子集完成多次迭代计算之后,将该节点对分配的数据子集训练得到的模型参数发送给指定的其他节点,以用于与其他节点的数据子集进行模型参数融合,然后该节点再根据自己收到的其它节点对其他数据子集训练后传输过来的模型参数开始迭代计算。但是,第一种对用于进行模型参数融合的参数服务器的性能要求较高,容易发生宕机,第二种需要存储的数据较多,且数据传输量大。
发明内容
本发明的实施例提供一种模型参数融合方法及装置,用于解决模型参数融合中对参数服务器性能要求高、数据传输量大的问题。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供一种模型参数融合方法,所述方法应用于机器学习系统,所述机器学习系统包括至少一个参数收集组和至少一个参数分发组,每个参数收集组对应至少一个参数分发组,每个参数收集组中包含至少一个节点,每个参数分发组中包含至少一个节点,至少一个所述参数收集组包含的节点与所对应的参数分发组包含的节点不相同,所述方法包括:
在任一参数收集组满足组内融合条件时,融合所述满足条件的参数收集组中M个节点的模型参数,得到所述满足条件的参数收集组的第一模型参数,其中,所述满足条件的参数收集组最低融合节点数s≤所述M≤所述满足条件的参数收集组包含节点的总个数;
向所述满足条件的参数收集组对应的参数分发组中的N个节点发送所述满足条件的参数收集组的所述第一模型参数,其中,1≤所述N≤所述满足条件的参数收集组对应的参数分发组包含节点的总个数。
其中,组内融合条件可以是该参数收集组中完成当前模型参数迭代计算的节点个数达到预设数值,即最低融合节点数s。
具体地,当任一参数收集组完成当前模型参数迭代计算的节点个数达到最低融合节点数s时,从该参数收集组中选取已完成当前模型参数计算的M个节点,并将该M个节点计算得到的模型参数进行融合,得到第一模型参数。之后,由于参数收集组与参数分发组是对应的,也即是,一个参数收集组可以对应一个或者多个参数分发组,因此,当该参数收集组融合得到第一模型参数时,若满足组内分发条件,可以基于参数收集组与参数分发组的对应关系,将第一模型参数发送给对应的参数分发组中的全部节点,或者部分节点。
其中,组内分发条件可以是组内融合次数达到预设次数,或者经过预设时长等,本发明实施例对此不作限定。
进一步,当满足组内融合条件完成M个节点的融合时,若不满足组内分发条件,则参数收集组基于融合得到的第一模型参数进行新一轮的迭代计算,并且每完成一次M个节点的融合,对第一模型参数进一次更新,当满足组内分发条件时,则将第一模型参数进行分发。
进一步,将第一模型参数发送给参数收集组对应的参数分发组时,也可以将参与第一模型参数融合的地址信息发送给参数分发组中的节点,该地址信息可以是节点的IP地址或者节点编号等等,本发明对此不作限定。
需要说明的是,最低融合节点数s、M和N可以事先设置,且s≤M≤满足条件的参数收集组包含节点的总个数,1≤N≤满足条件的参数收集组对应的参数分发组包含节点的总个数。
另外,至少一个参数收集组包含的节点与所对应的参数分发组包含的节点不相同,即指至少有一个参数收集组包含的节点与所对应的参数分发组包含的节点不完全相同,可以是参数收集组中包括至少一个节点和该参数收集组对应的参数分发组中的节点不同,也可以是该参数收集组中包括的所有节点和该参数收集组对应的参数分发组包括的所有节点不同。
结合第一方面,在第一方面的第一种可能的实现方式中,所述融合所述满足条件的参数收集组中M个节点的模型参数,得到所述满足条件的参数收集组融合后的第一模型参数,包括:
接收所述满足条件的参数收集组中完成迭代的M个节点发送的所述M个节点的模型参数;
根据接收的所述M个节点的模型参数进行融合,得到所述满足条件的参数收集组的第一模型参数。
其中,该方法可以由独立于参数收集组之外的设备完成,例如,参数服务器,该参数服务器可以是由固定节点来担当。具体地,该参数收集组中完成迭代的M个节点分别将当前迭代计算得到的模型参数发送给参数服务器,当该参数服务器接收到该M个节点发送的模型参数时,该参数服务器可以通过多种不同的融合方式将该M个节点对应的模型参数进行融合,得到第一模型参数。
比如,多种不同的融合方式可以为:参数服务器一次性地将该M个节点对应的模型参数进行融合,得到第一模型参数;或者,每个节点在完成迭代后将参数发送给参数服务器,参数服务器接收来自节点的参数并融合参数,经过多次接收、融合的过程,直到该M个节点都完成融合,得到第一模型参数等等,本发明实施例对此不作限定。
需要说明的是,该参数服务器与参数收集组、以及该参数收集组对应的参数分发组之间的对应关系可以事先设置。
结合第一方面,在第一方面的第二种可能的实现方式中,所述融合所述满足条件的参数收集组中M个节点的模型参数,得到所述满足条件的参数收集组融合后的第一模型参数,包括:
获取所述满足条件的参数收集组中节点的状态信息;其中,该节点状态信息可以包括节点标识和完成迭代的节点顺序。
根据所述满足条件的参数收集组中节点的状态信息,指示所述满足条件的参数收集组中完成迭代的M个节点进行模型参数融合,得到所述满足条件的参数收集组的所述第一模型参数。
其中,该方法可以由参数收集组内的一个节点完成,该节点可以称为控制节点,该控制节点可以事先进行指定,也可以由参数收集组内的节点临时推荐确定。该控制节点可以统计参数收集组中节点的状态信息,并指示模型参数的传递和融合指令。
具体地,当该控制节点根据该参数收集组中节点的状态信息,指示完成迭代的M个节点进行融合时,控制节点可以指示完成迭代的M个节点通过不同的组合方式进行融合,比如,控制节点可以指示该M个节点将对应的模型参数发送给其中的一个节点,由该节点进行一次融合,得到第一模型参数,或者控制节点通过下述第一方面的第三种可能的实现方式进行融合,以提高该M个节点进行融合,得到第一模型参数的效率,当然,控制节点也可以通过其他的组合方式进行融合,本发明实施例对此不作限定。
结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,根据所述满足条件的参数收集组中节点的状态信息,指示所述满足条件的参数收集组中完成迭代的M个节点进行模型参数融合,包括:
根据所述满足条件的参数收集组中节点的状态信息,确定所述参数收集组中s个完成迭代的节点;
指示完成迭代的s个节点中的一个节点融合所述s个节点的模型参数;
也即是,控制节点在确定参数收集组中完成迭代的s个节点之后,指示将该s个节点中的一个节点作为融合节点,其余的节点分别将当前迭代得到的模型参数发送给该融合节点,由该融合节点将该s个节点对应的模型参数进行融合。
需要说明的是,该融合节点可以是最后一个完成迭代的节点,也可以是节点编号最小的节点,本发明实施例对此不作限定。
其中,当融合节点将该s个节点对应的模型参数进行融合的过程中,若有新增节点完成迭代,可以根据新增节点的个数与s大小关系可以分为两种情况:
第一种情况、新增x个节点,在所述x<所述s时,若在所述完成迭代的s个节点进行模型参数融合过程中,新增x个节点完成迭代,则指示所述新增x个节点中的一个节点融合所述新增x个节点的模型参数以及所述s个节点融合后的模型参数;
第二种情况、新增y个节点,在所述y≥所述s时,若在所述完成迭代的s个节点进行模型参数融合过程中,新增y个节点完成迭代,则指示所述新增y个节点中的一个节点融合所述y个节点的模型参数,并将所述y个节点融合后的模型参数与所述s个节点融合后的模型参数再次进行融合。
需要说明的是,在上述两种情况之后,若该M个节点中存在剩余节点没有参与融合,该剩余节点可以继续通过上述两种情况提供的方法进行模型参数的融合,以提高该M节点的模型参数进行融合的效率,当然,也可以通过其他方式进行融合,本发明实施例对此不作限定。
另外,所述新增节点中的一个节点可以是新增节点中节点编号最小的节点,也可以是最晚完成迭代的节点,本发明实施例对此不作限定。
结合第一方面至第一方面的第三种可能的实现方式中的任一种可能的实现方式,在第一方面的第四种可能的实现方式中,所述方法还包括:
在W个参数收集组之间满足组间融合条件时,分别将所述W个参数收集组的每个参数收集组中节点的模型参数进行整体融合,获得所述W个参数收集组中每个参数收集组的第二模型参数;
其中,所述W个参数收集组由所述W个参数收集组的上一层参数收集组确定,所述W≤所述上一层参数收集组包含组数的总个数。
另外,组间融合条件可以为参数收集组的组内融合次数达到预设次数,或者经过一定的时间。相应的,若组间融合条件为参数收集组的组内融合次数达到预设次数,当W个参数收集组的组内融合次数达到预设次数时,对于W个参数收集组中的每个参数收集组,该参数收集组可以将组内全部节点当前的模型参数进行整体融合,得到第二模型参数,从而获得W个参数收集组中每个参数收集组的第二模型参数。
比如,每个参数收集组的全部节点可以将当前的模型参数发送给组内的一个节点,由该节点将全部节点的当前模型参数进行整体融合,得到第二模型参数,当然,也可以通过其它的方式进行整体融合,本发明实施例对此不作限定。
将所述W个参数收集组中每个参数收集组的第二模型参数进行融合,得到第三模型参数;
将所述第三模型参数发送给所述W个参数收集组的节点或发送给所述W个参数收集组上一层参数分发组的节点。
其中,将第三模型参数发送给W个参数收集组的节点时,不仅可以通过广播方式进行发送,还可以通过迭代的方式进行发送,即最后完成融合的节点,将第三模型参数分别发送给W个参数收集组包括的参数收集中的一个节点,由该节点将第三模型参数依次迭代的发送给参与组间融合的其它节点。
之后,将第三模型参数发送给W个参数收集组中每个参数收集组对应的参数分发组中的节点,其中,发送方式也可以采用广播方式,或者迭代的方式。
其中,将第三模型参数发送给W个参数收集组上一层参数分发组的节点时,不仅可以通过广播方式进行发送,还可以通过迭代的方式进行发送,即最后完成融合的节点,将第三模型参数分别发送给W个参数收集组上一层参数分发组的第一节点,由该这些节点将第三模型参数依次迭代的发送给上一层参数分发组内的其它节点。所述的第一节点指负责接收W个参数收集组模型参数的节点。
之后,将第三模型参数发送给上一层参数分发组中每个低层参数分发组中的节点,其中,发送方式也可以采用广播方式,或者迭代的方式。
结合第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式中,所述将所述W个参数收集组中每个参数收集组的第二模型参数进行融合,得到第三模型参数,包括:
从所述W个参数收集组中确定一个节点作为组间融合节点;
在所述W个参数收集组中除所述组间融合节点所在的参数收集组之外的其他参数收集组中分别选择一个节点将对应的参数收集组的第二模型参数发送给所述组间融合节点,使得所述组间融合节点将所述W个参数收集组的第二模型参数进行融合,得到所述第三模型参数;
需要说明的是,该组间融合节点可以是由W个参数收集组中节点共同推荐的一个节点,也可以是最先完成迭代的节点,或者是节点编号最小的节点,本发明实施例对此不作限定。
其中,当从W个参数收集组中除所述组间融合节点所在的参数收集组之外的其他参数收集组中分别选择一个节点时,可以选择参数收集组内负责整体融合的节点。
或者,
分别从所述W个参数收集组的每个参数收集组中确定一个节点,将所述确定的节点确定为新参数收集组;
当所述新参数收集组满足组内融合条件时,将满足组内融合条件的所述W个参数收集组的第二模型参数进行融合,得到第三模型参数。
需要说明的是,将满足组内融合条件的所述W个参数收集组的第二模型参数进行融合,是指将W个参数收集组中每个参数收集组的第二模型参数都进行融合。
另外,从W个参数收集组的每个参数收集组中确定一个节点时,可以选择每个参数收集组内负责整体融合的节点,也可以选择编号最小的节点等,本发明对此不作限定。
再者,新参数收集组进行模型参数融合的方法与上述满足条件的参数收集组进行组内融合的方法类似,本发明在此不再赘述。
结合第一方面,在第一方面的第六种可能的实现方式中,向所述满足条件的参数收集组对应的参数分发组中的N个节点发送所述满足条件的参数收集组的所述第一模型参数,包括:
通过广播方式向所述满足条件的参数收集组对应的参数分发组中的节点发送所述参数收集组的第一模型参数;或者,
向所述满足条件的参数收集组对应的参数分发组中第一节点发送所述满足条件的参数收集组的所述第一模型参数,使得所述第一节点通过迭代方式依次向所述N个节点中除所述第一节点之外的其余节点发送所述满足条件的参数收集组的所述第一模型参数。
结合第一方面至第一方面的第六种可能的实现方式中的任一种可能的实现方式,在第一方面的第七种可能的实现方式中,所述方法还包括:
在满足预设条件时,将所述参数收集组和所述参数分发组中包括的节点进行重新分组。
其中,预设条件可以是经过一定的时间,或者完成一定次数的模型参数的融合,或者是完成一定次数的迭代等等,本发明实施例对此不作限定。
另外,对参数收集组和参数分发组中包括的节点进行重新分组的方法可以根据本发明第二方面提供的节点分组方法进行重新分组,本发明在此不再赘述。
第二方面,提供一种节点分组方法,应用于机器学习系统,所述机器学习系统包含至少两个节点,所述方法包括:
对所述机器学习系统内的节点进行分组,使得所述机器学习系统包括至少一个参数收集组和至少一个参数分发组,每个参数收集组对应至少一个参数分发组,至少一个所述参数收集组包含的节点与所述参数收集组对应的参数分发组包含的节点不相同。
其中,每个参数收集组对应至少一个参数分发组是指一个参数收集组可以对应一个参数分发组,或者对应多个参数分发组。
另外,参数收集组包含的节点与该参数收集组对应的参数分发组包含的节点不相同,即指至少有一个参数收集组包含的节点与所对应的参数分发组包含的节点不完全相同,可以是指参数收集组中包括至少一个节点和该参数收集组对应的参数分发组中的节点不同,也可以是指该参数收集组中包括的所有节点和该参数收集组对应的参数分发组包括的所有节点不同。
结合第二方面,在第二方面的第一种可能的实现方式中,不同参数收集组的节点个数相同或者不同;和/或,
不同参数分发组的节点个数相同或者不同;和/或,
一个参数收集组的节点个数与所述参数收集组对应的参数分发组的节点的节点个数相同或者不同。
结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述机器学习系统还可以包括参数服务器,一个参数收集组以及所述参数收集组对应的参数分发组对应同一个参数服务器,不同参数收集组以及所述参数收集组对应的参数分发组对应不同参数服务器。
结合第二方面的第二种可能的实现方式中,所述参数服务器包括Y层,且第j+1层的一个参数服务器对应第j层的至少一个参数服务器,所述参数收集组、以及所述参数收集组对应的参数分发组与第1层参数服务器对应,其中,1≤j<j+1≤Y。
结合第二方面,在第二方面的第三种可能的实现方式中,所述对所述机器学习系统内的节点进行分组,具体包括:
建立节点标识与节点编号之间的对应关系;
确定所述参数收集组的个数、以及所述参数分发组的个数;
基于所述节点标识与节点编号之间的对应关系、所述参数收集组个数和所述参数分发组个数,确定参数收集组和参数分发组;
确定所述参数收集组与所述参数分发组的对应关系。
其中,节点标识用于唯一标识该节点,比如,节点标识可以是节点的IP地址,节点的序列码等等,本发明对此不作限定。节点编号可以是随机分配给节点的序号,也可以是随机分配给节点的任一数值等,本发明同样对此不作限定。
当满足预设条件,通过节点分组方法进行重新分组时,每个节点的节点编号是可以变化的,参数收集组和参数分发组的个数也可以变化,同时参数收集组与参数分发组的对应关系也可以相应的发生变化。
结合第二方面的第三种可能的实现方式,在第二方面的第四种可能的实现方式中,所述基于所述节点标识与节点编号之间的对应关系、所述参数收集组个数和所述参数分发组个数,确定参数收集组和参数分发组,包括:
用所述节点标识对应的节点编号除以所述参数收集组的个数,得到所述节点的收集组余数;
用所述节点标识对应的节点编号除以所述参数分发组的个数,得到所述节点的分发组余数;
将所述收集组余数相同的节点确定为同一参数收集组,以及将所述分发组余数相同的节点确定为同一参数分发组。
第三方面,提供一种模型参数融合装置,所述装置应用于机器学习系统,所述机器学习系统包括至少一个参数收集组和至少一个参数分发组,每个参数收集组对应至少一个参数分发组,每个参数收集组中包含至少一个节点,每个参数分发组中包含至少一个节点,至少一个所述参数收集组包含的节点与所对应的参数分发组包含的节点不相同,所述装置包括:
第一融合单元,用于在任一参数收集组满足组内融合条件时,融合所述满足条件的参数收集组中M个节点的模型参数,得到所述满足条件的参数收集组的第一模型参数,其中,所述满足条件的参数收集组最低融合节点数s≤所述M≤所述满足条件的参数收集组包含节点的总个数;
第一发送单元,用于向所述满足条件的参数收集组对应的参数分发组中的N个节点发送所述满足条件的参数收集组的所述第一模型参数,其中,1≤所述N≤所述满足条件的参数收集组对应的参数分发组包含节点的总个数。
其中,组内融合条件可以是该参数收集组中完成当前模型参数迭代计算的节点个数达到预设数值,即最低融合节点数s。
需要说明的是,最低融合节点数s、M和N可以事先设置,且s≤M≤满足条件的参数收集组包含节点的总个数,1≤N≤满足条件的参数收集组对应的参数分发组包含节点的总个数。
结合第三方面,在第三方面的第一种可能的实现方式中,所述第一融合单元包括:
接收模块,用于接收所述满足条件的参数收集组中完成迭代的M个节点发送的所述M个节点的模型参数;
融合模块,用于根据接收的所述M个节点的模型参数进行融合,得到所述满足条件的参数收集组的第一模型参数。
其中,融合模块可以通过多种不同的融合方式将该M个节点对应的模型参数进行融合,得到第一模型参数,比如,融合模块一次性地将该M个节点对应的模型参数进行融合,得到第一模型参数;或者每个节点在完成迭代后将模型参数发送给融合模块,融合模块接收来自节点的参数并融合,经过多次接收、融合的过程,直到该M个节点都完成融合,得到第一模型参数等等,本发明实施例对此不作限定。
结合第三方面,在第三方面的第二种可能的实现方式中,所述第一融合单元包括:
获取模块,用于获取所述满足条件的参数收集组中节点的状态信息;其中,该节点状态信息可以包括节点标识和完成迭代的节点顺序。
指示模块,用于根据所述满足条件的参数收集组中节点的状态信息,指示所述满足条件的参数收集组中完成迭代的M个节点进行模型参数融合,得到所述参数收集组的所述第一模型参数。
其中,指示模块可以指示完成迭代的M个节点通过不同的组合方式进行融合,比如,可以指示该M个节点将对应的模型参数发送给其中的一个节点,由该节点进行一次融合,得到第一模型参数,或者指示模块通过下述第三方面的第三种可能的实现方式进行融合,以提高该M个节点进行融合,得到第一模型参数的效率,当然,指示模块也可以通过其他的组合方式进行融合,本发明实施例对此不作限定。
结合第三方面的第二种可能的实现方式,在第三方面的第三种可能的实现方式中,所述指示模块具体用于:
根据所述参数收集组中节点的状态信息,确定所述参数收集组中s个完成迭代的节点;
指示完成迭代的s个节点中的一个节点融合所述s个节点的模型参数;此时,该节点可以称为融合节点。
需要说明的是,该融合节点可以是最后一个完成迭代的节点,也可以是节点编号最小的节点,本发明实施例对此不作限定。
其中,当融合节点将该s个节点对应的模型参数进行融合的过程中,若有新增节点完成迭代,可以根据新增节点的个数与s大小关系可以分为两种情况:
第一种情况、新增x个节点,在所述x<所述s时,若在所述完成迭代的s个节点进行模型参数融合过程中,新增x个节点完成迭代,则指示所述新增x个节点中的一个节点融合所述新增x个节点的模型参数以及所述s个节点融合后的模型参数;
第二种情况、新增y个节点,在所述y≥所述s时,若在所述完成迭代的s个节点进行模型参数融合过程中,新增y个节点完成迭代,则指示所述新增y个节点中的一个节点融合所述y个节点的模型参数,并将所述y个节点融合后的模型参数与所述s个节点融合后的模型参数再次进行融合。
需要说明的是,在上述两种情况之后,若该M个节点中存在剩余节点没有参与融合,指示模块可以指示该剩余节点可以继续通过上述两种情况提供的方法进行模型参数的融合,以提高该M节点的模型参数进行融合的效率,当然,也可以通过其他方式进行融合,本发明实施例对此不作限定。
另外,所述新增节点中的一个节点可以是新增节点中节点编号最小的节点,也可以是最晚完成迭代的节点,本发明实施例对此不作限定。
结合第三方面至第三方面的第三种可能的实现方式中的任一种可能的实现方式,在第一方面的第四种可能的实现方式中,所述装置还包括:
第二融合单元,用于在W个参数收集组之间满足组间融合条件时,分别将所述W个参数收集组的每个参数收集组中节点的模型参数进行整体融合,获得所述W个参数收集组中每个参数收集组的第二模型参数;
其中,所述W个参数收集组由所述W个参数收集组的上一层参数收集组确定,所述W≤所述上一层参数收集组包含组数的总个数;
另外,组间融合条件可以为参数收集组的组内融合次数达到预设次数。相应的,第二融合单元,用于当W个参数收集组的组内融合次数达到预设次数时,对于W个参数收集组中的每个参数收集组,可以将该参数收集组内全部节点当前的模型参数进行整体融合,得到第二模型参数,从而获得W个参数收集组中每个参数收集组的第二模型参数。
第三融合单元,用于将所述W个参数收集组中每个参数收集组的第二模型参数进行融合,得到第三模型参数;
第二发送单元,用于将所述第三模型参数发送给所述W个参数收集组的节点或发送给所述W个参数收集组上一层参数分发组的节点。
其中,第二发送单元不仅可以通过广播方式进行发送,还可以通过迭代的方式进行发送,即第二发送单元将第三模型参数分别发送给W个参数收集组包括的每个参数收集中的一个节点,由该节点将第三模型参数依次迭代的发送给组内的其它节点。
之后,将第三模型参数发送给W个参数收集组中每个参数收集组对应的参数分发组中的节点,其中,发送方式也可以采用专用的广播方式,或者迭代的方式。
结合第三方面的第四种可能的实现方式,在第三方面的第五种可能的实现方式中,所述第三融合单元具体用于:
从所述W个参数收集组中确定一个节点作为组间融合节点;
在所述W个参数收集组中除所述组间融合节点所在的参数收集组之外的其他参数收集组中分别选择一个节点将对应的参数收集组的第二模型参数发送给所述组间融合节点,使得所述组间融合节点将所述W个参数收集组的第二模型参数进行融合,得到第三模型参数。
其中,当从W个参数收集组中选择一个节点时,可以选择参数收集组内负责整体融合的节点。
或者,
分别从所述W个参数收集组的每个参数收集组中确定一个节点,将所述确定的节点确定为新参数收集组;
当所述新参数收集组满足组内融合条件时,将满足组内融合条件的所述W个参数收集组的第二模型参数进行融合,得到第三模型参数。
需要说明的是,将满足组内融合条件的所述W个参数收集组的第二模型参数进行融合,是指将W个参数收集组中每个参数收集组的第二模型参数都进行融合。
另外,从W个参数收集组的每个参数收集组中确定一个节点时,可以选择每个参数收集组内负责整体融合的节点,也可以选择编号最小的节点等,本发明对此不作限定。
再者,新参数收集组进行模型参数融合的方法与上述满足条件的参数收集组进行组内融合的方法类似,本发明在此不再赘述。
结合第三方面,在第三方面的第六种可能的实现方式中,所述第一发送单元具体用于:
通过广播方式向所述满足条件的参数收集组对应的参数分发组中的节点发送所述参数收集组的第一模型参数;或者,
向所述满足条件的参数收集组对应的参数分发组中第一节点发送所述满足条件的参数收集组的所述第一模型参数,使得所述第一节点通过迭代方式依次向所述N个节点中除所述第一节点之外的其余节点发送所述满足条件的参数收集组的所述第一模型参数。
结合第三方面至第三方面的第六种可能的实现方式中的任一种可能的实现方式,在第三方面的第七种可能的实现方式中,所述装置还包括:
第一分组单元,用于在满足预设条件时,将所述参数收集组和所述参数分发组中包括的节点进行重新分组。
其中,预设条件可以是经过一定的时间,或者完成一定次数的模型参数的融合,或者是完成一定次数的迭代等等,本发明实施例对此不作限定。
另外,对参数收集组和参数分发组中包括的节点进行重新分组的步骤可以由本发明第四方面提供的节点分组装置进行重新分组,本发明在此不做赘述。
第四方面,提供一种节点分组装置,应用于机器学习系统,所述机器学习系统包含至少两个节点,所述装置包括:
第二分组单元,用于对所述机器学习系统内的节点进行分组,使得所述机器学习系统包括至少一个参数收集组和至少一个参数分发组,每个参数收集组对应至少一个参数分发组,至少一个所述参数收集组包含的节点与所述参数收集组对应的参数分发组包含的节点不相同。
其中,每个参数收集组对应至少一个参数分发组是指一个参数收集组可以对应一个参数分发组,或者对应多个参数分发组。
另外,参数收集组包含的节点与该参数收集组对应的参数分发组包含的节点不相同,即指至少有一个参数收集组包含的节点与所对应的参数分发组包含的节点不完全相同,可以是指参数收集组中包括至少一个节点和该参数收集组对应的参数分发组中的节点不同,也可以是指该参数收集组中包括的所有节点和该参数收集组对应的参数分发组包括的所有节点不同。
结合第四方面,在第四方面的第一种可能的实现方式中,不同参数收集组的节点个数相同或者不同;和/或,
不同参数分发组的节点个数相同或者不同;和/或,
一个参数收集组的节点个数与所述参数收集组对应的参数分发组的节点的节点个数相同或者不同。
结合第四方面的第一种可能的实现方式,在第四方面的第二种可能的实现方式中,所述机器学习系统还包括参数服务器,一个参数收集组以及对应的参数分发组对应同一个参数服务器,不同参数收集组以及对应的参数分发组对应不同参数服务器。
结合第四方面的第二种可能的实现方式,在第四方面的第三种可能的实现方式中,所述参数服务器包括Y层,且第j+1层的一个参数服务器对应第j层的至少一个参数服务器,所述参数收集组、以及所述参数收集组对应的参数分发组与第1层参数服务器对应,其中,1≤j<j+1≤Y。
结合第四方面至第四方面的第三种可能的实现方式中的任一种可能的实现方式,在第四方面的第四种可能的实现方式中,所述第二分组单元具体包括:
第一确定模块,用于确定节点标识与节点编号之间的对应关系;
第二确定模块,用于确定所述参数收集组的个数、以及所述参数分发组的个数;
第三确定模块,用于基于所述节点标识与节点编号之间的对应关系、所述参数收集组个数和所述参数分发组个数,确定参数收集组和参数分发组;
第四确定模块,用于确定所述参数收集组与所述参数分发组的对应关系。
其中,节点标识用于唯一标识该节点,比如,节点标识可以是节点的IP地址,节点的序列码等等,本发明对此不作限定。节点编号可以是随机分配给节点的序号,也可以是随机分配给节点的任一数值等,本发明同样对此不作限定。
当满足预设条件,通过节点分组方法进行重新分组时,每个节点的节点编号是可以变化的,参数收集组和参数分发组的个数也可以变化,同时参数收集组与参数分发组的对应关系也可以相应的发生变化。
结合第四方面的第四种可能的实现方式,在第四方面的第五种可能的实现方式中,所述第三确定模块具体用于:
用所述节点标识对应的节点编号除以所述参数收集组的个数,得到所述节点的收集组余数;
用所述节点标识对应的节点编号除以所述参数分发组的个数,得到所述节点的分发组余数;
将所述收集组余数相同的节点确定为同一参数收集组,以及将所述分发组余数相同的节点确定为同一参数分发组。
第五方面,提供一种模型参数融合装置,所述模型参数融合装置包括处理器和存储器,所述存储器中存储代码和数据,所述处理器可运行存储器中的代码,所述处理器用于执行上述第一方面至第一方面的第七种可能的实现方式中任一项所述的模型参数融合方法。
结合第五方面,在第五方面的第一种可能的实现方式中,所述模型参数融合装置为参数服务器,所述参数服务器独立于所述节点设置,或者配置在所述节点上。
第六方面,提供一种控制器,所述控制器包括处理器和存储器,所述存储器中存储代码和数据,所述处理器可运行存储器中的代码,所述处理器用于执行第二方面至第二方面的第五方面可能的实现方式中任一项所述的节点分组方法。
第七方面,提供一种机器学习系统,所述机器学习系统包括上述第五方面至第五方面的第一种可能的实现方式中任一项所述的模型参数融合装置、以及第六方面所述的一种控制器。
本发明实施例提供的一种模型参数融合方法及装置,通过参数收集组进行组内融合得到第一模型参数,将第一模型参数发送给参数收集组对应的参数分发组,解决了模型参数融合中对参数服务器性能要求高、数据传输量大的问题。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种机器学习系统的结构示意图;
图2为本发明实施例提供的一种模型参数融合方法的流程示意图;
图3为本发明实施例提供的一种参数服务器的的结构示意图;
图4为本发明实施例提供的一种节点分组方法的流程示意图;
图5为本发明实施例提供的一种模型参数融合装置的结构示意图;
图6为本发明实施例提供的另一种模型参数融合装置的结构示意图;
图7为本发明实施例提供的又一种模型参数融合装置的结构示意图;
图8为本发明实施例提供的一种模型参数融合装置的结构示意图;
图9为本发明实施例提供的一种控制器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本发明的实施例所应用的机器学习系统架构如图1所示,该系统架构图包括数据存储设备101、模型参数训练平台102和模型参数存储设备103。
其中,数据存储设备101可以为数据存储服务器101,该数据存储服务器101可以用来存储用于模型参数训练的原始数据,数据存储服务器101的存储容量远大于模型训练平台102中计算服务器1021的存储容量。该原始数据可以是语言数据、图像数据、以及视频数据等,且原始数据由多个数据集组成,且每个数据集又包括多个类型子集组成,每个类型子集带有用于表示类别的数据标签,同一个数据集中包括的类型子集的标签是相同的,比如,该数据集可以是包含带有人物标签的多张人物图像,也可以是包含带有动物标签的多张动物图像,或者其它类别的图像等等。
模型参数训练平台102包括用于迭代计算的计算服务器1021,也可以称为节点,具体可以为普通的计算机、移动终端、工作站或通用服务器、专用服务器等,以及用于负责计算服务器间进行数据通信的交换机1022。计算服务器1021有本地的存储,其容量小于数据存储服务器101。在模型训练时,每个计算服务器通过采样的方式从数据存储服务器101中读取一定的数据到本地的存储设备中用于模型参数训练。模型参数训练平台102通过将带有数据标签的数据集进行模型参数训练融合,可以得到最终融合输出的一个总的模型参数,通过这个总的模型参数就可以识别出新数据的数据类型。比如,用带有人物标签的图像数据集进行模型参数融合,就可以通过最终输出的模型参数识别出新图像数据中的人物图像,用带有动物标签的图像数据集进行模型参数融合,就可以通过最终输出的模型参数识别出新图像数据中的动物图像等。
模型参数存储服务器103用于存储训练得到的模型参数,当模型参数训练平台102训练融合完成时,可以将最终融合得到的模型参数发送给模型参数存储服务器103,使模型参数存储服务器103进行存储,以方便后续的使用。另外,模型参数平台102中计算服务器1021最初用于进行模型参数训练融合的模型参数也可以是从模型参数存储服务器103中获取的。
实施例二
图2为本发明实施例提供的一种模型参数融合方法,该方法应用于机器学习系统,该机器学习系统包括至少一个参数收集组和至少一个参数分发组,每个参数收集组对应至少一个参数分发组,每个参数收集组中包含至少一个节点,每个参数分发组中包含至少一个节点,至少一个参数收集组包含的节点与所对应的参数分发组包含的节点不相同,该方法包括以下几个步骤。
步骤201:用于进行模型参数融合的节点获取数据集中的数据子集。
其中,该数据集是指用于进行模型参数迭代计算的数据集,该数据集可以是语言数据、图像数据、以及视频数据等,且该数据集由多个类型子集组成,每个类型子集带有用于表示类别的数据标签,同一个数据集中包括的类型子集的标签是相同的。
另外,该数据集可以事先存储在硬盘、磁盘等存储设备上,也可以事先存储在数据存储服务器上,当节点从数据集中获取数据子集时,可以将存储设备直接与节点所在的设备进行连接来获取数据子集,或者从数据存储服务器上来获取数据等。
需要说明的是,由于进行模型参数融合的数据集远远大于实际模型参数用到的数据量,因此,当节点获取数据集中的数据子集时,节点可以从数据集中抽取一定量的数据,如果事先知道每个节点的计算能力,可以按照该节点的计算能力分配该节点获取的数据子集的数据量。
另外,至少一个参数收集组包含的节点与所对应的参数分发组包含的节点不相同,是指至少有一个参数收集组包含的节点与所对应的参数分发组包含的节点不完全相同,即指至少有一个参数收集组中包括至少一个节点和该参数收集组对应的参数分发组中的节点不同,也可以是指该参数收集组中包括的所有节点和该参数收集组对应的参数分发组包括的所有节点不同。
步骤202:各节点基于数据子集和当前的模型参数进行迭代计算。
当第一次进行模型参数迭代计算时,每个节点可以基于获取的数据子集和初始的模型参数进行迭代计算,当完成迭代计算时,每个节点可以基于数据子集和当前得到的模型参数进行下次的迭代计算。
其中,初始的模型参数是指每个节点最开始的模型参数,且每个节点初始的模型参数可以是相同的。当前得到的模型参数是指每个节点完成当前迭代计算得到的模型参数,或者当前接收到的模型参数,也即是,当前最新的模型参数。
步骤203:在任一参数收集组满足组内融合条件时,融合该满足条件的参数收集组中M个节点的模型参数,得到该满足条件的参数收集组的第一模型参数,其中,该满足条件的参数收集组最低融合节点数s≤M≤满足条件的参数收集组包含节点的总个数。
其中,组内融合条件是指该参数收集组中完成当前模型参数迭代计算的节点个数达到预设数值,即最低融合节点数s。
由于机器学习系统包括至少一个参数收集组,每个参数收集组可以包括一个或者多个节点,因此,当任一参数收集组中的节点满足当前模型参数迭代计算的节点个数达到预设数值时,可以从该参数收集组中选取已完成当前模型参数计算的M个节点,并将该M个节点计算得到的模型参数进行融合,得到第一模型参数。
需要说明的是,最低融合节点数s和M可以事先设置,且s≤M≤参数收集组包含节点的总个数。
另外,机器学习系统包括的参数收集组的个数,每个参数收集组包括的节点个数、以及与每参数收集组对应的参数分发组的个数、每个参数分发组包括的节点个数可以事先确定,也可以在每个节点获取数据子集之后进行确定,也即是在步骤201之后确定,本发明实施例对此不作限定。
进一步,融合该参数收集组中M个节点的模型参数,得到该参数收集组融合后的第一模型参数可以根据执行主体的不同分为两种不同的方法,如下所述。
第一种方法、接收该满足条件的参数收集组中完成迭代的M个节点发送的M个节点模型参数;根据接收的M个节点的模型参数进行融合,得到该满足条件的参数收集组的第一模型参数。
其中,该方法可以由独立于参数收集组之外的设备完成,例如,参数服务器,该参数服务器可以是由固定节点来担当。具体地,该参数收集组中完成迭代的M个节点分别将当前迭代计算得到的模型参数发送给参数服务器,当该参数服务器接收到该M个节点发送的模型参数时,该参数服务器可以通过多种不同的融合方式将该M个节点对应的模型参数进行融合,得到第一模型参数。
比如,多种不同的融合方式可以为:参数服务器一次性地将该M个节点对应的模型参数进行融合,得到第一模型参数;或者,每个节点在完成迭代后将参数发送给参数服务器,参数服务器接收来自节点的模型参数并进行融合,经过多次接收、融合的过程,直到该M个节点都完成融合,得到第一模型参数等等,本发明实施例对此不作限定。
第二种方法、获取该满足条件的参数收集组中节点的状态信息,该节点状态信息可以包括节点标识和完成迭代的节点顺序;根据满足条件的参数收集组中节点的状态信息,指示该满足条件的参数收集组中完成迭代的M个节点进行模型参数融合,得到该参数收集组的第一模型参数。
其中,该方法可以由参数收集组内的一个节点完成,该节点可以称为控制节点,该控制节点可以事先进行指定,也可以由参数收集组内的节点临时推荐确定。该控制节点可以统计参数收集组中节点的状态信息,并指示其他节点进行模型参数的传递和融合。
当该控制节点根据该参数收集组中节点的状态信息,指示完成迭代的M个节点进行融合时,控制节点可以指示完成迭代的M个节点通过不同的组合方式进行融合,比如,控制节点可以指示该M个节点将对应的模型参数发送给其中的一个节点,由该节点进行一次融合,得到第一模型参数,或者控制节点通过下述的实现方式进行融合,以提高该M个节点进行融合,得到第一模型参数的效率,当然,控制节点也可以通过其他的组合方式进行融合,本发明实施例对此不作限定。
可选地,当该控制节点根据该参数收集组中节点的状态信息,指示完成迭代的M个节点进行融合时,该控制节点可以根据该参数收集组中节点的状态信息,确定该参数收集组中s个完成迭代的节点,再指示完成迭代的s个节点中的一个节点融合s个节点的模型参数。
具体地,控制节点在确定参数收集组中完成迭代的s个节点之后,指示将该s个节点中的一个节点作为融合节点,其余的节点分别将当前迭代得到的模型参数发送给该融合节点,由该融合节点将该s个节点对应的模型参数进行融合。
需要说明的是,该融合节点可以是最后一个完成迭代的节点,也可以是节点编号最小的节点,本发明实施例对此不作限定。
其中,当融合节点将该s个节点对应的模型参数进行融合的过程中,若有新增节点完成迭代,可以根据新增节点的个数与s大小关系可以分为两种情况:
第一种情况、新增x个节点,在x<s时,若在完成迭代的s个节点进行模型参数融合过程中,新增x个节点完成迭代,则指示新增x个节点中的一个节点融合新增x个节点的模型参数以及s个节点融合后的模型参数。
第二种情况、新增y个节点,在y≥s时,若在完成迭代的s个节点进行模型参数融合过程中,新增y个节点完成迭代,则指示新增y个节点中的一个节点融合y个节点的模型参数,并将y个节点融合后的模型参数与s个节点融合后的模型参数再次进行融合。
需要说明的是,在上述两种情况之后,若该M个节点中存在剩余节点没有参与融合,该剩余节点可以继续通过上述两种情况提供的方法进行模型参数的融合,以提高该M节点的模型参数进行融合的效率,当然,也可以通过其他方式进行融合,本发明实施例对此不作限定。
另外,所述新增节点中的一个节点可以是新增节点中节点编号最小的节点,也可以是最晚完成迭代的节点,本发明实施例对此不作限定。
进一步,当满足组内融合条件完成M个节点的融合时,若不满足组内分发条件,则参数收集组基于融合得到的第一模型参数进行新一轮的迭代计算,即返回执行步骤202,并且每完成一次M个节点的融合,对第一模型参数进一次更新,当满足组内分发条件时,则执行步骤204。
其中,组内分发条件可以是组内融合次数达到预设次数,或者经过预设时长等,本发明实施例对此不作限定。
步骤204:向该满足条件的参数收集组对应的参数分发组中的N个节点发送该满足条件的参数收集组的第一模型参数,其中,1≤N≤满足条件的参数收集组对应的参数分发组包含节点的总个数。
由于参数收集组与参数分发组是对应的,也即是,一个参数收集组可以对应一个或者多个参数分发组,因此,当满足组内分发条件时,可以基于参数收集组与参数分发组的对应关系,将第一模型参数发送给对应的参数分发组中的节点,可以是该参数分发组中的全部节点,也可以是部分节点。
其中,将第一模型参数发送给对应的参数分发组中的节点时,可以通过广播方式向该满足条件的参数收集组对应的参数分发组中的节点发送满足条件的参数收集组的第一模型参数;或者,通过迭代的方式向该满足条件的参数收集组对应的参数分发组中的节点发送满足条件的参数收集组的第一模型参数,也即是,向该满足条件的参数收集组对应的参数分发组中第一节点发送该满足条件的参数收集组的第一模型参数,使得第一节点通过迭代方式依次向N个节点中除第一节点之外的其余节点发送该满足条件的参数收集组的第一模型参数,如第一节点将第一模型参数发送给第二节点,第二节点再发给第三节点,依次迭代发送,直到将第一模型参数发送给N个节点中除第一节点之外的其余所有节点。
需要说明的是,第一节点可以是该参数收集组中最晚完成迭代的节点的任一个节点,也可以是该参数分发组中的节点共同推荐的一个节点,本发明实施例对此不作限定。
另外,步骤204可以由独立于参数收集组之外的设备通过上述方式完成,比如参数服务器,也可以由参数收集组内的一个节点通过上述方式完成,比如,控制节点,本发明实施例对此不作限定。
当该机器学习系统包括参数服务器时,一个参数收集组以及该参数收集组对应的参数分发组对应同一个参数服务器,不同参数收集组以及对应的参数分发组对应不同参数服务器。
进一步,该参数服务器包括Y层,且第j+1层的一个参数服务器对应第j层的至少一个参数服务器,参数收集组、以及参数收集组所对应的参数分发组与第1层参数服务器对应,其中,1≤j<j+1≤Y。
步骤205:在W个参数收集组之间满足组间融合条件时,分别将W个参数收集组的每个参数收集组中节点的模型参数进行整体融合,获得W个参数收集组中每个参数收集组的第二模型参数。
其中,W个参数收集组由W个参数收集组的上一层参数收集组确定,W≤上一层参数收集组包含组数的总个数。
另外,组间融合条件可以为参数收集组的组内融合次数达到预设次数,或者经过一定的时间等,本发明实施例对此不作限定。
相应的,若组间融合条件为参数收集组的组内融合次数达到预设次数,当W个参数收集组的组内融合次数达到预设次数时,对于W个参数收集组中的每个参数收集组,该参数收集组可以将组内全部节点当前的模型参数进行整体融合,得到第二模型参数,从而获得W个参数收集组中每个参数收集组的第二模型参数。
由于上述步骤203可以由独立于参数收集组之外的设备完成,也可以由参数收集组内的一个节点完成,相应的,当步骤203的执行主体不同时,步骤205也会存在一定的不同,具体如下所述。
当执行主体为独立于参数收集组之外的设备时,比如参数服务器,由参数服务器确定W个参数收集组之间是否满足组间融合条件,同时在满足组间融合条件之后,将W个参数收集组的每个参数收集组中节点的模型参数进行整体融合。
当执行主体为参数收集组内的一个节点时,比如,控制节点,由控制节点确定W个参数收集组之间是否满足组间融合条件,在满足组间融合条件时,由参数收集组中的一个节点接收其它节点发送的模型参数,并将接收到的其他节点的模型参数进行整体融合,此时,该节点可以称为融合节点。
比如,在控制节点确定W个参数收集组之间满足组间融合条件时,每个参数收集组的全部节点可以将当前的模型参数发送给组内的一个节点,由该节点将全部节点的当前模型参数进行整体融合,得到第二模型参数,当然,也可以通过其它的方式进行整体融合,本发明实施例对此不作限定。
进一步,当W个参数收集组之间不满足组间融合条件时,则返回步骤202继续执行,否则执行步骤206。
步骤206:将W个参数收集组中每个参数收集组的第二模型参数进行融合,得到第三模型参数,以及将第三模型参数发送给W个参数收集组的节点或发送给W个参数收集组上一层参数分发组的节点。
其中,将W个参数收集组的第二模型参数进行融合,得到第三模型参数可以根据步骤203执行主体的不同具体阐述。
当执行主体为独立于参数收集组之外的设备时,比如参数服务器,由参数服务器直接将W个参数收集组的第二模型参数进行融合,得到第三模型参数。
相应的,将第三模型参数发送给W个参数收集组的节点或发送给所述W个参数收集组上一层参数分发组的节点时,参数服务器可以通过广播方式直接发送给参数融合的W个参数收集组的节点或由最后进行融合的节点或发送给W个参数收集组上一层参数分发组的节点。
进一步,该参数服务器还可以包括多层,且上层的一个参数服务器对应下层的至少一个参数服务器,参数收集组、以及该参数收集组对应的参数分发组与最低层的参数服务器对应,由下层服务器将各参数收集组的融合次数、节点标识和当前的模型参数发送给上层参数服务器,由上层参数服务器确定是否满足组间融合,在满足组间融合之后由上层参数服务器进行融合,之后,将融合得到的模型参数发送给下层参数服务器,最后,由最底层的参数服务器发送给W个参数收集组的节点。
当执行主体为参数收集组内的一个节点时,比如控制节点,由参与融合的W个参数收集组中的节点从W个参数收集组中确定一个节点作为组间融合节点;W个参数收集组中除组间融合节点所在的参数收集组之外的其它参数收集组,分别选择一个节点将对应的参数收集组的第二模型参数发送给组间融合节点,使得组间融合节点将W个参数收集组的第二模型参数进行融合,得到第三模型参数。
需要说明的是,该组间融合节点可以是由W个参数收集组中节点共同推荐的一个节点,也可以是最先完成迭代的节点,或者是节点编号最小的节点,本发明实施例对此不作限定。
另外,当从W个参数收集组中除所述组间融合节点所在的参数收集组之外的其他参数收集组中分别选择一个节点时,可以选择参数收集组内负责整体融合的节点。
或者,
分别从W个参数收集组的每个参数收集组中确定一个节点,将所述确定的节点确定为新参数收集组;
当新参数收集组满足组内融合条件时,将满足组内融合条件的W个参数收集组的第二模型参数进行融合,得到第三模型参数。
需要说明的是,将满足组内融合条件的所述W个参数收集组的第二模型参数进行融合,是指将W个参数收集组中每个参数收集组的第二模型参数都进行融合。
另外,从W个参数收集组的每个参数收集组中确定一个节点时,可以选择每个参数收集组内负责整体融合的节点,也可以选择编号最小的节点等,本发明对此不作限定。
再者,新参数收集组进行模型参数融合的方法与上述满足条件的参数收集组进行组内融合的方法类似,本发明在此不再赘述。
比如,从W个参数收集组的每个参数收集组中分别选择出负责组内整体融合的节点,得到W个节点,将该W个节点确定为新参数收集组,当该新参数收集组中的节点满足组内融合条件时,将W个节点对应的W个第二模型参数按照组内融合方式进行融合,比如,当该组内融合条件为完成整体融合的节点个达到预设个数时,若该新参数收集组中完成整体融合的节点个数达到预设个数时,可以将完成整体融合的这部分节点进行融合,之后再与完成组内融合的其它节点进行融合等,当然,也可以将W个节点对应的W个第二模型参数一次性进行融合,本发明实施例对此不作限定。
相应的,将第三模型参数发送给W个参数收集组的节点时,组间融合节点不仅可以通过广播方式进行发送,还可以通过迭代的方式进行发送,即组间融合节点将第三模型参数分别发送给W个参数收集组包括的参数收集中的一个节点,由该节点将第三模型参数依次迭代的发送给参与组间融合的其它节点。
将第三模型参数发送给W个参数收集组的节点之后,参数服务器或者每个参数收集组可以再将第三模型参数发送给W个参数收集组中每个参数收集组对应的参数分发组中的节点,其中,发送方式也可以采用广播方式,或者迭代的方式。
相应的,将第三模型参数发送给W个参数收集组上一层参数分发组的节点,不仅可以通过广播方式进行发送,还可以通过迭代的方式进行发送,即最后完成融合的节点,将第三模型参数分别发送给上一层参数分发组的第一节点,由该节点将第三模型参数依次迭代的发送给上一层参数分发组内的其它节点,第一节点指负责接收上一层模型参数的节点。
之后,将第三模型参数发送给上一层参数分发组中每个低层参数分发组中的节点,其中,发送方式也可以采用广播方式,或者迭代的方式。
步骤207:在满足预设条件时,将参数收集组和参数分发组中包括的节点进行重新分组。
其中,预设条件可以是经过一定的时间,或者完成一定次数的模型参数的融合,或者是完成一定次数的迭代计算等等,本发明实施例对此不作限定。
另外,当执行主体为独立于参数收集组之外的设备时,比如参数服务器,在满足预设条件时,由参数服务器直接将参数收集组和参数分发组中包括的节点进行重新分组;当执行主体为参数收集组内的一个节点时,比如控制节点,由控制节点将参数收集组和参数分发组中包括的节点进行重新分组。
可选的,将参数收集组和参数分发组中包括的节点进行重新分组,包括:基于预设的节点标识与节点编号之间的对应关系,以及参数收集组个数和参数分发组个数,用节点标识对应的节点编号除以所述参数收集组的个数,得到所述节点的收集组余数;
用所述节点标识对应的节点编号除以所述参数分发组的个数,得到所述节点的分发组余数;
将所述收集组余数相同的节点确定为同一参数收集组,以及将所述分发组余数相同的节点确定为同一参数分发组。
具体的,对参数收集组和参数分发组中包括的节点进行重新分组的方法可以根据下述实施例提供的节点分组方法进行重新分组,本发明实施例在此不再赘述。
当重新分组之后,可以返回步骤202基于数据子集和当前的模型参数继续进行迭代计算,直到输出最终的模型参数。
进一步,在步骤202-207的执行过程中,当有新增加的节点时,若执行主体为参数服务器,由参数服务器为新增加的节点分配最底层的参数服务器的IP地址,由最底层参数服务器为新增加的节点发送模型参数,新增节点从存储服务器获取数据子集,新增加的节点基于接收的模型参数和数据子集进行迭代计算。
若执行主体为控制节点,由控制节点为新增加的节点分配一个之前参与迭代计算的其他节点的IP地址,由该节点为新增节点发送模型参数,新增节点从存储服务器获取数据子集,新增加的节点基于接收的模型参数和数据子集进行迭代计算。
本发明实施例提供的一种模型参数融合方法,通过参数收集组进行组内融合得到第一模型参数,将第一模型参数发送给参数收集组对应的参数分发组,之后,将W个参数收集组中每个参数收集组的第一模型参数进行整体融合,得到第二模型参数,再将W个参数收集组进行组间融合,得到第三模型参数,并且在满足预设条件时进行节点的重新分组,解决了模型参数融合中对参数服务器性能要求高、数据传输量大和动态调整计算资源的问题。
实施例三
本发明实施例提供一种节点分组方法,应用于机器学习系统,该机器学习系统包含至少两个节点,该方法包括:
对所述机器学习系统内的节点进行分组,使得所述机器学习系统包括至少一个参数收集组和至少一个参数分发组,每个参数收集组对应至少一个参数分发组,至少一个所述参数收集组包含的节点与所述参数收集组对应的参数分发组包含的节点不相同。
其中,每个参数收集组对应至少一个参数分发组是指一个参数收集组可以对应一个参数分发组,或者对应多个参数分发组。
另外,至少一个参数收集组包含的节点与该参数收集组对应的参数分发组包含的节点不相同,即指至少有一个参数收集组包含的节点与所对应的参数分发组包含的节点不完全相同,可以是指有一个参数收集组中包括至少一个节点和该参数收集组对应的参数分发组中的节点不同,也可以是参数收集组中包括的所有节点和该参数收集组对应的参数分发组包括的所有节点不同。
可选的,不同参数收集组的节点个数相同或者不同;和/或,
不同参数分发组的节点个数相同或者不同;和/或,
一个参数收集组的节点个数与所述参数收集组对应的参数分发组的节点的节点个数相同或者不同。
可选的,所述机器学习系统还可以包括参数服务器,一个参数收集组以及所述参数收集组对应的参数分发组对应同一个参数服务器,不同参数收集组以及所述参数收集组对应的参数分发组对应不同参数服务器。
可选的,参数服务器包括Y层,且第j+1层的一个参数服务器对应第j层的至少一个参数服务器,所述参数收集组、以及所述参数收集组对应的参数分发组与第1层参数服务器对应,其中,1≤j<j+1≤Y。
比如,如图3所示为Y等于2时的一种参数服务器的结构示意图,如图3所示,参数服务器1对应参数服务器2和参数服务器3,由节点1、节点2、节点3、节点4和节点5组成的参数收集组,以及与参数收集组对应的参数分发组与第1层的参数服务器1和2对应。
可选的,如图4所示,对所述机器学习系统内的节点进行分组,具体包括以下步骤。
步骤301:建立节点标识与节点编号之间的对应关系。
其中,节点标识用于唯一标识该节点,比如,节点标识可以是节点的IP地址,节点的序列码等等,本发明对此不作限定。节点编号可以是随机分配给节点的序号,也可以是随机分配给节点的任一数值等,本发明同样对此不作限定。
比如,有6个节点参与模型参数融合的计算,且节点标识为节点的IP地址,每个节点的IP地址如下表1所示,建立如下表1所示的节点标识与节点编号之间的对应关系。
节点标识 | 节点编号 |
192.168.1.1 | 2 |
192.168.1.2 | 0 |
192.168.1.3 | 3 |
192.168.1.4 | 1 |
192.168.1.4 | 5 |
192.168.1.4 | 4 |
步骤302:确定所述参数收集组的个数、以及所述参数分发组的个数。
比如,参数收集组的个数为2,参数分发组的个数为3。
步骤303:基于所述节点标识与节点编号之间的对应关系、所述参数收集组个数和所述参数分发组个数,确定参数收集组和参数分发组。
具体的,基于节点标识与节点编号之间的对应关系、参数收集组个数和参数分发组个数,确定参数收集组和参数分发组,可以包括:用节点标识对应的节点编号除以所述参数收集组的个数,得到节点的收集组余数;所述节点标识对应的节点编号除以所述参数分发组的个数,得到所述节点的分发组余数;将所述收集组余数相同的节点确定为同一参数收集组,以及将所述分发组余数相同的节点确定为同一参数分发组。
比如,将上述表1所示的每个节点除以参数收集组的个数2,得到节点的收集组余数分别为:节点编号2、0、4的收集组余数为0,节点编号3、1、5的收集组余数为1;将上述表1所示的每个节点除以参数分发组的个数3,得到节点的收集组余数分别为:节点编号0、3的分发组余数为0,节点编号为1、4的分发组余数为1,节点编号为2、5的分发组余数为2;将收集组余数为0的节点确定为参数收集组0,收集组余数为1的节点确定为参数收集组1,同理,得到参数分发组0、参数分发组1和参数分发组2。
步骤304:确定所述参数收集组与所述参数分发组的对应关系。
在确定参数收集组和参数分发组之后,可以基于确定的参数收集组和参数分发组确定二者的对应关系。比如,确定参数收集组0与参数分发组1、参数分发组2对应,参数收集组1与参数分发组0对应。
需要说明的是,通过本发明实施例提供的节点分组方法在每一次进行节点分组时,每个节点的节点编号是可以变化的,参数收集组和参数分发组的个数也可以变化,同时参数收集组与参数分发组的对应关系也可以相应的发生变化。
本发明实施例提供一种节点分组方法,通过对机器学习系统内的节点进行分组,使得所述机器学习系统包括至少一个参数收集组和至少一个参数分发组,每个参数收集组对应至少一个参数分发组,至少一个所述参数收集组包含的节点与所述参数收集组对应的参数分发组包含的节点不相同,从而解决了模型参数融合中对参数服务器性能要求高和动态调整计算资源的问题。
实施例四
图5为本发明实施例提供一种模型参数融合装置,该装置应用于机器学习系统,所述机器学习系统包括至少一个参数收集组和至少一个参数分发组,每个参数收集组对应至少一个参数分发组,每个参数收集组中包含至少一个节点,每个参数分发组中包含至少一个节点,至少一个所述参数收集组包含的节点与所对应的参数分发组包含的节点不相同,该装置包括:
第一融合单元401,用于在任一参数收集组满足组内融合条件时,融合所述满足条件的参数收集组中M个节点的模型参数,得到所述满足条件的参数收集组的第一模型参数,其中,所述满足条件的参数收集组最低融合节点数s≤所述M≤所述满足条件的参数收集组包含节点的总个数;
第一发送单元402,用于向所述满足条件的参数收集组对应的参数分发组中的N个节点发送所述满足条件的参数收集组的所述第一模型参数,其中,1≤所述N≤所述满足条件的参数收集组对应的参数分发组包含节点的总个数。
其中,组内融合条件可以是该参数收集组中完成当前模型参数迭代计算的节点个数达到预设数值,即最低融合节点数s。
具体地,当任一参数收集组完成当前模型参数迭代计算的节点个数达到最低融合节点数s时,第一融合单元从该参数收集组中选取已完成当前模型参数计算的M个节点,并将该M个节点计算得到的模型参数进行融合,得到第一模型参数。之后,当满足组内分发条件时,第一发送单元基于参数收集组与参数分发组的对应关系,将第一模型参数发送给对应的参数分发组中的全部节点,或者部分节点。
需要说明的是,最低融合节点数s、M和N可以事先设置,且s≤M≤参数收集组包含节点的总个数,1≤N≤参数收集组对应的参数分发组包含节点的总个数。
另外,机器学习系统包括的参数收集组的个数,每个参数收集组包括的节点个数、以及与每参数收集组对应的参数分发组的个数、每个参数分发组包括的节点个数可以事先确定。
再者,至少一个参数收集组包含的节点与所对应的参数分发组包含的节点不相同,即指至少有一个参数收集组包含的节点与所对应的参数分发组包含的节点不完全相同,可以是参数收集组中包括至少一个节点和该参数收集组对应的参数分发组中的节点不同,也可以是该参数收集组中包括的所有节点和该参数收集组对应的参数分发组包括的所有节点不同。
进一步,将第一模型参数发送给参数收集组对应的参数分发组时,也可以将参与第一模型参数融合的地址信息发送给参数分发组中的节点,该地址信息可以是节点的IP地址或者节点编号等等,本发明对此不作限定。
可选的,第一融合单元401包括:
接收模块,用于接收所述满足条件的参数收集组中完成迭代的M个节点发送的M个节点的模型参数;
融合模块,用于根据接收的M个节点的模型参数进行融合,得到该M个节点参数收集组的第一模型参数。
其中,融合模块可以通过多种不同的融合方式将该M个节点对应的模型参数进行融合,得到第一模型参数,比如,融合模块一次性地将该M个节点对应的模型参数进行融合,得到第一模型参数;或者每个节点在完成迭代后将模型参数发送给融合模块,融合模块接收来自节点的参数并融合,经过多次接收、融合的过程,直到该M个节点都完成融合,得到第一模型参数等等,本发明实施例对此不作限定。
可选的,第一融合单元401包括:
获取模块,用于获取所述满足条件的参数收集组中节点的状态信息;其中,该节点状态信息可以包括节点标识和完成迭代的节点顺序。
指示模块,用于根据所述满足条件的参数收集组中节点的状态信息,指示所述满足条件的参数收集组中完成迭代的M个节点进行模型参数融合,得到所述满足条件的参数收集组的所述第一模型参数。
其中,指示模块可以指示完成迭代的M个节点通过不同的组合方式进行融合,比如,可以指示该M个节点将对应的模型参数发送给其中的一个节点,由该节点进行一次融合,得到第一模型参数,或者指示模块通过下述可选的具体方式指示进行融合,以提高该M个节点进行融合,得到第一模型参数的效率,当然,指示模块也可以通过其他的组合方式指示进行融合,本发明实施例对此不作限定。
可选的,指示模块具体用于:
根据所述满足条件的参数收集组中节点的状态信息,确定所述满足条件的参数收集组中s个完成迭代的节点;
指示完成迭代的s个节点中的一个节点融合所述s个节点的模型参数;此时,该节点可以称为融合节点。
也即是,在确定参数收集组中完成迭代的s个节点之后,指示模块将该s个节点中的一个节点作为融合节点,其余的节点分别将当前迭代得到的模型参数发送给该融合节点,由该融合节点将该s个节点对应的模型参数进行融合。
需要说明的是,该融合节点可以是最后一个完成迭代的节点,也可以是节点编号最小的节点,本发明实施例对此不作限定。
其中,当融合节点将该s个节点对应的模型参数进行融合的过程中,若有新增节点完成迭代,可以根据新增节点的个数与所述s大小关系可以分为两种情况:
第一种情况、新增x个节点,在所述x<所述s时,若在所述完成迭代的s个节点进行模型参数融合过程中,新增x个节点完成迭代,则指示所述新增x个节点中的一个节点融合所述新增x个节点的模型参数以及所述s个节点融合后的模型参数;
第二种情况、新增y个节点,在所述y≥所述s时,若在所述完成迭代的s个节点进行模型参数融合过程中,新增y个节点完成迭代,则指示所述新增y个节点中的一个节点融合所述y个节点的模型参数,并将所述y个节点融合后的模型参数与所述s个节点融合后的模型参数再次进行融合。
需要说明的是,在上述两种情况之后,若该M个节点中存在剩余节点没有参与融合,指示模块可以指示该剩余节点可以继续通过上述两种情况提供的方法进行模型参数的融合,以提高该M节点的模型参数进行融合的效率,当然,也可以通过其他方式进行融合,本发明实施例对此不作限定。
另外,所述新增节点中的一个节点可以是新增节点中节点编号最小的节点,也可以是最晚完成迭代的节点,本发明实施例对此不作限定。
可选的,如图6所示,该装置还包括:
第二融合单元403,用于在W个参数收集组之间满足组间融合条件时,分别将所述W个参数收集组的每个参数收集组中节点的模型参数进行整体融合,获得所述W个参数收集组中每个参数收集组的第二模型参数;
其中,W个参数收集组由W个参数收集组的上一层参数收集组确定,W≤上一层参数收集组包含组数的总个数。
其中,组间融合条件可以为参数收集组的组内融合次数达到预设次数。相应的,当W个参数收集组的组内融合次数达到预设次数时,W个参数收集组中的每个参数收集组可以将当前的模型参数发送给第二融合单元,由第二融合单元将该参数收集组内全部节点当前的模型参数进行整体融合,得到第二模型参数,从而获得W个参数收集组中每个参数收集组的第二模型参数。
第三融合单元404,用于将所述W个参数收集组中每个参数收集组的第二模型参数进行融合,得到第三模型参数;
第二发送单元405,用于将所述第三模型参数发送给所述W个参数收集组的节点或发送给所述W个参数收集组上一层参数分发组的节点。
其中,第二发送单元405不仅可以通过广播方式进行发送,还可以通过迭代的方式进行发送,即第二发送单元将第三模型参数分别发送给W个参数收集组包括的每个参数收集中的一个节点,由该节点将第三模型参数依次迭代的发送给组内的其它节点。
之后,第二发送单元还可以将第三模型参数发送给W个参数收集组中每个参数收集组对应的参数分发组中的节点,其中,发送方式可以采用广播方式,或者迭代的方式。
可选的,第三融合单元404具体用于:
从所述W个参数收集组中确定一个节点作为组间融合节点;
在所述W个参数收集组中除所述组间融合节点所在的参数收集组之外的其他参数收集组中分别选择一个节点将对应的参数收集组的第二模型参数发送给所述组间融合节点,使得所述组间融合节点将所述W个参数收集组的第二模型参数进行融合,得到所述第三模型参数。
其中,该组间融合节点可以是由W个参数收集组中节点共同推荐的一个节点,也可以是最先完成迭代的节点,或者是节点编号最小的节点,本发明实施例对此不作限定。
另外,当从W个参数收集组中除所述组间融合节点所在的参数收集组之外的其他参数收集组中分别选择一个节点时,可以选择参数收集组内负责整体融合的节点,当然,在实际应用中,第三融合单元也可以选择其他参数收集组中的其他节点,本发明实施例对此不作限定。
或者,
分别从W个参数收集组的每个参数收集组中确定一个节点,将所述确定的节点确定为新参数收集组;
当新参数收集组满足组内融合条件时,将满足组内融合条件的W个参数收集组的第二模型参数进行融合,得到第三模型参数。
需要说明的是,将满足组内融合条件的所述W个参数收集组的第二模型参数进行融合,是指将W个参数收集组中每个参数收集组的第二模型参数都进行融合。
另外,从W个参数收集组的每个参数收集组中确定一个节点时,可以选择每个参数收集组内负责整体融合的节点,也可以选择编号最小的节点等,本发明对此不作限定。
再者,新参数收集组进行模型参数融合的方法与上述满足条件的参数收集组进行组内融合的方法类似,本发明在此不再赘述。
比如,从W个参数收集组的每个参数收集组中分别选择出负责组内整体融合的节点,得到W个节点,将该W个节点确定为新参数收集组,当该新参数收集组中的节点满足组内融合条件时,将W个节点对应的W个第二模型参数按照组内融合方式进行融合,比如,当该组内融合条件为完成整体融合的节点个达到预设个数时,若该新参数收集组中完成整体融合的节点个数达到预设个数时,可以将完成整体融合的这部分节点进行融合,之后再与完成组内融合的其它节点进行融合等,当然,也可以将W个节点对应的W个第二模型参数一次性进行融合,本发明实施例对此不作限定。
可选的,第一发送单元402具体用于:
通过广播方式向所述满足条件的参数收集组对应的参数分发组中的节点发送所述满足条件的参数收集组的第一模型参数;或者,
向所述满足条件的参数收集组对应的参数分发组中第一节点发送所述满足条件的参数收集组的所述第一模型参数,使得所述第一节点通过迭代方式依次向所述N个节点中除所述第一节点之外的其余节点发送所述除所述第一节点之外的参数收集组的所述第一模型参数。
在将第三模型参数发送给W个参数收集组的节点之后,可以再将第三模型参数发送给W个参数收集组中每个参数收集组对应的参数分发组中的节点或由最后进行融合的节点发送给W个参数收集上一层的参数分发组的节点。
可选的,如图7所示,该装置还包括:
第一分组单元406,用于在满足预设条件时,将所述参数收集组和所述参数分发组中包括的节点进行重新分组。
其中,预设条件可以是经过一定的时间,或者完成一定次数的模型参数的融合,或者是完成一定次数的迭代等等,本发明实施例对此不作限定。
另外,对参数收集组和参数分发组中包括的节点进行重新分组的步骤可以由本发明第四方面提供的节点分组装置进行重新分组,本发明在此不做赘述。
可选的,当该机器学习系统还包括参数服务器,一个参数收集组以及该参数收集组对应的参数分发组对应同一个参数服务器,不同参数收集组以及对应的参数分发组对应不同参数服务器。
进一步,该参数服务器包括Y层,且第j+1层的一个参数服务器对应第j层的至少一个参数服务器,参数收集组、以及参数收集组所对应的参数分发组与第1层参数服务器对应,其中,1≤j<j+1≤Y。
可选的,第一分组单元,用于基于预设的节点标识与节点编号之间的对应关系,以及参数收集组个数和参数分发组个数,用节点标识对应的节点编号除以所述参数收集组的个数,得到所述节点的收集组余数;
用所述节点标识对应的节点编号除以所述参数分发组的个数,得到所述节点的分发组余数;
将所述收集组余数相同的节点确定为同一参数收集组,以及将所述分发组余数相同的节点确定为同一参数分发组。
具体的,对参数收集组和参数分发组中包括的节点进行重新分组还可以通过下述实施例五提供的节点分组装置进行重新分组,本发明实施例在此不再赘述。
本发明实施例提供的一种模型参数融合装置,通过参数收集组进行组内融合得到第一模型参数,将第一模型参数发送给参数收集组对应的参数分发组,之后,将W个参数收集组中每个参数收集组的第一模型参数进行整体融合,得到第二模型参数,再将W个参数收集组进行组间融合,得到第三模型参数,并且在满足预设条件时进行节点的重新分组,解决了模型参数融合中对参数服务器性能要求高、数据传输量大和动态调整计算资源的问题。
实施例五
本发明实施例提供一种节点分组装置,应用于机器学习系统,机器学习系统包含至少两个节点,该装置包括:
第二分组单元,用于对所述机器学习系统内的节点进行分组,使得所述机器学习系统包括至少一个参数收集组和至少一个参数分发组,每个参数收集组对应至少一个参数分发组,至少一个所述参数收集组包含的节点与所述参数收集组对应的参数分发组包含的节点不相同。
其中,每个参数收集组对应至少一个参数分发组是指一个参数收集组可以对应一个参数分发组,或者对应多个参数分发组。
另外,至少一个参数收集组包含的节点与该参数收集组对应的参数分发组包含的节点不相同,即指至少有一个参数收集组包含的节点与所对应的参数分发组包含的节点不完全相同,可以是指有一个参数收集组中包括至少一个节点和该参数收集组对应的参数分发组中的节点不同,也可以是指该参数收集组中包括的所有节点和该参数收集组对应的参数分发组包括的所有节点不同。
可选的,不同参数收集组的节点个数相同或者不同;和/或,
不同参数分发组的节点个数相同或者不同;和/或,
一个参数收集组的节点个数与所述参数收集组对应的参数分发组的节点的节点个数相同或者不同。
可选的,机器学习系统还包括参数服务器,一个参数收集组以及该参数收集组对应的参数分发组对应同一个参数服务器,不同参数收集组以及对应的参数分发组对应不同参数服务器。
可选的,参数服务器包括Y层,且第j+1层的一个参数服务器对应第j层的至少一个参数服务器,所述参数收集组、以及所述参数收集组对应的参数分发组与第1层参数服务器对应,其中,1≤j<j+1≤Y。
进一步,当参数服务器包括Y层时,可以确定每层参数服务器的个数,以及下层参数服务器与上层参数服务器之间的对应关系。
其中,下层参数服务器与上层参数服务器之间的对应关系可以事先设置,也可以在节点分组过程中进行确定,比如,可以通过下述确定参数收集组或者参数分发组的方法来确定下层参数服务器与上层参数服务器之间的对应关系,具体方法可以参考下述确定参数收集组或者参数分发组的方法,本发明实施例在此不再赘述。
可选的,第二分组单元具体包括:
第一确定模块,用于确定节点标识与节点编号之间的对应关系;
第二确定模块,用于确定所述参数收集组的个数、以及所述参数分发组的个数;
第三确定模块,用于基于所述节点标识与节点编号之间的对应关系、所述参数收集组个数和所述参数分发组个数,确定参数收集组和参数分发组;
第四确定模块,用于确定所述参数收集组与所述参数分发组的对应关系。
其中,节点标识用于唯一标识该节点,比如,节点标识可以是节点的IP地址,节点的序列码等等,本发明对此不作限定。节点编号可以是随机分配给节点的序号,也可以是随机分配给节点的任一数值等,本发明同样对此不作限定。
当满足预设条件,通过本发明实施例提供的节点分组方法进行重新分组时,每个节点的节点编号是可以变化的,参数收集组和参数分发组的个数也可以变化,同时参数收集组与参数分发组的对应关系也可以相应的发生变化。
可选的,第三确定模块具体用于:
用所述节点标识对应的节点编号除以所述参数收集组的个数,得到所述节点的收集组余数;
用所述节点标识对应的节点编号除以所述参数分发组的个数,得到所述节点的分发组余数;
将所述收集组余数相同的节点确定为同一参数收集组,以及将所述分发组余数相同的节点确定为同一参数分发组。
本发明实施例提供一种节点分组装置,通过对机器学习系统内的节点进行分组,使得所述机器学习系统包括至少一个参数收集组和至少一个参数分发组,每个参数收集组对应至少一个参数分发组,至少一个所述参数收集组包含的节点与所述参数收集组对应的参数分发组包含的节点不相同,从而解决了模型参数融合中对参数服务器性能要求高和动态调整计算资源的问题。
实施例六
图8为本发明实施例提供一种模型参数融合装置,所述模型参数融合装置包括存储器801、处理器802、电源组件803、输入\输出接口804和通信组件805等,所述处理器802用于执行上述实施例二所述的模型参数融合方法。
本领域普通技术人员可以理解,图8所示的结构仅为示意,其并不对模型参数融合装置的结构造成限定。例如,该模型参数融合装置还可包括比图8中所示更多或者更少的组件,或者具有与图8所示不同的配置。
下面对模型参数融合装置的各个构成部件进行具体的介绍:
存储器801可用于存储数据、软件程序以及模块;主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据模型参数融合装置的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器802是模型参数融合装置的控制中心,利用各种接口和线路连接整个模型参数融合装置的各个部分,通过运行或执行存储在存储器801内的软件程序和/或模块,以及调用存储在存储器801内的数据,执行模型参数融合装置的各种功能和处理数据,从而对模型参数融合装置进行整体监控。可选的,处理器802可包括一个或多个处理单元;优选的,处理器502可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器802中。
电源组件803用于为模型参数融合装置的各个组件提供电源,电源组件503可以包括电源管理系统,一个或多个电源,及其他与模型参数融合装置生成、管理和分配电力相关联的组件。
输入\输出接口804为处理器802和外围接口模块之间提供接口,比如,外围接口模块可以键盘、鼠标等。
通信组件805被配置为便于模型参数融合装置和其他设备之间有线或无线方式的通信。该模型参数融合装置可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合等。
尽管未示出,该模型参数融合装置还可以包括音频组件和多媒体组件等,本发明实施例在此不再赘述。
可选的,所述模型参数融合装置为参数服务器,所述参数服务器独立于所述节点设置,或者配置在所述节点上。
本发明实施例提供的一种模型参数融合装置,通过参数收集组进行组内融合得到第一模型参数,将第一模型参数发送给参数收集组对应的参数分发组,之后,将W个参数收集组中每个参数收集组的第一模型参数进行整体融合,得到第二模型参数,再将W个参数收集组进行组间融合,得到第三模型参数,并且在满足预设条件时进行节点的重新分组,解决了模型参数融合中对参数服务器性能要求高、数据传输量大的问题。
实施例七
图9为本发明实施例提供一种模型参数融合装置,所述模型参数融合装置包括存储器901、处理器902、电源组件903、输入\输出接口904和通信组件905等,所述处理器902用于执行上述实施例三所述的节点分组方法。
本领域普通技术人员可以理解,图9所示的结构仅为示意,其并不对控制器的结构造成限定。例如,该控制器还可包括比图9中所示更多或者更少的组件,或者具有与图9所示不同的配置。
下面对控制器的各个构成部件进行具体的介绍:
存储器901可用于存储数据、软件程序以及模块;主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据模型参数融合装置的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器902是控制器的控制中心,利用各种接口和线路连接整个控制器的各个部分,通过运行或执行存储在存储器901内的软件程序和/或模块,以及调用存储在存储器901内的数据,执行控制器的各种功能和处理数据,从而对控制器进行整体监控。可选的,处理器902可包括一个或多个处理单元;优选的,处理器502可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器902中。
电源组件903用于为控制器的各个组件提供电源,电源组件503可以包括电源管理系统,一个或多个电源,及其他与控制器生成、管理和分配电力相关联的组件。
输入\输出接口904为处理器902和外围接口模块之间提供接口,比如,外围接口模块可以键盘、鼠标等。
通信组件905被配置为便于控制器和其他设备之间有线或无线方式的通信。该控制器可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合等。
尽管未示出,该控制器还可以包括音频组件和多媒体组件等,本发明实施例在此不再赘述。
本发明实施例提供的一种控制器,通过对机器学习系统内的节点进行分组,使得所述机器学习系统包括至少一个参数收集组和至少一个参数分发组,每个参数收集组对应至少一个参数分发组,至少一个所述参数收集组包含的节点与所述参数收集组对应的参数分发组包含的节点不相同,从而解决了模型参数融合中对参数服务器性能要求高和动态调整计算资源的问题。
实施例八
本发明实施例提供一种机器学习系统,所述机器学习系统包括实施例六所述的模型参数融合装置,以及实施例七所述的控制器。
本发明实施例提供的一种机器学习系统,模型参数融合装置通过参数收集组进行组内融合得到第一模型参数,将第一模型参数发送给参数收集组对应的参数分发组,之后,将W个参数收集组中每个参数收集组的第一模型参数进行整体融合,得到第二模型参数,再将W个参数收集组进行组间融合,得到第三模型参数,并且在满足预设条件时,通过控制器对参数收集组和参数分发组中的节点进行重新分组,解决了模型参数融合中对参数服务器性能要求高、数据传输量大和动态调整计算资源的问题。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (24)
1.一种模型参数融合方法,其特征在于,所述方法应用于机器学习系统,所述机器学习系统包括至少一个参数收集组和至少一个参数分发组,每个参数收集组对应至少一个参数分发组,每个参数收集组中包含至少一个节点,每个参数分发组中包含至少一个节点,至少有一个所述参数收集组包含的节点与所对应的参数分发组包含的节点不相同,所述方法包括:
在任一参数收集组满足组内融合条件时,融合所述满足条件的参数收集组中M个节点的模型参数,得到所述满足条件的参数收集组的第一模型参数,其中,所述满足条件的参数收集组最低融合节点数s≤所述M≤所述满足条件的参数收集组包含节点的总个数;
向所述满足条件的参数收集组对应的参数分发组中的N个节点发送所述满足条件的参数收集组的所述第一模型参数,其中,1≤所述N≤所述满足条件的参数收集组对应的参数分发组包含节点的总个数。
2.根据权利要求1所述方法,其特征在于,
所述融合所述满足条件的参数收集组中M个节点的模型参数,得到所述满足条件的参数收集组融合后的第一模型参数,包括:
接收所述满足条件的参数收集组中完成迭代的M个节点发送的所述M个节点的模型参数;
根据接收的所述M个节点的模型参数进行融合,得到所述满足条件的参数收集组的第一模型参数。
3.根据权利要求1所述的方法,其特征在于,
所述融合所述满足条件的参数收集组中M个节点的模型参数,得到所述满足条件的参数收集组融合后的第一模型参数,包括:
获取所述满足条件的参数收集组中节点的状态信息;
根据所述满足条件的参数收集组中节点的状态信息,指示所述满足条件的参数收集组中完成迭代的M个节点进行模型参数融合,得到所述满足条件的参数收集组的所述第一模型参数。
4.根据权利要求3所述的方法,其特征在于,所述根据所述满足条件的参数收集组中节点的状态信息,指示所述满足条件的参数收集组中完成迭代的M个节点进行模型参数融合,包括:
根据所述满足条件的参数收集组中节点的状态信息,确定所述满足条件的参数收集组中s个完成迭代的节点;
指示完成迭代的s个节点中的一个节点融合所述s个节点的模型参数;
若在所述完成迭代的s个节点进行模型参数融合过程中,新增x个节点完成迭代,则指示所述新增x个节点中的一个节点融合所述新增x个节点的模型参数以及所述s个节点融合后的模型参数,其中,所述x<所述s;
若在所述完成迭代的s个节点进行模型参数融合过程中,新增y个节点完成迭代,则指示所述新增y个节点中的一个节点融合所述y个节点的模型参数,并将所述y个节点融合后的模型参数与所述s个节点融合后的模型参数再次进行融合,其中,所述y≥所述s。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:
在W个参数收集组之间满足组间融合条件时,分别将所述W个参数收集组的每个参数收集组中节点的模型参数进行融合,获得所述W个参数收集组中每个参数收集组的第二模型参数;
将所述W个参数收集组中每个参数收集组的第二模型参数进行融合,得到第三模型参数;
将所述第三模型参数发送给所述W个参数收集组的节点或发送给所述W个参数收集组上一层参数分发组的节点。
6.根据权利要求5所述的方法,其特征在于,所述将所述W个参数收集组中每个参数收集组的第二模型参数进行融合,得到第三模型参数,包括:
从所述W个参数收集组中确定一个节点作为组间融合节点;
在所述W个参数收集组中除所述组间融合节点所在的参数收集组之外的其他参数收集组中分别选择一个节点将对应的参数收集组的第二模型参数发送给所述组间融合节点,使得所述组间融合节点将所述W个参数收集组的第二模型参数进行融合,得到所述第三模型参数;
或者,
分别从W个参数收集组中的每个参数收集组确定一个节点,将所述确定的节点确定为新参数收集组;
当所述新参数收集组满足组内融合条件时,将满足组内融合条件的所述W个参数收集组的第二模型参数进行融合,得到第三模型参数。
7.根据权利要求1所述的方法,其特征在于,所述向所述满足条件的参数收集组对应的参数分发组中的N个节点发送所述满足条件的参数收集组的所述第一模型参数,包括:
通过广播方式向所述满足条件的参数收集组对应的参数分发组中的节点发送所述满足条件的参数收集组的第一模型参数;或者,
向所述满足条件的参数收集组对应的参数分发组中第一节点发送所述满足条件的参数收集组的所述第一模型参数,使得所述第一节点通过迭代方式依次向所述N个节点中除所述第一节点之外的其余节点发送所述满足条件的参数收集组的所述第一模型参数。
8.根据权利要求1或2所述的方法,其特征在于,所述机器学习系统还包括参数服务器,一个参数收集组以及对应的参数分发组对应同一个参数服务器,不同参数收集组以及对应的参数分发组对应不同参数服务器。
9.根据权利要求8所述的方法,其特征在于,所述参数服务器包括Y层,且第j+1层的一个参数服务器对应第j层的至少一个参数服务器,所述参数收集组、以及所述参数收集组对应的参数分发组与第1层参数服务器对应,其中,1≤j<j+1≤Y。
10.根据权利要求1-9任一项所述的方法,其特征在于,所述方法还包括:
在满足预设条件时,将所述参数收集组和所述参数分发组中包括的节点进行重新分组。
11.根据权利要求10所述的方法,其特征在于,所述将所述参数收集组和所述参数分发组中包括的节点进行重新分组,包括:
基于预设的节点标识与节点编号之间的对应关系,以及参数收集组个数和参数分发组个数,用节点标识对应的节点编号除以所述参数收集组的个数,得到所述节点的收集组余数;
用所述节点标识对应的节点编号除以所述参数分发组的个数,得到所述节点的分发组余数;
将所述收集组余数相同的节点确定为同一参数收集组,以及将所述分发组余数相同的节点确定为同一参数分发组。
12.一种模型参数融合装置,其特征在于,所述装置应用于机器学习系统,所述机器学习系统包括至少一个参数收集组和至少一个参数分发组,每个参数收集组对应至少一个参数分发组,每个参数收集组中包含至少一个节点,每个参数分发组中包含至少一个节点,至少一个所述参数收集组包含的节点与所对应的参数分发组包含的节点不相同,所述装置包括:
第一融合单元,用于在任一参数收集组满足组内融合条件时,融合所述满足条件的参数收集组中M个节点的模型参数,得到所述满足条件的参数收集组的第一模型参数,其中,所述满足条件的参数收集组最低融合节点数s≤所述M≤所述满足条件的参数收集组包含节点的总个数;
第一发送单元,用于向所述满足条件的参数收集组对应的参数分发组中的N个节点发送所述满足条件的参数收集组的所述第一模型参数,其中,1≤所述N≤所述满足条件的参数收集组对应的参数分发组包含节点的总个数。
13.根据权利要求12所述装置,其特征在于,所述第一融合单元包括:
接收模块,用于接收所述满足条件的参数收集组中完成迭代的M个节点发送的所述M个节点的模型参数;
融合模块,用于根据接收的所述M个节点发送的模型参数进行融合,得到所述满足条件的参数收集组的第一模型参数。
14.根据权利要求12所述的装置,其特征在于,所述第一融合单元包括:
获取模块,用于获取所述满足条件的参数收集组中节点的状态信息;
指示模块,用于根据所述满足条件的参数收集组中节点的状态信息,指示所述满足条件的参数收集组中完成迭代的M个节点进行模型参数融合,得到所述参数收集组的第一模型参数。
15.根据权利要求14所述的装置,其特征在于,所述指示模块具体用于:
根据所述参数收集组中节点的状态信息,确定所述参数收集组中s个完成迭代的节点;
指示完成迭代的s个节点中的一个节点融合所述s个节点的模型参数;
若在所述完成迭代的s个节点进行模型参数融合过程中,新增x个节点完成迭代,则指示所述新增x个节点中的一个节点融合所述新增x个节点的模型参数以及所述s个节点融合后的模型参数,其中,所述x<所述s;
若在所述完成迭代的s个节点进行模型参数融合过程中,新增y个节点完成迭代,则指示所述新增y个节点中的一个节点融合所述y个节点的模型参数,并将所述y个节点融合后的模型参数与所述s个节点融合后的模型参数再次进行融合,其中,所述y≥所述s。
16.根据权利要求12-15任一项所述的装置,其特征在于,所述装置还包括:
第二融合单元,用于在W个参数收集组之间满足组间融合条件时,分别将所述W个参数收集组的每个参数收集组中节点的模型参数进行整体融合,获得所述W个参数收集组中每个参数收集组的第二模型参数;
第三融合单元,用于将所述W个参数收集组中每个参数收集组的第二模型参数进行融合,得到第三模型参数;
第二发送单元,用于将所述第三模型参数发送给所述W个参数收集组的节点或发送给所述W个参数收集组上一层参数分发组的节点。
17.根据权利要求16所述的装置,其特征在于,所述第三融合单元具体用于:
从所述W个参数收集组中确定一个节点作为组间融合节点;
在所述W个参数收集组中除所述组间融合节点所在的参数收集组之外的其他参数收集组中分别选择一个节点将对应的参数收集组的第二模型参数发送给所述组间融合节点,使得所述组间融合节点将所述W个参数收集组的第二模型参数进行融合,得到所述第三模型参数;
或者,
分别从所述W个参数收集组包括的每个参数收集组确定一个节点,将所述确定的节点确定为新参数收集组;
当所述新参数收集组满足组内融合条件时,将满足组内融合条件的所述W个参数收集组的第二模型参数进行融合,得到第三模型参数。
18.根据权利要求12所述的装置,其特征在于,所述第一发送单元具体用于:
通过广播方式向所述满足条件的参数收集组对应的参数分发组中的节点发送所述参数收集组的第一模型参数;或者,
向所述满足条件的参数收集组对应的参数分发组中第一节点发送所述满足条件的参数收集组的所述第一模型参数,使得所述第一节点通过迭代方式依次向所述N个节点中除所述第一节点之外的其余节点发送所述满足条件的参数收集组的第一模型参数。
19.根据权利要求12或13所述的装置,其特征在于,所述机器学习系统还包括参数服务器,一个参数收集组以及对应的参数分发组对应同一个参数服务器,不同参数收集组以及对应的参数分发组对应不同参数服务器。
20.根据权利要求19所述的装置,其特征在于,所述参数服务器包括Y层,且第j+1层的一个参数服务器对应第j层的至少一个参数服务器,所述参数收集组、以及所述参数收集组对应的参数分发组与第1层参数服务器对应,其中,1≤j<j+1≤Y。
21.根据权利要求12-20任一项所述的装置,其特征在于,所述装置还包括:
第一分组单元,用于在满足预设条件时,将所述参数收集组和所述参数分发组中包括的节点进行重新分组。
22.根据权利要求21所述的装置,其特征在于,所述第一分组单元具体用于:
基于预设的节点标识与节点编号之间的对应关系、以及参数收集组个数和参数分发组个数,用所述节点标识对应的节点编号除以所述参数收集组的个数,得到所述节点的收集组余数;
用所述节点标识对应的节点编号除以所述参数分发组的个数,得到所述节点的分发组余数;
将所述收集组余数相同的节点确定为同一参数收集组,以及将所述分发组余数相同的节点确定为同一参数分发组。
23.一种模型参数融合装置,其特征在于,所述模型参数融合装置包括处理器和存储器,所述存储器中存储代码和数据,所述处理器可运行存储器中的代码,所述处理器用于执行上述权利要求1-11任一项所述的模型参数融合方法。
24.根据权利要求23所述的装置,其特征在于,所述模型参数融合装置为参数服务器,所述参数服务器独立于所述节点设置,或者配置在所述节点上。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2015/094722 WO2017084016A1 (zh) | 2015-11-16 | 2015-11-16 | 模型参数融合方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107209746A CN107209746A (zh) | 2017-09-26 |
CN107209746B true CN107209746B (zh) | 2019-10-22 |
Family
ID=58717192
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580001411.5A Active CN107209746B (zh) | 2015-11-16 | 2015-11-16 | 模型参数融合方法及装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11386350B2 (zh) |
EP (1) | EP3370159A4 (zh) |
KR (1) | KR102118073B1 (zh) |
CN (1) | CN107209746B (zh) |
WO (1) | WO2017084016A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3370166B1 (en) * | 2015-11-16 | 2020-05-06 | Huawei Technologies Co., Ltd. | Method and apparatus for model parameter fusion |
CN109447274B (zh) * | 2017-08-30 | 2021-02-09 | 第四范式(北京)技术有限公司 | 用于执行机器学习的分布式系统及其方法 |
US10521332B1 (en) * | 2018-09-28 | 2019-12-31 | Dspace Digital Signal Processing And Control Engineering Gmbh | Parametrization of a simulation model |
US11829888B2 (en) | 2019-03-27 | 2023-11-28 | International Business Machines Corporation | Modifying artificial intelligence models using model fragments |
CN110263265B (zh) * | 2019-04-10 | 2024-05-07 | 腾讯科技(深圳)有限公司 | 用户标签生成方法、装置、存储介质和计算机设备 |
CN110705177B (zh) * | 2019-09-29 | 2023-05-16 | 支付宝(杭州)信息技术有限公司 | 基于机器学习的终端风险评估模型的生成方法及其系统 |
KR102295948B1 (ko) * | 2019-11-26 | 2021-08-30 | 한전케이디엔주식회사 | 연합 학습을 통한 인공지능 기반 보안관제 시스템 및 방법 |
CN111191792B (zh) * | 2019-12-11 | 2022-07-15 | 深圳平安医疗健康科技服务有限公司 | 数据分发方法、装置和计算机设备 |
CN111178443B (zh) * | 2019-12-31 | 2023-10-31 | 东软集团股份有限公司 | 模型参数选择、图像分类、信息识别方法及装置、设备 |
WO2021097494A2 (en) * | 2020-05-30 | 2021-05-20 | Futurewei Technologies, Inc. | Distributed training of multi-modal machine learning models |
CN114221871A (zh) * | 2021-04-09 | 2022-03-22 | 无锡江南计算技术研究所 | 一种网格化流水的全收集方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104463324A (zh) * | 2014-11-21 | 2015-03-25 | 长沙马沙电子科技有限公司 | 一种基于大规模高性能集群的卷积神经网络并行处理方法 |
CN104699894A (zh) * | 2015-01-26 | 2015-06-10 | 江南大学 | 基于实时学习的高斯过程回归多模型融合建模方法 |
CN104834709A (zh) * | 2015-04-29 | 2015-08-12 | 南京理工大学 | 一种基于负载均衡的并行余弦模式挖掘方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8473438B2 (en) * | 2010-04-13 | 2013-06-25 | Empire Technology Development Llc | Combined-model data compression |
JP2012093899A (ja) * | 2010-10-26 | 2012-05-17 | Hitachi Ltd | 計算機システム、シミュレーション方法、及びプログラム |
US9633315B2 (en) * | 2012-04-27 | 2017-04-25 | Excalibur Ip, Llc | Method and system for distributed machine learning |
CN104463424A (zh) * | 2014-11-11 | 2015-03-25 | 上海交通大学 | 众包中任务最优分配方法及其系统 |
EP3370166B1 (en) * | 2015-11-16 | 2020-05-06 | Huawei Technologies Co., Ltd. | Method and apparatus for model parameter fusion |
-
2015
- 2015-11-16 WO PCT/CN2015/094722 patent/WO2017084016A1/zh active Application Filing
- 2015-11-16 EP EP15908513.3A patent/EP3370159A4/en active Pending
- 2015-11-16 KR KR1020187017016A patent/KR102118073B1/ko active IP Right Grant
- 2015-11-16 CN CN201580001411.5A patent/CN107209746B/zh active Active
-
2018
- 2018-05-16 US US15/980,866 patent/US11386350B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104463324A (zh) * | 2014-11-21 | 2015-03-25 | 长沙马沙电子科技有限公司 | 一种基于大规模高性能集群的卷积神经网络并行处理方法 |
CN104699894A (zh) * | 2015-01-26 | 2015-06-10 | 江南大学 | 基于实时学习的高斯过程回归多模型融合建模方法 |
CN104834709A (zh) * | 2015-04-29 | 2015-08-12 | 南京理工大学 | 一种基于负载均衡的并行余弦模式挖掘方法 |
Non-Patent Citations (1)
Title |
---|
"直接优化性能指标的多排序模型融合方法";王扬等;《计算机学报》;20140831;第37卷(第8期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN107209746A (zh) | 2017-09-26 |
KR102118073B1 (ko) | 2020-06-02 |
US20180260739A1 (en) | 2018-09-13 |
US11386350B2 (en) | 2022-07-12 |
EP3370159A1 (en) | 2018-09-05 |
WO2017084016A1 (zh) | 2017-05-26 |
KR20180082577A (ko) | 2018-07-18 |
EP3370159A4 (en) | 2018-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107209746B (zh) | 模型参数融合方法及装置 | |
CN107004003B (zh) | 模型参数融合方法及装置 | |
CN108028803B (zh) | 用于确定网络中的服务方案的拓扑的方法、控制器和系统 | |
CN107689968B (zh) | 任务的处理系统、方法及装置 | |
CN112512100B (zh) | 基于切片优先级的amf重定向方法和新增管理网元 | |
CN104052803A (zh) | 一种去中心化的分布式渲染方法及渲染系统 | |
CN110069210B (zh) | 一种存储系统、存储资源的分配方法及装置 | |
CN105791254B (zh) | 网络请求处理方法、装置及终端 | |
CN110995513A (zh) | 物联网系统中的数据发送、接收方法、物联网设备及平台 | |
CN106850720A (zh) | 软件升级方法、装置及系统 | |
CN106415619A (zh) | 优化电能的分配 | |
CN106201715A (zh) | 一种任务调度方法和装置 | |
CN105471700B (zh) | 一种消息处理的方法、装置和系统 | |
CN110891087A (zh) | 一种日志传输方法、装置及电子设备和存储介质 | |
CN102333280B (zh) | 一种业务密钥更新的方法、系统及业务处理服务器 | |
CN110839061B (zh) | 数据分发方法、装置及存储介质 | |
CN105704173B (zh) | 一种集群系统数据分布方法及服务器 | |
CN109474696A (zh) | 一种网络服务方法、装置、电子设备及可读存储介质 | |
CN110362575A (zh) | 一种生成数据的全局索引的方法及装置 | |
CN103812933B (zh) | 一种基于二部图的车载网络分布式存储方法 | |
CN113312176B (zh) | 资源信息的管理方法、装置、电子装置及存储介质 | |
CN116436978B (zh) | 面向云计算的内存分配方法、内存获取方法、装置和设备 | |
CN113379475B (zh) | 对象投放方法、装置及存储介质 | |
CN116107606A (zh) | 应用程序的更新方法、装置及电子设备 | |
CN105282106A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |