今天用多GPU训练模型时发现了一个有趣的现象。使用2块GPU卡,做数据分布式训练模型,当每个GPU卡的batchsize数设为16时,训练过程中每个卡的显存占用是11G左右,比较均衡。当每个GPU卡的batchsize数设为24时,主GPU卡的显存占用达到16G左右,另一块的只有8G左右,两块卡的显存占用明显不均衡。这是什么原因呢?为什么主GPU卡的显存占用比另一块的多了将近一倍?
猜想1: 多GPU分布式训练时batchsize数设为16更有利于均衡训练。
今天用多GPU训练模型时发现了一个有趣的现象。使用2块GPU卡,做数据分布式训练模型,当每个GPU卡的batchsize数设为16时,训练过程中每个卡的显存占用是11G左右,比较均衡。当每个GPU卡的batchsize数设为24时,主GPU卡的显存占用达到16G左右,另一块的只有8G左右,两块卡的显存占用明显不均衡。这是什么原因呢?为什么主GPU卡的显存占用比另一块的多了将近一倍?
猜想1: 多GPU分布式训练时batchsize数设为16更有利于均衡训练。