掌桥专利:专业的专利平台
掌桥专利
首页

权重数据传输的方法、众核系统、电子设备、介质

文献发布时间:2023-06-19 16:09:34



技术领域

本公开涉及神经网络技术领域,特别涉及权重数据传输的方法、众核系统、电子设备、计算机可读介质。

背景技术

神经网络是一种模仿生物神经系统构建的模型,可处理多种任务,如图像识别、图像处理、语音识别等。神经网络中有大量神经元,不同神经元之间有大量连接,而每个连接有相应的连接权重值。

神经网络可通过具有多个处理核的众核系统实现,每个处理核中配置一些神经元。由于神经网络中连接权重值的数据量很大,故要占据众核系统中很大的存储空间(片上存储空间)。

发明内容

本公开提供一种权重数据传输的方法、众核系统、电子设备、计算机可读介质。

第一方面,本公开实施例提供一种权重数据传输的方法,用于众核系统,所述众核系统包括多个处理核,所述多个处理核中配置多个构成神经网络的神经元,所述方法包括:

响应于当前神经元的发放,从片外存储器获取神经元的权重数据;任意所述神经元的权重数据包括索引信息、权重信息、位置信息,所述索引信息表征该神经元与各关联神经元间的连接权重值是否为零,所述关联神经元为该神经元的前继神经元或后继神经元,所述权重信息包括该神经元与各关联神经元间的全部非零连接权重值,所述位置信息表征该神经元和/或该神经元的各关联神经元所在的处理核;

根据所述权重数据,确定当前神经元的各后继神经元所在的目标处理核,以及当前神经元与各后继神经元间的全部非零连接权重值;

将当前神经元与各后继神经元间的非零连接权重值,分别传输至相应后继神经元所在的目标处理核。

在一些实施例中,任意所述神经元的权重数据中,

所述索引信息包括按照预设顺序排列的、与该神经元的关联神经元一一对应的多个索引标识,任意所述索引标识表征该神经元与对应的关联神经间的连接权重值是否为零;

所述权重信息包括按照所述预设顺序排列的、该神经元与各关联神经元间的全部非零连接权重值。

在一些实施例中,任意所述神经元的关联神经元为该神经元的后继神经元;

所述从片外存储器获取神经元的权重数据包括:从所述片外存储器获取当前神经元的权重数据;

任意所述神经元的位置信息至少表征该神经元的各关联神经元所在的处理核。

在一些实施例中,任意所述神经元的权重数据中,

所述索引信息包括按照预设顺序排列的、与该神经元的后继神经元一一对应的多个索引标识,任意所述索引标识表征该神经元与对应的后继神经间的连接权重值是否为零;

所述权重信息包括按照所述预设顺序排列的、该神经元与各后继神经元间的全部非零连接权重值。

在一些实施例中,任意所述神经元的权重数据中,

所述索引信息包括与该神经元的后继处理核一一对应的索引段;任意所述索引段表征该神经元与对应后继处理核中配置的各后继神经元间的连接权重值是否为零;所述后继处理核为配置有该处理核的后继神经元的处理核;

所述权重信息包括与该神经元的后继处理核一一对应的权重段;任意所述权重段包括该神经元与对应后继处理核中配置的各关联神经元间的全部非零连接权重值;

所述位置信息表征所述索引段、权重段与后继处理核的对应关系;

所述根据所述权重数据,确定当前神经元的各后继神经元所在的目标处理核,以及当前神经元与各后继神经元间的全部非零连接权重值包括:根据所述当前神经元的权重数据的位置信息,确定索引段、权重段对应的后继处理核;

所述将当前神经元与各后继神经元间的非零连接权重值,分别传输至相应后继神经元所在的目标处理核包括:将每个所述后继处理核对应的索引段、权重段,传输至相应后继处理核。

在一些实施例中,任意所述神经元的权重数据的位置信息包括:

该神经元的后继处理核的个数;

该神经元的各后继处理核的地址标识。

在一些实施例中,所述将当前神经元与各后继神经元间的非零连接权重值,分别传输至相应后继神经元所在的目标处理核包括:

