用于加速神经网络卷积和训练的系统和方法技术方案

技术编号:34506349 阅读:62 留言:0更新日期:2022-08-13 20:49
一种用于人工神经网络的专用集成电路与高带宽存储器集成。神经网络包括互连处理元件的脉动阵列,包括上游处理元件和下游处理元件。每个处理元件包括用于并发的前向和反向传播的输入/输出端口对。处理元件可以用于卷积,在这种情况下,输入/输出端口对可以支持内核相对于激活的快速高效扫描。相对于激活的快速高效扫描。相对于激活的快速高效扫描。

【技术实现步骤摘要】
【国外来华专利技术】用于加速神经网络卷积和训练的系统和方法

技术介绍

[0001]人工神经网络是受生物神经网络(例如,大脑)启发的计算系统。人工神经网络(以下简称“神经网络”)包括互连的人工神经元集合,这些人工神经元对它们的生物学对应物进行松散建模。与生物学对应物一样,人工神经网络通过重复考虑示例来“学习”执行任务。例如,为了对水果进行分类,可以训练人工神经网络以通过考虑手动标记为“成熟”或“未成熟”的图像来区分成熟和未成熟的样本。这种训练调节了图像数据对人工神经元及其互连的影响。因此,图像属性(诸如颜色和纹理)可以自动与图像表示成熟或未成熟水果的概率相关联,最终允许已训练神经网络推断新的未标记图像表示成熟或未成熟水果的概率。
[0002]神经网络的任务是解决比水果分类复杂得多的问题。例如,神经网络正在适用于自动驾驶车辆、自然语言处理以及很多生物医学应用,诸如诊断图像分析和药物设计。负责解决这些问题的神经网络可能非常复杂,可能有数百万个连接的神经元。例如,在图像处理中,一些神经元层用作卷积过滤器,另一些神经元层池化卷积层的结果,还有一些神经元层对池化的结果进行排序。无论功能如何,每个神经元都需要快速访问存储,以获取在训练中确定的并且用于推理的值。因此,训练和推理需要访问高性能存储器。
附图说明
[0003]本公开在附图中以示例而非限制的方式示出。对于具有数字名称的元素,第一数字表示引入该元素的图,并且类似的引用指代图内与图之间的类似元素。
[0004]图1示出了用于人工神经网络的专用集成电路(ASIC)100,该ASIC 100具有使处理元件与存储器(例如,堆叠的存储器管芯)之间的连接距离最小化并且因此提高效率和性能的架构。
[0005]图2示出了被互连以支持并发的前向和反向传播的四个处理块120。
[0006]图3包括在单个处理块120上实例化的神经网络的功能表示300和阵列305。
[0007]图4描绘了处理元件400,该处理元件400是适合用作图3的每个处理元件320的电路系统的示例。
[0008]图5A到5H每个描绘了在输出O1、O2和O3被应用于连续的处理元件320时在相应的脉动处理周期期间图3的阵列305。
[0009]图6包括跨两个不同处理块被实例化的神经网络的功能表示600和脉动阵列605。
[0010]图7描绘了3D

IC 700,该3D

IC 700实例化图6所示的块120的阵列和神经网络的阵列610。
[0011]图8A描绘了图4的处理元件400,该处理元件400具有被提供用于支持反向传播的电路元件,使用粗线宽突出显示。
[0012]图8B描绘了类似于图4和图8A的处理元件400的处理元件800,其中相同标识的元件相同或相似。
[0013]图9A

图9H示出了在反向传播期间通过以图7所示的方式互连的处理块120和阵列610的信息流。
[0014]图10描绘了根据另一实施例的作为人工神经网络应用的管芯堆叠1000。
[0015]图11描绘了3D

IC 1100,该3D

IC 1100使用一对物理和电互连的IC管芯1105来实例化CNN,每个IC管芯1105包括卷积处理元件(CPE)1110的脉动阵列。
[0016]图12A

图12F包括图11的3D

IC 1100的简化视图,以将每个IC管芯1105示出为3
×
3脉动阵列,其中每个元件是CPE 1110。
[0017]图13描绘了具有前向传播输入开关1305和反向传播输入开关1310的块1300的四个实例,前向传播输入开关1305和反向传播输入开关1310一起支持上面结合图12A

图12F详述的连接性和相关信号流。
[0018]图14A

