作者:张航 Amazon AI Applied Scientist
跨卡同步(Cross-GPU Synchronized)Batch Normalization或称为同步BN(SyncBN)。
写在前面:为什么要跨卡同步Batch Normalization
现有的便准Batch Normalization因为使用数据并行(Data Parallel),是单卡的实现模式,只对单个卡上对样本进行归一化,相当于减小了批量大小(batch-size)。对于比较消耗显存的训练任务时,往往单卡上的相对批量过小,影响模型的收敛效果。之前在我们在图像语义分割的实验中,发现使用大规模的效果反而变差,实际上就是BN在作怪。跨卡同步Batch Normalization 可以使用全局的样本进行归一化,这样相当于‘增大’了批大小,这样训练效果不再受到使用GPU数量的影响。最近在图像分割、物体检测的论文中,使用跨卡BN也会显著地提高实验结果,所以跨卡BN已然成为竞赛刷分、发论文的必备神器。