分布式通信框架gRPC++
更新時(shí)間:
本文中含有需要您注意的重要提示信息,忽略該信息可能對(duì)您的業(yè)務(wù)造成影響,請(qǐng)務(wù)必仔細(xì)閱讀。
使用DLC進(jìn)行深度學(xué)習(xí)訓(xùn)練時(shí),您可以使用gRPC++分布式訓(xùn)練,從而加速模型訓(xùn)練。本文介紹如何開(kāi)啟分布式通信框架gRPC++。
gRPC++通過(guò)Sharing Nothing架構(gòu)、BusyPolling機(jī)制、用戶(hù)態(tài)零拷貝及Send/Recv融合等多種優(yōu)化技術(shù),降低了E2E的通信延時(shí),提高了Server的吞吐能力,從而可以支持更大的訓(xùn)練規(guī)模和訓(xùn)練性能。針對(duì)典型業(yè)務(wù)場(chǎng)景,其訓(xùn)練性能比原生TensorFlow提升了數(shù)倍。
警告
公共云GPU服務(wù)器即將過(guò)保下線(xiàn),您可以繼續(xù)提交CPU版本的TensorFlow任務(wù)。如需使用GPU進(jìn)行模型訓(xùn)練,請(qǐng)前往DLC提交任務(wù),具體操作請(qǐng)參見(jiàn)創(chuàng)建訓(xùn)練任務(wù)。
開(kāi)啟gRPC++分布式訓(xùn)練
使用gRPC++進(jìn)行分布式訓(xùn)練,需要在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++")
文檔內(nèi)容是否對(duì)您有幫助?