如何将深度学习训练速度提升一百倍?PAISoar 来了(11)

RoCE 技术虽然有很多技术优势 , 但是它对无损网络的要求也导致网络配置非常复杂 , 除了新增很多网络设备的管控配置 , 同时也把之前相对独立的网卡设备纳入了网络运营的范围 , 大大增加了运营的内容和难度 。 与此相适应 , 在主机上需要安装专门的 RDMA 软件平台包 , 包括网卡驱动、用户库和管控软件等部件 。 这些软件可以做到一键部署、自动配置和定期巡检 , 并且与相应的监控系统都有数据对接 。 通过安装这些软件包 , 就可以做到及时发现物理网络的配置错误 , 硬件故障 , 让应用远离复杂的网络管理 , 顺利享受 RDMA 带来的技术红利 。

2.3 Ring AllReduce 技术

对于许多在大型数据集上训练的现代深度学习模型来说 , 基于数据并行(Data Parallelism)的同步分布式训练是最合适的训练方法 。 数据并行的同步分布式训练在每个 worker 上都有一份完整的模型 , 每个 worker 读取训练集的不同部分计算出不同的梯度 , 然后同步各个 worker 上的梯度并求平均值 , 再用平均梯度来更新每个 worker 上的模型 。 在社区版 Tensorflow 中 , 梯度平均通过将 Variable 分配到公共的 ps (parameter server)节点上实现 , 通信代价受 worker 数量和 Variable 分配策略影响很大 。 在 PAISoar 中我们使用 Ring AllReduce 技术实现梯度平均 , 通信代价的上限与 worker 数量无关 , 且不再需要额外的 ps 节点 。

推荐阅读