Intel 开源了基于 Apache Spark 的分布式深度学习框架 BigDL

  • Alexandre Rodrigues
  • Alina

2017 年 1 月 18 日

话题:AWS语言 & 开发AI

Intel开源了基于Apache Spark的分布式深度学习框架BigDL。BigDL 借助现有的 Spark 集群来运行深度学习计算,并简化存储在 Hadoop 中的大数据集的数据加载。

Xeon 服务器上运行的测试结果表明,BigDL 比其他开源框架CaffeTorchTensorFlow有显著的性能提升。BigDL 速度可与主流 GPU 匹敌,而且能够扩展到数十个 Xeon 服务器。

BigDL 库支持 Spark 1.5、1.6 和 2.0 版本,并容许将深度学习嵌入在现有的 Spark 程序中。BigDL 库中有把 Spark RDDs 转换为 BigDL DataSet 的方法,并且可以直接与Spark ML Pipelines一起使用。

对于模型训练,BigDL 使用了在多个执行器中执行单个 Spark 任务的同步小批量 SGD(Stochastic Gradient Descent)。每个执行器运行一个多线程引擎并处理一部分微批次数据。在当前版本中,所有的训练和验证数据都存储到存储器中。

BigDL 使用 Scala 开发,并参考了 Torch 的模型。像 Torch 一样,它有一个使用Intel MKL库进行计算的 Tensor 类。Intel MKL(Math Kernel Library)是由一系列为计算优化过的小程序所组成的库,这些小程序从FFT(快速傅立叶变换)到矩阵乘法均有涉及,常用于深度学习模型训练。Module 是另一个从 Torch 借鉴而来的概念,它的灵感来自 Torch 的nn package。Module 代表单独的神经网络层、TableCriterion

BigDL 提供了一个AWS EC2 镜像和一些示例,比如使用卷积神经网络进行文本分类,还有图像分类以及如何将在 Torch 或 Caffe 中预训练过的模型加载到Spark 中进行预测计算。来自社区的请求主要包括提供对Python的支持和MKL-DNN(MKL 的深度学习扩展)。

查看英文原文Intel Open-Sources BigDL, Distributed Deep Learning Library for Apache Spark


感谢薛命灯对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们。

AWS语言 & 开发AI