CN107004003B - 模型参数融合方法及装置 - Google Patents

模型参数融合方法及装置 Download PDF

Info

Publication number
CN107004003B
CN107004003B CN201580001419.1A CN201580001419A CN107004003B CN 107004003 B CN107004003 B CN 107004003B CN 201580001419 A CN201580001419 A CN 201580001419A CN 107004003 B CN107004003 B CN 107004003B
Authority
CN
China
Prior art keywords
fusion
node
nodes
model parameter
ith
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
Application number
CN201580001419.1A
Other languages
English (en)
Other versions
CN107004003A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN107004003A publication Critical patent/CN107004003A/zh
Application granted granted Critical
Publication of CN107004003B publication Critical patent/CN107004003B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q3/00Selecting arrangements
    • H04Q3/42Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker
    • H04Q3/54Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised
    • H04Q3/545Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised using a stored programme
    • H04Q3/54541Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised using a stored programme using multi-processor systems
    • H04Q3/5455Multi-processor, parallelism, distributed systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Algebra (AREA)
  • Probability & Statistics with Applications (AREA)
  • Operations Research (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明实施例提供一种模型参数融合方法及装置,涉及机器学习领域,用于解决模型参数融合中数据传输量大和动态调整计算资源的问题。该方法包括:第i节点将所述第i节点的模型参数划分为N块;其中,所述第i节点为参与融合的N个节点中任一节点,1≤所述i≤所述N≤所述M;所述第i节点接收所述N个节点中除所述第i节点之外的其他节点分别发送的各自的第i块模型参数;所述第i节点将所述第i节点的第i块模型参数以及其他节点分别发送的各自的第i块模型参数进行融合,获得第i块的总模型参数;所述第i节点将第i块的总模型参数分发给所述N个节点中的其他节点。

Description

模型参数融合方法及装置
技术领域
本发明涉及机器学习领域,尤其涉及一种模型参数融合方法及装置。
背景技术
模型参数是指由多个约束参数组成的描述模型的参数,通过模型参数可以将具有共同特征的数据筛选出来,比如,当模型参数是图像类模型参数时,通过不同的模型参数,可以从众多的图像数据中筛选出具有人物、动物、或人脸的图像数据。随着数据量和数据种类的快速增长,用于数据筛选的模型参数也越来越多,而这些模型参数是经过对大量具有共同特征的数据进行多次计算融合得到的。
目前,模型参数融合都是将数据划分成多个数据子集,分配到不同的节点对分配的数据子集采用数据迭代的计算方法进行训练,每经过一次或者多次迭代计算,将各节点对不同数据子集训练得到的模型参数进行一次融合,并将融合后的模型参数作为下次迭代计算的初始模型参数,经过多次融合之后,得到最终的总模型参数。
现有技术中,模型参数融合的方法主要有两种:第一种是当各节点对多个数据子集完成多次迭代计算之后,参数服务器将各节点对多个数据子集训练得到的模型参数进行汇总、融合,得到新的模型参数,然后,各节点对多个数据子集再根据新的模型参数进行下次迭代计算;第二种是当某个节点对其分配的数据子集完成多次迭代计算之后,将该节点对分配的数据子集训练得到的模型参数发送给指定的其他节点,以用于与其他节点的数据子集进行模型参数融合,然后该节点再根据自己收到的其它节点对其他数据子集训练后传输过来的模型参数开始迭代计算。但是,第一种对用于进行模型参数融合的参数服务器的性能要求较高,容易发生宕机,第二种需要存储的数据较多,且数据传输量大。
发明内容
本发明的实施例提供一种模型参数融合方法及装置,用于解决模型参数融合中对参数服务器性能要求高、数据传输量大的问题。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供一种模型参数融合方法,应用于机器学习系统,所述机器学习系统包括M个节点,所述方法包括:
第i节点将所述第i节点的模型参数划分为N块;其中,所述第i节点为所述M个节点中参与融合的N个节点中任一节点,1≤所述i≤所述N≤所述M,所述模型参数划分的N块中的第i块为第i块模型参数;
所述第i节点接收所述N个节点中除所述第i节点之外的其他节点分别发送的各自的第i块模型参数;
所述第i节点将所述第i节点的第i块模型参数以及其他节点分别发送的各自的第i块模型参数进行融合,获得第i块的总模型参数;
所述第i节点将第i块的总模型参数分发给所述N个节点中除所述第i节点之外的的其他节点。
其中,第i节点接收N个节点中除第i节点之外的其他节点分别发送的各自的第i块模型参数,以及将第i块的总模型参数分发给N个节点中的其他节点时,可以采用全双工的数据传输方式,也即是,第i节点在向其他节点发送数据时同时可以接收其他节点发送的数据,比如,第i节点采用全双工网卡等,本发明对此不作限定。
另外,参与融合的N个节点是通过预设的融合条件从M个节点中确定的,该融合条件可以是完成迭代计算的节点个数达到预设数值,该预设数值在每次融合时可以是常数,也可以是变化的;或者,该融合条件是完成指定计算的次数达到预设次数,该预设次数在每次融合时可以是常数,也可是变化的;或者,该融合条件是迭代计算经过预设时长,该预设时长在每次融合时可以是常数,也可是变化的,当然,该融合条件也可以是其他的条件等,本发明对此不作具体限定。
进一步,若已有N个节点完成融合,在融合控制器再次确定N个节点时,融合控制器可以确定已完成融合的节点、以及未完成融合且完成指定计算的节点中的N个节点。
结合第一方面,在第一方面的第一种可能的实现方式中,在所述第i节点将所述第i节点的模型参数划分为N块之前,所述方法还包括:
第k节点向融合控制器发送所述第k节点的地址和融合状态信息,所述融合状态信息包括节点的计算状态和/或迭代次数,所述第k节点为所述M个节点中完成指定的迭代任务的节点,1≤所述k≤所述M;
所述第i节点接收所述融合控制器发送的融合指示信息,所述融合指示信息是由所述融合控制器在根据接收的所述第k节点的地址和融合状态信息确定满足融合条件的N个节点之后发出的,所述融合指示信息包括所述N个节点的地址和或编号,其中,所述融合控制器每次确定满足融合条件的N个节点的个数相同或者不同。
需要说明的是,在第k节点完成指定计算之后,第k节点将自身的地址和当前记录的融合状态信息发送给融合控制器,该融合控制器可以由固定的节点来担当,该融合控制器根据上述的融合条件确定参与融合的N个节点。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,若所述融合控制器为第一节点,其中,所述第一节点轮流为所述M个节点中T个节点的任一个节点;在所述第k节点向融合控制器发送所述第k节点的地址和融合状态信息之前,所述方法还包括:
所述第k节点接收所述第一节点发送的所述第一节点的地址;也即是,当前担当融合控制器的节点向第k节点发送自身的地址。
相应的,所述第k节点向融合控制器发送所述第k节点的地址以及融合状态信息,包括:
所述第k节点根据所述第一节点的地址向所述第一节点发送所述第k节点的地址和融合状态信息,也即是,当融合控制器轮流变化为由其他任一节点担当时,第k节点将自身的地址和融合状态信息发送给当前担任融合控制器的节点,比如,该融合状态信息可以为节点的计算状态和/或迭代次数。
需要说明的是,当融合控制器为第一节点时,该第一节点可以为M个节点中T个节点的任一节点,且该第一节点可以是轮流的,也即是,当前的融合控制器可以指定M个节点中T个节点的任一节点作为下次的担当融合控制器的节点,下次担当融合控制器的节点可以指定下下次担当融合控制器的节点,以此类推。
结合第一方面,在第一方面的第三种可能的实现方式中,在所述第i节点将所述第i节点的模型参数划分为N块之前,所述方法还包括:
第k节点向所述M个节点中每个节点广播所述第k节点的地址和融合状态信息;也即是,M个节点中每个节点可以同时记录第k节点的地址和融合状态信息。
所述第k节点接收第二节点发送的融合指示信息,所述第二节点为所述M个节点中K个节点的任一节点,所述融合指示信息是由所述第二节点在根据接收的所述第k节点的地址和融合状态信息确定满足融合条件的N个节点之后发出的,所述融合指示信息包括所述N个节点的地址和/或编号。也即是,将同时记录第k节点的地址和融合状态信息的节点中任一个节点作为第二节点,由第二节点担当融合控制器。
结合第一方面至第一方面的第三种可能的实现方式中的任一种可能的实现方式,在第一方面的第四种可能的实现方式中,所述方法还包括:
所述第i节点将所述第i节点的第j块模型参数发送给所述N个节点中的第j节点,其中,1≤所述j≤所述N,且所述j≠i。
也即是,第i节点将划分的模型参数中除第i块之外的其他模型参数块发送给N个节点中的其他节点,且将相同编号的第j块发送给第j节点,由第j节点负责第j块的模型参数融合。
结合第一方面四种可能的实现方式,在第一方面的第五种可能的实现方式中,所述方法还包括:
所述第i节点接收所述第j节点发送的所述第j节点融合后的第j块的总模型参数;
所述第i节点汇总接收到的所述N个节点中除所述第i节点之外的其他节点发送的各自融合后的总模型参数的对应部分,生成所述第i节点的新的总模型参数;
所述第i节点根据所述新的总模型参数,进行迭代计算。
第二方面,提供一种模型参数融合方法,应用于机器学习系统,所述机器学习系统包括M个节点,所述方法包括:
融合控制器接收所述M个节点中完成指定计算的节点发送的地址和融合状态信息,所述融合状态信息包括节点的计算状态和/或迭代次数;
所述融合控制器根据接收的所述地址和融合状态信息,确定满足融合条件的N个节点;其中,所述融合控制器每次确定满足融合条件的N个节点的个数相同或者不同;
所述融合控制器向所述N个节点中的每个节点发送融合指示信息,所述融合指示信息包括所述N个节点的地址和/或编号,以使得所述N个节点中的每个节点分别将各自的模型参数划分为N块;将各自模型参数中划分的第i块模型参数发送给第i个节点,其中,1≤所述i≤所述N;所述N个节点中每个节点分别融合各自收到的模型参数,以及所述N个节点中每个节点分别将融合后的模型参数分发给所述N个节点中的除自身之外的其他节点。
结合第二方面,在第二方面的第一种可能的实现方式中,所述融合条件为所述完成指定计算的节点个数达到预设数值;或者,所述完成指定计算的次数达到预设次数;或者,经过预设时长。
需要说明的是,预设数值、预设次数和预设时长可以事先设置,且预设数值、预设次数和预设时长可以是常数,也可以是变化的,本发明对此不作限定。
另外,当融合控制器确定满足融合条件的N个节点时,融合控制器可以确定已完成融合的节点、以及未完成融合且完成指定计算的节点中的N个节点。
结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述融合控制器为第一节点,其中,所述第一节点为所述M个节点中K个节点的任一个节点;在所述融合控制器接收所述M个节点中完成指定计算的节点发送的地址以及融合状态信息之前,所述方法还包括:
所述第一节点作为第一时间段的融合控制器向所述M个节点中除所述第一节点之外的其他节点发送所述第一节点的地址。
需要说明的是,当第一节点作为第一时间段的融合控制器时,该第一节点可以为M个节点中K个节点的任一节点,且第一节点可以事先指定。
结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述方法还包括:
在满足预设条件后,所述第一节点确定第二节点作为第二时间段的融合控制器;其中,所述第二节点为所述M个节点中K个节点的任一个节点,所述K≤所述M;
所述第一节点向所述第二节点发送节点融合信息,所述节点融合信息包括所述M个节点的地址和融合状态信息;
所述第一节点向所述第二节点之外的其他节点发送所述第二节点的地址。
其中,预设条件可以为经过一定的时间,或者经过一定的融合次数,或者经过一定的迭代次数等,本发明对此不作限定。
需要说明的是,一定时间、一定的融合次数和一定的迭代次数可以事先设置,且一定时间、一定的融合次数和一定的迭代次数可以是固定不变的,也可以是变化的。
具体地,在满足预设条件后,第一时间段内担当融合控制器的第一节点指定第二时间段内的担当融合控制器的节点,该节点称为第二节点,也即是,由第二节点接替第一节点作为融合控制器,并且第一节点将M个节点的节点融合信息发送给第二节点,第二节点向其他的节点发送自身的地址,以使其他节点在完成融合后将地址和融合状态信息进行上报。
进一步,若所述第二节点在所述第二时间段内故障,所述第一节点确定第三节点作为所述第二时间段的参数融合控制器,其中,所述第三节点为所述M个节点中K个节点的任一个节点。
也即是,当第二节点出现故障,无法作为融合控制器时,由之前担当融合控制器的第一节点重新确定M个节点中一个节点作为第二时间段内的融合控制器,重新确定的节点可以称为第三节点。
结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第四种可能的实现方式中,所述融合控制器为所述M个节点中的至少一个节点,所述至少一个节点接收每个节点在完成指定计算后发送的地址和融合状态信息,则所述融合控制器根据接收的所述地址和融合状态信息,确定满足融合条件的N个节点,向所述N个节点中的每个节点发送融合指示信息,为:所述至少一个节点中的任一节点根据接收的所述地址和融合状态信息,确定满足融合条件的N个节点,向所述N个节点中的每个节点发送融合指示信息。
也即是,当M个节点中的一个节点或者多个节点同时记录M个节点的节点融合信息时,每个节点在完成融合后都将自身的地址和融合状态信息,比如节点的计算状态和/或迭代次数,发送给同时记录节点融合信息的该M个节点中的至少一个节点,由至少一个节点中的任一节点根据接收的所述地址和融合状态信息,确定满足融合条件的N个节点,向所述N个节点中的每个节点发送融合指示信息。
第三方面,提供一种模型参数融合装置,应用于机器学习系统,所述机器学习系统包括M个节点,所述装置包括:
划分单元,用于将自身的模型参数划分为N块;其中,所述N为所述M个模型参数融合装置中参与融合的模型参数融合装置的个数,所述模型参数划分的N块中的第i块为第i块模型参数,1≤所述i≤所述N≤所述M;
第一接收单元,用于接收所述N个模型参数融合装置中除自身之外的其他模型参数融合装置分别发送的各自的第i块模型参数;
融合单元,用于将自身的第i块模型参数以及其他模型参数融合装置分别发送的各自的第i块模型参数进行融合,获得第i块的总模型参数;
第一发送单元,用于将所述第i块的总模型参数分发给所述N个模型参数融合装置中除自身之外的其他模型参数融合装置。
其中,在向N个模型参数融合装置中除自身之外的其他模型参数融合装置分别发送的各自的第i块模型参数,以及将第i块的总模型参数分发给N个模型参数融合装置中的其他模型参数融合装置时,可以采用全双工的数据传输方式,也即是,在向其他模型参数融合装置发送数据时同时可以接收其他模型参数融合装置发送的数据,比如,采用全双工网卡等,本发明实施例对此不作限定。
另外,参与融合的N个模型参数融合装置是通过预设的融合条件从M个模型参数融合装置中确定的,该融合条件可以是完成迭代计算的节点个数达到预设数值,该预设数值在每次融合时可以是常数,也可以是变化的;或者,该融合条件是完成指定计算的次数达到预设次数,该预设次数在每次融合时可以是常数,也可是变化的;或者,该融合条件是迭代计算经过预设时长,该预设时长在每次融合时可以是常数,也可是变化的,当然,该融合条件也可以是其他的条件等,本发明实施例对此不作具体限定。
结合第三方面,在第三方面的第一种可能的实现方式中,所述装置还包括:
第二发送单元,用于在完成指定的迭代任务后,发送自身的地址和融合状态信息给融合控制器,所述融合状态信息包括模型参数融合装置的计算状态和/或迭代次数;
第二接收单元,用于接收融合指示信息,所述融合指示信息是所述融合控制器在根据接收的K个模型参数融合装置的地址和融合状态信息确定满足融合条件的所述N个模型参数融合装置之后发出的,所述融合指示信息包括所述N个模型参数融合装置的地址和/或编号,所述K个模型参数融合装置为所述M个模型参数融合装置中完成指定的迭代任务的模型参数融合装置,1≤所述K≤所述M。
结合第三方面,在第三方面的第二种可能的实现方式中,若所述融合控制器为第一模型参数融合装置,其中,所述第一模型参数融合装置轮流为所述M个节点中T个模型参数融合装置的任一个模型参数融合装置,所述T≤所述M,所述装置还包括:
第三接收单元,用于接收所述第一模型参数融合装置发送的所述第一模型参数融合装置的地址;
相应的,所述第二发送单元具体用于:
所根据所述第一模型参数融合装置的地址向所述第一模型参数融合装置发送自身的地址和融合状态信息。
需要说明的是,当模型参数融合装置为第一模型参数融合装置时,该第一模型参数融合装置可以为M个模型参数融合装置点中K个模型参数融合装置的任一模型参数融合装置,且该第一模型参数融合装置可以是轮流的,也即是,第一模型参数融合装置可以指定M个模型参数融合装置中的K个模型参数融合装置的任一模型参数融合装置作为下次的模型参数融合装置,下次的模型参数融合装置可以指定下下次的模型参数融合装置,以此类推。
结合第三方面,在第三方面的第三种可能的实现方式中,所述装置还包括:
广播单元,用于向所述M个模型参数融合装置中每个模型参数融合装置广播所述自身的地址和融合状态信息;也即是,M个模型参数融合装置中每个模型参数融合装置可以同时记录地址和融合状态信息。
第四接收单元,用于接收第二模型参数融合装置发送的融合指示信息,所述第二模型参数融合装置为所述M个模型参数融合装置中K个模型参数融合装置的任一模型参数融合装置,所述融合指示信息是所述第二模型参数融合装置在根据接收的K个模型参数融合装置的地址和融合状态信息确定满足融合条件的所述N个模型参数融合装置之后发出的,所述融合指示信息包括所述N个节点的地址和/或编号,所述K个模型参数融合装置为所述M个模型参数融合装置中完成指定的迭代任务的模型参数融合装置,1≤所述K≤所述M。
也即是,将同时记录M个模型参数融合装置的地址和融合状态信息的节点中任一个模型参数融合装置作为第二模型参数融合装置,由第二模型参数融合装置担当下次的模型参数融合装置。
结合第三方面,在第三方面的第四种可能的实现方式中,所述装置还包括:
第五接收单元,用于接收K个模型参数融合装置的地址和融合状态信息,所述融合状态信息包括模型参数融合装置的计算状态和/或迭代次数,所述K个模型参数融合装置为所述M个模型参数融合装置中完成指定的迭代任务的模型参数融合装置,1≤所述K≤所述M;
确定单元,用于根据接收的所述K个模型参数融合装置的地址和融合状态信息确定满足融合条件的所述N个模型参数融合装置;
第三发送单元,用于向所述N个模型参数融合装置中除自身之外的其他模型参数融合装置发送融合指示信息,以便于所述N个模型参数融合装置中除自身之外的其他模型参数融合装置根据所述融合指示信息进行参数融合,所述融合指示信息包括所述N个节点的地址和/或编号。
结合第三方面的第三种可能的实现方式,在第三方面的第五种可能的实现方式中,所述装置还包括:
第四发送单元,用于向所述M个模型参数融合装置中除自身之外的其他模型参数融合装置发送自身的地址,以便于所述M个模型参数融合装置中除自身之外的其他模型参数融合装置根据接收的所述地址发送自身的地址和融合状态信息。
结合第三方面至第三方面的第六种可能的实现方式中的任一种可能的实现方式,在第三方面的第七种可能的实现方式中,所述装置还包括:
第五发送单元,用于将自身的第j块模型参数发送给所述N个模型参数融合装置中的第j模型参数融合装置,其中,1≤所述j≤所述N,且所述j≠i。
也即是,将划分的模型参数中除第i块之外的其他模型参数块发送给N个模型参数融合装置中的其他模型参数融合装置,且将相同编号的第j块发送给第j模型参数融合装置,由第j模型参数融合装置负责第j块的模型参数融合。
结合第三方面的第七种可能的实现方式,在第三方面的第五种可能的实现方式中,所述装置还包括:
第六接收单元,用于接收所述第j模型参数融合装置发送的所述第j模型参数融合装置融合后的第j块的总模型参数;
汇总单元,用于接收所述第j模型参数融合装置发送的所述第j模型参数融合装置融合后的第j块的总模型参数;
计算单元,用于根据所述新的总模型参数,进行迭代计算。
第四方面,提供一种模型参数融合装置,应用于机器学习系统,所述机器学习系统包括M个节点,所述装置包括:
接收单元,用于接收所述M个节点中完成指定计算的节点发送的地址和融合状态信息,所述融合状态信息包括节点的计算状态和/或迭代次数;
第一确定单元,用于根据接收的所述地址和融合状态信息,确定满足融合条件的N个节点;其中,所述融合控制器每次确定满足融合条件的N个节点的个数相同或者不同;
第一发送单元,用于向所述N个节点中的每个节点发送融合指示信息,所述融合指示信息包括所述N个节点的地址和/或编号,以使得所述N个节点中的每个节点分别将各自的模型参数划分为N块;将各自模型参数中划分的第i块模型参数发送给第i个节点,其中,1≤所述i≤所述N;所述N个节点中每个节点分别融合各自收到的模型参数,以及所述N个节点中每个节点分别将融合后的模型参数分发给所述N个节点中除自身之外的其他节点。
结合第四方面,在第四方面的第一种可能的实现方式中,所述融合条件为所述完成指定计算的节点个数达到预设数值;或者,所述完成指定计算的次数达到预设次数;或者,经过预设时长。
可选的,第一确定单元还具体用于:
确定已完成融合的节点、以及未完成融合且完成指定计算的节点中的N个节点。
结合第四方面或第四方面的第一种可能的实现方式,在第四方面的第二种可能的实现方式中,所述模型参数融合装置为第一节点,其中,所述第一节点为所述M个节点中任一个节点,所述装置还包括:
第二发送单元,用于向所述M个节点中除所述第一节点之外的其他节点发送所述第一节点的地址。
结合第四方面的第二种可能的实现方式,在第四方面的第三种可能的实现方式中,所述装置还包括:
第二确定单元,用于在满足预设条件后,确定第二节点作为第二时间段的模型参数融合装置;其中,所述第二节点为所述M个节点中K个节点的任一个节点,所述K≤所述M;
第三发送单元,用于向所述第二节点发送节点融合信息,所述节点融合信息包括所述M个节点的地址和融合状态信息;
第四发送单元,用于向所述第二节点之外的其他节点发送所述第二节点的地址。
其中,预设条件可以为经过一定的时间,或者经过一定的融合次数,或者经过一定的迭代次数等,本发明对此不作限定。
需要说明的是,一定时间、一定的融合次数和一定的迭代次数可以事先设置,且一定时间、一定的融合次数和一定的迭代次数可以是固定不变的,也可以是变化的。
结合第四方面的第四种可能的实现方式,在第四方面的第五种可能的实现方式中,所述装置还包括:
第三确定单元,用于若所述第二节点在所述第二时间段内故障,确定第三节点作为所述第二时间段的模型参数融合装置,其中,所述第三节点为所述M个节点中K个节点任一个节点。
也即是,当第二节点出现故障,由第三确定单元重新确定M个节点中一个节点作为第二时间段内的模型参数融合装置,此时,该节点可以称为第三节点。
结合第四方面或第四方面的第一种可能的实现方式,在第四方面的第四种可能的实现方式中,所述模型参数融合装置所述M个节点中的至少一个节点,所述至少一个节点接收每个节点在完成指定计算后发送的地址和融合状态信息,确定满足融合条件的N个节点,向所述N个节点中的每个节点发送融合指示信息,为:所述至少一个节点中的任一节点根据接收的所述地址和融合状态信息,确定满足融合条件的N个节点,向所述N个节点中的每个节点发送融合指示信息。
也即是,当M个节点中的一个节点或者多个节点同时记录M个节点的节点融合信息时,每个节点在完成融合后都将自身的地址和融合状态信息,比如节点的计算状态和/或迭代次数,发送给同时记录节点融合信息的该M个节点中的至少一个节点,由至少一个节点中的任一节点根据接收的所述地址和融合状态信息,确定满足融合条件的N个节点,向所述N个节点中的每个节点发送融合指示信息。
第五方面,提供一种节点,所述节点包括处理器和存储器,所述存储器中存储代码和数据,所述处理器可运行存储器中的代码,所述处理器用于执行上述第一方面至第一方面的第五种可能的实现方式中任一项所述的模型参数融合方法。
第六方面,提供一种融合控制器,所述融合控制器包括处理器和存储器,所述存储器中存储代码和数据,所述处理器可运行存储器中的代码,所述处理器用于执行第二方面至第二方面的第四种可能的实现方式中任一项所述的模型参数融合方法。
第七方面,提供一种机器学习系统,所述机器学习系统包括上述第五方面所述的一种节点,以及第六方面所述的一种融合控制器。
结合第七方面,在第七方面的第一种可能的实现方式中,所述融合控制器为独立于所述节点设置,或者配置在所述节点上。
本发明的实施例提供的一种模型参数方法及装置,通过确定满足融合条件的N个节点,并将第i节点的模型参数划分为N块,以及接收N个节点中除第i节点之外的其他节点分别发送的各自的第i块模型参数,再将第i节点的第i块模型参数以及其他节点分别发送的各自的第i块模型参数进行融合,获得第i块的总模型参数,最后将第i块的总模型参数分发给所述N个节点中的其他节点,其中,第i节点为参与融合的N个节点中任一节点,从而解决了计算资源中动态调整的问题,并具有动态删除和增加节点的能力,同时参与融合的每个节点可以同时发送和接收模型参数,提高了网络资源的利用率和系统的稳定性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种机器学习系统的结构示意图;
图2为本发明实施例提供的一种模型参数融合方法的流程图;
图3为本发明实施例提供的一种第i节点接收第i块模型参数的示意图;
图4为本发明实施例提供的一种第i节点融合和发送第i块总模型参数的示意图;
图5为本发明实施例提供的第一种模型参数装置的结构示意图;
图6为本发明实施例提供的第二种模型参数装置的结构示意图;
图7为本发明实施例提供的第三种模型参数装置的结构示意图;
图8为本发明实施例提供的第四种模型参数装置的结构示意图;
图8a为本发明实施例提供的第五种模型参数装置的结构示意图;
图8b为本发明实施例提供的第六种模型参数装置的结构示意图;
图8c为本发明实施例提供的第七种模型参数装置的结构示意图;
图9为本发明实施例提供的第八种模型参数装置的结构示意图;
图10为本发明实施例提供的第九种模型参数装置的结构示意图;
图11为本发明实施例提供的第十种模型参数装置的结构示意图;
图12为本发明实施例提供的一种节点的结构示意图;
图13为本发明实施例提供的一种融合控制器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本发明的实施例所应用的机器学习系统架构如图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为本发明实施例提供的一种模型参数融合方法的流程图,该方法应用于机器学习系统,该机器学习系统包括M个节点,该方法包括以下几个步骤。
步骤201:用于进行模型参数融合的节点获取数据集中的数据子集。
其中,该数据集是指用于进行模型参数迭代计算的数据集,该数据集可以是语言数据、图像数据、以及视频数据等,且该数据集由多个类型子集组成,每个类型子集带有用于表示类别的数据标签,同一个数据集中包括的类型子集的标签是相同的。
另外,该数据集可以事先存储硬盘、磁盘等存储设备上,也可以事先存储在数据存储服务器上,当节点从数据集中获取数据子集时,可以将存储设备直接与节点所在的设备进行连接来获取数据子集,或者从数据存储服务器上来获取数据等。
需要说明的是,由于进行模型参数融合的数据集远远大于实际模型参数用到的数据量,因此,当节点获取数据集中的数据子集时,节点可以从数据集中抽取一定量的数据,如果事先知道每个节点的计算能力,可以按照该节点的计算能力分配该节点获取的数据子集的数据量。
步骤202:各节点基于数据子集和当前的模型参数进行指定的迭代计算。
当第一次进行模型参数迭代计算时,每个节点可以基于获取的数据子集和初始的模型参数进行迭代计算,当完成迭代计算时,每个节点可以基于数据子集和当前得到的模型参数进行下次的迭代计算。
其中,初始的模型参数是指每个节点最开始的模型参数,且每个节点初始的模型参数可以是相同的。当前得到的模型参数是指每个节点完成当前迭代计算得到的模型参数,或者当前接收到的模型参数,也即是,当前最新的模型参数。
步骤203:第k节点向融合控制器发送第k节点的地址和融合状态信息,所述融合状态信息包括节点的计算状态和/或迭代次数,第k节点为M个节点中完成指定的迭代任务的节点,1≤k≤M。
该机器学习系统包括的M个节点分别基于获取的数据子集和模型参数进行指定的迭代计算,当该M个节点中有任一节点完成指定计算时,该节点向融合控制器发送自身的地址和融合状态信息。
其中,该融合状态信息包括节点的计算状态和/或迭代次数,也即是,第k节点向融合控制器发送融合状态信息时,可以发送当前的计算状态,或者发送当前完成的迭代次数,或者将当前的计算状态和迭代次数都发送给融合控制器,这里的计算状态是指是否已完成指定的迭代计算。
另外,第k节点的地址可以是该节点的IP地址、MAC(Media Access Control,媒体访问控制,也称物理地址)地址,或者节点的编号等等,本发明实施例对此不作限定。
步骤204:融合控制器接收M个节点中完成指定计算的节点发送的地址和融合状态信息,确定满足融合条件的N个节点,并向N个节点中的每个节点发送融合指示信息,该融合指示信息是由融合控制器在根据接收的第k节点的地址和融合状态信息确定满足融合条件的N个节点之后发出的,融合指示信息包括N个节点的地址和或编号。
其中,融合控制器每次确定满足融合条件的N个节点的个数相同或者不同,另外,该融合指示信息包括N个节点的地址和/或编号。
需要说明的是,参与融合的N个节点是通过预设的融合条件从M个节点中确定的,该融合条件可以是完成迭代计算的节点个数达到预设数值,该预设数值在每次融合时可以是常数,也可以是变化的;或者,该融合条件是完成指定计算的次数达到预设次数,该预设次数在每次融合时可以是常数,也可以是变化的;或者,该融合条件是迭代计算经过预设时长,该预设时长在每次融合时可以是常数,也可是变化的,当然,该融合条件也可以是其他的条件等,本发明对此不作具体限定。
另外,若已有N个节点完成融合,在融合控制器再次确定N个节点时,融合控制器可以确定已完成融合的节点、以及未完成融合且完成指定计算的节点中的N个节点。
进一步,该融合控制器可以由固定节点来担当,也可以轮流由不同的节点来担当,还可以由至少一个节点以分布式的方式来担当,具体三种不同的融合控制器阐述如下。
第一种、融合控制器由固定的节点来担当,该固定的节点可以事先设置,且该M个节点中的任一节点在完成指定计算后,可以向该固定的融合控制器发送自身的地址和融合状态信息,由该固定的融合控制器基于接收的地址和融合状态信息,确定满足融合条件的N个节点,并向N个节点中的每个节点发送融合指示信息。
第二种、融合控制器轮流由不同的节点来担当,轮流担当融合控制器的第一个节点可以称为第一节点,且第一节点为M个节点中T个节点的任一个节点,所述T≤所述M。
由于该融合控制器是由不同节点轮流担当的,为了使M个节点在完成指定计算后,向当前的融合控制器发送地址和融合状态信息,因此,在步骤203第k节点向融合控制器发送第k节点的地址和融合状态信息之前,第k节点接收第一节点发送的第一节点的地址,也即是,当前担当融合控制器的节点将自身的地址发送给M个节点。
相应的,第k节点向融合控制器发送第k节点的地址和融合状态信息,包括:第k节点根据第一节点的地址向第一节点发送第k节点的地址和融合状态信息。
之后,由第一节点作为第一时间段的融合控制器,接收完成指定迭代计算的节点发送的地址和融合状态信息,第一节点基于接收的地址和融合状态信息,确定满足融合条件的N个节点,并向N个节点中的每个节点发送融合指示信息。
在满足预设条件后,第一节点确定第二节点作为第二时间段的融合控制器,第二节点为M个节点中K个节点的任一节点;第一节点向第二节点发送节点融合信息,该节点融合信息包括M个节点的地址和融合状态信息;第一节点向第二节点之外的其他节点发送第二节点的地址。
也即是,在满足预设条件之后,第一节点可以指定M个节点中K个节点的任一节点作为下次担当融合控制器的节点,由指定的节点作为第二节点担当第二时间段内的融合控制器,同时,第一节点将M个节点的节点融合信息发送给下次的融合控制器,并向其它节点发送下次融合控制器的地址。同理,下次担当融合控制器的节点可以指定下下次担当融合控制器的节点,以此类推。
其中,若第二节点在第二时间段内故障,第一节点可以确定第三节点作为第二时间段的参数融合控制器,其中,第三节点为M个节点中K个节点的任一个节点。
也即是,当第二节点出现故障,无法作为融合控制器时,由之前担当融合控制器的第一节点重新确定M个节点中K个节点的任一个节点作为第二时间段内的融合控制器,重新确定的节点可以称为第三节点。
需要说明的是,预设条件可以为经过一定的时间,或者经过一定的融合次数,或者经过一定的迭代次数等,本发明实施例对此不作限定。
另外,一定的时间、一定的融合次数和一定的迭代次数可以事先设置,且每一次设置的时间的长短、融合次数和迭代次数的大小可以是固定不变的,也可以是变化的,本发明实施例对此不作限定。
第三种、融合控制器由至少一个节点以分布式的方式来担当,该至少一个节点可以是M个节点中的全部或部分节点。
当M个节点中任一节点完成指定计算时,第k节点向M个节点中每个节点广播第k节点的地址和融合状态信息,由M个节点中的至少一个节点接收第k节点在完成指定计算后发送的地址和融合状态信息。其中,第k节点为M个节点中完成指定计算的任一节点。
也即是,当M个节点中的一个节点或者多个节点同时记录M个节点的节点融合信息时,每个节点在完成融合后都将自身的地址和融合状态信息,比如节点的计算状态和/或迭代次数,发送给同时记录节点融合信息的该M个节点中的至少一个节点。
之后,由该至少一个节点中的任一节点根据接收的第k节点的地址和融合状态信息确定满足融合条件的N个节点,并向N个节点中的每个节点发送融合指示信息,每个节点接收该至少一个节点中的任一节点发送的融合指示信息,该融合指示信息是在确定满足融合条件的N个节点之后发出的,该融合指示信息包括N个节点的地址和/或编号。
需要说明的是,节点的编号用于唯一表示该节点,且该节点的编号可以是随机分配给节点的序号,也可以是随机分配给节点的任一数值等,本发明实施例对此不作限定。
步骤205:当接收到该融合指示信息时,第i节点将第i节点的模型参数划分为N块,接收N个节点中除第i节点之外的其他节点分别发送的各自的第i块模型参数;其中,第i节点为M个节点中参与融合的N个节点中任一节点,1≤所述i≤所述N≤所述M,所述模型参数划分的N块中的第i块为第i块模型参数。这里的第i块模型参数是指划分的N块模型参数中对应第i节点的一块模型参数,由第i节点负责对第i块模型参数进行后续的融合操作。
比如,如图3所示,参与融合的N个节点中的第i节点将第i节点的模型参数划分为N块,其中每块模型参数对应一个节点,由对应的节点进行后续的模型参数融合操作,其中的第i块模型参数对应第i节点,由第i节点负责进行后续的融合操作。并接收N个节点中除第i节点之外的其他节点分别发送的各自的第i块模型参数。
其中,第i节点接收N个节点中除第i节点之外的其他节点分别发送的各自的第i块模型参数,以及将第i块的总模型参数分发给N个节点中的其他节点时,可以采用全双工的数据传输方式,也即是,第i节点在向其他节点发送数据时同时可以接收其他节点发送的数据,比如,第i节点采用全双工网卡等,本发明对此不作限定。
步骤206:第i节点将第i节点的第j块模型参数发送给N个节点中的第j节点,其中,1≤所述j≤所述N,且所述j≠i。
也即是,第i节点将划分的模型参数中除第i块之外的其他模型参数块发送给N个节点中的其他节点,即将第j块模型参数发送给第j节点,由第j节点负责第j块的模型参数融合。这里的第j块模型参数是划分的N块模型参数中对应第j节点的模型参数,由第j节点负责进行后续的融合操作。
步骤207:第i节点将第i节点的第i块模型参数以及其他节点分别发送的各自的第i块模型参数进行融合,获得第i块的总模型参数,将第i块的总模型参数分发给N个节点中的其他节点。
比如,如图4所示,第i节点将第i节点模型参数的第i块以及其他节点分别发送的各自模型参数的第i块进行融合,获得第i块的总模型参数,并将第i块的总模型参数分发给N个节点中的其他节点。
步骤208:第i节点接收第j节点发送的第j节点融合后的第j块的总模型参数,汇总接收到的N个节点中除第i节点之外的其他节点发送的各自融合后的总模型参数的对应部分,生成第i节点的新的总模型参数。
当参与融合的N个节点的第j节点融合得到第j块的总模型参数时,第j节点将该第j块总的模型参数发送给第i节点,第i节点接收第第j节点融合后的第j块的总模型参数,其中,1≤j≤N,且j≠i。
之后,第i节点将接收到的N个节点中除第i节点之外的其他节点发送的各自融合后的总模型参数、以及第i节点自身融合得到的第i块的总模型参数进行汇总,得到N个节点融合后新的总模型参数。
进一步,当第i节点得到N个节点融合后新的总模型参数之后,第i节可以返回步骤202基于数据子集和N个节点融合后新的总模型参数进行迭代计算,直到输出最终的模型参数。
本发明实施例提供的一种模型参数融合方法,通过融合控制器确定满足融合条件的N个节点,并由第i节点将第i节点的模型参数划分为N块,并接收N个节点中除第i节点之外的其他节点分别发送的各自的第i块模型参数,再将第i节点的第i块模型参数以及其他节点分别发送的各自的第i块模型参数进行融合,获得第i块的总模型参数,最后将第i块的总模型参数分发给所述N个节点中的其他节点,其中,第i节点为参与融合的N个节点中任一节点,从而解决了计算资源中动态调整的问题,并具有动态删除和增加节点的能力,同时参与融合的每个节点可以同时发送和接收模型参数,提高了网络资源的利用率和系统的稳定性。
实施例三
图5为本发明实施例提供的一种模型参数融合装置的结构示意图,应用于机器学习系统,所述机器学习系统包括M个节点,如图5所示,所述装置包括:
划分单元301,用于将自身的模型参数划分为N块;其中,所述N为所述M个模型参数融合装置中参与融合的模型参数融合装置的个数,所述模型参数划分的N块中的第i块为第i块模型参数,1≤所述i≤所述N≤所述M;这里的第i块模型参数是指划分的N块模型参数中对应第i模型参数融合装置的一块模型参数,由第i模型参数融合装置负责对第i块模型参数进行后续的融合操作。
第一接收单元302,用于接收所述N个模型参数融合装置中除自身之外的其他模型参数融合装置分别发送的各自的第i块模型参数;
融合单元303,用于将自身的第i块模型参数以及其他模型参数融合装置分别发送的各自的第i块模型参数进行融合,获得第i块的总模型参数;
第一发送单元304,用于将所述第i块的总模型参数分发给所述N个模型参数融合装置中除自身之外的其他模型参数融合装置。
其中,在向N个模型参数融合装置中除自身之外的其他模型参数融合装置分别发送的各自的第i块模型参数,以及将第i块的总模型参数分发给N个模型参数融合装置中的其他模型参数融合装置时,可以采用全双工的数据传输方式,也即是,在向其他模型参数融合装置发送数据时同时可以接收其他模型参数融合装置发送的数据,比如,采用全双工网卡等,本发明实施例对此不作限定。
另外,参与融合的N个模型参数融合装置是通过预设的融合条件从M个模型参数融合装置中确定的,该融合条件可以是完成迭代计算的节点个数达到预设数值,该预设数值在每次融合时可以是常数,也可以是变化的;或者,该融合条件是完成指定计算的次数达到预设次数,该预设次数在每次融合时可以是常数,也可是变化的;或者,该融合条件是迭代计算经过预设时长,该预设时长在每次融合时可以是常数,也可是变化的,当然,该融合条件也可以是其他的条件等,本发明实施例对此不作具体限定。。
可选的,如图6所示,所述装置还包括:
第二发送单元305,用于在完成指定的迭代任务后,发送自身的地址和融合状态信息给融合控制器,所述融合状态信息包括模型参数融合装置的计算状态和/或迭代次数;
第二接收单元306,用于接收融合指示信息,所述融合指示信息是所述融合控制器在根据接收的K个模型参数融合装置的地址和融合状态信息确定满足融合条件的所述N个模型参数融合装置之后发出的,所述融合指示信息包括所述N个模型参数融合装置的地址和/或编号,所述K个模型参数融合装置为所述M个模型参数融合装置中完成指定的迭代任务的模型参数融合装置,1≤所述K≤所述M。
可选的,如图7所示,所述融合控制器为第一模型参数融合装置,其中,所述第一模型参数融合装置轮流为所述M个节点中T个模型参数融合装置的任一个模型参数融合装置,所述T≤所述M,所述装置还包括:
第三接收单元307,用于接收所述第一模型参数融合装置发送的所述第一模型参数融合装置的地址;
相应的,所述第二发送单元305具体用于:
所根据所述第一模型参数融合装置的地址向所述第一模型参数融合装置发送自身的地址和融合状态信息。
需要说明的是,当模型参数融合装置为第一模型参数融合装置时,该第一模型参数融合装置可以为M个模型参数融合装置点中K个模型参数融合装置的任一模型参数融合装置,且该第一模型参数融合装置可以是轮流的,也即是,第一模型参数融合装置可以指定M个模型参数融合装置中的K个模型参数融合装置的任一模型参数融合装置作为下次的模型参数融合装置,下次的模型参数融合装置可以指定下下次的模型参数融合装置,以此类推。
可选的,如图8所示,所述装置还包括:
广播单元308,用于向所述M个模型参数融合装置中每个模型参数融合装置广播所述自身的地址和融合状态信息;也即是,M个模型参数融合装置中每个模型参数融合装置可以同时记录地址和融合状态信息;也即是,M个模型参数融合装置中每个模型参数融合装置可以同时记录模型参数融合装置的地址和融合状态信息。
第四接收单元309,用于接收第二模型参数融合装置发送的融合指示信息,所述第二模型参数融合装置为所述M个模型参数融合装置中K个模型参数融合装置的任一模型参数融合装置,所述融合指示信息是所述第二模型参数融合装置在根据接收的K个模型参数融合装置的地址和融合状态信息确定满足融合条件的所述N个模型参数融合装置之后发出的,所述融合指示信息包括所述N个节点的地址和/或编号,所述K个模型参数融合装置为所述M个模型参数融合装置中完成指定的迭代任务的模型参数融合装置,1≤所述K≤所述M。
也即是,将同时记录M个模型参数融合装置的地址和融合状态信息的节点中任一个模型参数融合装置作为第二模型参数融合装置,由第二模型参数融合装置担当下次的模型参数融合装置。
可选的,如图8a所示,所述装置还包括:
第五接收单元310,用于接收K个模型参数融合装置的地址和融合状态信息,所述融合状态信息包括模型参数融合装置的计算状态和/或迭代次数,所述K个模型参数融合装置为所述M个模型参数融合装置中完成指定的迭代任务的模型参数融合装置,1≤所述K≤所述M;
确定单元311,用于根据接收的所述K个模型参数融合装置的地址和融合状态信息确定满足融合条件的所述N个模型参数融合装置;
第三发送单元312,用于向所述N个模型参数融合装置中除自身之外的其他模型参数融合装置发送融合指示信息,以便于所述N个模型参数融合装置中除自身之外的其他模型参数融合装置根据所述融合指示信息进行参数融合,所述融合指示信息包括所述N个节点的地址和/或编号。
可选的,如图8b所示,所述装置还包括:
第四发送单元313,用于向所述M个模型参数融合装置中除自身之外的其他模型参数融合装置发送自身的地址,以便于所述M个模型参数融合装置中除自身之外的其他模型参数融合装置根据接收的所述地址发送自身的地址和融合状态信息。
可选的,所述装置还包括:
第五发送单元,用于将所述第i模型参数融合装置的模型参数的第j块发送给所述N个模型参数融合装置中的第j模型参数融合装置,其中,1≤所述j≤所述N,且所述j≠i。
也即是,将划分的模型参数中除第i块之外的其他模型参数块发送给N个模型参数融合装置中的其他模型参数融合装置,且将相同编号的第j块发送给第j模型参数融合装置,由第j模型参数融合装置负责第j块的模型参数融合。
可选的,如图8c所示,所述装置还包括:
第六接收单元314,用于接收所述第j模型参数融合装置发送的所述第j模型参数融合装置融合后的第j块的总模型参数;
汇总单元315,用于接收所述第j模型参数融合装置发送的所述第j模型参数融合装置融合后的第j块的总模型参数;
计算单元316,用于根据所述新的总模型参数,进行迭代计算。
本发明实施例提供一种模型参数融合装置,通过确定满足融合条件的N个模型参数融合装置,将第i模型参数融合装置的模型参数划分为N块,以及接收N个模型参数融合装置中除第i模型参数融合装置之外的其他模型参数融合装置分别发送的各自的第i块模型参数,再将第i模型参数融合装置的第i块模型参数以及其他模型参数融合装置分别发送的各自的第i块模型参数进行融合,获得第i块的总模型参数,最后将第i块的总模型参数分发给所述N个模型参数融合装置中的其他模型参数融合装置,从而解决了计算资源中动态调整的问题,同时也提高了网络资源的利用率和系统的稳定性。
实施例四
图9为本发明实施例提供的一种模型参数融合装置的结构示意图,应用于机器学习系统,所述机器学习系统包括M个节点,如图9所示,所述装置包括:
接收单元401,用于接收所述M个节点中完成指定计算的节点发送的地址和融合状态信息,所述融合状态信息包括节点的计算状态和/或迭代次数;
第一确定单元402,用于根据接收的所述地址和融合状态信息,确定满足融合条件的N个节点;其中,每次确定满足融合条件的N个节点的个数相同或者不同;
第一发送单元403,用于向所述N个节点中的每个节点发送融合指示信息,所述融合指示信息包括所述N个节点的地址和/或编号,以使得所述N个节点中的每个节点分别将各自的模型参数划分为N块;将各自模型参数中划分的第i块模型参数发送给第i个节点,其中,1≤所述i≤所述N;所述N个节点中每个节点分别融合各自收到的模型参数,以及所述N个节点中每个节点分别将融合后的模型参数分发给所述N个节点中除自身之外的其他节点。
可选的,所述融合条件为所述完成指定计算的节点个数达到预设数值;或者,所述完成指定计算的次数达到预设次数;或者,经过预设时长。其中,预设数值、预设次数和预设时长在每次融合时可以是常数,也可以是变化的,当然,在实际应用中,融合条件还可以为其他条件等,本发明实施例对此不作限定。
可选的,所述第一确定单元,还具体用于:
确定已完成融合的节点、以及未完成融合且完成指定计算的节点中的N个节点。
可选的,如图10所示,所述模型参数融合装置为第一节点,其中,所述第一节点为所述M个节点中任一个节点,所述装置还包括:
第二发送单元404,用于向所述M个节点中除所述第一节点之外的其他节点发送所述第一节点的地址。
可选的,如图11所示,所述装置还包括:
第二确定单元405,用于在满足预设条件后,确定第二节点作为第二时间段的模型参数融合装置;其中,所述第二节点为所述M个节点中K个节点的任一个节点,所述K≤所述M;
第三发送单元406,用于向所述第二节点发送节点融合信息,所述节点融合信息包括所述M个节点的地址和融合状态信息;
第四发送单元407,用于向所述第二节点之外的其他节点发送所述第二节点的地址。
其中,预设条件可以为经过一定的时间,或者经过一定的融合次数,或者经过一定的迭代次数等,本发明对此不作限定。
需要说明的是,一定时间、一定的融合次数和一定的迭代次数可以事先设置,且一定时间、一定的融合次数和一定的迭代次数可以是固定不变的,也可以是变化的。
可选的,所述装置还包括:
第三确定单元,用于若所述第二节点在所述第二时间段内故障,确定第三节点作为所述第二时间段的模型参数融合装置,其中,所述第三节点为所述M个节点中K个节点任一个节点。
也即是,当第二节点出现故障,由第二确定单元重新确定M个节点中一个节点作为第二时间段内的模型参数融合装置,此时,该节点可以称为第三节点。
可选的,所述模型参数融合装置为所述M个节点中的至少一个节点,所述至少一个节点接收每个节点在完成指定计算后发送的地址和融合状态信息,确定满足融合条件的N个节点,向所述N个节点中的每个节点发送融合指示信息,为:所述至少一个节点中的任一节点根据接收的所述地址和融合状态信息,确定满足融合条件的N个节点,向所述N个节点中的每个节点发送融合指示信息。
也即是,当M个节点中的一个节点或者多个节点同时记录M个节点的节点融合信息时,每个节点在完成融合后都将自身的地址和融合状态信息,比如节点的计算状态和/或迭代次数发送给同时记录节点融合信息的该M个节点中的至少一个节点,由至少一个节点中的任一节点根据接收的所述地址和融合状态信息,确定满足融合条件的N个节点,向所述N个节点中的每个节点发送融合指示信息。
本发明实施例提供的一种模型参数融合装置,基于M个节点中完成指定计算的节点发送的地址和融合状态信息,确定满足融合条件的N个节点,并向所述N个节点中的每个节点发送融合指示信息,以使得N个节点中的每个节点分别将各自的模型参数划分为N块,将各自模型参数中第i块发送给第i个节点,N个节点中每个节点分别融合各自收到的模型参数,以及N个节点中每个节点分别将融合后的模型参数分发给所述N个节点中的其他节点,从而解决了计算资源中动态调整的问题,并具有动态删除和增加节点的能力,同时参与融合的每个节点可以同时发送和接收模型参数,提高了网络资源的利用率和系统的稳定性。
实施例五
图12为本发明实施例提供一种节点,所述节点包括存储器1201、处理器1202,电源组件1203、输入\输出接口1204和通信组件1205等,所述处理器1202用于执行上述实施例二所述的模型参数融合方法。
本领域普通技术人员可以理解,图12所示的结构仅为示意,其并不对节点的结构造成限定。例如,该节点还可包括比图12中所示更多或者更少的组件,或者具有与图12所示不同的配置。
下面对节点的各个构成部件进行具体的介绍:
存储器1201可用于存储数据、软件程序以及模块;主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据模型参数融合装置的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器1202是节点的控制中心,利用各种接口和线路连接整个节点的各个部分,通过运行或执行存储在存储器1201内的软件程序和/或模块,以及调用存储在存储器1201内的数据,执行节点的各种功能和处理数据,从而对节点进行整体监控。可选的,处理器1202可包括一个或多个处理单元;优选的,处理器502可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1202中。
电源组件1203用于为节点的各个组件提供电源,电源组件503可以包括电源管理系统,一个或多个电源,及其他与节点生成、管理和分配电力相关联的组件。
输入\输出接口1204为处理器1202和外围接口模块之间提供接口,比如,外围接口模块可以键盘、鼠标等。
通信组件1205被配置为便于节点和其他设备之间有线或无线方式的通信。该节点可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合等。
尽管未示出,该节点还可以包括音频组件和多媒体组件等,本发明实施例在此不再赘述。
本发明实施例提供的一种节点,通过参与融合的N个节点中的每个节点分别将各自的模型参数划分为N块,以及将各自的第i块模型参数发送给第i个节点,N个节点中每个节点分别融合各自收到的模型参数,以及N个节点中每个节点分别将融合后的模型参数分发给所述N个节点中的其他节点,从而具有动态删除和增加节点的能力,同时参与融合的每个节点可以同时发送和接收模型参数,提高了网络资源的利用率和系统的稳定性。
实施例六
图13为本发明实施例提供一种融合控制器,所述融合控制器包括存储器1301、处理器1302,电源组件1303、输入\输出接口1304和通信组件1305等。所述处理器1302用于执行上述实施例二所述的模型参数融合方法。
本领域普通技术人员可以理解,图13所示的结构仅为示意,其并不对融合控制器的结构造成限定。例如,该融合控制器还可包括比图13中所示更多或者更少的组件,或者具有与图13所示不同的配置。
下面对融合控制器的各个构成部件进行具体的介绍:
存储器1301可用于存储数据、软件程序以及模块;主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据模型参数融合装置的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器1302是融合控制器的控制中心,利用各种接口和线路连接整个融合控制器的各个部分,通过运行或执行存储在存储器1301内的软件程序和/或模块,以及调用存储在存储器1301内的数据,执行融合控制器的各种功能和处理数据,从而对融合控制器进行整体监控。可选的,处理器1302可包括一个或多个处理单元;优选的,处理器502可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1302中。
电源组件1303用于为融合控制器的各个组件提供电源,电源组件503可以包括电源管理系统,一个或多个电源,及其他与融合控制器生成、管理和分配电力相关联的组件。
输入\输出接口1304为处理器1302和外围接口模块之间提供接口,比如,外围接口模块可以键盘、鼠标等。
通信组件1305被配置为便于融合控制器和其他设备之间有线或无线方式的通信。该融合控制器可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合等。
尽管未示出,该融合控制器还可以包括音频组件和多媒体组件等,本发明实施例在此不再赘述。
本发明实施例提供的一种融合控制器,通过基于M个节点中完成指定计算的节点发送的地址和融合状态信息,确定满足融合条件的N个节点,并向所述N个节点中的每个节点发送融合指示信息,以使得N个节点中的每个节点分别将各自的模型参数划分为N块,将各自的第i块模型参数发送给第i个节点,N个节点中每个节点分别融合各自收到的模型参数,以及N个节点中每个节点分别将融合后的模型参数分发给所述N个节点中的其他节点,从而解决了计算资源中动态调整的问题,同时提高了网络资源的利用率和系统的稳定性。
实施例七
本发明实施例提供一种机器学习系统,所述机器学习系统包括实施例五所述的一种节点,以及实施例六所述的一种融合控制器。
可选的,所述融合控制器为独立于所述节点设置,或者配置在所述节点上。
本发明实施例提供的一种机器学习系统,融合控制器基于M个节点中完成指定计算的节点发送的地址和融合状态信息,确定满足融合条件的N个节点,并向所述N个节点中的每个节点发送融合指示信息,以使参与融合的N个节点中的每个节点分别将各自的模型参数划分为N块,以及将各自的第i块模型参数发送给第i个节点,N个节点中每个节点分别融合各自收到的模型参数,以及N个节点中每个节点分别将融合后的模型参数分发给所述N个节点中的其他节点,从而解决了计算资源中动态调整的问题,并具有动态删除和增加节点的能力,同时参与融合的每个节点可以同时发送和接收模型参数,提高了网络资源的利用率和系统的稳定性。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (28)

1.一种模型参数融合方法,其特征在于,应用于机器学习系统,所述机器学习系统包括M个节点,所述方法包括:
第i节点将所述第i节点的模型参数划分为N块;其中,所述第i节点为所述M个节点中参与融合的N个节点中任一节点,1≤所述i≤所述N≤所述M,所述模型参数划分的N块中的第i块为第i块模型参数;
所述第i节点接收所述N个节点中除所述第i节点之外的其他节点分别发送的各自的第i块模型参数;
所述第i节点将所述第i节点的第i块模型参数以及所述其他节点分别发送的各自的第i块模型参数进行融合,获得第i块的总模型参数;
所述第i节点将所述第i块的总模型参数分发给所述N个节点中除所述第i节点之外的其他节点。
2.根据权利要求1所述的方法,其特征在于,在所述第i节点将所述第i节点的模型参数划分为N块之前,所述方法还包括:
所述第i节点接收融合控制器发送的融合指示信息,所述融合指示信息是由所述融合控制器在根据接收的第k节点的地址和融合状态信息确定满足融合条件的所述N个节点之后发出的,所述融合指示信息包括所述N个节点的地址和/或编号,所述第k节点为所述M个节点中完成指定的迭代任务的节点,1≤所述k≤所述M,所述融合状态信息包括节点的计算状态和/或迭代次数。
3.根据权利要求2所述的方法,其特征在于,若所述融合控制器为第一节点,其中,所述第一节点轮流为所述M个节点中T个节点的任一个节点,所述T≤所述M;所述方法还包括:
所述第k节点接收所述第一节点发送的所述第一节点的地址;所述第k节点根据所述第一节点的地址向所述第一节点发送所述第k节点的地址和融合状态信息。
4.根据权利要求1所述的方法,其特征在于,在所述第i节点将所述第i节点的模型参数划分为N块之前,所述方法还包括:
第k节点向所述M个节点中每个节点广播所述第k节点的地址和融合状态信息;
所述第k节点接收第二节点发送的融合指示信息,所述第二节点为所述M个节点中任一节点,所述融合指示信息是由所述第二节点在根据接收的所述第k节点的地址和融合状态信息确定满足融合条件的N个节点之后发出的,所述融合指示信息包括所述N个节点的地址和/或编号。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:
所述第i节点将所述第i节点的第j块模型参数发送给所述N个节点中的第j节点,其中,1≤所述j≤所述N,且所述j≠i。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
所述第i节点接收所述第j节点发送的所述第j节点融合后的第j块的总模型参数;
所述第i节点汇总接收到的所述N个节点中除所述第i节点之外的其他节点发送的各自融合后的总模型参数的对应部分,生成所述第i节点的新的总模型参数;
所述第i节点根据所述新的总模型参数,进行迭代计算。
7.一种模型参数融合方法,其特征在于,应用于机器学习系统,所述机器学习系统包括M个节点,所述方法包括:
融合控制器接收所述M个节点中完成指定计算的节点发送的地址和融合状态信息,所述融合状态信息包括节点的计算状态和/或迭代次数;
所述融合控制器根据接收的所述地址和融合状态信息,确定满足融合条件的N个节点;
所述融合控制器向所述N个节点中的每个节点发送融合指示信息,所述融合指示信息包括所述N个节点的地址和/或编号,以使得所述N个节点中的每个节点分别将各自的模型参数划分为N块;将各自模型参数中划分的第i块模型参数发送给第i个节点,其中,1≤所述i≤所述N;所述N个节点中每个节点分别融合各自收到的模型参数,以及所述N个节点中每个节点分别将融合后的模型参数分发给所述N个节点中除自身之外的其他节点。
8.根据权利要求7所述的方法,其特征在于,所述融合条件为完成指定计算的节点个数达到预设数值;或者,完成指定计算的次数达到预设次数;或者,经过预设时长。
9.根据权利要求7或8所述的方法,其特征在于,所述融合控制器为第一节点,其中,所述第一节点为所述M个节点中任一个节点;在所述融合控制器接收所述M个节点中完成指定计算的节点发送的地址以及融合状态信息之前,所述方法还包括:
所述第一节点作为第一时间段的融合控制器向所述M个节点中除所述第一节点之外的其他节点发送所述第一节点的地址。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
在满足预设条件后,所述第一节点确定第二节点作为第二时间段的融合控制器;其中,所述第二节点为所述M个节点中K个节点的任一个节点,所述K≤所述M;
所述第一节点向所述第二节点发送节点融合信息,所述节点融合信息包括所述M个节点的地址和融合状态信息;
所述第一节点向所述第二节点之外的其他节点发送所述第二节点的地址。
11.根据权利要求7或8所述的方法,其特征在于,所述融合控制器为所述M个节点中的至少一个节点,所述至少一个节点接收每个节点在完成指定计算后发送的地址和融合状态信息,则所述融合控制器根据接收的所述地址和融合状态信息,确定满足融合条件的N个节点,向所述N个节点中的每个节点发送融合指示信息,为:所述至少一个节点中的任一节点根据接收的所述地址和融合状态信息,确定满足融合条件的N个节点,向所述N个节点中的每个节点发送融合指示信息。
12.一种模型参数融合装置,其特征在于,应用于机器学习系统,所述机器学习系统包括M个模型参数融合装置,所述装置包括:
划分单元,用于将自身的模型参数划分为N块;其中,所述N为所述M个模型参数融合装置中参与融合的模型参数融合装置的个数,所述模型参数划分的N块中的第i块为第i块模型参数,1≤所述i≤所述N≤所述M;
第一接收单元,用于接收所述N个模型参数融合装置中除自身之外的其他模型参数融合装置分别发送的各自的第i块模型参数;
融合单元,用于将自身的第i块模型参数以及其他模型参数融合装置分别发送的各自的第i块模型参数进行融合,获得第i块的总模型参数;
第一发送单元,用于将所述第i块的总模型参数分发给所述N个模型参数融合装置中除自身之外的其他模型参数融合装置。
13.根据权利要求12所述的装置,其特征在于,所述装置还包括:
第二发送单元,用于在完成指定的迭代任务后,发送自身的地址和融合状态信息给融合控制器,所述融合状态信息包括模型参数融合装置的计算状态和/或迭代次数;
第二接收单元,用于接收融合指示信息,所述融合指示信息是所述融合控制器在根据接收的K个模型参数融合装置的地址和融合状态信息确定满足融合条件的所述N个模型参数融合装置之后发出的,所述融合指示信息包括所述N个模型参数融合装置的地址和/或编号,所述K个模型参数融合装置为所述M个模型参数融合装置中完成指定的迭代任务的模型参数融合装置,1≤所述K≤所述M。
14.根据权利要求13所述的装置,其特征在于,所述融合控制器为第一模型参数融合装置,其中,所述第一模型参数融合装置轮流为所述M个节点中T个模型参数融合装置的任一个模型参数融合装置,所述T≤所述M,所述装置还包括:
第三接收单元,用于接收所述第一模型参数融合装置发送的所述第一模型参数融合装置的地址;
相应的,所述第二发送单元具体用于:
所根据所述第一模型参数融合装置的地址向所述第一模型参数融合装置发送自身的地址和融合状态信息。
15.根据权利要求12所述的装置,其特征在于,所述装置还包括:
广播单元,用于向所述M个模型参数融合装置中每个模型参数融合装置广播所述自身的地址和融合状态信息;
第四接收单元,用于接收第二模型参数融合装置发送的融合指示信息,所述第二模型参数融合装置为所述M个模型参数融合装置中K个模型参数融合装置的任一模型参数融合装置,所述融合指示信息是所述第二模型参数融合装置在根据接收的K个模型参数融合装置的地址和融合状态信息确定满足融合条件的所述N个模型参数融合装置之后发出的,所述融合指示信息包括所述N个节点的地址和/或编号,所述K个模型参数融合装置为所述M个模型参数融合装置中完成指定的迭代任务的模型参数融合装置,1≤所述K≤所述M。
16.根据权利要求12所述的装置,其特征在于,所述装置还包括:
第五接收单元,用于接收K个模型参数融合装置的地址和融合状态信息,所述融合状态信息包括模型参数融合装置的计算状态和/或迭代次数,所述K个模型参数融合装置为所述M个模型参数融合装置中完成指定的迭代任务的模型参数融合装置,1≤所述K≤所述M;
确定单元,用于根据接收的所述K个模型参数融合装置的地址和融合状态信息确定满足融合条件的所述N个模型参数融合装置;
第三发送单元,用于向所述N个模型参数融合装置中除自身之外的其他模型参数融合装置发送融合指示信息,以便于所述N个模型参数融合装置中除自身之外的其他模型参数融合装置根据所述融合指示信息进行参数融合,所述融合指示信息包括所述N个节点的地址和/或编号。
17.根据权利要求16所述的装置,其特征在于,所述装置还包括:
第四发送单元,用于向所述M个模型参数融合装置中除自身之外的其他模型参数融合装置发送自身的地址,以便于所述M个模型参数融合装置中除自身之外的其他模型参数融合装置根据接收的所述地址发送自身的地址和融合状态信息。
18.根据权利要求12-17任一项所述的装置,其特征在于,所述装置还包括:
第五发送单元,用于将自身的第j块模型参数发送给所述N个模型参数融合装置中的第j模型参数融合装置,其中,1≤所述j≤所述N,且所述j≠i。
19.根据权利要求18所述的装置,其特征在于,所述装置还包括:
第六接收单元,用于接收所述第j模型参数融合装置发送的所述第j模型参数融合装置融合后的第j块的总模型参数;
汇总单元,用于汇总接收到的所述N个模型参数融合装置中除自身之外的其他模型参数融合装置发送的各自融合后的总模型参数的对应部分,生成新的总模型参数;
计算单元,用于根据所述新的总模型参数,进行迭代计算。
20.一种模型参数融合装置,其特征在于,应用于机器学习系统,所述机器学习系统包括M个节点,所述装置包括:
接收单元,用于接收所述M个节点中完成指定计算的节点发送的地址和融合状态信息,所述融合状态信息包括节点的计算状态和/或迭代次数;
第一确定单元,用于根据接收的所述地址和融合状态信息,确定满足融合条件的N个节点;
第一发送单元,用于向所述N个节点中的每个节点发送融合指示信息,所述融合指示信息包括所述N个节点的地址和/或编号,以使得所述N个节点中的每个节点分别将各自的模型参数划分为N块;将各自模型参数中划分的第i块模型参数发送给第i个节点,其中,1≤所述i≤所述N;所述N个节点中每个节点分别融合各自收到的模型参数,以及所述N个节点中每个节点分别将融合后的模型参数分发给所述N个节点中除自身之外的其他节点。
21.根据权利要求20所述的装置,其特征在于,所述融合条件为所述完成指定计算的节点个数达到预设数值;或者,所述完成指定计算的次数达到预设次数;或者,经过预设时长。
22.根据权利要求20或21所述的装置,其特征在于,所述模型参数融合装置为第一节点,其中,所述第一节点为所述M个节点中任一个节点,所述装置还包括:
第二发送单元,用于向所述M个节点中除所述第一节点之外的其他节点发送所述第一节点的地址。
23.根据权利要求22所述的装置,其特征在于,所述装置还包括:
第二确定单元,用于在满足预设条件后,确定第二节点作为第二时间段的模型参数融合装置;其中,所述第二节点为所述M个节点中K个节点的任一个节点,所述K≤所述M;
第三发送单元,用于向所述第二节点发送节点融合信息,所述节点融合信息包括所述M个节点的地址和融合状态信息;
第四发送单元,用于向所述第二节点之外的其他节点发送所述第二节点的地址。
24.根据权利要求22所述的装置,其特征在于,所述模型参数融合装置为所述M个节点中的至少一个节点,所述至少一个节点接收每个节点在完成指定计算后发送的地址和融合状态信息,确定满足融合条件的N个节点,向所述N个节点中的每个节点发送融合指示信息,为:所述至少一个节点中的任一节点根据接收的所述地址和融合状态信息,确定满足融合条件的N个节点,向所述N个节点中的每个节点发送融合指示信息。
25.一种节点,其特征在于,所述节点包括处理器和存储器,所述存储器中存储代码和数据,所述处理器可运行存储器中的代码,所述处理器用于执行上述权利要求1-6任一项所述的模型参数融合方法。
26.一种融合控制器,其特征在于,所述融合控制器包括处理器和存储器,所述存储器中存储代码和数据,所述处理器可运行存储器中的代码,所述处理器用于执行上述权利要求7-11任一项所述的模型参数融合方法。
27.一种机器学习系统,其特征在于,所述机器学习系统包括上述权利要求25所述的一种节点,以及权利要求26所述的一种融合控制器。
28.根据权利要求27所述的机器学习系统,其特征在于,所述融合控制器为独立于所述节点设置,或者配置在所述节点上。
CN201580001419.1A 2015-11-16 2015-11-16 模型参数融合方法及装置 Active CN107004003B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2015/094746 WO2017084020A1 (zh) 2015-11-16 2015-11-16 模型参数融合方法及装置

Publications (2)

Publication Number Publication Date
CN107004003A CN107004003A (zh) 2017-08-01
CN107004003B true CN107004003B (zh) 2020-04-28

Family

ID=58717186

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580001419.1A Active CN107004003B (zh) 2015-11-16 2015-11-16 模型参数融合方法及装置

Country Status (4)

Country Link
US (1) US11373116B2 (zh)
EP (2) EP3745284A1 (zh)
CN (1) CN107004003B (zh)
WO (1) WO2017084020A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102118073B1 (ko) * 2015-11-16 2020-06-02 후아웨이 테크놀러지 컴퍼니 리미티드 모델 파라미터 조합 방법 및 장치
CN109840501B (zh) * 2019-01-31 2021-06-01 深圳市商汤科技有限公司 一种图像处理方法及装置、电子设备、存储介质
CN110705177B (zh) * 2019-09-29 2023-05-16 支付宝(杭州)信息技术有限公司 基于机器学习的终端风险评估模型的生成方法及其系统
CN111178443B (zh) * 2019-12-31 2023-10-31 东软集团股份有限公司 模型参数选择、图像分类、信息识别方法及装置、设备
CN115665227B (zh) * 2022-12-28 2023-04-07 北京交通大学 一种普适的异构融合算网资源智慧适配网络架构及方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7321843B2 (en) * 2005-09-30 2008-01-22 Universidad De Salamanca Method for generating new flow cytometry data files containing an infinite number of dimensions based on data estimation
CN101141413A (zh) * 2006-09-06 2008-03-12 同济大学 一种公交信息采集和信息传输的方法及其实现系统
CN101282243A (zh) * 2008-03-05 2008-10-08 中科院嘉兴中心微系统所分中心 无线传感器网络分布式融合识别方法
CN103503463A (zh) * 2011-11-23 2014-01-08 华为技术有限公司 视频广告播放方法、设备和系统
CN103578092A (zh) * 2013-11-11 2014-02-12 西北大学 一种多聚焦图像融合方法
CN104598600A (zh) * 2015-01-23 2015-05-06 南京师范大学 一种基于分布式内存的并行数字地形分析优化方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8027938B1 (en) * 2007-03-26 2011-09-27 Google Inc. Discriminative training in machine learning
CN101996197B (zh) * 2009-08-31 2012-12-26 中国移动通信集团公司 聚类实现方法及系统
JP5584914B2 (ja) * 2010-07-15 2014-09-10 株式会社日立製作所 分散計算システム
CN102467570B (zh) * 2010-11-17 2014-03-12 日电(中国)有限公司 用于分布式数据仓库的连接查询系统和方法
CN102869064A (zh) * 2012-07-27 2013-01-09 南京邮电大学 基于特征级与决策级联合融合的分簇调制识别方法
US9037519B2 (en) * 2012-10-18 2015-05-19 Enjoyor Company Limited Urban traffic state detection based on support vector machine and multilayer perceptron
CN103914528B (zh) * 2014-03-28 2017-02-15 南京邮电大学 一种关联分析算法的并行化方法
CN105894087A (zh) * 2015-01-26 2016-08-24 华为技术有限公司 用于神经网络中训练参数集的系统和方法
CN104994172A (zh) * 2015-07-16 2015-10-21 浪潮(北京)电子信息产业有限公司 一种云存储系统的监控管理系统和方法
KR102118073B1 (ko) * 2015-11-16 2020-06-02 후아웨이 테크놀러지 컴퍼니 리미티드 모델 파라미터 조합 방법 및 장치
CN105959987B (zh) * 2016-04-14 2019-05-14 北京邮电大学 一种提高无线传感器网络能量利用率和服务性能的数据融合算法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7321843B2 (en) * 2005-09-30 2008-01-22 Universidad De Salamanca Method for generating new flow cytometry data files containing an infinite number of dimensions based on data estimation
CN101141413A (zh) * 2006-09-06 2008-03-12 同济大学 一种公交信息采集和信息传输的方法及其实现系统
CN101282243A (zh) * 2008-03-05 2008-10-08 中科院嘉兴中心微系统所分中心 无线传感器网络分布式融合识别方法
CN103503463A (zh) * 2011-11-23 2014-01-08 华为技术有限公司 视频广告播放方法、设备和系统
CN103578092A (zh) * 2013-11-11 2014-02-12 西北大学 一种多聚焦图像融合方法
CN104598600A (zh) * 2015-01-23 2015-05-06 南京师范大学 一种基于分布式内存的并行数字地形分析优化方法

Also Published As

Publication number Publication date
CN107004003A (zh) 2017-08-01
US11373116B2 (en) 2022-06-28
EP3370166B1 (en) 2020-05-06
EP3745284A1 (en) 2020-12-02
US20180267927A1 (en) 2018-09-20
EP3370166A4 (en) 2018-10-31
EP3370166A1 (en) 2018-09-05
WO2017084020A1 (zh) 2017-05-26

Similar Documents

Publication Publication Date Title
CN107004003B (zh) 模型参数融合方法及装置
WO2017084016A1 (zh) 模型参数融合方法及装置
CN112153700B (zh) 一种网络切片资源管理方法及设备
CN104901989B (zh) 一种现场服务提供系统及方法
CN108268372B (zh) Mock测试处理方法、装置、存储介质和计算机设备
CN108564164B (zh) 一种基于spark平台的并行化深度学习方法
CN110995513B (zh) 物联网系统中的数据发送、接收方法、物联网设备及平台
US20160301765A1 (en) Method and device for processing service access
CN103795804A (zh) 存储资源调度方法及存储计算系统
CN110209549B (zh) 数据处理方法、相关装置、相关设备和系统
CN111966289A (zh) 基于Kafka集群的分区优化方法和系统
CN106201715A (zh) 一种任务调度方法和装置
CN112073237B (zh) 一种云边架构中大规模目标网络构建方法
CN110891087B (zh) 一种日志传输方法、装置及电子设备和存储介质
CN110557679B (zh) 一种视频内容识别方法、设备、介质和系统
CN104331330A (zh) 资源池生成方法以及装置
CN111262723B (zh) 一种基于模块化硬件和软件定义的边缘智能计算平台
CN115543582A (zh) 超算算力网络统一调度方法、系统及设备
WO2019225420A1 (ja) 変換装置、および、変換プログラム
CN110929236A (zh) 列车自动监控系统中用户权限管理方法及装置
CN112291103B (zh) 网络调度方法、装置、电子设备及存储介质
CN104506663B (zh) 一种智能云计算运行管理系统
CN112636976B (zh) 业务质量确定方法、装置、电子设备和存储介质
CN105282106A (zh) 信息播放的控制方法及装置
EP4170974A1 (en) Slice service processing method and apparatus, network device, and readable storage medium

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