ASAPP与MIT联合发文:我们该如何训练RNN才能使其像CNN那样快?
图:pixabay
原文来源:arxiv
作者:Tao Lei Yu Zhang
「机器人圈」编译:嗯~阿童木呀、多啦A亮
相信大家都知道,由于在并行化其状态计算时所存在的固有困难,循环神经网络的规模状态相对来说比较差。例如,直到ht-1的整个计算完成之后,ht的前向计算才开始执行,这就是并行计算村子的主要瓶颈问题。在这项工作中,我们提出了一种可替代的RNN实现方法,即故意简化状态计算并展现更多的并行性。而我们在此处所提出的循环单元的运行速度与卷积层一样快,甚至要比经cuDNN优化的LSTM快5至10倍。我们展示了该单元在广泛应用中所展现的有效性,包括分类,问答,语言建模,翻译以及语音识别。而我们将开源用PyTorch和CNTK1实现的代码资源。
现如今,在深度学习中所取得的一系列最新进展大都得益于日益增加的模型容量和相关的计算。这通常涉及使用更大更深的网络,而这往往是通过广泛的超参数设置进行调整得到的。但是,不断增长的模型大小和超参数,大大增加了训练时间。例如,训练一个最先进的翻译或语音识别系统往往需要几天的时间才能完成(Vaswani等人于2017提出,Wu等人于2016提出,Sak等人于2014提出)。很显然的一点是,计算已经成为深度学习研究领域的主要瓶颈问题。
为了应对显著增加的计算需求,诸如GPU加速训练这样的并行化已被广泛应用于扩展深度学习领域中(Diamos等人于2016提出; Goyal等人于2017提出)。虽然诸如卷积和注意这样的操作非常适合于多线程/ GPU计算,但是循环神经网络仍然不太适合并行化。在一个典型的实现中,输出状态ht的计算将会保持暂停,直到ht-1的整个计算完成。这个约束阻碍了独立的计算,并且大大地减缓了序列处理的进程。图1展示了经cuDNN优化的LSTM(Appleyard等,2016)和使用conv2d的词级卷积的处理时间。它们之间的区别是非常明显的——即使是经过特别优化的LSTM的实现速度也要慢10倍以上。
图1:使用cuDNN LSTM、单次级别卷积conv2d和建议的RNN实现的一批32个样本的平均处理时间(以毫秒为单位)。l:每个序列的token数,d:特征维度和k:特征宽度。报道的数字是基于具有Nvidia GeForce GTX 1070 GPU和Intel Core i7-7700K处理器的PyTorch。
在这项工作中,我们介绍了简单循环单元(SRU),其运行明显快于现有的循环实现。循环单元简化了状态计算,从而暴露出与CNN、注意力和前馈网络相同的并行性。具体来说,虽然内部状态ct的更新仍然使用先前的状态ct-1,但是在循环步骤中对ht-1的依赖性已经下降。因此,可以在不同的维度和步骤中容易地并行化循环单元中的所有矩阵乘法(即gemm)和元素操作。类似于cuDNN LSTM和conv2d的实现,我们通过将所有元素操作编译成单个内核函数调用来执行对SRU的CUDA级优化。如图1所示,我们的实现达到了与其conv2d配对物相同的速度。
当然,不能提供可比较或更好的准确性的替代实现将不具有适用性。为此,我们评估SRU广泛的应用范围包括分类、问答、语言建模、翻译和语音识别。实验结果证实了SRU的有效性——与这些任务的循环(或卷积)基线模型相比,它实现了更好的性能,同时能够更快地进行训练。
这项工作提供了简单的循环单元(SRU),其运行速度与CNN一样快速的模块,可轻松扩展到10层以上。 我们对NLP和语音识别任务进行了广泛的评估,证明了这个循环单元的有效性。我们开源实现方法,以促进未来NLP和深度学习的研究。
论文全文链接:https://arxiv.org/pdf/1709.02755.pdf
PyTorch代码实现:https://github.com/taolei87/sru
上一篇:“心享巴士 心想而至”——杭州定制公交升级版9月7日起正式上线
下一篇:酒水新零售!天猫云酒窖来了,一键叫酒,即点即饮!
标签:
今日话题更多>
- 武汉大学信息门户是什么 武汉大学信息门户是武汉大学官方网站的入口,它为武汉大学师生员工提供信息服务和网络应用入口。信息门户网址为:ehall.whu.edu.cn。 信息门户包含以下主要功能: 1. 统一身份……
- 壹米滴答物流单号查询方法 壹米滴答物流单号查询可通过以下方式进行: 1. 登录壹米滴答官网 登录www.yimidida.com网址,点击页面右上角的登录按钮,输入用户名和密码进行登录。登录成功后,在用户中心可……
- 壹米滴答物流是什么平台 壹米滴答是一家中国国际物流快递公司,提供国内外物流配送服务。 1. 公司简介 壹米滴答成立于2013年,由深圳市壹米滴答供应链管理有限公司运营。现已开通200多个国家和地区的……
黑帽学习 更多 >>
-
黑帽seo技术主要有哪些,为什么
从搜索引擎的算法出来之后,就有很多的人开始研究如何比较快的做收录和排名,那个时候并没有人把…… -
采集站怎么样才不会死,采集站应
现在有不少的站长正在一批一批的做采集站,因为这种网站比较的省时省力,不过也有其非常大的弊端…… -
黑帽seo有什么高深的技术吗
搜索引擎虽然只是一个入口,但是这个入口搜索出来的结果的排名是具有非常大价值的,有很多的人都…… -
蜘蛛池有效果吗,目前比较好用的
说起蜘蛛池程序,可能很多做黑帽的人比较了解这个东西,它主要就是为了快速的搭建蜘蛛池,然后引…… -
发包技术教程有用吗,发包排名虚
对于很多做黑帽seo的人来说,技术手段是需要不断研发和提升的,但是搜索引擎对于这些黑帽的技术…… -
网站总是被劫持怎么办,网络被劫
其实做起来一个网站是非常花时间和精力的,有不少的站长辛辛苦苦的花了很长的时间去做了一个网站…… -
什么叫做强引蜘蛛,强引蜘蛛软件
蜘蛛对于收录来说是一个非常重要的东西,我们可以说有蜘蛛不一定会收录,但是想要收录就一定要有…… -
如何去搭建一个蜘蛛池,需要准备
对于一些做了很久seo的人来说,肯定会接触到蜘蛛池这个东西,因为蜘蛛池对于收录这块的作用是非…… -
目前比较好用的蜘蛛池有哪些,小
做seo的肯定都了解蜘蛛池(如果对于蜘蛛池不是很了解,可以参考《 蜘蛛池是什么 》这篇文章)是…… -
强引蜘蛛原理是怎么样的,蜘蛛池
对于网站的收录来说,蜘蛛是主要的抓取工具,虽然说我们可以从一些提交入口里面去提交,但是还是……