CN112446485A - 一种神经网络协同训练方法、装置以及相关产品 - Google Patents

一种神经网络协同训练方法、装置以及相关产品 Download PDF

Info

Publication number
CN112446485A
CN112446485A CN201910819947.8A CN201910819947A CN112446485A CN 112446485 A CN112446485 A CN 112446485A CN 201910819947 A CN201910819947 A CN 201910819947A CN 112446485 A CN112446485 A CN 112446485A
Authority
CN
China
Prior art keywords
data
weight
node
weight gradient
gradient data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910819947.8A
Other languages
English (en)
Other versions
CN112446485B (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.)
Anhui Cambricon Information Technology Co Ltd
Original Assignee
Anhui Cambricon Information Technology 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 Anhui Cambricon Information Technology Co Ltd filed Critical Anhui Cambricon Information Technology Co Ltd
Priority to CN201910819947.8A priority Critical patent/CN112446485B/zh
Priority to PCT/CN2020/095205 priority patent/WO2021036404A1/zh
Publication of CN112446485A publication Critical patent/CN112446485A/zh
Application granted granted Critical
Publication of CN112446485B publication Critical patent/CN112446485B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections

Abstract

本申请提供一种神经网络协同训练方法、装置及相关产品。所述产品包括一种电子设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现神经网络协同训练方法。本申请提供的技术方案针对在进行神经网络各个网络层的运算过程中以及神经网络训练的过程中数据通信的通信时间长的问题,具有减少通信时间、提高运算效率的优点。

Description

