【技术实现步骤摘要】
本申请涉及用于在神经网络加速器上执行神经网络的方法和系统。
技术介绍
1、深度神经网络(dnn)是人工神经网络的一种形式,包括可用于机器学习应用程序的多个互连层。特别地,dnn可用于信号处理应用程序,包含但不限于图像处理和计算机视觉应用程序。图1示出了包括多个层102、104、106的示例dnn 100。每一层102、104、106接收输入数据,并且根据层来处理输入数据以产生输出数据。输出数据作为输入数据被提供给另一层,或者作为dnn的最终输出数据被输出。例如,在图1的dnn 100中,第一层102接收到针对dnn 100的原始输入数据108,并且根据第一层102来处理输入数据以产生输出数据110。第一层102的输出数据110成为第二层104的输入数据,并且第二层104根据第二层104处理输入数据110以产生输出数据112。第二层104的输出数据112成为第三层106的输入数据,并且第三层106根据第三层106处理输入数据112以产生输出数据114。然后,第三层106的输出数据114作为dnn的最终输出数据输出。在dnn用于分类的情况下
...【技术保护点】
1.一种将包括一个或多个层的神经网络划分成能够在硬件的硬件传递过程中执行的运算块的计算机实现的方法(600),所述硬件能够配置成执行神经网络,所述神经网络的所述一个或多个层能够划分成包括能够在所述硬件的相同硬件传递过程中执行的层序列的一个或多个层组,每个层组能够划分成能够在所述硬件的硬件传递过程中执行的一个或多个运算块,针对层组的一个或多个块由一个或多个分割参数定义,所述方法(600)包括:
2.如权利要求1所述的方法(600),其中与在所述硬件上执行层组相关联的所述性能度量是在所述硬件上执行所述层组的周期数量。
3.如权利要求2所述的方法(6
...【技术特征摘要】
1.一种将包括一个或多个层的神经网络划分成能够在硬件的硬件传递过程中执行的运算块的计算机实现的方法(600),所述硬件能够配置成执行神经网络,所述神经网络的所述一个或多个层能够划分成包括能够在所述硬件的相同硬件传递过程中执行的层序列的一个或多个层组,每个层组能够划分成能够在所述硬件的硬件传递过程中执行的一个或多个运算块,针对层组的一个或多个块由一个或多个分割参数定义,所述方法(600)包括:
2.如权利要求1所述的方法(600),其中与在所述硬件上执行层组相关联的所述性能度量是在所述硬件上执行所述层组的周期数量。
3.如权利要求2所述的方法(600),其中所述层组损失函数是以下两者的比率:(i)在所述硬件上执行所述层组的运算总数,以及(ii)由所述硬件对所述层组每周期执行的最大可达运算数量。
4.如权利要求3所述的方法(600),其中由所述硬件对层组每周期执行的所述最大可达运算数量取决于所述层组是带宽受限还是计算受限,并且所述层组是带宽受限还是计算受限的确定是基于屋顶线模型。
5.如权利要求4所述的方法(600),其中所述屋顶线模型将所述硬件的运算性能绘制为所述硬件每周期执行的最大可达峰值运算、所述硬件的峰值带宽速率和层组的算术强度的函数,其中层组的所述算术强度是所述层组的运算总数除以传入或传出针对所述层组的所述硬件的字节总数。
6.如权利要求3至5中任一项所述的方法(600),其中在所述硬件上执行层组包括对输入张量执行一种或多种不同类型的运算,并且用于执行所述层组的所述运算总数包括用于执行所述层组的所述一种或多种不同类型的运算中的每一种类型的运算的数量的总和。
7.如权利要求1所述的方法(600),其中与在所述硬件上执行层组相关联的所述性能度量是将数据传入和传出所述硬件以执行所述层组的总带宽。
8.如权利要求7所述的方法(600),其中将数据传入和传出所述硬件以执行层组的所述总带宽是与将一个或多个数据元素中的每个数据元素传入和传出所述硬件以执行所述层组相关联的带宽的总和。
9.如权利要求1至5和7至8中任一项所述的方法(600),其中每个层组接收一个或多个输入,并且针对层组的所述一个或多个分割参数包括至少一个参数,所述至少一个参数定义所述一个或多个输入中的一个输入在所述输入的维度上的分割。
10.如权利要求9所述的方法(600),其中针对层组的所述一个或多个分割参数包括定义所述一个或多个输入中的一个输入在所述输入的维...
【专利技术属性】
技术研发人员:A·阿马迪,C·迪基奇,C·查奈,J·罗杰斯,
申请(专利权)人:想象技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。