Horovod是分布式训练框架,适用于Tensorflow、Keras、PyTorch。
Horovod的核心规则建立在MPI概念基础上,比如size、rank、local rank、allreduce、broadcast等。
概念
假设,我们在4台服务器执行训练脚本,而每台服务器拥有4个GPU。如果需要每个GPU执行一份脚本的副本:
Size:进程数量,此时为16
Rank:进程的ID,范围是0~15
Local rank:在服务器的进程的ID,范围是0~3
Allreduce:将多个进程的数据聚合,并将结果分发给进程。Allredcue用来平均dense tensors