深度学习是机器学习研究中的一个新的领域,它能够模仿人脑的机制来解释数据。近日,Facebook人工智能研究院(FAIR)宣布 开源 了一组深度学习工具,这些工具主要是针对 Torch 机器学习框架的插件,包括 iTorch 、 fbcunn 、 fbnn 、 fbcuda 和 fblualib 。这些插件能够在很大程度上提升神经网络的性能,并可用于计算机视觉和自然语言处理(NLP)等场景。目前,Torch已被Google、Twitter、Intel、AMD、NVIDIA等公司采用。
其中的fbcunn包含了Facebook用于GPU的高度工程化深度学习模块,该模块可用来加快深度学习的速度。fbcunn对对像识别、自然语言的处理以及其他大规模的深度学习系统(如卷积神经网络)有很大的帮助。
本次开源的内容包括用于大型卷积网(ConvNets)的GPU优化模块、在自然语言处理领域常用的网络。其中的ConvNets模块包括一个快速的基于FFT的卷积层,采用基于NVIDIA的cuFFT库构建的自定义CUDA内核。除此之外,还包括许多其他基于CUDA的模块和容器(container)。本次发布的最重要部分包括基于FFT的卷积层代码,Facebook已经花了相当大的工程努力提高GPU卷积层。这项工作已达到目前公布的最快代码的23.5倍,如下图所示是13x13内核情况:
该热力图显示了采用Facebook的ConvolutionFFT相对于采用NVIDIA的CuDNN完成一个训练的相对速度,红色代表Facebook慢,绿色代表Facebook更快,颜色增强代表加速的幅度。对于小尺寸的内核(3×3),增速适中,最高速度比CuDNN快1.84倍;对于较大尺寸的内核,从(5×5)开始,增速相当可观;更大尺寸的内核(13x13),最高速度为比CuDNN快23.5倍,更多的技术细节,读者还可以阅读在Arxiv上发表的 一篇论文 。
深度学习算法是让机器拥有智能的最佳途径,Facebook开源的这些学习工具将会推动深度学习算法的普及并降低相关应用的门槛,从而使得模式识别、神经网络等变得更加简单。除了Facebook开源的这些学习工具外,读者还可以阅读下InfoWorld公布值得大家参考学习的 机器学习领域11个最受欢迎的开源项目 。
感谢郭蕾对本文的审校。
给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。