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架构的另一限制基于以下事 ...
【技术保护点】
一种通过将循环神经网络架构映射至计算设备的处理器的微架构来改进所述计算设备的计算性能的方法,所述方法包括:基于所述处理器的微架构的描述,获得与存储器的级相关联的值;以及对于所述循环神经网络架构的层级中的最低级至最高级,每个级与所述处理器的微架构相关联并通过存储器容量、处理器核心数、带宽、计算带宽和时延中的至少两个来描述;将神经元分组成模块,每个模块表示所述循环神经网络构架内的循环神经网络层中的逻辑单元;以及将连接布置在所述模块之间,使得所述模块满足所述循环神经网络架构的预定条件,所述循环神经网络架构的所述预定条件与存储器容量、处理器核心数、带宽、计算带宽和时延中的所述至少两个有关。
【技术特征摘要】
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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。