所述当前神经元所在的处理核,将所述当前神经元的发放信息,以及所述当前神经元与各后继神经元间的非零连接权重值,分别传输至相应后继神经元所在的目标处理核。

在一些实施例中,任意所述神经元的关联神经元为该神经元的前继神经元;

所述从片外存储器获取神经元的权重数据包括:在所述当前神经元的后继神经元的权重数据中,至少从所述片外存储器获取与当前神经元的连接权重值为非零连接权重值的后继神经元的权重数据;

任意所述神经元的位置信息至少表征该神经元所在的处理核。

在一些实施例中,所述将当前神经元与各后继神经元间的非零连接权重值,分别传输至相应后继神经元所在的目标处理核包括:

众核系统的调度器将当前神经元与各后继神经元间的非零连接权重值,分别传输至相应后继神经元所在的目标处理核。

在一些实施例中,所述从片外存储器获取神经元的权重数据包括:

从所述片外存储器获取神经元的权重数据,并存储在所述众核系统的片上存储器中。

第二方面,本公开实施例提供一种众核系统,其包括:

多个处理核,所述多个处理核中配置有多个构成神经网络的神经元;

片上网络,被配置为交互所述多个处理核间的数据和外部数据;

一个或多个所述处理核中存储有一个或多个指令,一个或多个所述指令被一个或多个所述处理核执行时,能实现上述任意一种的权重数据传输的方法。

第三方面,本公开实施例提供一种电子设备,其包括:

上述任意一种的众核系统;

片外存储器,其中存储有全部所述神经元的权重数据。

第四方面,本公开实施例提供一种计算机可读介质,其中存储有一个或多个指令,一个或多个所述指令被处理器执行时,能实现根据上述任意一种的重数据传输的方法。

本公开实施例中,实际存储的连接权重值相关数据,只有非零连接权重值和少量的索引信息、位置信息,而不存储大量的零连接权重值,从而实际存储的数据量低,所需的存储空间小。而且,本公开实施例中的权重数据存储在众核系统外,而不是存储在众核系统中,故不占据众核系统的片上存储空间。

尤其是,以上权重数据仅在有神经元发放时才需要被传输,故发放越少(发放越“稀疏”)时,传输的数据量也越少,传输的代价(如耗费运算量、占据传输带宽等)也越小。

附图说明

附图用来提供对本公开的进一步理解,并且构成说明书的一部分,与详细实施例一起用于解释本公开,并不构成对本公开的限制。通过参考附图对详细实施例进行描述,以上和其它特征和优点对本领域技术人员将变得更加显而易见,在附图中:

图1为本公开实施例提供的一种权重数据传输的方法中的神经网络的局部结构示意图;

图2为本公开实施例提供的一种权重数据传输的方法中的神经网络中神经元发放的示意图;

图3为本公开实施例提供的一种权重数据传输的方法的流程图;

图4为本公开实施例提供的另一种权重数据传输的方法的流程图;

图5为本公开实施例提供的另一种权重数据传输的方法的数据流向示意图;

图6为本公开实施例提供的另一种权重数据传输的方法的数据流向示意图;

图7为本公开实施例提供的一种众核系统的组成框图;

图8为本公开实施例提供的一种电子设备的组成框图;

图9为本公开实施例提供的一种计算机可读介质的组成框图。

具体实施方式

为使本领域的技术人员更好地理解本公开的技术方案,下面结合附图对本公开提供的权重数据传输的方法、众核系统、电子设备、计算机可读介质进行详细描述。

在下文中将参考附图更充分地描述本公开,但是所示的实施例可以以不同形式来体现,且不应当被解释为限于本公开阐述的实施例。反之,提供这些实施例的目标在于使本公开透彻和完整,并将使本领域技术人员充分理解本公开的范围。

本公开可借助本公开的理想示意图而参考平面图和/或截面图进行描述。因此,可根据制造技术和/或容限来修改示例图示。

在不冲突的情况下,本公开各实施例及实施例中的各特征可相互组合。