一种神经网络协同训练方法、装置以及相关产品
技术领域
本申请涉及信息处理技术领域,具体涉及一种神经网络协同训练方法、装置以及相关产品。
背景技术
目前,人工神经网络是所有智能方法中最常见的计算模型之一。在进行神经网络各个网络层的运算过程中以及神经网络训练的过程中,存在数据通信的通信时间以及处理数据的计算时间。
然而,现有技术中还没有有效减少通信时间,使得数据通信的时间被数据计算的时间覆盖的方案。为了改进性能,有必要采用各种手段来改进神经网络中的网络层运算以及协同训练的过程。
发明内容
本申请实施例提供了一种神经网络协同训练方法、装置及相关产品,可减少数据通信时间,使得通信过程被计算过程覆盖,并提高协同训练的效率。
第一方面,提供一种协同训练的方法,所述方法应用于包括多个节点的人工智能处理器,所述多个节点包括控制节点以及多个计算节点,所述多个计算节点中的任一计算节点,所述方法包括如下步骤:
获取第一权值梯度数据;
在存在来自所述多个计算节点中的第二计算节点的第二权值梯度数据的情况下,在将来自所述第二计算节点的所述第二权值梯度数据与所述第一权值梯度数据进行加和运算得到更新的权值梯度数据的过程中,发送所述更新的权值梯度数据。
第二方面,提供一种协同训练的装置,所述装置应用于包括多个节点的人工智能处理器,所述多个节点包括控制节点以及多个计算节点,所述多个计算节点中的任一计算节点,所述装置包括:
获取单元,用于获取第一权值梯度数据;
第一发送单元,用于在存在来自所述多个计算节点中的第二计算节点的第二权值梯度数据的情况下,在将来自所述第二计算节点的所述第二权值梯度数据与所述第一权值梯度数据进行加和运算得到更新的权值梯度数据的过程中,发送所述更新的权值梯度数据。
第三方面,提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现第一方面的方法。
第四方面,提供一种计算机可读存储介质,其存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行第一方面提供的方法。
第五方面,提供一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序可操作来使计算机执行第一方面提供的方法。
本申请提供的技术方案在协同训练的过程中,符合获取梯度更新数据信号的要求计算节点将本地的权值梯度数据与来自另外的计算节点的权值梯度数据进行加和,在加和的过程中,发送加和的结果,即一边计算一边将发送计算结果,而不是待计算完成后再发送计算结果;不符合获取梯度更新数据信号的要求计算节点在接收其他计算节点的权值梯度数据的过程中发送所接收的权值梯度数据,在接收过程中发送数据,即一边接收数据一边发送数据,而不是待接收完成后再发送;从而,边计算边发送以及边接收边发送,能够有效减少通信时间;并且,在训练的过程中,对多个计算节点进行分组,从而在多个计算节点算力不匹配的时候,可以只同步部分计算节点,从而减少了不同计算节点之间的等待开销,提高运算效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一种神经网络构架的结构示意图。
图2提供了根据本申请一个实施例的多核系统的示意图。
图3提供了根据本申请一个实施例的协同训练系统的拓扑结果的示意图。
图4提供了根据本申请一个实施例的协同训练的示意图。
图5提供了根据本申请一个实施例的动态调整计算节点分组的示意图。
图6是根据本申请实施例的协同训练方法的流程图。
图7是根据本申请实施例的协同训练装置的示意图。
图8是本申请实施例提供的一种电子设备的结构图。
具体实施方式
下面将结合本披露实施例中的附图,对本披露实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本披露一部分实施例,而不是全部的实施例。基于本披露中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本披露保护的范围。
应当理解,本披露的权利要求、说明书及附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。本披露的说明书和权利要求书中使用的术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本披露说明书中所使用的术语仅仅是出于描述特定实施例的目的,而并不意在限定本披露。如在本披露说明书和权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。还应当进一步理解,在本披露说明书和权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
参阅图1,图1提供了一种神经网络构架示意图,如图1所示,神经网络构架可以包括多层结构,该多层结构如图1所示,可以包括:输入层、卷积层1、batchnorm层、卷积层2、中间层(依据不同功能的神经网络构架具有不同的中间层,该中间层可以为至少一层)、卷积层n、全连接层1、激活(例如激活函数:softmax)层。对于神经网络构架,对于计算量较大的层可以称为计算层,例如卷积层、全连接层等等,当然在实际应用中,上述计算层还可以包含其他类型的层,另外,本申请提供的图1中的神经网络构架仅仅是为了举例说明,本申请中的神经网络并不局限如图1所示的构架。
图2提供了根据本申请一个实施例的多核系统的示意图。如图2所示,该核系统可以为一个神经网络芯片。该多核系统包括16个核(CORE),包含4个存储节点,16个核通过一个环状的NOC与4个存储节点DRAM相连。需要注意的是,该多核系统的核可以为神经网络芯片中的计算核,存储节点的类型可以是任意类型的存储器,例如,动态随机存取存储器(Dynamic Random Access Memory,DRAM)、静态随机存取存储器(Static Random AccessMemory,SRAM)等。
根据图2所示的示例,多核系统为16个核以及4的存储节点。然而,可以理解的是,多核系统可以包括任意数量的核以及任意数量的存储节点,这些都属于本申请覆盖的范围。
图3提供了根据本申请一个实施例的协同训练系统的拓扑结果的示意图。如图3所示,协同训练系统包括控制节点和多个计算节点,控制节点和多个计算节点之间可以传递数据。在图3所示实施例中,控制节点和计算节点的数量分别为1个和8个,然而,本领域技术人员能够理解的是,根据实际需要和具体的应用,控制节点和计算节点的数量可以是任意的。
虽然图3显示了控制节点和计算节点采用环状拓扑结果,然而,这只是便于说明本申请方案所举的一个具体实现方式。需要注意的是,根据实际需要和具体的应用,控制节点和计算节点之间可以采用任意的拓扑结构,譬如环状、网状、树状,或者其他包括环状的结构。另外,控制节点包括参数服务节点。控制节点和计算节点包括神经网络芯片或者所述神经网络芯片中的计算核。
图4提供了根据本申请一个实施例的协同训练的示意图。控制节点向所有计算节点发送获取梯度更新数据信号。
在一个实施例中,该获取梯度更新数据信号可以包括需要相关计算节点的权值梯度数据的计算节点标识。比如,控制节点希望获取计算节点1、计算节点2、计算节点4和计算节点5的权值梯度数据。那么,每个计算节点在收到获取梯度更新数据信号,看自己是否满足获取梯度更新数据信号的条件。
在另一个实施例中,该获取梯度更新数据信号还可以包括更新的权值梯度数据的代数的标识。计算节点将更新的权值梯度数据的代数于本地的权值梯度数据所标识的代数进行比较,如果二者的差值符合预期,计算节点将本地的权值梯度数据合并到此次训练传输中。比如,更新的权值梯度数据的代数的标识代数为8,而代数差值预定为3,本地的权值梯度数据所标识的代数为5,代数差值符合预期,那么,计算节点就将本地的权值梯度数据合并到此次训练传输中。
在又一个实施例中,该获取梯度更新数据信号可以包括需要相关计算节点的权值梯度数据的计算节点标识和更新的权值梯度数据的代数的标识。这样,计算节点在同时满足需要相关计算节点的权值梯度数据的计算节点标识和更新的权值梯度数据的代数的标识的情况下,才需要将本地的权值梯度数据合并到此次训练传输中。
以上仅仅举出了获取梯度更新数据信号的一些具体实现方式,本申请并不限于上述实现方式,本领域技术人员在上述实施例的启示下想到的其他实现方式都属于本申请覆盖的范围。
控制节点通过发送获取梯度更新数据信号,各个计算节点在判断是否符合获取梯度更新数据信号的要求的过程中,计算节点自动形成了分组,从而在多个计算节点算力不匹配的时候,可以只同步部分计算节点,从而减少了不同计算节点之间的等待开销,提高运算效率。
如图4所示,假设计算节点1、计算节点2、计算节点4和计算节点5(用阴影表示)满足获取梯度更新数据信号的条件,需要将本地的权值梯度数据合并到此次训练传输中。对于计算节点1来说,其只需将所获取的权值梯度数据1发送至计算节点2。对于计算节点2来说,将来自计算节点1的权值梯度数据1与本地获取的权值梯度数据2进行加和,并将加和结果发送至计算节点3。对于计算节点3来说,由于其不满足获取梯度更新数据信号的条件,无需将本地的权值梯度数据合并到此次训练传输中,那么计算节点3只需将所接收的来自计算节点2的权值梯度数据发送出去(直传)。
在一个实施例中,计算节点2将来自计算节点1的权值梯度数据1与本地获取的权值梯度数据2进行加和并将加和结果发送至计算节点3的过程,是一边进行加和处理一边发送加和结果,即计算得到一部分加和结果就发送一部分,不是待计算完成后再发送计算结果。在另一个实施例中,计算节点3将所接收的来自计算节点2的权值梯度数据发送出去的过程,是一边接收数据一边发送数据,即接收一部分数据就发送一部分,而不是待接收完成后再发送。所以,上述边计算边发送以及边接收边发送的方式,能够有效减少通信时间。
计算节点4和计算节点5采用类似于计算节点2处理和发送数据的方式,计算节点6、计算节点7和计算节点8采用类似于计算节点3处理和发送数据的方式。
如图4所示,当控制节点收到传输回来的归并的权值梯度数据后,更新权值数据,并将更新的权值数据广播给所有计算节点,同时在信息中标记标签,表示该更新的权值数据的代数。如图4所示,每个计算节点在收到更新的权值数据后将其保存,更新本地的权值数据,在下次训练的时候,使用该更新的权值数据进行训练,同时训练得到的权值梯度数据使用更新的权值数据附带的标签标记。
每个计算节点在接收到更新的权值数据的过程中,在存在接收权值数据的下一个计算节点的情况下,将该权值数据发送给下一个计算节点。如图4所示,计算节点1将权值数据发送给计算节点2,计算节点2将权值数据发送给计算节点3,……计算节点7将权值数据发送给计算节点8。计算节点在接收和发送权值数据,可以采用接收完成再发送的方式。并且,在一个优选的实施例中,计算节点在接收和发送权值数据,也可以采用边接收边发送的方式,即接收一部分数据就发送一部分,而不是待接收完成后再发送。
在一个可选的实施例中,为了自动化的优化传输分组,需要动态的对计算节点的分组进行优化。首先,计算节点在传递本地权值梯度数据的时候,将生成该权值梯度数据的时间附带在数据内,传递回控制节点。然后,控制节点在每一个分组传输结束之后,将每个分组各个计算节点反馈回来的时间戳进行比较,最后,对于各个分组有重合的部分进行交换,直到各个分组内各个计算节点返回的时间戳于另一个分组完全分离。
图5提供了根据本申请一个实施例的动态调整计算节点分组的示意图。如图5所示,原来的分组方式为:计算节点1、计算节点2、计算节点4和计算节点5为一个分组,而计算节点3、计算节点6、计算节点7和计算节点8为另一个分组。控制节点将计算节点1至计算节点8返回的时间戳进行相互比较后,为了使得两个分组的时间戳没有时间上的重叠交错,需要将计算节点3和计算节点5的位置交换,那么,控制节点就将计算节点3和计算节点5的位置交换,实现计算节点分组的动态调整,调整后的分组方式为:计算节点1、计算节点2、计算节点3和计算节点4为一个分组,而计算节点5、计算节点6、计算节点7和计算节点8为另一个分组。
为了便于对方案的理解,图5给出了8个计算节点和两个分组的实施例。本领域技术人员可以理解的是,根据实际需要和具体应用,上述动态分组的方式可以适用其他任意数量的计算节点和其他任意数量的分组。并且,本领域技术人员在上述实施例的启发下想到的其他动态分组方式都属于本申请覆盖的范围。
基于上述实施例,本申请提出一种协同方法。如图6所示,所述协同训练方法包括:
步骤S601,获取第一权值梯度数据。
在图4所示的实施例中,每个计算节点在训练后获得本地获取的权值梯度数据。
步骤S602,在存在来自所述多个计算节点中的第二计算节点的第二权值梯度数据的情况下,在将来自所述第二计算节点的所述第二权值梯度数据与所述第一权值梯度数据进行加和运算得到更新的权值梯度数据的过程中,发送所述更新的权值梯度数据。
在图4所示的实施例中,对计算节点2来说,存在来自计算节点1的权值梯度数据1,将来自计算节点1的权值梯度数据1与本地获取的权值梯度数据2进行加和得到更新的权值梯度数据,并将该更新的权值梯度数据发送至计算节点3。
计算节点2将来自计算节点1的权值梯度数据1与本地获取的权值梯度数据2进行加和并将加和结果发送至计算节点3的过程,是一边进行加和处理一边发送加和结果,即计算得到一部分加和结果就发送一部分,不是待计算完成后再发送计算结果,从而能够有效减少通信时间。
在进一步的实施例中,所述协同训练方法还包括:
步骤S603,在不存在来自所述第二计算节点的权值梯度数据的情况下,发送所述第一权值梯度数据。
在图4所示的实施例中,对计算节点1来说,由于不存在来自其他计算节点的权值梯度数据,其只需将所获取的权值梯度数据1发送至计算节点2。
在进一步的实施例中,所述协同训练方法还包括:
步骤S604,接收获取梯度更新数据信号。
在图4所示的实施例中,控制节点向所有计算节点发送获取梯度更新数据信号。
在一个实施例中,该获取梯度更新数据信号可以包括需要相关计算节点的权值梯度数据的计算节点标识。比如,控制节点希望获取计算节点1、计算节点2、计算节点4和计算节点5的权值梯度数据。那么,每个计算节点在收到获取梯度更新数据信号,看自己是否满足获取梯度更新数据信号的条件。
在另一个实施例中,该获取梯度更新数据信号还可以包括更新的权值梯度数据的代数的标识。计算节点将更新的权值梯度数据的代数于本地的权值梯度数据所标识的代数进行比较,如果二者的差值符合预期,计算节点将本地的权值梯度数据合并到此次训练传输中。比如,更新的权值梯度数据的代数的标识代数为8,而代数差值预定为3,本地的权值梯度数据所标识的代数为5,代数差值符合预期,那么,计算节点就将本地的权值梯度数据合并到此次训练传输中。
在又一个实施例中,该获取梯度更新数据信号可以包括需要相关计算节点的权值梯度数据的计算节点标识和更新的权值梯度数据的代数的标识。这样,计算节点在同时满足需要相关计算节点的权值梯度数据的计算节点标识和更新的权值梯度数据的代数的标识的情况下,才需要将本地的权值梯度数据合并到此次训练传输中。
控制节点通过发送获取梯度更新数据信号,各个计算节点在判断是否符合获取梯度更新数据信号的要求的过程中,计算节点自动形成了分组,从而在多个计算节点算力不匹配的时候,可以只同步部分计算节点,从而减少了不同计算节点之间的等待开销,提高运算效率。
在进一步的实施例中,所述协同训练方法还包括:
步骤S605,在符合所述获取梯度更新数据信号的要求的情况下,执行步骤S602或步骤S603。
在图4所示的实施例中,计算节点1、计算节点2、计算节点4和计算节点5计算节点符合所述获取梯度更新数据信号的要求,需要将本地的权值梯度数据合并到此次训练传输中,而将本地的权值梯度数据合并到此次训练传输中的方式通过步骤S602或步骤S603来实现。
在进一步的实施例中,所述协同训练方法还包括:
步骤S606,在不符合所述获取梯度更新数据信号的要求且存在来自所述第二计算节点的所述第二权值梯度数据的情况下,在接收所述第二权值梯度数据的过程中,发送所述第二权值梯度数据。
在图4所示的实施例中,计算节点3不符合所述获取梯度更新数据信号的要求并存在来自计算节点2的权值梯度数据,那么计算节点3只需将所接收的来自计算节点2的权值梯度数据发送出去(直传)。
在一个实施例中,在另一个实施例中,计算节点3将所接收的来自计算节点2的权值梯度数据发送出去的过程,是一边接收数据一边发送数据,即接收一部分数据就发送一部分,而不是待接收完成后再发送。所以,能够有效减少通信时间。
在进一步的实施例中,所述协同训练方法还包括:
步骤S607,接收所述控制节点广播的权值数据。
在图4所示的实施例中,当控制节点收到传输回来的归并的权值梯度数据后,更新权值数据,并将更新的权值数据广播给所有计算节点,同时在信息中标记标签,表示该更新的权值数据的代数。
在进一步的实施例中,所述协同训练方法还包括:
步骤S608,保存所述权值数据。
如图4所示,每个计算节点在收到更新的权值数据后将其保存,更新本地的权值数据,在下次训练的时候,使用该更新的权值数据进行训练,同时训练得到的权值梯度数据使用更新的权值数据附带的标签标记。
在进一步的实施例中,所述协同训练方法还包括:
步骤S609,在存在接收所述权值数据的第三计算节点的情况下,在接收所述权值数据的过程中,将所述权值数据发送至所述第三计算节点。
如图4所示,每个计算节点在接收到更新的权值数据的过程中,在存在接收权值数据的下一个计算节点的情况下,将该权值数据发送给下一个计算节点。如图4所示,计算节点1将权值数据发送给计算节点2,计算节点2将权值数据发送给计算节点3,……计算节点7将权值数据发送给计算节点8。计算节点在接收和发送权值数据,可以采用接收完成再发送的方式。并且,在一个优选的实施例中,计算节点在接收和发送权值数据,也可以采用边接收边发送的方式,即接收一部分数据就发送一部分,而不是待接收完成后再发送。
在进一步的实施例中,所述协同训练方法还包括:
步骤S610,发送获取所述第一权值梯度数据的时间戳。
每个计算节点在传递本地权值梯度数据的时候,将生成该权值梯度数据的时间附带在数据内,传递回控制节点。控制节点以及各个计算节点传递回的时间戳,对计算节点的分组进行动态调整。例如,在图5所示的实施例中,控制节点将计算节点3和计算节点5的位置进行交换,将计算节点3和计算节点5的分组进行了调整。
根据上述协同训练的方法,符合获取梯度更新数据信号的要求计算节点将本地的权值梯度数据与来自另外的计算节点的权值梯度数据进行加和,在加和的过程中,发送加和的结果,即一边计算一边将发送计算结果,而不是待计算完成后再发送计算结果;不符合获取梯度更新数据信号的要求计算节点在接收其他计算节点的权值梯度数据的过程中发送所接收的权值梯度数据,在接收过程中发送数据,即一边接收数据一边发送数据,而不是待接收完成后再发送;从而,边计算边发送以及边接收边发送,能够有效减少通信时间;并且,在训练的过程中,对多个计算节点进行分组,从而在多个计算节点算力不匹配的时候,可以只同步部分计算节点,从而减少了不同计算节点之间的等待开销,提高运算效率。
根据另一个实施例,本发明还提供一种协同训练的装置。如图7所示,该协同训练的装置包括:
获取单元701,用于获取第一权值梯度数据。
在图4所示的实施例中,每个计算节点在训练后获得本地获取的权值梯度数据。
第一发送单元702,用于在存在来自所述多个计算节点中的第二计算节点的第二权值梯度数据的情况下,在将来自所述第二计算节点的所述第二权值梯度数据与所述第一权值梯度数据进行加和运算得到更新的权值梯度数据的过程中,发送所述更新的权值梯度数据。
在图4所示的实施例中,对计算节点2来说,存在来自计算节点1的权值梯度数据1,将来自计算节点1的权值梯度数据1与本地获取的权值梯度数据2进行加和得到更新的权值梯度数据,并将该更新的权值梯度数据发送至计算节点3。
计算节点2将来自计算节点1的权值梯度数据1与本地获取的权值梯度数据2进行加和并将加和结果发送至计算节点3的过程,是一边进行加和处理一边发送加和结果,即计算得到一部分加和结果就发送一部分,不是待计算完成后再发送计算结果,从而能够有效减少通信时间。
在进一步的实施例中,所述协同训练装置还包括:
第二发送单元703,用于在不存在来自所述第二计算节点的权值梯度数据的情况下,发送所述第一权值梯度数据。
在图4所示的实施例中,对计算节点1来说,由于不存在来自其他计算节点的权值梯度数据,其只需将所获取的权值梯度数据1发送至计算节点2。
在进一步的实施例中,所述协同训练装置还包括:
第一接收单元704,用于接收获取梯度更新数据信号。
在图4所示的实施例中,控制节点向所有计算节点发送获取梯度更新数据信号。
在一个实施例中,该获取梯度更新数据信号可以包括需要相关计算节点的权值梯度数据的计算节点标识。比如,控制节点希望获取计算节点1、计算节点2、计算节点4和计算节点5的权值梯度数据。那么,每个计算节点在收到获取梯度更新数据信号,看自己是否满足获取梯度更新数据信号的条件。
在另一个实施例中,该获取梯度更新数据信号还可以包括更新的权值梯度数据的代数的标识。计算节点将更新的权值梯度数据的代数于本地的权值梯度数据所标识的代数进行比较,如果二者的差值符合预期,计算节点将本地的权值梯度数据合并到此次训练传输中。比如,更新的权值梯度数据的代数的标识代数为8,而代数差值预定为3,本地的权值梯度数据所标识的代数为5,代数差值符合预期,那么,计算节点就将本地的权值梯度数据合并到此次训练传输中。
在又一个实施例中,该获取梯度更新数据信号可以包括需要相关计算节点的权值梯度数据的计算节点标识和更新的权值梯度数据的代数的标识。这样,计算节点在同时满足需要相关计算节点的权值梯度数据的计算节点标识和更新的权值梯度数据的代数的标识的情况下,才需要将本地的权值梯度数据合并到此次训练传输中。
控制节点通过发送获取梯度更新数据信号,各个计算节点在判断是否符合获取梯度更新数据信号的要求的过程中,计算节点自动形成了分组,从而在多个计算节点算力不匹配的时候,可以只同步部分计算节点,从而减少了不同计算节点之间的等待开销,提高运算效率。
在进一步的实施例中,所述协同训练装置还包括:
执行单元705,用于在符合所述获取梯度更新数据信号的要求的情况下,执行第一发送单元702或第二发送单元703的步骤。
在图4所示的实施例中,计算节点1、计算节点2、计算节点4和计算节点5计算节点符合所述获取梯度更新数据信号的要求,需要将本地的权值梯度数据合并到此次训练传输中,而将本地的权值梯度数据合并到此次训练传输中的方式通过步骤S602或步骤S603来实现。
在进一步的实施例中,所述协同训练方法还包括:
第三发送单元706,用于在不符合所述获取梯度更新数据信号的要求且存在来自所述第二计算节点的所述第二权值梯度数据的情况下,在接收所述第二权值梯度数据的过程中,发送所述第二权值梯度数据。
在图4所示的实施例中,计算节点3不符合所述获取梯度更新数据信号的要求并存在来自计算节点2的权值梯度数据,那么计算节点3只需将所接收的来自计算节点2的权值梯度数据发送出去(直传)。
在一个实施例中,在另一个实施例中,计算节点3将所接收的来自计算节点2的权值梯度数据发送出去的过程,是一边接收数据一边发送数据,即接收一部分数据就发送一部分,而不是待接收完成后再发送。所以,能够有效减少通信时间。
在进一步的实施例中,所述协同训练装置还包括:
第二接收单元707,用于接收所述控制节点广播的权值数据。
在图4所示的实施例中,当控制节点收到传输回来的归并的权值梯度数据后,更新权值数据,并将更新的权值数据广播给所有计算节点,同时在信息中标记标签,表示该更新的权值数据的代数。
在进一步的实施例中,所述协同训练装置还包括:
保存单元708,用于保存所述权值数据。
如图4所示,每个计算节点在收到更新的权值数据后将其保存,更新本地的权值数据,在下次训练的时候,使用该更新的权值数据进行训练,同时训练得到的权值梯度数据使用更新的权值数据附带的标签标记。
在进一步的实施例中,所述协同训练装置还包括:
第四发送单元709,用于在存在接收所述权值数据的第三计算节点的情况下,在接收所述权值数据的过程中,将所述权值数据发送至所述第三计算节点。
如图4所示,每个计算节点在接收到更新的权值数据的过程中,在存在接收权值数据的下一个计算节点的情况下,将该权值数据发送给下一个计算节点。如图4所示,计算节点1将权值数据发送给计算节点2,计算节点2将权值数据发送给计算节点3,……计算节点7将权值数据发送给计算节点8。计算节点在接收和发送权值数据,可以采用接收完成再发送的方式。并且,在一个优选的实施例中,计算节点在接收和发送权值数据,也可以采用边接收边发送的方式,即接收一部分数据就发送一部分,而不是待接收完成后再发送。
在进一步的实施例中,所述协同训练装置还包括:
第五发送单元710,用于发送获取所述第一权值梯度数据的时间戳。
每个计算节点在传递本地权值梯度数据的时候,将生成该权值梯度数据的时间附带在数据内,传递回控制节点。控制节点以及各个计算节点传递回的时间戳,对计算节点的分组进行动态调整。例如,在图5所示的实施例中,控制节点将计算节点3和计算节点5的位置进行交换,将计算节点3和计算节点5的分组进行了调整。
根据上述协同训练的装置,符合获取梯度更新数据信号的要求计算节点将本地的权值梯度数据与来自另外的计算节点的权值梯度数据进行加和,在加和的过程中,发送加和的结果,即一边计算一边将发送计算结果,而不是待计算完成后再发送计算结果;不符合获取梯度更新数据信号的要求计算节点在接收其他计算节点的权值梯度数据的过程中发送所接收的权值梯度数据,在接收过程中发送数据,即一边接收数据一边发送数据,而不是待接收完成后再发送;从而,边计算边发送以及边接收边发送,能够有效减少通信时间;并且,在训练的过程中,对多个计算节点进行分组,从而在多个计算节点算力不匹配的时候,可以只同步部分计算节点,从而减少了不同计算节点之间的等待开销,提高运算效率。
参阅图8,图8提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如图6所示的方法以及细化方案。
应该理解,上述的装置实施例仅是示意性的,本披露的装置还可通过其它的方式实现。例如,上述实施例中所述单元/模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如,多个单元、模块或组件可以结合,或者可以集成到另一个系统,或一些特征可以忽略或不执行。
另外,若无特别说明,在本披露各个实施例中的各功能单元/模块可以集成在一个单元/模块中,也可以是各个单元/模块单独物理存在,也可以两个或两个以上单元/模块集成在一起。上述集成的单元/模块既可以采用硬件的形式实现,也可以采用软件程序模块的形式实现。
所述集成的单元/模块如果以硬件的形式实现时,该硬件可以是数字电路,模拟电路等等。硬件结构的物理实现包括但不局限于晶体管,忆阻器等等。若无特别说明,所述处理器或芯片可以是任何适当的硬件处理器,比如CPU、GPU、FPGA、DSP和ASIC等等。若无特别说明,所述片上缓存、片外内存、存储器可以是任何适当的磁存储介质或者磁光存储介质,比如,阻变式存储器RRAM(Resistive Random Access Memory)、动态随机存取存储器DRAM(Dynamic Random Access Memory)、静态随机存取存储器SRAM(Static Random-AccessMemory)、增强动态随机存取存储器EDRAM(Enhanced Dynamic Random Access Memory)、高带宽内存HBM(High-Bandwidth Memory)、混合存储立方HMC(Hybrid Memory Cube)等等。
所述集成的单元/模块如果以软件程序模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本披露的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本披露各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本申请实施例还提供一种计算机可读存储介质,其存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如图6所示的方法以及细化方案。
本申请实施例还提供一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序可操作来使计算机执行如图6所示的方法以及细化方案。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。上述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
依据以下条款可更好地理解前述内容:
条款1,一种协同训练的方法,所述方法应用于包括多个节点的人工智能处理器,所述多个节点包括控制节点以及多个计算节点,所述多个计算节点中的任一计算节点,所述方法包括如下步骤:
获取第一权值梯度数据;
在存在来自所述多个计算节点中的第二计算节点的第二权值梯度数据的情况下,在将来自所述第二计算节点的所述第二权值梯度数据与所述第一权值梯度数据进行加和运算得到更新的权值梯度数据的过程中,发送所述更新的权值梯度数据。
条款2,如条款1所述的方法,还包括:
在不存在来自所述第二计算节点的权值梯度数据的情况下,发送所述第一权值梯度数据。
条款3,如条款2所述的方法,还包括:
接收获取梯度更新数据信号;
在符合所述获取梯度更新数据信号的要求的情况下,执行如下步骤中的一者:
在存在来自所述多个计算节点中的第二计算节点的第二权值梯度数据的情况下,在将来自所述第二计算节点的所述第二权值梯度数据与所述第一权值梯度数据进行加和运算得到更新的权值梯度数据的过程中,发送所述更新的权值梯度数据;或者
在不存在来自所述第二计算节点的权值梯度数据的情况下,发送所述第一权值梯度数据。
条款4,如条款3所述的方法,还包括:
在不符合所述获取梯度更新数据信号的要求且存在来自所述第二计算节点的所述第二权值梯度数据的情况下,在接收所述第二权值梯度数据的过程中,发送所述第二权值梯度数据。
条款5,如条款3或4所述的方法,其中,所述获取梯度更新数据信号包括需要相关计算节点的权值梯度数据的计算节点标识以及/或者更新的权值梯度数据的代数的标识。
条款6,如条款5所述的方法,其中,所述获取梯度更新数据信号的要求包括:
属于所述计算节点标识指示的计算节点;以及/或者
所述第一权值梯度数据的代数与所述更新的权值梯度数据的代数之间的差值满足预设值。
条款7,如条款1至6任意一者所述的方法,还包括:
接收所述控制节点广播的权值数据;
保存所述权值数据,其中,所述权值数据用于训练;
在存在接收所述权值数据的第三计算节点的情况下,在接收所述权值数据的过程中,将所述权值数据发送至所述第三计算节点。
条款8,如条款1至7任意一者所述的方法,还包括:发送获取所述第一权值梯度数据的时间戳,其中,所述时间戳用于将所述多个计算节点进行动态分组。
条款9,如条款1至8任意一者所述的方法,其中,所述控制节点包括参数服务节点。
条款10,如条款1至9任意一者所述的方法,其中,所述多个节点形成的拓扑结构包括环状、网状、树状,或者其他包括环状的结构。
条款11,如条款1至10任意一者所述的方法,其中,所述节点包括神经网络芯片或者所述神经网络芯片中的计算核。
条款12,一种协同训练的装置,所述装置应用于包括多个节点的人工智能处理器,所述多个节点包括控制节点以及多个计算节点,所述多个计算节点中的任一计算节点,所述装置包括:
获取单元,用于获取第一权值梯度数据;
第一发送单元,用于在存在来自所述多个计算节点中的第二计算节点的第二权值梯度数据的情况下,在将来自所述第二计算节点的所述第二权值梯度数据与所述第一权值梯度数据进行加和运算得到更新的权值梯度数据的过程中,发送所述更新的权值梯度数据。
条款13,如条款12所述的装置,还包括:
第二发送单元,用于在不存在来自所述第二计算节点的权值梯度数据的情况下,发送所述第一权值梯度数据。
条款14,如条款13所述的装置,还包括:
第一接收单元,用于接收获取梯度更新数据信号;
执行单元,用于在符合所述获取梯度更新数据信号的要求的情况下,执行如下中的一者:
在存在来自所述多个计算节点中的第二计算节点的第二权值梯度数据的情况下,在将来自所述第二计算节点的所述第二权值梯度数据与所述第一权值梯度数据进行加和运算得到更新的权值梯度数据的过程中,发送所述更新的权值梯度数据;或者
在不存在来自所述第二计算节点的权值梯度数据的情况下,发送所述第一权值梯度数据。
条款15,如条款14所述的装置,还包括:
第三发送单元,用于在不符合所述获取梯度更新数据信号的要求且存在来自所述第二计算节点的所述第二权值梯度数据的情况下,在接收所述第二权值梯度数据的过程中,发送所述第二权值梯度数据。
条款16,如条款14或15所述的装置,其中,所述获取梯度更新数据信号包括需要相关计算节点的权值梯度数据的计算节点标识以及/或者更新的权值梯度数据的代数的标识。
条款17,如条款16所述的装置,其中,所述获取梯度更新数据信号的要求包括:
属于所述计算节点标识指示的计算节点;以及/或者
所述第一权值梯度数据的代数与所述更新的权值梯度数据的代数之间的差值满足预设值。
条款18,如条款12至17任意一者所述的装置,还包括:
第二接收单元,用于接收所述控制节点广播的权值数据;
保存单元,用于保存所述权值数据,其中,所述权值数据用于训练;
第四发送单元,用于在存在接收所述权值数据的第三计算节点的情况下,在接收所述权值数据的过程中,将所述权值数据发送至所述第三计算节点。
条款19,如条款12至18任意一者所述的装置,还包括:第五发送单元,用于发送获取所述第一权值梯度数据的时间戳,其中,所述时间戳用于将所述多个计算节点进行动态分组。
条款20,如条款12至19任意一者所述的装置,其中,所述控制节点包括参数服务节点。
条款21,如条款12至20任意一者所述的装置,其中,所述多个节点形成的拓扑结构包括环状、网状、树状,或者其他包括环状的结构。
条款22,如条款12至21任意一者所述的装置,其中,所述节点包括神经网络芯片或者所述神经网络芯片中的计算核。
条款23,一种电子设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如条款1-11任一所述的方法。
条款24,一种计算机可读存储介质,其特征在于,其存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如条款1-11任一项所述的方法。
条款25,一种计算机程序产品,其特征在于,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序可操作来使计算机执行如条款1-11任一项所述的方法。
以上对本披露实施例进行了详细介绍,本文中应用了具体个例对本披露的原理及实施方式进行了阐述,以上实施例的说明仅用于帮助理解本披露的方法及其核心思想。同时,本领域技术人员依据本披露的思想,基于本披露的具体实施方式及应用范围上做出的改变或变形之处,都属于本披露保护的范围。综上所述,本说明书内容不应理解为对本披露的限制。