图14D描绘了设备架构1400,其中四个处理块1300可以通过开关1305和1310互连以实现用于卷积神经网络或用于在图3中详述的类型的处理元件网络的脉动阵列。
具体实施方式
[0019]图1示出了用于人工神经网络的专用集成电路(ASIC)100,该ASIC 100具有使处理元件与存储器(例如,堆叠的存储器管芯)之间的连接距离最小化并且因此提高效率和性能的架构。ASIC 100还支持用于训练的小批量和流水线、并发的前向和反向传播。小批量将训练数据拆分成小“批次”(迷你批次),而流水线以及并发的前向和反向传播支持快速高效的训练。
[0020]ASIC 100使用八通道接口Chan[7:0]进行外部通信。靠近每个通道接口的一对分级缓冲器115缓冲进出存储器核心(未示出)的数据。缓冲器115允许速率匹配,使得从存储器读取和向存储器写入数据突发可以与处理块120阵列的常规流水线移动相匹配。在这种情况下,“块”是以矩形阵列(例如,正方形)布置的处理元件集合。块可以放置和互连,以允许块之间的高效通信。块内的处理元件可以作为脉动阵列操作,如下详述,在这种情况下,块可以“链接”在一起以形成更大的脉动阵列。尽管未示出,但存储器控制器(或状态机/定序器)可以集成在例如缓冲器115或块120中以保持处理流水线运行。缓冲器115可以通过一个或多个环形总线125互连以增加灵活性,例如允许将来自任何通道的数据发送到任何块,并且支持其中对网络参数(例如,权重和偏差)进行分区使得处理发生在神经网络的某些部分上的用例。
[0021]ASIC 100被分成八个通道,每个通道可以用于小批量处理。一个通道包括一个通道接口Chan#、一对分级缓冲器115、一系列处理块120和支持存储器(未示出)。这些通道在功能上相似。以下讨论仅限于以虚线边框为界的左上通道Chan6。
[0022]处理块120可以被描述为关于彼此并且参考推断方向上的信号流在“上游”或“下游”。从通道Chan6开始,标记为“I”(用于“输入”)的处理块120从缓冲器115中的一个接收输入。该输入块120在左侧的下一块120上游。对于推理或“前向传播”,信息沿着完整的箭头移动通过块链120,从标记为“O”(用于“输出”)的最终下游块出现到另一级缓冲器115。对于训练或“反向传播”,信息从标记为“O”的最终下游块沿着虚线移动,从标记为“I”的最终上游块出现。
[0023]每个块120包括四个端口,前向传播和反向传播每个有两个端口。图1左下角的符号示出了在每个块120中标识前向传播输入端口(FWDin)、前向传播输出端口(FWDout)、反
向传播输入端口(BPin)和反向传播输出端口(BPout)的阴影。在其中块120可以占据3D

IC的不同层的实施例中,块120被定向以最小化连接距离。如下文详述,每个块100包括处理元件阵列,每个处理元件可以并发处理和更新来自上游和下游处理元件和块的部分结果以支持并发的前向和反向传播。
[0024]图2示出了被互连本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种专用集成电路(ASIC),包括:互连处理元件阵列,包括上游处理元件和下游处理元件,每个处理元件包括:前向传播输入端口,用于接收前向部分结果;前向传播处理器,用于更新所述前向部分结果;前向传播输出端口,用于传输已更新前向部分结果;反向传播输入端口,用于接收反向传播部分结果;反向传播处理器,用于更新所述反向传播部分结果;以及反向传播输出端口,用于传输已更新反向传播部分结果。2.根据权利要求1所述的ASIC,其中所述前向传播处理器和所述反向传播处理器分别并发地更新所述前向部分结果和所述反向传播部分结果。3.根据权利要求1所述的ASIC,其中所述前向传播输出端口向所述处理元件中的下游处理元件传输所述已更新前向部分结果。4.根据权利要求3所述的ASIC,其中所述反向传播输入端口从所述处理元件中的所述下游处理元件接收所述反向传播部分结果。5.根据权利要求1所述的ASIC,其中所述前向传播输入端口和所述反向传播输入端口中的每个端口均是单向的。6.根据权利要求1所述的ASIC,还包括用于存储所述前向部分结果的第一存储部和用于存储所述反向传播部分结果的第二存储部。7.根据权利要求1所述的ASIC,还包括用于存储所述处理元件中的每个处理元件的权重的存储器,所述前向传播处理器用于根据所述权重更新所述前向部分结果。8.根据权利要求7所述的ASIC,其中所述处理元件中的每个处理元件中的所述反向传播处理器耦合到所述存储器以更新所述权重。9.根据权利要求7所述的ASIC,其中所述互连处理元件阵列占据管芯堆叠中的第一管芯,并且所述存储器占据所述管芯堆叠中的第二管芯。10.根据权利要求9所述的ASIC,其中所述存储器通过导电通孔耦合到所述第一管芯。11.根据权利要求10所述的ASIC,其中所述导电通孔是硅通孔。12.根据权利要求1所述的ASIC,还包括激活函数处理元件,所述激活函数处理元件耦合到所述下游处理元件中的最后的下游处理元件,以将激活函数应用于所述前向部分结果中的最后的前向部分结果。13.根据权利要求12所述的ASIC,还包括第二互连处理元件阵列,所述第二互连处理元件阵列包括第二处理元件,所述第二处理元件耦合到所述激活函数处理元件,以接收具有所应用的所述激活函数的所述前向部分结果中的所述最后的前向部分结果。14.一种专用集成电路(ASIC),包括:互连处理块阵列,包括上游处理块和下游处理块,每个处理块包括:前向传播输入端口,用于从上游处理块接收输入数据;处理元件,用于根据来自所述上游处理块的所述输入数据共同地计算部分结果;前向传播输出端口,用于向下游处理块传送...

【专利技术属性】
技术研发人员:S
申请(专利权)人:拉姆伯斯公司
类型:发明
国别省市:

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

1