本公开所使用的术语仅用于描述特定实施例,且不意欲限制本公开。如本公开所使用的术语“和/或”包括一个或多个相关列举条目标任何和所有组合。如本公开所使用的单数形式“一个”和“该”也意欲包括复数形式,除非上下文另外清楚指出。如本公开所使用的术语“包括”、“由……制成”,指定存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其它特征、整体、步骤、操作、元件、组件和/或其群组。

除非另外限定,否则本公开所用的所有术语(包括技术和科学术语)的含义与本领域普通技术人员通常理解的含义相同。还将理解,诸如那些在常用字典中限定的那些术语应当被解释为具有与其在相关技术以及本公开的背景下的含义一致的含义,且将不解释为具有理想化或过度形式上的含义,除非本公开明确如此限定。

本公开不限于附图中所示的实施例,而是包括基于制造工艺而形成的配置的修改。因此,附图中例示的区具有示意性属性,并且图中所示区的形状例示了元件的区的具体形状,但并不是旨在限制性的。

第一方面,参照图1至图6,本公开实施例提供一种权重数据传输的方法,其用于众核系统,众核系统包括多个处理核,多个处理核中配置多个构成神经网络的神经元。

本公开实施例的方法在众核系统上执行,众核系统包括多个能进行运算的处理核,以及能实现各处理核间,以及众核系统与外部间数据交互的片上网络。

以上众核系统中配置有神经网络。神经网络是一种模仿生物神经系统构建的模型,可处理多种任务,如图像识别、图像处理、语音识别等。神经网络具体形式可为脉冲神经网络(SNN)、卷积神经网络(CNN)等。

本公开实施例的神经网络包括多个神经元(如参照图1有A1至A3神经元,B1至B5神经元),神经元之间相互连接。神经元在满足一定条件时可通过以上连接向其它神经元发出信号(发放信号),即进行发放(如参照图2中A1神经元向B1至B5神经元发放)。其中,发出发放信号信号的神经元(当前神经元)为接收发放信号的神经元的“前继神经元”,而接收发放信号的神经元为发出发放信号的神经元的“后继神经元”。

其中,神经元间的连接还有“连接权重值”,即神经元通过某各个连接接收到的发放信号,还需要经过该连接的连接权重值的处理,如将二者相乘以计算该发放导致的该神经元的膜电位的变化;而每个神经元通过对一个时间拍接收到的所有发放信号进行以上计算,可确定其在该时间拍内的膜电位,以及确定自身是否要进行发放等。

其中,神经网络的各神经元分别配置在众核系统的各处理核中,每个处理核中可配置有一个或多个神经元。例如,参照图2,发出发放信号的A1神经元配置在H1处理核中,而接收信号的B1至B3神经元、B4至B5神经元分别配置在H2处理核、H3处理核中,故B1至B5神经元为A1神经元的后继神经元,而H2处理核、H3处理核为A1神经元的后继处理核。

