中文

SparkNet:在Spark中训练深度网络

机器学习 2016-03-01 v4 分布式、并行与集群计算 机器学习 神经与进化计算 最优化与控制

摘要

训练深度网络是一个耗时的过程,用于目标识别的网络通常需要多天才能训练完成。因此,利用集群资源来加速训练是一个重要的研究方向。然而,广泛流行的批处理计算框架(如MapReduce和Spark)并非为支持现有分布式深度学习系统的异步和通信密集型工作负载而设计的。我们引入了SparkNet,一个在Spark中训练深度网络的框架。我们的实现包括一个用于从Spark RDD读取数据的便捷接口、一个面向Caffe深度学习框架的Scala接口,以及一个轻量级多维张量库。通过使用一种简单的随机梯度下降并行化方案,SparkNet随集群规模具有良好的可扩展性,并能容忍非常高的通信延迟。此外,它易于部署和使用,无需参数调优,且与现有的Caffe模型兼容。我们量化了SparkNet获得的加速比对机器数量、通信频率和集群通信开销的依赖关系,并在ImageNet数据集上对我们的系统性能进行了基准测试。

关键词

引用

@article{arxiv.1511.06051,
  title  = {SparkNet: Training Deep Networks in Spark},
  author = {Philipp Moritz and Robert Nishihara and Ion Stoica and Michael I. Jordan},
  journal= {arXiv preprint arXiv:1511.06051},
  year   = {2016}
}

备注

12 pages, 7 figures