用于多核优化循环神经网络的系统和方法技术方案

技术编号:15691606 阅读:120 留言:0更新日期:2017-06-24 04:57
公开用于多核优化循环神经网络(RNN)架构的系统和方法。各种架构根据给定的处理器的多整体式同步并行(MBSP)模型来影响通信操作和同步操作。称为MBSP‑RNN的所得的网络架构族类似具有相同数量的参数的常规RNN那样执行,但是在映射至现代通用处理器上时,显著更为有效。由于在计算效率上大幅提高,因此,对于固定计算预算来说,MBSP‑RNN在应用诸如端对端的语音识别上优于RNN。

System and method for multicore optimized recurrent neural network

Systems and methods for multicore optimized recurrent neural network (RNN) architectures are disclosed. Various architectures influence communication and synchronization operations according to the multiple simultaneous synchronous parallel (MBSP) model of a given processor. The network architecture of MBSP group called RNN obtained similar to conventional RNN with the same number of parameters as in execution, but mapped to modern processor is significantly more effective. Because of a substantial increase in computational efficiency, therefore, for a fixed budget, MBSP RNN in applications such as end to end speech recognition is better than RNN.

【技术实现步骤摘要】
用于多核优化循环神经网络的系统和方法
本专利技术涉及计算机处理,并且更具体地涉及通过降低同步和通信的成本来提高计算效率的系统、设备和方法。
技术介绍
循环神经网络(RNN)是一种类型的人工神经网络,其中在给定时间步长中的单元集合的输出被馈送至在下一时间步长中的相同单元的输入,由此,赋予网络随时间持续的记忆的概念。RNN的计算结构使其本身形成可解决复杂的序列至序列映射问题的网络,例如要求时间序列数据的变换的问题。例如,语音识别应用中的将记录的音频波形从模拟域映射到该音频数据的文本表示的变换。然而,尽管CMOS技术的发展和RNN架构利用以小独立块的方式同时执行大任务中的多个部分的并行性的能力使得算数运算的吞吐量增加,但是常用RNN仍然存在显著缺点,例如,同步成本和通信成本的提高。详细来说,由于计算机的基本物理限制,RNN神经元的全部至全部的连接要求相对大量的通信带宽。另外,每当连接在时间序列中的连续时间步长中建立在计算单元(神经元)之间时,必须执行昂贵的同步操作。RNN内的每个单元读取所有输入并且写入所有输出,使得当单元映射到计算机中的处理单元中时,数据必须在有限量的时间内跨越多个计算机。然而,单元之间的此类通信减慢连续时间步长中连接的执行,并且增加其中数据可被传输的时间间隔,由此无论实际在单元之间移动的数据的量多少,都会致使通信发生时延。因此,将会期望,通过增加从一个神经元的输出至另一神经元的输入的通信之间经过的允许时段来放宽现有时延要求,使得多个时间步长可发生在数据通信步骤之间。另外,除了同步操作所造成的时间约束问题之外,现有RNN架构的另一限制基于以下事实:单独单元必须跨越位于第一地点的计算机来彼此通信。这种通信受到计算机在给定时段内能够在相邻的神经元之间通信的最大总数据量的限制。常用设计方法主要集中于改进RNN的算法性质,例如,在较长时间尺度上存储数据的能力或在多个时间尺度上处理信号的能力。这些方法通常不涉及通过降低同步成本和计算成本来实现RNN计算效率的提高。因此,将会期望有这样的结构和方法,即,该方法和机构利用简单、全连接的RNN所提供的精确序列至序列变换,同时减少由RNN执行的同步和通信的量,以在映射到现代通用处理器上时提高计算效率,并且最终提高性能。
技术实现思路
本申请提供了一种通过将循环神经网络架构映射至计算设备的处理器的微架构来改进计算设备的计算性能的方法、一种循环神经网络架构、以及一种在计算设备的处理器的微架构上操作循环神经网络架构而改进计算设备的计算性能的方法。根据本申请的一方面,提供了一种通过将循环神经网络架构映射至计算设备的处理器的微架构来改进计算设备的计算性能的方法,包括:基于处理器的微架构的描述,获得与存储器的级相关联的值;以及对于循环神经网络架构的层级中的最低级至最高级,每个级与处理器的微架构相关联并通过存储器容量、处理器核心数、带宽、计算带宽和时延中的至少两个来描述;将神经元分组成模块,每个模块表示循环神经网络构架内的循环神经网络层中的逻辑单元;以及将连接布置在模块之间,使得模块满足循环神经网络架构的预定条件,循环神经网络架构的预定条件与存储器容量、处理器核心数、带宽、计算带宽和时延中的至少两个有关。根据本申请的另一方面,提供了一种循环神经网络架构,该循环神经网络架构设计用于在计算设备处理器微架构上操作,以改进计算设备的计算性能,循环神经网络架构包括:神经元;包括神经元的模块,模块表示逻辑单元,并且根据处理器微架构的分级结构的级来布置以模拟包括处理器的单独计算资源的分级结构,使得分级结构中的每级与处理器存储器中的至少一级相关联并且包括第一循环神经网络层和第二循环神经网络层,分级结构中的每级是用存储容量、处理器核心数、存储器带宽、计算带宽和存储器时延中的至少两个来描述的;以及模块间的双向连接,模块间的双向连接使得第一循环神经网络层与第二循环神经网络层之间能够通信,以满足循环神经网络架构的预定条件,循环神经网络架构的预定条件与存储容量、处理器核心数、带宽、计算带宽和时延中的至少两个有关。根据本申请的再一方面,提供了一种在计算设备的处理器的微架构上操作循环神经网络架构而改进计算设备的计算性能的方法,包括:基于以处理器的微架构的描述为基础的与存储器级相关联的值,对于循环神经网络架构的分级结构的最低至最高级来说,每个级与处理器微架构相关联并用存储容量、处理器核心数、带宽、计算带宽和时延中的至少两者描述;将神经元分组成模块,每个模块表示循环神经网络构架内的循环神经网络层中的逻辑单元;以及将连接布置在模块之间,使得模块满足循环神经网络架构的预定条件,循环神经网络架构的预定条件是与存储容量、处理器核心数、带宽、计算带宽和时延中的至少两者有关。附图说明将参考本专利技术的实施方式,它们的示例可在附图中示出。这些附图旨在是说明性的而非限制性的。虽然本专利技术大体上在这些实施方式的上下文中描述,但应理解,本专利技术的范围并不旨在限于这些特定实施方式。附图中的元件可能不按比例绘制。图1描绘根据本公开多种实施方式的包括RNN以提高计算效率的计算系统的简化框图。图2A示出常用的、全连接的基线RNN层架构。图2B示出在时间序列中使用快速模块和慢速模块的常用RNN层架构中的模块之间的连接性。图2C描绘多整体式同步并行(MBSP)机器模型的层级中的单个级。图2D是最低级的层级MBSP模块的示例。图3A示出根据本公开的多种实施方式的在RNN的层级中的第二级中的两个MBSP模块之间的互连。图3B示出根据本公开的多种实施方式的用于示例性处理器的MBSP机器模型层级。图3C是根据本公开的多种实施方式的用于形成有效RNN层架构的过程的流程图。图3D是根据本公开的多种实施方式的用于平衡RNN的预定条件的过程的流程图。图4示出根据本公开的多种实施方式的在特定的处理器上执行的RNN中的模块的层级的级的概念。图5示出根据本公开的多种实施方式的分成快速模块和慢速模块的RNN。图6示出根据本公开的多种实施方式的连接性的并行前缀模式。图7示出根据本公开的多种实施方式的允许全局通信同时使时延和带宽要求最小化的另一方法。具体实施方式在以下描述中,出于解释目的,阐明具体细节以便提供本专利技术的理解。然而,将对本领域的技术人员显而易见的是,可在没有这些细节的情况下实践本专利技术。本领域的技术人员将认识到,下文描述的本专利技术的实施方式可以以各种方式并用各种手段执行。本领域的技术人员还将认识到,另外的修改、应用和实施方式只要是本专利技术可提供效用的另外领域,便处于本专利技术的范围内。因此,下述实施方式是本专利技术的具体实施方式的说明,并且意图避免使本专利技术不清楚。在本说明书中对“一个实施方式”或“实施方式”的提及表示结合实施方式所描述的具体特征、结构、特性或功能包括在本专利技术的至少一个实施方式中。短语“在一个实施方式中”、“在实施方式中”等在本说明书的各个地方的出现不必指代相同的实施方式。此外,附图中的部件之间或方法步骤之间的连接不限于直接受影响的连接。相反,在不背离本专利技术的教导的情况下,附图中所示的在部件之间或方法步骤之间的连接可以通过向其添加中间部件或中间方法步骤进行修改或以其它方式改变。在本文件中,术语“架构”和“网络架构”是指在RNN层中的神经元之间的连接性的特本文档来自技高网
...
用于多核优化循环神经网络的系统和方法

