最近需要 Horovod 相关的知识,在这里记录一下,进行备忘: 分布式训练,分为数据并行和模型并行两种: 模型并行:分布式系统中的不同GPU负责网络模型的不同部分.神经网络模型的不同网络层被分配到不同的GPU或者同一层内部的不同参数被分配到不同的GPU之上: 数据并行:不同的GPU有同一个模型的多个副本,每个GPU分配到不同的数据,然后将所有的GPU的结果按照某种方式合并: 不同的GPU,可以是同一台机器之上的多个GPU或者是不同机器上的GPU; 在数据并行过程中,各个GPU之间需要同步模型参…