一种RNN并行模型及其在多核CPU上的实现方法及系统技术方案

技术编号:32563343 阅读:36 留言:0更新日期:2022-03-09 16:47
本发明专利技术公开了一种RNN并行模型及其在多核CPU上的实现方法及系统,针对多层RNN结构进行层内和层间并行优化,将原输入序列分成许多最小子序列,并将切分后的多层子RNN作用于每个最小子序列;采用层间并行方法分析作用于每个最小子序列的多层子RNN中数据的依赖关系,将不同层及不同时间步的循环单元并行化;采用核组内的模型并行将多层次的RNN并行模型映射在多核CPU的第一层次;采用核组间的数据并行将多层次的RNN并行模型映射在多核CPU的第二层次,充分利用了多核CPU架构特点,实现多层次的RNN并行模型在多核CPU上的并行训练。本发明专利技术充分利用多核处理器架构的特点,实现循环神经网络更细粒度的并行方式,加快网络的训练。加快网络的训练。加快网络的训练。

【技术实现步骤摘要】
一种RNN并行模型及其在多核CPU上的实现方法及系统


[0001]本专利技术属于人工智能及并行计算
,具体涉及一种RNN并行模型及其在多核CPU上的实现方法及系统。

技术介绍

[0002]随着深度学习的快速发展,循环神经网络(Recurrent neural network,RNN)已经广泛应用于自然语言处理和时间序列任务中,包括情感分类、机器翻译、智能问答和序列预测等人工智能应用。RNN具有获取输入序列顺序信息的能力,能够将网络中前一个时间步的信息传递到下一个时间步,从而捕捉随时间变化的序列信息之间关联性。由于原始RNN面临着逐渐消失和爆炸的梯度问题,长短期记忆网络(Long

short term memory,LSTM)和门控循环单元(Gated recurrent unit,GRU)是目前使用最广泛的循环单元,在各种任务上都取得了很好的性能。然而,随着数据量增加和网络层数变深,前馈和卷积神经网络(Convolutional neural network,CNN)由于不需要任何描述过去和未来数据之间联系的内部状态,本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种RNN并行模型在多核CPU上的实现方法,其特征在于,对多层RNN模型的层内并行使用SRNN切分方法,将原输入序列分成许多最小子序列,并将切分后的多层子RNN作用于每个最小子序列;采用层间并行方法分析作用于每个最小子序列的多层子RNN中数据的依赖关系,将不同层及不同时间步的循环单元并行化得到多层次的RNN并行模型;多层次的RNN并行模型在多核CPU上第一层次映射方法为核组内的模型并行,使用共享缓存的多个处理器核心组成的核组计算作用于最小子序列的多层子RNN,核组内分配模型的不同部分,得到的计算结果再进行核组间的数据并行计算;多层次的RNN并行模型在多核CPU上第二层次映射方法为核组间的数据并行,每个核组计算得到了多层子RNN的输出,作为额外循环单元的输入再进行核组间的数据并行计算,实现RNN并行模型在多核CPU上的并行训练。2.根据权利要求1所述的方法,其特征在于,层内并行使用SRNN切分方法具体为:将输入序列X划分成n个等长的子序列N,则每个子序列N的长度将每个子序列N再次划分为n个等长子序列,重复k次操作,得到n
k
个最小子序列,每个最小子序列的长度为引入额外循环单元获取被切开子序列间的高层特征信息,构建SRNN模型,每个最小子序列使用已切分的H层子RNN提取特征。3.根据权利要求2所述的方法,其特征在于,构建SRNN网络时,时间复杂度为:其中,代表作用于最小子序列的多层RNN所需要的计算时间,nk代表额外添加的循环单元所需要的计算时间。4.根据权利要求1所述的方法,其特征在于,将不同层及不同时间步并行化具体为:对于多层次的RNN并行模型的层内,将原始多层RNN按照最小子序列的大小从时间步维度进行划分后,使用划分后的多层RNN提取最小子序列特征,再引入额外的循环单元获取被切开序列间的高层特征信息;对于多层次的RNN并行模型的层间,将每个作用于最小子序列的多层子RNN层间并行化。5.根据权利要求4所述的方法,其特征在于,使用具有H层的子RNN提取最小子序列特征时,将第h层第t时间步的计算结果作为下层同一时间步和本层下一时间步的输入,作用于最小子序列的多层子RNN的计算复杂度变为6.根据权利要求4所述的方法,其特征在于,根据不同层和不同时间步的数据依赖关系,对作用于最小子序列的多层子RNN进行多层间并行化后,当第1时间步中的第1层循环单元计算完后...

【专利技术属性】
技术研发人员:董小社余星达陈维多何欣瑞王强陈衡王龙翔
申请(专利权)人:西安交通大学
类型:发明
国别省市:

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

1