第13课:Spark 分布式模型训练及调优(原理)

Posted wangongxi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第13课:Spark 分布式模型训练及调优(原理)相关的知识,希望对你有一定的参考价值。

本节课程为大家介绍 Deeplearning4j 在 Apache Spark 上构建分布式深度学习模型的方式与底层机制。本节课的核心内容包括:

  • Apache Spark 简介
  • 深度学习的并行与分布式建模

Deeplearning4j 是原生支持在 Spark 上建模的开源库之一,同样原生支持的还有 Intel BigDL、SparkNet、H2O 等。像 Caffe 和 TensorFlow 则可以借助第三方的项目,如 CaffeOnSpark 和 TensorFlowOnSpark 来完成基于 Spark 的分布式建模。

从具体开发的角度上讲,基于 Deeplearning4j 进行分布式建模和运行一个普通的 Spark 应用是相似的,因此熟练 Spark 应用开发是必须的基础,在下面的课程中我们也会抽出一些篇幅来做介绍。

在本次课程的第二个部分,我们将为大家介绍参数服务器(Parameter Server)和异步梯度共享(Gradient Sharing)的原理,这也是 Deeplearning4j 构建分布式神经网络的底层机制。

在下一节课程中,我们将结合之前介绍过的 Fashion-MNIST 数据集的分类应用来介绍一个完整的分布式建模案例。从读取数据、训练、评估和部署等环节介绍完整的流程。在下半部分课程中我们还会介绍下内存调优的一些机制。由于 ND4J 的底层其实是通过 JavaCPP 的方式调用了诸如 OpenBLAS/MKL 的张量运算库,因此 off-heap memory 的设置是否合理非常重要,在这一部分我们会介绍调优的细节还有常见的一些问题。下面我们首先给出原理部分的内容。

13.1 Apache Spark 简介

Apache Spark 最早是 UC Berkeley 的

以上是关于第13课:Spark 分布式模型训练及调优(原理)的主要内容,如果未能解决你的问题,请参考以下文章

二.Hive问题排查及调优思路

Spark常见数据倾斜情况及调优方案

Spark 常用参数及调优

spark shuffle参数及调优建议(转)

spark记录SparkCore的调优之Spark内存模型

spark 分布式训练原理解析