使用PAI-DLC进行深度学习训练时,您可以使用gRPC++分布式训练,从而加速模型训练。本文介绍如何开启分布式通信框架gRPC++。

gRPC++通过Sharing Nothing架构、BusyPolling机制、用户态零拷贝及Send/Recv融合等多种优化技术,降低了E2E的通信延时,提高了Server的吞吐能力,从而可以支持更大的训练规模和训练性能。针对典型业务场景,其训练性能比原生TensorFlow提升了数倍。

开启gRPC++分布式训练

使用gRPC++进行分布式训练,需要在tf.train.Server中添加protocol="grpc++"
cluster = tf.train.ClusterSpec({"ps": ps_hosts, "worker": worker_hosts})

server = tf.train.Server(cluster,
                         job_name=FLAGS.job_name,
                         task_index=FLAGS.task_index,
                         protocol="grpc++")