Claims (25)

1.一种协同训练的方法,所述方法应用于包括多个节点的人工智能处理器,所述多个节点包括控制节点以及多个计算节点,所述多个计算节点中的任一计算节点,所述方法包括如下步骤:
获取第一权值梯度数据;
在存在来自所述多个计算节点中的第二计算节点的第二权值梯度数据的情况下,在将来自所述第二计算节点的所述第二权值梯度数据与所述第一权值梯度数据进行加和运算得到更新的权值梯度数据的过程中,发送所述更新的权值梯度数据。
2.如权利要求1所述的方法,还包括:
在不存在来自所述第二计算节点的权值梯度数据的情况下,发送所述第一权值梯度数据。
3.如权利要求2所述的方法,还包括:
接收获取梯度更新数据信号;
在符合所述获取梯度更新数据信号的要求的情况下,执行如下步骤中的一者:
在存在来自所述多个计算节点中的第二计算节点的第二权值梯度数据的情况下,在将来自所述第二计算节点的所述第二权值梯度数据与所述第一权值梯度数据进行加和运算得到更新的权值梯度数据的过程中,发送所述更新的权值梯度数据;或者
在不存在来自所述第二计算节点的权值梯度数据的情况下,发送所述第一权值梯度数据。
4.如权利要求3所述的方法,还包括:
在不符合所述获取梯度更新数据信号的要求且存在来自所述第二计算节点的所述第二权值梯度数据的情况下,在接收所述第二权值梯度数据的过程中,发送所述第二权值梯度数据。
5.如权利要求3或4所述的方法,其中,所述获取梯度更新数据信号包括需要相关计算节点的权值梯度数据的计算节点标识以及/或者更新的权值梯度数据的代数的标识。
6.如权利要求5所述的方法,其中,所述获取梯度更新数据信号的要求包括:
属于所述计算节点标识指示的计算节点;以及/或者
所述第一权值梯度数据的代数与所述更新的权值梯度数据的代数之间的差值满足预设值。
7.如权利要求1至6任意一者所述的方法,还包括:
接收所述控制节点广播的权值数据;
保存所述权值数据,其中,所述权值数据用于训练;
在存在接收所述权值数据的第三计算节点的情况下,在接收所述权值数据的过程中,将所述权值数据发送至所述第三计算节点。
8.如权利要求1至7任意一者所述的方法,还包括:发送获取所述第一权值梯度数据的时间戳,其中,所述时间戳用于将所述多个计算节点进行动态分组。
9.如权利要求1至8任意一者所述的方法,其中,所述控制节点包括参数服务节点。
10.如权利要求1至9任意一者所述的方法,其中,所述多个节点形成的拓扑结构包括环状、网状、树状,或者其他包括环状的结构。
11.如权利要求1至10任意一者所述的方法,其中,所述节点包括神经网络芯片或者所述神经网络芯片中的计算核。
12.一种协同训练的装置,所述装置应用于包括多个节点的人工智能处理器,所述多个节点包括控制节点以及多个计算节点,所述多个计算节点中的任一计算节点,所述装置包括:
获取单元,用于获取第一权值梯度数据;
第一发送单元,用于在存在来自所述多个计算节点中的第二计算节点的第二权值梯度数据的情况下,在将来自所述第二计算节点的所述第二权值梯度数据与所述第一权值梯度数据进行加和运算得到更新的权值梯度数据的过程中,发送所述更新的权值梯度数据。
13.如权利要求12所述的装置,还包括:
第二发送单元,用于在不存在来自所述第二计算节点的权值梯度数据的情况下,发送所述第一权值梯度数据。
14.如权利要求13所述的装置,还包括:
第一接收单元,用于接收获取梯度更新数据信号;
执行单元,用于在符合所述获取梯度更新数据信号的要求的情况下,执行如下中的一者:
在存在来自所述多个计算节点中的第二计算节点的第二权值梯度数据的情况下,在将来自所述第二计算节点的所述第二权值梯度数据与所述第一权值梯度数据进行加和运算得到更新的权值梯度数据的过程中,发送所述更新的权值梯度数据;或者
在不存在来自所述第二计算节点的权值梯度数据的情况下,发送所述第一权值梯度数据。
15.如权利要求14所述的装置,还包括:
第三发送单元,用于在不符合所述获取梯度更新数据信号的要求且存在来自所述第二计算节点的所述第二权值梯度数据的情况下,在接收所述第二权值梯度数据的过程中,发送所述第二权值梯度数据。
16.如权利要求14或15所述的装置,其中,所述获取梯度更新数据信号包括需要相关计算节点的权值梯度数据的计算节点标识以及/或者更新的权值梯度数据的代数的标识。
17.如权利要求16所述的装置,其中,所述获取梯度更新数据信号的要求包括:
属于所述计算节点标识指示的计算节点;以及/或者
所述第一权值梯度数据的代数与所述更新的权值梯度数据的代数之间的差值满足预设值。
18.如权利要求12至17任意一者所述的装置,还包括:
第二接收单元,用于接收所述控制节点广播的权值数据;
保存单元,用于保存所述权值数据,其中,所述权值数据用于训练;
第四发送单元,用于在存在接收所述权值数据的第三计算节点的情况下,在接收所述权值数据的过程中,将所述权值数据发送至所述第三计算节点。
19.如权利要求12至18任意一者所述的装置,还包括:第五发送单元,用于发送获取所述第一权值梯度数据的时间戳,其中,所述时间戳用于将所述多个计算节点进行动态分组。
20.如权利要求12至19任意一者所述的装置,其中,所述控制节点包括参数服务节点。
21.如权利要求12至20任意一者所述的装置,其中,所述多个节点形成的拓扑结构包括环状、网状、树状,或者其他包括环状的结构。
22.如权利要求12至21任意一者所述的装置,其中,所述节点包括神经网络芯片或者所述神经网络芯片中的计算核。
23.一种电子设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-11任一所述的方法。
24.一种计算机可读存储介质,其特征在于,其存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如权利要求1-11任一项所述的方法。
25.一种计算机程序产品,其特征在于,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序可操作来使计算机执行如权利要求1-11任一项所述的方法。
CN201910819947.8A 2019-08-31 2019-08-31 一种神经网络协同训练方法、装置以及相关产品 Active CN112446485B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910819947.8A CN112446485B (zh) 2019-08-31 2019-08-31 一种神经网络协同训练方法、装置以及相关产品
PCT/CN2020/095205 WO2021036404A1 (zh) 2019-08-31 2020-06-09 数据传输方法及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910819947.8A CN112446485B (zh) 2019-08-31 2019-08-31 一种神经网络协同训练方法、装置以及相关产品

