Open chunnankang opened 2 months ago
哈喽,想请教个问题,我在使用ddp去并行多卡训练一个模型的时候,发现各个gpu上的模型参数并不一致,您知道是什么原因吗?如图所示,我使用的是DDP的形式去加载模型和分发数据,查阅资料说这种形式,会自动的在每个batch时各个gpu上的模型进行梯度同步,在主gpu上进行更新同步,确保各个模型的gpu上参数是一致的,但是通过我这么打印日志发现各个gpu上的模型并不一致,您知道是什么原因吗?
我理解是每次同步后各个GPU上的模型参数应该是一样的,然后各GPU用自己分配到的训练数据训练(每个GPU分配到训练数据肯定是不一样的)并更新各自的参数,参数更新后参数肯定不一样了,要到下次同步之后才会变一样。 你确认下打日志是在上述的哪个阶段
哈喽,想请教个问题,我在使用ddp去并行多卡训练一个模型的时候,发现各个gpu上的模型参数并不一致,您知道是什么原因吗?如图所示,我使用的是DDP的形式去加载模型和分发数据,查阅资料说这种形式,会自动的在每个batch时各个gpu上的模型进行梯度同步,在主gpu上进行更新同步,确保各个模型的gpu上参数是一致的,但是通过我这么打印日志发现各个gpu上的模型并不一致,您知道是什么原因吗?
![image](https://github.com/jia-zhuang/pytorch-multi-gpu-training/assets/168160265/be5a9318-1a97-4f58-b278-15d88ae6ff1b)