神经网络计算模组制造技术

技术编号:19004434 阅读:100 留言:0更新日期:2018-09-22 06:39
本申请涉及神经网络计算模组。公开了一种计算单元,所述计算单元包括用于存储输入激活的第一存储器群和用于存储在执行计算中所使用的参数的第二存储器群。所述计算单元包括至少一个cell,所述至少一个cell包括从所述第二存储器群接收参数并执行计算的至少一个乘法累加(“MAC”)运算器.所述计算单元进一步包括第一遍历单元,所述第一遍历单元向所述第一存储器群提供控制信号以使输入激活被提供至能够由所述MAC运算器访问的数据总线。所述计算单元执行与数据阵列中的至少一个元素相关联的一个或者多个计算,所述一个或多个计算由所述MAC运算器执行并且部分地包括从所述数据总线接收的所述输入激活与从所述第二存储器群接收的参数的乘法运算。

【技术实现步骤摘要】
神经网络计算模组
本申请涉及神经网络计算模组。
技术介绍
本说明书大体上涉及一种用于计算深度神经网络(“DNN”)层的神经网络计算模组(tile),该神经网络计算模组允许减小的指令带宽和指令存储器。
技术实现思路
大体上,本说明书中描述的一个创新方面可以体现为一种用于加速张量计算的计算单元。该计算单元包括具有第一数据宽度的第一存储器群和具有比第一数据宽度大的第二数据宽度的第二存储器群,第一存储器群用于存储输入激活或者输出激活中的至少一个,第二存储器群用于存储执行计算时使用的一个或者多个参数。计算单元可以进一步包括至少一个cell,该至少一个cell包括从第二存储器群接收参数并执行计算的至少一个乘法累加(“MAC”)运算器。计算单元可以进一步包括:与至少第一存储器群进行数据通信的第一遍历单元,该第一遍历单元被配置为向第一存储器群提供控制信号以使输入激活被提供至能够由MAC运算器访问的数据总线。计算单元执行与数据阵列中的至少一个元素相关联的一个或者多个计算,该一个或多个计算由MAC运算器执行并且部分地包括从数据总线接收的输入激活与从第二存储器群接收的参数的乘法运算。本说明书中描述的主题的另一个创新方面可以体现为一种用于加速张量计算的计算机实现的方法。该计算机实现的方法包括:响应于第一存储器群接收到来自第一遍历单元的控制信号,通过具有第一数据宽度的第一存储器群,发送第一输入激活,第一存储器群被设置在计算单元中,并且其中,第一输入激活由能够通过计算单元的至少cell访问的数据总线来提供。该方法进一步包括:通过该至少一个cell,接收来自具有比第一数据宽度大的第二数据宽度的第二存储器群的一个或者多个参数,并且其中,该至少一个cell包括至少一个乘法累加(“MAC”)运算器。该方法还可以进一步包括:通过MAC运算器,执行与数据阵列中的至少一个元素相关联的一个或者多个计算,其中,该一个或者多个计算部分地包括从数据总线访问的至少第一输入激活和从第二存储器群接收到的至少一个参数的乘法运算。本说明书中描述的主题的另一个创新方面可以体现为一种非暂时性计算机可读存储介质。该非暂时性计算机可读存储介质包括能够由一个或者多个处理器执行的指令,该指令在这样的执行时使一个或者多个处理器执行操作,该操作包括:响应于第一存储器群接收到来自第一遍历单元的控制信号,通过具有第一数据宽度的第一存储器群,发送第一输入激活,第一存储器群被设置在计算单元中,并且其中,第一输入激活由能够通过计算单元的至少cell访问的数据总线来提供。所执行的操作还可以包括:通过该至少一个cell,接收来自具有比第一数据宽度大的第二数据宽度的第二存储器群的一个或者多个参数,并且其中,该至少一个cell包括至少一个乘法累加(“MAC”)运算器。所执行的操作还可以包括:通过MAC运算器,执行与数据阵列中的至少一个元素相关联的一个或者多个计算,其中,该一个或者多个计算部分地包括从数据总线访问的至少第一输入激活和从第二存储器群接收到的至少一个参数的乘法运算。可以在特定实施例中实现本说明书中描述的主题,以便实现下面的优点中的一个或者多个。使用寄存器来保持跟踪存储器地址值允许程序用一条指令迭代深层嵌套循环。基于从寄存器检索到的存储器地址值,遍历从单个计算模组中的窄存储器单元和宽存储器单元访问的张量。存储器地址值与张量的元素相对应。张量计算基于深度循环嵌套的执行发生在单独的计算模组中。计算可以跨多个模组分布。基于将多层神经网络的张量计算跨多个计算模组分布,来增强并且加速计算效率。可以遍历张量,并且可以利用数量减少的指令来执行张量计算。在本说明书中描述的主题也可以实现在特定实施例中,以便实现其它优点。例如,通过采用将允许灵活寻址以按照任何顺序遍历多维度阵列的窄低带宽存储器与高带宽宽存储器耦合的存储器层级,可以针对迥然不同维度的DNN层实现MAC运算器的高利用率并且可以最大程度地利用计算局部性。该方面和其它方面的其它实施方式包括对应的系统、装置、和被配置为执行方法的动作并且编码在计算机存储设备上的计算机程序。可以通过安装在系统上的、在操作时使系统执行动作的软件、固件、硬件、或者其组合来如此配置一个或者多个计算机的系统。可以通过具有指令来如此配置一个或者多个计算机程序,该指令在由数据处理装置执行时使该装置执行动作。本说明书中描述的主题还涉及一种图像识别和/或分类方法/系统。可以使用所公开的技术和所描述的具有硬件计算单元或者计算模组的硬件计算系统来实现系统。计算单元使用具有多个神经网络层的神经网络来处理用于计算推理(inference)的张量运算。在下面的附图和描述中陈述了本说明书描述的主题的一个或者多个实施方式的细节。本主题的其它潜在特征、方面、和优点将通过说明书、附图、和权利要求而变得显而易见。附图说明图1是示例计算系统的框图。图2图示出了示例神经网络计算模组。图3图示出了示例张量遍历单元(TTU)结构。图4图示出了包括向一个或者多个乘法累加(MAC)运算器提供输入激活的窄存储器单元的示例架构。图5图示出了包括向图2和图4的窄存储器单元提供输出激活的输出总线的示例架构。图6是使用图2中的神经网络计算模组来执行张量计算的过程的示例流程图。在在各个附图中,类似的附图标记和名称指示类似的元素。具体实施方式本说明书中描述的主题涉及一种包括多个计算单元的硬件计算系统,所述多个计算单元被配置为加速神经网络层的机器学习推理工作量。硬件计算系统的每个计算单元是自包含的,并且可以独立地执行多层神经网络的给定层所需的计算。可以使用具有多个层的神经网络来计算推理。例如,在输入给定的情况下,神经网络可以计算该输入的推理。神经网络通过神经网络的每个层处理该输入来计算该推理。具体地,神经网络的层分别具有相应的权重集。每个层接收输入并且根据该层的权重集来处理该输入以生成输出。因此,为了从接收到的输入计算推理,神经网络接收输入并且通过每个神经网络层对所述输入进行处理以便生成推理,其中,一个神经网络层的输出被提供为下一个神经网络层的输入。神经网络层的数据输入,例如,神经网络的输入或者序列中的在该层下面的层到神经网络层的输出,可被称为该层的激活输入。在一些实施方式中,将神经网络的层布置成序列。在其它实施方式中,将层布置成有向图。也就是说,任何特定的层可以接收多个输入、多个输出、或者两者。也可以将神经网络的层布置成使得可以将一个层的输出向回发送作为上一个层的输入。本说明书中描述的硬件计算系统可以通过跨多个计算模组分布张量计算来执行神经网络层的计算。在神经网络层内执行的计算过程可以包括:包括输入激活的输入张量与包括权重的参数张量的乘法。该计算包括将输入激活与一个或者多个循环上的权重相乘,并且在多个循环上执行乘积的累加。张量是多维几何对象,并且示例多维几何对象包括矩阵和数据阵列。通常,由计算模组执行软件算法,以通过对嵌套循环进行处理以遍历N维张量来执行张量计算。在一个示例计算过程中,每个循环可以负责遍历N维张量的特定维度。对于给定的张量构造,计算模组可以要求访问特定张量的元素以执行与张量相关联的多个点积计算。计算发生在由窄存储器结构提供的输入激活与由宽存储器结构提供的参数或者权重相乘时。因为张量存储在存储器中,所本文档来自技高网...

