用于神经网络的片上系统技术方案

技术编号:24290133 阅读:39 留言:0更新日期:2020-05-26 20:16
本发明专利技术提供一种用于神经网络的片上系统。该片上系统包括多个计算集群、前向数据转发通路、后向数据共享通路和任务分配单元,其中,所述多个计算集群用于实现神经网络中输入神经元矩阵和权重矩阵的乘法操作,其中,每个计算集群包括本地的片上内存以及对应的片外内存;所述前向数据转发通路用于在所述多个计算集群之间转发输入神经元数据;所述后向数据共享通路用于在所述多个计算集群之间传递权重数据或计算结果;所述任务分配单元用于根据待计算的输入神经元矩阵规模确定每个计算集群的任务分配策略,从而为每个计算集群分配待执行矩阵乘法操作的输入神经元数据。本发明专利技术的片上系统能够提高资源利用率和运算效率。

On chip system for neural network

【技术实现步骤摘要】
用于神经网络的片上系统
本专利技术涉及人工智能
,尤其涉及一种用于神经网络的片上系统。
技术介绍
人工智能技术在近些年来得到了迅猛的发展,在全世界范围内得到了广泛的关注,无论是工业界还是学术界都开展了人工智能技术的研究工作,目前,人工智能技术已经渗透至视觉感知、语音识别、辅助驾驶、智能家居、交通调度等各个领域。深度神经网络是人工智能领域具有较高发展水平的感知模型之一,其通过建立模型来模拟人类大脑的神经连接结构,通过多个变换阶段分层对数据特征进行描述,为图像、视频和音频等大规模数据处理任务带来突破性进展。深度神经网络模型是一种运算模型,由大量节点通过网状互连结构构成,这些节点被称为神经元(或称输入数据)。每两个节点间连接强度都代表通过该连接信号在两个节点间的系数,即权重,与人类神经网络中的记忆相对应。针对输入神经元数据和权重矩阵的矩阵乘法是神经网络推理及训练应用中的典型运算,其运算电路和相关的数据输入输出通路是性能与功耗优化的重点,基本特征是矩阵乘单元的规模越大,功耗效果越好,但是其缺陷是在应用的浅层(即输入神经元数据规模较大,权重规模较小的情况),性能会由于输出的分量数不够多而浪费计算资源。相比之下,越小的矩阵乘单元规模,计算资源的利用率越高,但是反复的调度,数据频繁访问(例如,对片外DRAM访问、片上通用寄存器堆、共享存储器)则使其功耗效率更低。现有的用于神经网络处理的片上系统主要存在三类架构,第一类是片上集中存储的单处理器网络,这类单处理器网络架构简单,但在浅层处理效率较低,并且数据搬运能耗较高;第二类是对称的多处理器网络,在这类架构中,多处理器之间无数据通信,每个处理器单元的存储有限,内存换入换出频繁,从而导致能耗更高;第三类是片上网络级联的架构形式,在这类架构中,由于神经网络中不同层之间性能不均衡,导致处理器的处理效率受限于性能较差的层,从而浪费片上处理资源。因此,为了将神经网络推向更广泛应用,例如,智能穿戴、智能机器人、自动驾驶以及模式识别等领域,需要对现有技术进行改进,以提高神经网络数据处理的效率、降低运行功耗并提升计算资源利用率。
技术实现思路
本专利技术的目的在于克服上述现有技术的缺陷,提供一种用于神经网络的片上系统,通过改进片上系统的处理器架构和资源调度方式来提高计算能效比。根据本专利技术的第一方面,提供一种用于神经网络的片上系统。该片上系统包括多个计算集群、前向数据转发通路、后向数据共享通路和任务分配单元,其中:所述多个计算集群用于实现神经网络中输入神经元矩阵和权重矩阵的乘法操作,其中,每个计算集群包括本地的片上内存以及对应的片外内存;所述前向数据转发通路用于在所述多个计算集群之间转发输入神经元数据;所述后向数据共享通路用于在所述多个计算集群之间传递权重数据或计算结果;所述任务分配单元用于根据待计算的输入神经元矩阵规模确定每个计算集群的任务分配策略,从而为每个计算集群分配待执行矩阵乘法操作的输入神经元数据。在一个实施例中,所述计算集群包括数据流控制模块、数据缓存模块、乘累加模块、数据传送模块、片上内存,其中:所述数据缓存模块用于存储神经元数据、权重数据或计算结果数据;所述乘累加模块用于实现所述输入神经元矩阵和对应权重矩阵的乘法运算;所述数据流控制模块用于控制数据向所述数据缓存模块、所述乘累加模块、所述数据传送模块、和所述片上内存的加载;所述数据传送模块用于向其他的计算集群转发神经元数据。在一个实施例中,所述后向数据共享通路由依次连接的多个转发器构成,其中,每个转发器对应于一个计算集群,用于将从其他转发器接收的权重数据或计算结果发送至对应的计算集群。在一个实施例中,所述任务分配单元还用于根据所述权重矩阵的规模或者所述多个计算集群的计算能力中的至少一项确定所述权重矩阵在所述多个计算集群的本地片上内存以及对应的片外内存的存储策略。在一个实施例中,在所述输入神经元矩阵为B×N×K,所述权重矩阵为K×M,有b个计算集群,每个计算集群的计算能力为k×m,N、M、K、k、m、b为任意正整数的情况下:所述任务分配策略是,对每个计算集群并行分配个输入神经元数据矩阵。在一个实施例中,在M≤m的情况下所述权重矩阵的存储策略是,将所述权重矩阵在每个计算集群对应的片外内存各存储一份或者将所述权重矩阵在一个计算集群对应的片外内存存储一份或者将所述权重矩阵平均分成多个子矩阵分别存储在每个计算集群对应的片外内存中。在一个实施例中,在将所述权重矩阵在一个计算集群对应的片外内存存储一份的情况下,执行矩阵乘法运算时,该计算集群从其对应的片外内存将所述权重矩阵加载到本地的片上内存,并经由所述后向数据共享通路向其余的计算集群传递所述权重矩阵。在一个实施例中,在将所述权重矩阵平均分成多个子矩阵分别存储在每个计算集群对应的片外内存中的情况下,执行矩阵乘法运算时,各计算集群从其对应的片外内存将所述权重矩阵加载到本地的片上内存,并经由所述后向数据共享通路向其余的计算集群传递所述权重矩阵。在一个实施例中,在所述输入神经元矩阵为B×N×K,所述权重矩阵为K×M,有b个计算集群,每个计算集群的计算能力为k×m,N、M、K、k、m、b为任意正整数,并且M≥b×m的情况下:所述任务分配策略是,对每个计算集群并行分配个输入神经元矩阵;所述权重矩阵的存储策略是,将所述权重矩阵根据所述多个计算集群的计算能力分割为多个子矩阵并将该多个子矩阵分布于所述多个计算集群对应的片外内存。在一个实施例中,所述前向数据转发通路在第一方向上依次串联所述多个计算集群,以形成传递输入神经元数据的环路,所述后向数据共享通路在第二方向上依次串联所述多个计算集群,以形成传递权重数据或计算结果的环路。根据本专利技术的第二方面,提供了一种电子设备。该电子设备包括本专利技术的片上系统。与现有技术相比,本专利技术的优点在于:针对神经网络推理应用中不同层的运算特征,提出了一种统一的多计算集群协调的片上系统架构,解决了单一运算单元在推理应用浅层计算效率低的问题;通过设计专用的数据转发通路与片上网络实现多计算集群之间的数据共享;根据输入神经元矩阵规模或权重矩阵规模将所需较重的带宽负载调度在本计算集群内部,而通过数据转发通路传递较轻的带宽负载,从而实现了局部访存的能耗优化。附图说明以下附图仅对本专利技术作示意性的说明和解释,并不用于限定本专利技术的范围,其中:图1是根据本专利技术一个实施例的用于神经网络的片上系统的架构示意图;图2是根据本专利技术一个实施例的片上系统的计算集群的结构示意图;图3是根据本专利技术另一个实施例的片上系统的结构示意图。具体实施方式为了使本专利技术的目的、技术方案、设计方法及优点更加清楚明了,以下结合附图通过具体实施例对本专利技术进一步详细说明。应当理解,此处所描述的具体实施例仅用于解释本专利技术,并不用于限定本专利技术。在本文示出和讨论的所有例子中,任何本文档来自技高网
...

