在 Cori 超级计算机 512 个节点上扩展 GRPC Tensorflow
摘要
我们探索了标准分布式 Tensorflow 结合 GRPC 原语在多达 512 个 Intel Xeon Phi (KNL) 节点的 Cori 超级计算机上、采用同步随机梯度下降 (SGD) 的扩展情况,并识别了在较高节点数下扩展效率低下的原因。据我们所知,这是在如此大规模的高性能计算 (HPC) 超级计算机上采用同步 SGD 对分布式 GRPC Tensorflow 可扩展性进行的首次探索。我们研究了两个卷积神经网络的扩展:ResNet-50,一个具有约 2550 万参数的最先进分类深度网络;以及 HEP-CNN,一个用于常见科学用途、参数少于 100 万的浅层拓扑。对于 ResNet-50,我们在多达 128 个 worker 上使用 32 个参数服务器 (PS tasks) 实现了 >80% 的扩展效率,而在使用 64 个 PS tasks 的 512 个 worker 上急剧下降至 23%。我们对效率下降的分析指出,由于三个因素的综合效应导致网络带宽利用率低下。(a) 使用 PS tasks 作为梯度平均集中式服务器的异构分布式并行化算法,不利于互连带宽的利用。(b) PS tasks 间的负载不平衡阻碍了其高效扩展。(c) 底层通信原语 GRPC 目前在 Cori 高速互连上效率低下。HEP-CNN 对互连带宽需求较低,在仅用 1 个 PS task 时,多达 256 个节点表现出 >80% 的弱扩展效率。我们的发现适用于其他深度学习网络。具有数百万参数的大型网络会遭遇此处讨论的问题。像 HEP-CNN 这样参数相对较少的较浅网络,即使仅用单个参数服务器也能高效享受弱扩展。
引用
@article{arxiv.1712.09388,
title = {Scaling GRPC Tensorflow on 512 nodes of Cori Supercomputer},
author = {Amrita Mathuriya and Thorsten Kurth and Vivek Rane and Mustafa Mustafa and Lei Shao and Debbie Bard and Prabhat and Victor W Lee},
journal= {arXiv preprint arXiv:1712.09388},
year = {2017}
}
备注
Published as a poster in NIPS 2017 Workshop: Deep Learning At Supercomputer Scale