Publications (2)

Publication Number Publication Date
CN112446485A true CN112446485A (zh) 2021-03-05
CN112446485B CN112446485B (zh) 2023-06-02

Family

ID=74735190

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910819947.8A Active CN112446485B (zh) 2019-08-31 2019-08-31 一种神经网络协同训练方法、装置以及相关产品

Country Status (1)

Country Link
CN (1) CN112446485B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114339994A (zh) * 2022-03-17 2022-04-12 杭州优智联科技有限公司 一种片内执行机器学习算法的uwb芯片及方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018112699A1 (zh) * 2016-12-19 2018-06-28 上海寒武纪信息科技有限公司 人工神经网络反向训练装置和方法
CN109117953A (zh) * 2018-09-11 2019-01-01 北京迈格威科技有限公司 网络参数训练方法和系统、服务器、客户端及存储介质
US20190130110A1 (en) * 2017-11-01 2019-05-02 International Business Machines Corporation Protecting Cognitive Systems from Gradient Based Attacks through the Use of Deceiving Gradients
CN110059809A (zh) * 2018-10-10 2019-07-26 北京中科寒武纪科技有限公司 一种计算装置及相关产品

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018112699A1 (zh) * 2016-12-19 2018-06-28 上海寒武纪信息科技有限公司 人工神经网络反向训练装置和方法
US20190130110A1 (en) * 2017-11-01 2019-05-02 International Business Machines Corporation Protecting Cognitive Systems from Gradient Based Attacks through the Use of Deceiving Gradients
CN109117953A (zh) * 2018-09-11 2019-01-01 北京迈格威科技有限公司 网络参数训练方法和系统、服务器、客户端及存储介质
CN110059809A (zh) * 2018-10-10 2019-07-26 北京中科寒武纪科技有限公司 一种计算装置及相关产品

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王裕民等: "多GPU环境下的卷积神经网络并行算法", 《小型微型计算机系统》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114339994A (zh) * 2022-03-17 2022-04-12 杭州优智联科技有限公司 一种片内执行机器学习算法的uwb芯片及方法

