【阿里云计算】【开发者成长】揭秘阿里云大规模深度学习性能优化实践( 二 )
从这个例子可以看出 , 大规模深度学习具有以下 4 个优势:一是大规模分布式训练可以降低深度学习训练的时间;二是可以加速深度学习算法研究的效率和进程;三是大规模分布式推理可以提升用户深度学习应用的并发度和可靠性 , 四是最终提升用户产品的竞争力 , 提升用户产品市场占有率 。 所以 , 大规模深度学习对于公司来说 , 是提高生产力效率的制高点 。
本文插图
大规模分布式训练的基本计算模型大体上分为两类:一类是 PS 模式的分布式训练 , 一类是对等模式的分布式训练 。
本文插图
如图 , PS 分布式有一个参数服务器 , 有很多个 worker , 参数服务器负责存储全局模型 , 而每个 worker 上都有一份本地模型的副本;在分布式训练开始的时候 , 每个 worker 都会读取自己的训练数据 , 然后去更新本地的模型 , 得到本地的梯度;然后每个 worker 将本地的梯度上传到参数服务器上去得到全局梯度 , 参数服务器上再用全局梯度去更新全局模型 , 然后更新后的全局模型会去更新所有 worker 的本地模型 , 再进行下一次的训练迭代 。
而对等模式没有参数服务器 , 每个 worker 都获得自己的训练数据 , 去更新本地的模型 , 得到本地的梯度 , 然后每个 worker 的本地梯度会做一个全局的 all-reduce 计算 , 从而每个 worker 都可以得到全局梯度 , 每个 worker 再用全局梯度去更新本地的模型 , 再进行下一次训练迭代 。
PS 模式比较适合有大量模型参数的情况 , 一张 GPU 存不下模型大小 , 通过 PS 的分布式可以将大参数模型存下来 , 但是缺点是有中心化通信 , 当规模越来越大的时候 , 通信效率会越来越低 。
而对等模式比较适合于一张 GPU 能够存下的模型大小 , 并且是一种去中心式的通信模式 , 可以通过 Ring-Allreduce 环形通信算法来降低通信复杂度 。 不同的计算框架都有不同的计算模式 , 例如 Tensorflow 既有 PS 模式又有对等模式 , PyTorch 以支持对等模式为主 , 而 MXNET 以支持 KVStore 和 PS-Lite 的 PS 模式为主 。
不同框架的不同分布式模式对于用户来写分布式代码、分布式性能优化以及分布式调度都会是非常大的阻碍 。
大规模深度学习应用对于基础架构有着不一样的需求 。
本文插图
在资源层 , 计算资源上 , 需要大规模的 GPU 服务器集群来做分布式训练 , 需要大容量的并行文件系统来做大规模的文件存储和提供并行的文件访问 , 还需要建设大规模的 TCP 或者 RDMA 网络 。
在调度层 , 需要进行大规模的 GPU 集群和任务调度 。
在框架层 , 需要感知计算和调度不同深度学习计算框架的分布式计算的模式 。
在应用层 , 我们也需要去拆分训练数据 , 或者拆分训练模型到不同的 worker 上去 。
因此 , 对于大规模深度学习的应用 , 会存在诸多的困难和挑战 。
对于资源层来说:
首先 , 建设大规模 GPU 集群是非常困难的 , 包括要解决大规模 GPU 机器的机房、机架、电源的问题 , 以及它们的稳定性和成本的问题 。
其次 , 众所周知 , 建设大规模并行文件系统不仅需要建设大容量的并行文件系统 , 而且对于并行文件系统的稳定性和可靠性的挑战是非常之高的 。
另外 , 需要建设大规模、高带宽的 TCP 或者 RDMA 网络也非常困难 , 需要规划和实现大规模交换机和节点的拓扑结构 , 规划和实现大规模南北向流量的收敛比 , 规划和实现大规模网络协议和 IP 地址 , 并且需要保障网络的可靠性以及大规模网络的性能 。
推荐阅读
- 畜牧业@畜牧互联网再次引爆:阿里养猪,京东养鸡,快看大佬们都在干嘛
- 『手机技巧超人』手机开发者选项居然这么神奇!手机用了这些年,你不会还不知吧?
- 『腾讯科技』淘宝天猫蒋凡在阿里内网回应传闻:深表歉意,恳请公司展开调查
- #阿里巴巴#将饿了么卖给阿里,套现600亿的大学生,如今在干什么呢?
- 服务@云市场跨步式发展 打造ToB云市场阿里腾讯外“第三股势力”
- 『程序员』阿里程序员感慨:公司期权套牢了我,外面开五六万的薪资都不想接
- 「创作者来直播」阿里老师给检察官做直播,猜猜带的什么货?
- 『湘潭』华为、京东、阿里云……湘潭欲打造的这个“英雄联盟”很是“牛”
- #新开普#阿里系进驻后股价翻倍,这家豫股却遭大股东减持套现63次丨立方财报眼
- 【天猫】天猫“总裁夫人”手撕张大奕:如涵股价暴跌9% 阿里股价波动较小
