当拥有多块GPU时,可以利用分布式计算(Distributed Computation)与并行计算(Parallel Computation)的方式加速网络的训练过程。在这里,分布式是指有多个GPU在多台服务器上,并行指一台服务器上的多个GPU。在工作环境中,使用这两种方式加速模型训练是非常重要的技能。本文将介绍PyTorch中分布式与并行的常见方法,读者需要注意这二者的区别,并关注它们在使用时的注意事项。
1 单机多卡并行
首先介绍最简单的情况,也就是单机多卡的并行计算。在使用分布式方法训练模型之前,读者应该对分布式与并行的基本原理有所了解。本节用简单的语言帮助读者理解并行的基本概念。