Skymind创始人:分布式深度学习综述(PPT全文下载)

Adam Gibson 是美国计算机科学家,人工智能公司 Skymind、开源框架 Deeplearning4j 的联合创始人。Deeplearning4j(简称DL4J)是为 Java 和 Scala 编写的首个商业级开源分布式深度学习库。DL4J与 Hadoop 和 Spark 集成,为商业环境(而非研究工具目的)所设计。Skymind 是 DL4J 的商业支持机构。

1464018886-1257-ca5h7LcCoxNIpaQX6Ud6pAmQXR0w

分布式深度学习——综述

1464018886-6351-ick3t2aTpmKXV7ibd8Kr7opNUe1Q

神经网络训练基础

向量化/不同类型数据

参数——一个完整的神经网络包括一张图和参数向量

Minibatchers——神经网络数据需要大量的 ram(随机访问内存)。需要做 minibatch 训练。

1464018886-4115-vo1jkCuXsf5qSia8FvK0CgrwL1xg

向量化
图像
文本
音频
视频
CSV 文件/有结构的
网站日志

1464018886-7815-oRoTnMmduGXfsO6gmBO9RRl2kcjQ

参数神经网络结构

计算图——一个神经网络只是 ndarray/tensor 的一个 dag 图。

一个神经网络的参数可做成一张图中代表所有连接/权重的一个向量。

1464018886-2260-oZ2yS84qlFNzzBAPDEDRetvcoPEA

Minibatches

数据被区分入子样本

适合于 GPU

训练更快速

应该是尽可能均匀的代表性样本(每一个标签)

1464018885-7602-yr4oJM2sypGibKEhI6CUKFcwdibg

分布式训练

多台计算机

多重 GPUs

多重 GPUs 和多台计算机

不同类型的并行训练

多种不同的算法

1464018886-2669-lj5PC8Uk2Qvia3UuP78JrOicd2Cg

多台计算机

分布式系统——在集群上连接/协调计算机

Hadoop

HPC(MPI 和同类)

Client/server 体系架构

1464018887-3703-ic5dB1CibZ4RxDejFg2gibSX2fOQ

多重 GPUs

单个 box

可能是多个主线程

RDMA 互相连接

NVLink 技术

典型应用于一个数据中心架

将问题打碎

在 GPUs 间共享数据

1464018887-6006-F5pfHOkZUVKlyuI3pfF0ST99WDug

多重 GPUs 和多台计算机

在集群上协调问题

使用 GPUs 做计算

可通过 MPI 或者 hadoop 完成(主线程协调)

参数服务器——在主服务器上同步参数,和处理 GPU 互相连接事件一样。

1464018887-4231-zficib8R8QumrJoD17c39VUXolLA

类型的并行

数据并行

模型并行

二者兼有?

1464018887-1523-ic6cXBALIJnABXUJqYWwtnibibpQ

多种不同的算法

全局归纳

Iterative Reduce

纯模型并行

参数平均是关键

1464018887-7502-mpiaEsBuyNlKY0FDAruySyVsKKhA

核心理念

将问题区分进组块

可以使神经网络

也可以是数据

尽可能使用多的 CUDA 或 CPU 核心

1464018887-5525-icHdDg5XOsRj002EpngBweJZAPuA

参数平均化如何工作的?

在集群上复制模型

使用同样的模型在不同的数据部分上进行训练

超参数应该更具侵略性(更高的学习效率)

1464018888-8144-UtFORpXUWXppmu7CLP0kAfnL4eqA

全局归纳
PDF 查看网址://cilvr.cs.nyu.edu/diglib/lsml/lecture04-allreduce.pdf

1464018888-8171-iaNTYRnoaRibT9icbziaJzaJxjkw

Iterative Reduce(参数平均)

1464018888-5860-RZ0MWgfrI45oIDVib3LlAq2fpVHg

自然梯度算法(ICLR 2015)
论文查看地址:https://arxiv.org/pdf/1410.7455v8.pdf——同步每一个 K 数据点

1464018888-7084-Eo5kaJB8xN8ssgMe8E3BaJXDlJqA

调整分布式训练

以正则化的方式平均每一步
需要更多侵略性超参数
不需要总是非常快速——因为你拥有的数据点的原因
分布式系统应用到这里:发送代码到数据,没其他办法
为最大性能降低通信开销
已经有很多的实验了

1464018888-6511-OJBBLgASUthcsWSBSETeNbzndU0g

©本文由机器之心编译

感谢支持199IT
我们致力为中国互联网研究和咨询及IT行业数据专业人员和决策者提供一个数据共享平台。

要继续访问我们的网站,只需关闭您的广告拦截器并刷新页面。
滚动到顶部