其中,一个神经元与其后继神经元可能位于同一个处理核中,即进行发放的神经元所在的处理核可以同时也是后继处理核(后续的目标处理核。

本公开实施例的权重数据传输的方法,用于使各处理核获取其中配置的神经元的对应的“连接权重值,以便进行神经网络的运算。

参照图3,本公开实施例的权重数据传输的方法包括:

S101、响应于当前神经元的发放,从片外存储器获取神经元的权重数据。

其中,从片外存储器获取该神经元的权重数据的具体方式是多样的,例如可以是处理核(如相关神经元所在的处理核)中存储有相关神经元的权重数据在片外存储器中的地址,从而在当前神经元发放时,可根据该地址去片外存储器中读取权重数据。

其中,任意神经元的权重数据包括索引信息、权重信息、位置信息。

索引信息表征该神经元与各关联神经元间的连接权重值是否为零;关联神经元为该神经元的前继神经元或后继神经元。

其中,权重信息包括该神经元与各关联神经元间的全部非零连接权重值。

其中,位置信息表征该神经元和/或该神经元的各关联神经元所在的处理核。

当神经网络的任意神经元发放时其即为当前神经元(如A1神经元),此时众核系统从外部的片外存储器(片外存储空间)中获取相关神经元的权重数据;而每个神经元的权重数据包括索引信息、权重信息、位置信息三部分。

索引信息表明该神经元与关联神经元(其全部前继神经元或全部后继神经元)的连接中,有哪些的连接权重值为零,哪些不为零。当连接权重值为零时,相应的连接可视为“无效”,即该连接对相应后继神经元的状态不会产生实际影响。

权重信息中,只有该神经元与关联神经元间的非零连接权重值,而没有为零的连接权重值(当然其值就是0)。

位置信息则表明,该神经元本身,以及以上各非零连接权重值对应的关联神经元(前继神经元或后继神经元),具体配置在哪个处理核中。

S102、根据权重数据,确定当前神经元的各后继神经元所在的目标处理核,以及当前神经元与各后继神经元间的全部非零连接权重值。

当前神经元(如A1神经元)发放时,会有多个神经元接收到其发放信息,这些神经元必然为其后继神经元(如B1至B5神经元);而这些后继神经元所在的处理核,即为目标处理核(如H2处理核、H3处理核)。显然,目标处理核需要获取其中配置的后继神经元与当前神经元间的连接权重值,以进行神经网络运算。

根据此前获取的权重数据,众核系统可解析出当前神经元的各后继神经元在哪些处理核中(确定目标处理核),并确定各目标处理核中配置的后继神经元对应的非零连接权重值。

S103、将当前神经元与各后继神经元间的非零连接权重值,分别传输至相应后继神经元所在的目标处理核。

由此,可将当前神经元与各后继神经元间的非零连接权重值,分别传输到相应的目标处理核,以供目标处理核进行神经网络运算。

在一些相关技术中,是在每个处理核中存储其中配置的全部神经元与全部前继神经元间的全部连接权重值,如以“权重矩阵”形式存储。由于矩阵数据的格式要求,零连接权重值也要占据与非零连接权重值一样的存储空间。

本公开实施例中,实际存储的连接权重值相关数据,只有非零连接权重值和少量的索引信息、位置信息,而不存储大量的零连接权重值,从而实际存储的数据量低,所需的存储空间小。而且,本公开实施例中的权重数据存储在众核系统外,而不是存储在众核系统中,故不占据众核系统的片上存储空间。

尤其是,以上权重数据仅在有神经元发放时才需要被传输,故发放越少(发放越“稀疏”)时,传输的数据量也越少,传输的代价(如耗费运算量、占据传输带宽等)也越小。

在一些实施例中,任意神经元的权重数据中,索引信息包括按照预设顺序排列的、与该神经元的关联神经元一一对应的多个索引标识,任意索引标识表征该神经元与对应的关联神经间的连接权重值是否为零;

权重信息包括按照预设顺序排列的、该神经元与各关联神经元间的全部非零连接权重值。

显然,一个神经元对应的关联神经元是确定的,故可将这些关联神经元按照预设顺序排列,而索引信息中为每个关联神经元设置一个对应的索引标识,以表征对应该关联神经元的连接权重值是否为零。而权重信息可仅有非零连接权重值,且按照相同的预设顺序排列。

由此,可根据索引标识,确定出每个非零连接权重值对应的是哪个关联神经元,而其它关联神经元自然对应零连接权重值。

例如,参照图2,以上B1至B5神经元是A1神经元的后继神经元(关联神经元),其中B1至B3神经元配置在H2处理核中,B4至B5神经元配置在H3处理核中,且它们对应的连接权重值如下表(其中0表示零连接权重值):

表1、B1至B5神经元对应的连接权重值

由此,A1神经元的权重数据中,预设顺序为B1神经元至B5神经元,索引信息可为:01 1 0 1,而权重信息可为:a b c;其中,0、1均为索引标识,0表示相应后继神经元对应零连接权重值,1表示相应后继神经元对应非零连接权重值,a、b、b为具体的非零的连接权重值。

当然,任意神经元的索引信息具体也可为其它的形式,例如是与该神经元之间的连接权重值为非零连接权重值的后继神经元(关联神经元)的编号等。

在一些实施例中,任意神经元的关联神经元为该神经元的后继神经元。

作为本公开实施例的一种方式,关联神经元可为后继神经元,即每个神经元的权重数据是针对该神经元发放时,接收其发放的各后继神经元与该神经元之间的连接的。

在一些实施例中,任意神经元的权重数据中,索引信息包括按照预设顺序排列的、与该神经元的后继神经元一一对应的多个索引标识,任意索引标识表征该神经元与对应的后继神经间的连接权重值是否为零;

权重信息包括按照预设顺序排列的、该神经元与各后继神经元间的全部非零连接权重值。

如前,当采用后继神经元为以上关联神经元时,索引信息可为以上“索引标识”的形式。

参照图4,当任意神经元的关联神经元为该神经元的后继神经元时,从片外存储器获取神经元的权重数据(S101)包括:

S1011、从片外存储器获取当前神经元的权重数据。

其中,任意神经元的位置信息至少表征该神经元的各关联神经元所在的处理核。

由于关联神经元为后继神经元,故任意当前神经元发放时,只要获取该当前神经元的权重数据,也就可确定全部接收到其发放的后继神经元相关的连接权重值。例如,图1中的A1神经元发放时,只要获取该A1神经元的权重数据即可,因为A1神经元的权重数据包括A1神经元与接收其发放的每个神经元(如B1至B5神经元)之间的连接权重值。

也就是说,每个神经元发放时只要进行“一个”神经元(当前神经元)的权重数据的传输即可,从而有利于减少数据传输量,简化传输过程。

其中,为保证收到发放的各神经元可接收到相应的权重连接值,则位置信息应包括当前神经元的各关联神经元(即当前神经元的各后继神经元)所在的处理核。

其中,当一个时间拍中有多个当前神经元同时进行发放时,则每个当前神经元的权重数据均需要被分别获取。

在一些实施例中,任意神经元的权重数据中,索引信息包括与该神经元的后继处理核一一对应的索引段;任意索引段表征该神经元与对应后继处理核中配置的各后继神经元间的连接权重值是否为零;后继处理核为配置有该处理核的后继神经元的处理核;

权重信息包括与该神经元的后继处理核一一对应的权重段;任意权重段包括该神经元与对应后继处理核中配置的各关联神经元间的全部非零连接权重值;

位置信息表征索引段、权重段与后继处理核的对应关系。

参照图4,根据权重数据,确定当前神经元的各后继神经元所在的目标处理核,以及当前神经元与各后继神经元间的全部非零连接权重值(S102)包括:

S1021、根据当前神经元的权重数据的位置信息,确定索引段、权重段对应的后继处理核。

参照图4,将当前神经元与各后继神经元间的非零连接权重值,分别传输至相应后继神经元所在的目标处理核(S103)包括:

S1031、将每个后继处理核对应的索引段、权重段,传输至相应后继处理核。

显然,一个当前神经元(如A1神经元)发放时,每个目标处理核(如H2处理核和H3处理核)只要获取其中配置的后继神经元对应的连接权重值即可,而不必关心其它目标处理核中配置的后继神经元对应的连接权重值。

为此,可将以上索引信息、权重信息都分为“多段”,每段为一个后继处理核,也就是发放时的目标处理核(也是当前神经元的关联神经元所在的处理核,因为关联神经元为后继神经元)中配置的后继神经元的连接权重值的相关信息;而位置信息则用于表明索引段、权重段与后继处理核的对应关系。

由此,在获取到权重数据(即进行发放的当前神经元的权重数据)后,可根据位置信息确定其中的各索引段、权重段是对应哪个后继处理核(当前神经元的后继处理核,也就是目标处理核),并将索引段、权重段发送至相应目标处理核,以供目标处理核根据获取的信息进行其中配置的后继神经元的相关运算。

例如,参照图2,对以上A1神经元,其索引段和权重段的形式可如下:

表2、A1神经元权重数据的格式

其中,索引段1、权重段1对应H2处理核和其中配置的B1至B3神经元,而索引段2、权重段2对应H2处理核和其中配置的B4至B5神经元。

在一些实施例中,任意神经元的权重数据的位置信息包括:

该神经元的后继处理核的个数;

该神经元的各后继处理核的地址标识。

具体可用后继处理核的个数、地址标识(ID)等表明索引段、权重段与后继处理核的对应关系。

示例性的,以上位置信息可位于权重数据的包头中,而各索引段、权重段依次轮流在其后排列。

例如,参照上表2,包头部分的第一个2表示后继处理核有2个(个数为2),H2和H3表示两个后继处理核的地址分别为H2和H3。

当然,包头中的位置信息还可包括更多内容,例如还可有各后继处理核对应的数据的长度,该长度可为具体长度值,也可用各后继处理核中配置的后继神经元的个数表征。

例如,参照上表2,包头部分的3和2(第二个2)表示H2处理核和H3处理核中配置的后继神经元的个数(也可为各后继处理核对应的数据的长度)分别为3和2。

但应当理解,权重数据的具体格式不限于此,只要其中各部分信息实际表征了以上的内容即可。例如,以上表2的包头部分中的2、3等均可为二进制的格式,而H2和H3也可为二进制的地址。

在一些实施例中,将当前神经元与各后继神经元间的非零连接权重值,分别传输至相应后继神经元所在的目标处理核(S103)包括:

S1032、当前神经元所在的处理核,将当前神经元的发放信息,以及当前神经元与各后继神经元间的非零连接权重值,分别传输至相应后继神经元所在的目标处理核。

当前神经元所发放的信息(发放信息)是由当前神经元所在的处理核产生的,而参照图2,该发放信息显然要传输至所有后继神经元,也就是传输至所有配置有后继神经元的目标处理核。

因此,可参照图5,由当前神经元(如A1神经元)所在的处理核(如H1处理核)先获取与各后继神经元间的非零连接权重值,并将非零连接权重值(如为索引段、权重段的形式)和发放信息一起,发送至各相应的目标处理核(如H2处理核、H3处理核)。

其中,本公开实施例的方法中的其它步骤,也可以是由当前神经元所在的处理核执行的。例如,可以是在当前神经元发放时,当前神经元所在的处理核从片外存储器获取相应的权重数据。

在一些实施例中,当任意神经元的关联神经元为该神经元的后继神经元时,从片外存储器获取神经元的权重数据(S101)包括:

S1012、在当前神经元的后继神经元的权重数据中,至少从片外存储器获取与当前神经元的连接权重值为非零连接权重值的后继神经元的权重数据。

其中,任意所述神经元的位置信息至少表征该神经元所在的处理核。

作为本公开实施例的另一种方式,每个神经元的关联神经元,也可以是其全部前继神经元。

此时,当前神经元发放时,仍然是其各后继神经元可能需要使用与当前神经元之间的连接权重值,只是这些连接权重值是分别在“每个”后继神经元自身的权重数据中的,故应当是接收到发放的各后继神经元获取自身的权重数据。

其中,部分后继神经元与当前神经元之间的连接权重值是零连接权重值,而这些神经元虽然会接收到发放,但实际不会受到发放的影响,故它们可不必获取自身的权重数据,即,若有神经元接收到发放但未获取到权重数据,则不进行任何运算,就认为该发放不存在。

而那些与当前神经元之间的连接权重值为非零连接权重值的后继神经元,则必须获取自身的权重数据,并计算该发放的影响(如对自身膜电位的影响)。

例如,参照图1,若B1神经元的权重数据中,索引信息为1 0 0,权重信息为a;B2神经元的索引信息为1 0 0,权重信息为b;B3神经元的索引信息为0 01,权重信息为c;B4神经元的索引信息为0 1 0,权重信息为d;B5神经元的索引信息为1 0 1,权重信息为ef;则可知:

B1神经元、B2神经元、B5神经元与A1神经元间的连接权重值不为0,故A1神经元发放时,必须获取B1神经元、B2神经元、B5神经元的权重值;

B4神经元与A2神经元间的连接权重值不为0,故A2神经元发放时,必须获取B4神经元的权重值;

B3神经元、B5神经元与A3神经元间的连接权重值不为0,故A3神经元发放时,需要获取B3神经元、B5神经元的权重值。

当然,如果是当前神经元发放时,获取其全部后继神经元的权重数据(不区分连接权重值是否为0),也是可行的。

其中,为保证收到发放的各神经元可接收到相应的权重连接值,则位置信息应包括神经元自身(即当前神经元的各后继神经元)所在的处理核。

其中,当一个时间拍中有多个当前神经元同时进行发放时,可能有某个神经元同时是多个当前神经元(且之间连接权重值不为0)的后继神经元,则对整个众核系统而言,每个后继神经元的权重数据实际只要“获取一次”即可,而不一定多次获取。

在一些实施例中,从片外存储器获取神经元的权重数据(S101)包括:

S1013、从片外存储器获取神经元的权重数据,并存储在众核系统的片上存储器中。

以上获取的“权重数据”需要进行一定的解析后,才能得出实际的连接权重值并发送给相应的目标处理核,而权重数据的解析、存储等也需要一定的存储空间。

由于每个处理核内的存储空间有限,故可参照图5、图6,以上获取的权重数据,可先存储至众核系统中的一个独立的片上存储器(片上存储空间)中,在其中解析后,再分别发送至相应的目标处理核。

例如,可参照图5,解析得到的数据先根据当前神经元(如A1神经元)所在的处理核(如H1处理核)的要求发放至该处理核,例如是该处理核中存储有当前神经元的权重数据在片外存储器中的地址(当关联神经元为前继神经元时),或者是存储有与当前神经元之间为非零连接权重值的各后继神经元的权重数据在片外存储器中的地址(当关联神经元为后继神经元时);再由该处理核发送至相应的目标处理核(如H2处理核、H3处理核)。

在一些实施例中,将当前神经元与各后继神经元间的非零连接权重值,分别传输至相应后继神经元所在的目标处理核(S103)包括:

S1033、众核系统的调度器将当前神经元与各后继神经元间的非零连接权重值,分别传输至相应后继神经元所在的目标处理核。

作为本公开实施例的另一种方式,参照图6,也可以是由众核系统中单独的调度器,将解析得到的关于非零连接权重值的数据(如各索引段和权重段)直接从片上存储器传输至目标处理核(如H2处理核、H3处理核)。

其中,本公开实施例的方法中的其它步骤,也可以是由调度器执行的。例如,可以是在有当前神经元(如A1神经元)发放时,调取器从片外存储器获取其对应的权重数据,再于片上存储器中解析,之后传输解析的结果。

其中,应当理解,参照图6,当由调度器将非零连接权重值(如各索引段和权重段)发送至目标处理核时,当前神经元所在的处理核仍需要将当前神经元的发放信息传输至各目标处理核。

示例性的,本公开实施例的众核系统中,还可存储(可在片上存储器中,也可在各处理核自身的存储空间中)有以下内容:

(1)每个神经元的配置信息。

配置信息用于表明神经元本身的相关信息,如其膜电位、阈值、不应期(对应脉冲神经网络)等参数。

配置信息具体可以是每个神经元的各参数的具体值。

或者,配置信息也可以是每个神经元的类型标识(即神经元的类型)。

(2)神经元的公用配置信息。

公用配置信息可包括函数表(非线性或线性),以及以上各类型标识对应的具体参数(即每种类型的神经元的具体参数)。

(3)每个神经元的数据索引。

其中,数据索引表明神经元的权重数据在片外存储器的位置(如其在片外存储器的起始地址和数据长度)。

从而,在当前神经元发放时,可先确定需要获取哪些神经元(如当前神经元)的权重数据,进而获取(如从当前神经元所在的处理核获取)该当前神经元的数据索引,并根据数据索引从片外存储中获取(如由调度器执行)该神经元对应的权重数据。

示例性的,对脉冲神经网络(SNN),其中神经元发出的信号为脉冲序列,而脉冲序列按照三值数据进行编码,如用0、1、-1分别表示神经元处于无动作、激活、抑制的状态,故神经元发放是指脉冲为1或-1的状态(0表示未发放),故以上发放信息可为1或-1。

示例性的,在每个目标处理核接收到发放信息和其中配置的后继神经元的相关连接权重值后,还需要进行相应的运算,例如,将每个后继神经元接收到的发放信息与该发放信息的来源连接的连接权重值相乘,作为该后继神经元的输入值。

例如,参照图5、图6,在A1神经元发放时,若发放信息为1,则H2处理核接收到索引段1(0 1 1)、权重段1(a b),故可确定其中配置的B1神经元对应的连接权重值为0,B2神经元对应的连接权重值为a,B3神经元对应的连接权重值为b;从而可计算得到本次发放时B1神经元、B2神经元、B3神经元的输入分别为0、a、b。

其中,当目标处理核有多个时,所有目标处理核(如H3处理核)都可进行相应的计算。

其中,当有多个神经元同时发放时,则可分别以每个神经元为当前神经元,进行以上数据传输和计算过程。

此时,还可能存在一个神经元同时是多个当前神经元的后继神经元的情况,故一个神经元可能通过不同连接接收到多个发放信息,而这些发放信息应分别与相应连接的连接权重值相乘后累加,作为该神经元的输入。

其中,在不同时刻,可能有不同神经元发放,则在每个时刻(每个时间步),都可以该时刻发放的神经元为当前神经元,进行以上数据传输和计算过程。

第二方面,参照图7,本公开实施例提供一种众核系统,其包括:

多个处理核,多个处理核中配置有多个构成神经网络的神经元;

片上网络,被配置为交互多个处理核间的数据和外部数据;

一个或多个处理核中存储有一个或多个指令,一个或多个指令被一个或多个处理核执行时,能实现上述任意一种的权重数据传输的方法。

公开实施例提供的众核系统可实现以上的权重数据传输的方法。

其中,众核系统还可包括以上片上存储器、调度器等,在此不再详细描述。

第三方面,参照图8,本公开实施例提供一种电子设备,其包括:

上述任意一种的众核系统;

片外存储器,其中存储有全部神经元的权重数据。

本公开实施例的电子设备包括以上的众核系统,以及对应的片外存储器。

其中,片外存储器可为DDR(双倍速率同步动态随机存储器)、NVM(固定存储器)、闪存(FLASH)等任意类型的存储器。

第四方面,参照图9,本公开实施例提供一种计算机可读介质,其中存储有一个或多个指令,一个或多个指令被处理器执行时,能实现根据上述任意一种的重数据传输的方法。

本公开实施例计算机可读介质中存储有可供以上众核系统执行,以实现以上重数据传输的方法的程序。

本领域普通技术人员可以理解,上文中所公开的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。

在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。

某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器(CPU)、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其它数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于随机存取存储器(RAM,更具体如SDRAM、DDR等)、只读存储器(ROM)、带电可擦可编程只读存储器(EEPROM)、闪存(FLASH)或其它磁盘存储器;只读光盘(CD-ROM)、数字多功能盘(DVD)或其它光盘存储器;磁盒、磁带、磁盘存储或其它磁存储器;可以用于存储期望的信息并且可以被计算机访问的任何其它的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其它传输机制之类的调制数据信号中的其它数据,并且可包括任何信息递送介质。

本公开已经公开了示例实施例,并且虽然采用了具体术语,但它们仅用于并仅应当被解释为一般说明性含义,并且不用于限制的目标。在一些实例中,对本领域技术人员显而易见的是,除非另外明确指出,否则可单独使用与特定实施例相结合描述的特征、特性和/或元素,或可与其它实施例相结合描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解,在不脱离由所附的权利要求阐明的本公开的范围的情况下,可进行各种形式和细节上的改变。

相关技术
  • 权重数据传输的方法、众核系统、电子设备、介质
  • 权重数据传输的方法、众核系统、电子设备、介质
技术分类

06120114721335