【技术保护点】
一种通过将循环神经网络架构映射至计算设备的处理器的微架构来改进所述计算设备的计算性能的方法,所述方法包括:基于所述处理器的微架构的描述,获得与存储器的级相关联的值;以及对于所述循环神经网络架构的层级中的最低级至最高级,每个级与所述处理器的微架构相关联并通过存储器容量、处理器核心数、带宽、计算带宽和时延中的至少两个来描述;将神经元分组成模块,每个模块表示所述循环神经网络构架内的循环神经网络层中的逻辑单元;以及将连接布置在所述模块之间,使得所述模块满足所述循环神经网络架构的预定条件,所述循环神经网络架构的所述预定条件与存储器容量、处理器核心数、带宽、计算带宽和时延中的所述至少两个有关。

【技术特征摘要】
2015.12.11 US 62/266,515;2016.04.05 US 15/091,4131.一种通过将循环神经网络架构映射至计算设备的处理器的微架构来改进所述计算设备的计算性能的方法,所述方法包括:基于所述处理器的微架构的描述,获得与存储器的级相关联的值;以及对于所述循环神经网络架构的层级中的最低级至最高级,每个级与所述处理器的微架构相关联并通过存储器容量、处理器核心数、带宽、计算带宽和时延中的至少两个来描述;将神经元分组成模块,每个模块表示所述循环神经网络构架内的循环神经网络层中的逻辑单元;以及将连接布置在所述模块之间,使得所述模块满足所述循环神经网络架构的预定条件,所述循环神经网络架构的所述预定条件与存储器容量、处理器核心数、带宽、计算带宽和时延中的所述至少两个有关。2.根据权利1所述的方法,其中,布置连接包括删减在所述模块之间的双向连接以平衡所述预定条件。3.根据权利1所述的方法,其中,对于处理器存储器的每个级,所述预定条件包括表示神经元的参数适配所述处理器存储器的容量。4.根据权利1所述的方法,其中,对于处理器存储器的每个级,所述预定条件包括与模块间的连接有关的同步成本近似等于对所述神经元进行评估的计算成本。5.根据权利1所述的方法,其中,对于处理器存储器的每个级,所述预定条件包括与模块内的连接和模块间的连接有关的带宽成本和时延成本中的至少一个近似等于对所述神经元进行评估的计算成本。6.根据权利1所述的方法,其中,布置连接包括通过在下一时间步长上将一个模块的输出连接至其它模块的输入的子集来形成稀疏连接,以减小通信带宽,使得用于加载在芯片上存储器上的所述模块的所有权重在所有时间步长上可被重新使用。7.根据权利1所述的方法,还包括随时间延迟更新模块之间的连接,其中,所述时间延迟增加神经元必须执行同步以改善模块之间的通信带宽和同步中的至少一个的时间。8.根据权利1所述的方法,还包括,在相同层内:将时间序列输入划分成独立连续的时间分段,所述独立连续的时间分段通过所述循环神经网络的第一部分处理,以对每个时间分段生成中间结果;在所述中间结果上运行所述循环神经网络的第二部分;以及使用所处理的中间结果在输入数据子分部上运行所述循环神经网络的第三部分。9.根据权利1所述的方法,还包括:将位于第一循环神经网络层中的快速模块中的单独神经元连接至位于第二循环神经网络层中的慢速模块中的单独神经元;将各层中的每个模块连接至该层中的其它模块;以及经由模块间的连接将所述快速模块连接至所述慢速模块。10.一种循环神经网络架构,所述循环神经网络架构设计用于在计算设备处理器微架构上操作,以改进所述计算设备的计算性能,所述循环神经网络架构包括:神经元;包括所述神经元的模块,所述模块表示逻辑单元,并且根据处理器微架构的分级结构的级来布置以模拟包括处理器的单独计算资源的分级结构,使...

【专利技术属性】
技术研发人员:格雷戈里·迪莫斯阿维尼·汉奈布赖恩·卡坦扎罗达理奥·阿默迪艾瑞克·艾乐森耶西·恩格尔舒哈布拉塔·森古普帕
申请(专利权)人:百度美国有限责任公司
类型:发明
国别省市:美国,US

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

1