Also Published As

Publication number Publication date
CN112446485B (zh) 2023-06-02

Similar Documents

Publication Publication Date Title
US8867400B2 (en) Method and apparatus for tracking clock sources
CN114650227B (zh) 一种分层联邦学习场景下的网络拓扑构建方法及系统
Li Retracted: Design and implementation of music teaching assistant platform based on Internet of Things
CN112367279A (zh) 一种基于二维mesh结构多核芯片组的路由方法及系统
CN113258982A (zh) 卫星信息传输方法、装置、设备、介质及产品
CN111324429B (zh) 一种基于多代血统参考距离的微服务组合调度方法
CN109348434A (zh) 一种场景信息的发送方法、发送装置及终端设备
US20080147881A1 (en) System and method for placing computation inside a network
CN112446485A (zh) 一种神经网络协同训练方法、装置以及相关产品
CN113163411B (zh) 一种卫星网络聚类方法、装置、电子设备及存储介质
CN105282045B (zh) 一种基于一致性哈希算法的分布式计算和储存方法
CN107040466B (zh) 基于物联网分层架构的多域协同数据传输的路径选择方法
CN111770152B (zh) 一种边缘数据管理方法、介质、边缘服务器和系统
CN110597808B (zh) 分布式数据库表连接方法、装置、系统、服务器及介质
CN109033603B (zh) 基于源流路径链的智能变电站二次系统仿真方法
CN107547605A (zh) 一种基于节点队列的消息读写方法及节点设备
CN113392280B (zh) 一种面向跨区域的多主模型分布式图计算方法
WO2022083549A1 (zh) 流量信号转换方法、装置、电子设备及存储介质
CN112866013B (zh) 一种网络配置方法、装置及系统
CN112446463B (zh) 一种神经网络全连接层运算方法、装置以及相关产品
WO2020134713A1 (zh) 网络节点的选举方法及节点设备
US20210250243A1 (en) Node Switching Method, Network Node, Network System and Storage Medium
KR20220008539A (ko) 3차원 셀룰러 네트워크에서 간헐적 인식 연합 학습 방법
CN116681973B (zh) 一种图像处理方法、装置、系统、设备及计算机存储介质
CN112446464B (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