使用稀疏性来加速深度学习网络的系统和方法技术方案

技术编号:37297692 阅读:13 留言:0更新日期:2023-04-21 22:44
公开了一种使用稀疏性来加速深度学习网络的系统和方法。所述方法包括:将位向量传达到调度器,所述位向量标识输入张量中的哪些值为非零;对于所述输入张量的每个通道,确定要为乘法累加(MAC)运算传达哪些值,所述确定包括指示以下项中的一者的执行:传达所述通道中的当前值;传达同一通道中的下一值,其中此值为非零;在时间上提前一步传达值,其中此值为非零;以及从相邻通道传达值,其中此值为非零;以及输出所述MAC运算的所述值。以及输出所述MAC运算的所述值。以及输出所述MAC运算的所述值。

【技术实现步骤摘要】
【国外来华专利技术】使用稀疏性来加速深度学习网络的系统和方法


[0001]以下总体上涉及深度学习网络,并且更具体地涉及一种用于使用稀疏性来加速深度学习网络的系统和方法。

技术介绍

[0002]以前,神经网络可在几个小时内在商用服务器上进行训练;然而,在现代,训练最好的神经网络已经成为百亿亿次级问题。现有技术的神经网络可能需要许多图形处理器或专用加速器,诸如张量处理单元(TPU)、Gaudi、DaVinci或Cerebras CS1,使得它们可在实际时间限制内进行训练。例如,经由超参数探索或更一般地经由网络架构搜索来调谐神经网络以在推断期间获得最佳性能或准确性进一步增加了训练成本。除了获取或访问此类昂贵的计算资源的成本之外,还有运营成本和训练的环境影响。在某些应用程序中可能需要在“边缘”处训练神经网络,例如,以用用户特定的信息和输入来改进现有模型。虽然边缘装置的权衡与数据中心或台式机的权衡不同,但需求仍然相同:在特定约束下减少执行时间并提高能量效率。

技术实现思路

