雷锋网|星云 Clustar 首席科学家胡水海:GPU 在联邦机器学习中的探索( 四 )


其中 , 数据中心内通信场景的主要挑战是高速网络时代如何加速联邦学习通信;而跨区域通信场景的主要挑战是如何在高延迟、高丢包率网络环境下加速联邦学习通信 。 针对场景一带来的挑战 , 我们采用的解决方案是通过RDMA网络技术优化两点间通信 , 然后通过动态参数聚合模型优化多点间通信来解决 。

雷锋网|星云 Clustar 首席科学家胡水海:GPU 在联邦机器学习中的探索
本文插图

在这里也提一下数据传输的背景 , 现在正处在数据中心高速网络时代 , 如上图所示 , 数据中心网络带宽近年来高速增长 , 100G , 200G网络对于大规模商用数据中心来说 , 已经非常普遍 。 当然 , 网络带宽的高速增长也对通信带来了巨大挑战!10-100倍的带宽增长带来了三个问题 , 第一 , 收发两端相同时间需要处理10-100x的网络数据包 , 第二 , 网络突发流量现象变得更加严重 , 第三 , 网络流完成时间大大减少意味着拥塞控制需要更快响应 。

雷锋网|星云 Clustar 首席科学家胡水海:GPU 在联邦机器学习中的探索
本文插图

【雷锋网|星云 Clustar 首席科学家胡水海:GPU 在联邦机器学习中的探索】传统的TCP网络由于存在CPU负载高、端处理延迟大以及吞吐量瓶颈等几个问题 , 不太适用于高速网络 。 所以在高速网络下 , RDMA取代TCP已经成为了一个趋势 。 具体表现在:通过内核旁路以及将传输层卸载到网卡硬件上 , RDMA能实现高吞吐、低时延、低CPU负载的两点间通信 , 非常适合用于加速联邦学习数据中心内的通信 。

雷锋网|星云 Clustar 首席科学家胡水海:GPU 在联邦机器学习中的探索
本文插图

但是要将RDMA应用于联邦学习数据中心内通信 , 我们还需要解决GPU跟RDMA网卡之间高效协作的问题 。 我们注意到GPU与RDMA网卡之间的通信存在从GPU到内存以及从内存到网卡的多次数据拷贝 。 这会增大传输延迟,降低吞吐量和浪费CPU 。

雷锋网|星云 Clustar 首席科学家胡水海:GPU 在联邦机器学习中的探索
本文插图

为了解决这一问题 , 我们在联邦学习通信中引入了英伟达的GPU-Direct-RDMA技术 , 实现了GPU和RDMA网卡之间的直接数据拷贝 。 一方面通信吞吐量从20G提升到了100G , 另一方面也将传输延迟最多降低了1000倍 。

雷锋网|星云 Clustar 首席科学家胡水海:GPU 在联邦机器学习中的探索
本文插图

最后我们评估了GRDMA能为联邦学习带来性能提升的程度 , 对于AlexNet和VGG16两种模型 , 分别测试了他们在TCP和GRDMA两种网络下的训练效率 。 初步的测试结果如上图显示 , 使用GRDMA分别带来了超过60%和超过50%的训练性能提升 。

雷锋网|星云 Clustar 首席科学家胡水海:GPU 在联邦机器学习中的探索
本文插图

关于优化联邦学习多点间通信 , ParameterServer和RingAllreduce是目前使用最广泛的两种参数聚合模型 。 但他们都分别有一些缺点 。 ParameterServer的问题是存在多个worker节点给单个server节点发送参数的多对一通信方式 。 在超售网络下 , 这种通信方式的性能会因为链路拥塞而大幅度下降 。 RingAllreduce的问题是存在一个很长的通信依赖链 。 一旦某一跳发生阻塞 , RingAllreduce的长依赖链会使整个聚合任务停滞 。

雷锋网|星云 Clustar 首席科学家胡水海:GPU 在联邦机器学习中的探索
本文插图

对于跨区域通信场景问题 , 首先有以下几点观察 , 第一 , 随着物理距离增加 , 跨区域通信时间在联邦学习中的时间占比越来越大;第二 , 跨区域主干网具有高延迟、高丢包率等特征 , 丢包侦测与丢包恢复代价很大;第三 , 机器学习模型训练可以容忍一定的丢包率 , 即我们通过实验发现 , 当丢包率小于15%时 , 即使不做丢包恢复 , 模型收敛所需要的轮次并不会变多 。 另外我们还发现 , 当丢包率低于15%时 , 不做丢包重传能显著减少模型训练时间 。


推荐阅读