Facebook 开源基于 Torch 的一组深度学习插件

  • 李小兵

2015 年 1 月 25 日

话题:Facebook语言 & 开发架构深度学习

深度学习是机器学习研究中的一个新的领域,它能够模仿人脑的机制来解释数据。近日,Facebook 人工智能研究院(FAIR)宣布开源了一组深度学习工具,这些工具主要是针对Torch机器学习框架的插件,包括iTorchfbcunnfbnnfbcudafblualib。这些插件能够在很大程度上提升神经网络的性能,并可用于计算机视觉和自然语言处理(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)关注我们,并与我们的编辑和其他读者朋友交流。

Facebook语言 & 开发架构深度学习