[0003]在一方面,提供了一种用于针对处理元件使用稀疏性来加速深度学习网络的方法,所述方法包括:从多个输入流中的每一者接收输入张量并进行存储;将位向量传达到调度器,所述位向量标识所述输入张量中的哪些值为非零;对于所述输入张量的每个通道,确定要为乘法累加(MAC)运算传达哪些值,所述确定包括指示以下项中的一者的执行:传达所述通道中的当前值;传达同一通道中的下一值,其中此值为非零;在时间上提前一步传达值,其中此值为非零;以及从相邻通道传达值,其中此值为非零;传达用于MAC运算的有向值;以及输出所述MAC运算的所述值。
[0004]在所述方法的特定情况下,所述处理元件与多个其他处理元件被分块在一起,并且从所述多个输入流中的每一者接收所述输入张量并进行存储包括沿着所述输入流的同一行的处理元件共享输入并且沿着所述输入流的同一列的处理元件共享输入。
[0005]在所述方法的另一情况下,所述多个处理单元中的每个处理单元使用单独的调度器。
[0006]在所述方法的又一情况下,沿着所述同一行的每个处理单元使用公共调度器。
[0007]在所述方法的又一情况下,所述通道被视为布置成环,其中所述通道中的最后通道与所述通道中的第一通道相邻。
[0008]在所述方法的又一情况下,从所述相邻通道传达所述值包括在时间上提前一步从相邻通道传达值,其中此值为非零。
[0009]在所述方法的又一情况下,从所述多个输入流中的每一者接收所述输入张量并进行存储包括将所述输入流中的每一者存储在相应的暂存缓冲区中。
[0010]在所述方法的又一情况下,所述暂存缓冲区包括所述输入流的当前步和时间上提
前的一个或多个步。
[0011]在所述方法的又一情况下,所述调度器使用分级优先级方案。
[0012]在所述方法的又一情况下,所述分级优先级方案包括密集调度、接着是在时间上不断提前的多个步,并且接着是在时间上不断提前的相邻通道的多个步。
[0013]在另一方面,提供了一种使用稀疏性来加速深度学习网络的系统,所述系统包括一个或多个处理单元,所述一个或多个处理单元与数据存储器通信以用于执行处理元件(PE),每个处理元件接收多个输入流并且包括:暂存缓冲区,所述暂存缓冲区用于从所述多个输入流中的每一者接收输入张量并进行存储;调度器,所述调度器从每个暂存缓冲区接收位向量以标识所述输入张量中的哪些值为非零,并且对于所述输入张量的每个通道,所述调度器确定要将哪些值传达到乘法累加(MAC)单元以用于MAC运算,所述确定包括指示以下项中的一者的执行:传达所述通道中的当前值;传达同一通道中的下一值,其中此值为非零;在时间上提前一步传达值,其中此值为非零;以及从相邻通道传达值,其中此值为非零;以及由所述MAC单元执行并输出所述MAC运算的所述值。
[0014]在所述系统的特定情况下,所述处理元件共同地布置成分块布置,其中沿着所述输入流的同一行的处理元件共享输入并且沿着所述输入流的同一列的处理元件共享输入。
[0015]在所述系统的另一情况下,每个处理单元使用单独的调度器。
[0016]在所述系统的又一情况下,沿着所述同一行的每个处理单元使用公共调度器。
[0017]在所述系统的又一情况下,所述通道被视为布置成环,其中所述通道中的最后通道与所述通道中的第一通道相邻。
[0018]在所述系统的又一情况下,从所述相邻通道传达所述值包括在时间上提前一步从相邻通道传达值,其中此值为非零。
[0019]在所述系统的又一情况下,所述暂存缓冲区包括所述输入流的当前步和时间上提前的一个或多个步。
[0020]在所述系统的又一情况下,所述调度器使用分级优先级方案。
[0021]在所述系统的又一情况下,所述分级优先级方案包括密集调度、接着是在时间上不断提前的多个步,并且接着是在时间上不断提前的相邻通道的多个步。
[0022]在所述系统的又一情况下,所述调度器从与每个通道中的值相关联的所述暂存缓冲器中的每一者接收两个位向量,所述两个位向量按位进行或运算以生成指示哪里存在至少一个零的输出位向量,所述调度器使用所述输出位向量中的值来选择每通道的移动,使得在单个步中处理尽可能多的所述非零值。
[0023]在本文中预期并描述这些和其他方面。应当理解,前述
技术实现思路
阐述了实施方案的代表性方面以帮助技术读者理解以下详细描述。
附图说明
[0024]将参考附图更好地理解实施方案,在附图中:
[0025]图1是根据实施方案的用于使用稀疏性来加速深度学习网络的系统的示意图;
[0026]图2是示出图1的系统和示例性操作环境的示意图;
[0027]图3是根据实施方案的用于使用稀疏性来加速深度学习网络的方法的流程图;
[0028]图4是示出根据示例实验的每模型的三个运算中的每一者的总潜在工作减少的示
例的图表;
[0029]图5示出了深度学习网络(DNN)的前向传递的示例;
[0030]图6示出了为DNN的反向传递确定输入梯度的示例;
[0031]图7示出了为DNN的反向传递确定权重梯度的示例;
[0032]图8示出了示例基线处理元件;
[0033]图9A示出了在不消除无效的那些值的情况下处理16个值对的示例;
[0034]图9B示出了在时间和时空两者上不受限制的情况下允许非零值独立移动的方法的示例;
[0035]图9C示出了利用每通道的有限值移动集的稀疏性的图1的系统的示例的图;
[0036]图9D和图9E是分别示出图1的系统的示例方法的循环1和2的图;
[0037]图10示出了图1的系统的处理元件的示例图;
[0038]图11是示出通道1的连接的示例的图;
[0039]图12示出了调度器的示例实施方式的图;
[0040]图13示出了用于图1的系统的具有2
×
2分块配置的简化核心;本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种用于针对处理元件使用稀疏性来加速深度学习网络的方法,所述方法包括:从多个输入流中的每一者接收输入张量并进行存储;将位向量传达到调度器,所述位向量标识所述输入张量中的哪些值为非零;对于所述输入张量的每个通道,确定要为乘法累加(MAC)运算传达哪些值,所述确定包括指示以下项中的一者的执行:传达所述通道中的当前值;传达同一通道中的下一值,其中此值为非零;在时间上提前一步传达值,其中此值为非零;以及从相邻通道传达值,其中此值为非零;传达用于MAC运算的有向值;以及输出所述MAC运算的所述值。2.如权利要求1所述的方法,其中所述处理元件与多个其他处理元件被分块在一起,并且从所述多个输入流中的每一者接收所述输入张量并进行存储包括沿着所述输入流的同一行的处理元件共享输入并且沿着所述输入流的同一列的处理元件共享输入。3.如权利要求2所述的方法,其中所述多个处理单元中的每个处理单元使用单独的调度器。4.如权利要求1所述的方法,其中沿着所述同一行的每个处理单元使用公共调度器。5.如权利要求1所述的方法,其中所述通道被视为布置成环,其中所述通道中的最后通道与所述通道中的第一通道相邻。6.如权利要求1所述的方法,其中从所述相邻通道传达所述值包括在时间上提前一步从相邻通道传达值,其中此值为非零。7.如权利要求1所述的方法,其中从所述多个输入流中的每一者接收所述输入张量并进行存储包括将所述输入流中的每一者存储在相应的暂存缓冲区中。8.如权利要求7所述的方法,其中所述暂存缓冲区包括所述输入流的当前步和时间上提前的一个或多个步。9.如权利要求1所述的方法,其中所述调度器使用分级优先级方案。10.如权利要求9所述的方法,其中所述分级优先级方案包括密集调度、接着是在时间上不断提前的多个步,并且接着是在时间上不断提前的相邻通道的多个步。11.一种使用稀疏性来加速深度学习网络的系统,所述系统包括一个或多个处理单元,所述一个或多个处理单元与数据存储器通信以用于执行处理元件(PE),每...

【专利技术属性】
技术研发人员:M
申请(专利权)人:多伦多大学管理委员会
类型:发明
国别省市:

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

1