【技术保护点】
1.一种用于加速张量计算的计算单元,所述计算单元包括:具有第一数据宽度的第一存储器群,所述第一存储器群用于存储输入激活和输出激活中的至少一个;具有比所述第一数据宽度大的第二数据宽度的第二存储器群,所述第二存储器群用于存储在执行计算时使用的一个或者多个参数;至少一个cell,所述至少一个cell包括从所述第二存储器群接收参数并且执行计算的至少一个乘法累加(“MAC”)运算器;与至少所述第一存储器群进行数据通信的第一遍历单元,所述第一遍历单元被配置为向所述第一存储器群提供控制信号以使输入激活被提供至能够由所述乘法累加运算器访问的数据总线;以及其中,所述计算单元通过所述乘法累加运算器执行与数据阵列中的至少一个元素相关联的一个或者多个计算,所述一个或多个计算至少包括从所述数据总线接收的所述输入激活与从所述第二存储器群接收的参数的乘法运算。

【技术特征摘要】
2016.10.27 US 15/335,7691.一种用于加速张量计算的计算单元,所述计算单元包括:具有第一数据宽度的第一存储器群,所述第一存储器群用于存储输入激活和输出激活中的至少一个;具有比所述第一数据宽度大的第二数据宽度的第二存储器群,所述第二存储器群用于存储在执行计算时使用的一个或者多个参数;至少一个cell,所述至少一个cell包括从所述第二存储器群接收参数并且执行计算的至少一个乘法累加(“MAC”)运算器;与至少所述第一存储器群进行数据通信的第一遍历单元,所述第一遍历单元被配置为向所述第一存储器群提供控制信号以使输入激活被提供至能够由所述乘法累加运算器访问的数据总线;以及其中,所述计算单元通过所述乘法累加运算器执行与数据阵列中的至少一个元素相关联的一个或者多个计算,所述一个或多个计算至少包...

【专利技术属性】
技术研发人员:奥利维尔·泰马姆拉维·纳拉亚纳斯瓦米哈西特·哈伊坦禹同爀
申请(专利权)人:谷歌有限责任公司
类型:新型
国别省市:美国,US

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

1