【技术保护点】
1.一种用于神经网络的片上系统,包括多个计算集群、前向数据转发通路、后向数据共享通路和任务分配单元,其中:/n所述多个计算集群用于实现神经网络中输入神经元矩阵和权重矩阵的乘法操作,其中,每个计算集群包括本地的片上内存以及对应的片外内存;/n所述前向数据转发通路用于在所述多个计算集群之间转发输入神经元数据;/n所述后向数据共享通路用于在所述多个计算集群之间传递权重数据或计算结果;/n所述任务分配单元用于根据待计算的输入神经元矩阵规模确定每个计算集群的任务分配策略,从而为每个计算集群分配待执行矩阵乘法操作的输入神经元数据。/n

【技术特征摘要】
1.一种用于神经网络的片上系统,包括多个计算集群、前向数据转发通路、后向数据共享通路和任务分配单元,其中:
所述多个计算集群用于实现神经网络中输入神经元矩阵和权重矩阵的乘法操作,其中,每个计算集群包括本地的片上内存以及对应的片外内存;
所述前向数据转发通路用于在所述多个计算集群之间转发输入神经元数据;
所述后向数据共享通路用于在所述多个计算集群之间传递权重数据或计算结果;
所述任务分配单元用于根据待计算的输入神经元矩阵规模确定每个计算集群的任务分配策略,从而为每个计算集群分配待执行矩阵乘法操作的输入神经元数据。


2.根据权利要求1所述的片上系统,其特征在于,所述计算集群包括数据流控制模块、数据缓存模块、乘累加模块、数据传送模块、片上内存,其中:
所述数据缓存模块用于存储神经元数据、权重数据或计算结果数据;
所述乘累加模块用于实现所述输入神经元矩阵和对应权重矩阵的乘法运算;
所述数据流控制模块用于控制数据向所述数据缓存模块、所述乘累加模块、所述数据传送模块、和所述片上内存的加载;
所述数据传送模块用于向其他的计算集群转发神经元数据。


3.根据权利要求1或2所述的片上系统,其特征在于,所述后向数据共享通路由依次连接的多个转发器构成,其中,每个转发器对应于一个计算集群,用于将从其他转发器接收的权重数据或计算结果发送至对应的计算集群。


4.根据权利要求1或2所述的片上系统,其特征在于,所述任务分配单元还用于根据所述权重矩阵的规模或者所述多个计算集群的计算能力中的至少一项确定所述权重矩阵在所述多个计算集群的本地片上内存以及对应的片外内存的存储策略。


5.根据权利要求4所述的片上系统,其特征在于,在所述输入神经元矩阵为B×N×K,所述权重矩阵为K×M,有b个计算集群,每个计算集群的计算能力为k×m,N、M、K、k、m、b为任意正整数的情况下:
所述任务分配...

【专利技术属性】
技术研发人员:王平孙洁
申请(专利权)人:上海登临科技有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1