5月30日,聚效广告技术经理 & DMLC成员、MXNet committer刘忆智发布微博称,DMLC团队做了一些hack的工作,让分布式MXNet能在Spark上运行,提供大规模深度学习的端到端解决方案。现在有了第一个可用版本【Github:MXNet Deep Learning on Spark】,还有一些坑,但会继续完善。
DMLC成员陈天奇表示:“需要深度改变Spark本身的运行模式来使得在Spark上面的快速深度学习成为可能。并且同样的技术不会限制在Spark,会很容易地移植到各种cloud dataflow里面去。”
在本月初的CCTC大会-Spark技术峰会上,刘忆智曾做演讲:《超越MLLib: 通过XGBoost/MXNet看Spark上的前沿(深度)机器学习》,从模型、性能等方面对图形计算框架XGBoost和深度学习计算框架MXNet进行解析。
他认为,对于深度学习,Spark现有的MLlib框架的挑战包括不容易表达神经网络的结构、卷积层或全连接层的计算量、参数的量非常大导致内存受限和分布式训练处理等。XGBoost采用多线程来加速树的构建,并通过Rabit进行分布式计算;MXNet能够支持异构计算,通过参数服务器可以支持分布式训练,并通过砍掉无用步骤优化内存的开销。
希望将二者与整合Spark的原因:
- Spark是大规模数据处理的事实标准,包括机器学习的操作,希望把ETL和机器学习管道整合;
- GraphX性能很好,但从整个数据处理流程来看,GraphX耗时并不少。
XGBoost和MXNet已经有Spark版本,有一些API可以使用,性能测试表现不错,Failover的工作也正在进行。
CCTC 2016 聚效广告刘忆智演讲PPT下载:超越MLLib: 通过XGBoost/MXNet 看Spark上的前沿(深度)机器学习