培训关于批处理AI的分布式培训
此仓库是有关如何使用Batch AI以分布式方式训练CNN模型的教程。 涵盖的场景是图像分类,但是该解决方案可以推广到其他深度学习场景,例如分段和对象检测。
图像分类是计算机视觉应用中的常见任务,通常通过训练卷积神经网络(CNN)来解决。 对于具有大型数据集的大型模型,单个GPU的训练过程可能需要数周或数月。 在某些情况下,模型太大,以致于无法在GPU上放置合理的批处理大小。 在这些情况下使用分布式培训有助于缩短培训时间。 在此特定方案中,使用Horovod在ImageNet数据集以及合成数据上训练ResNet50 CNN模型。 本教程演示了如何使用三个最受欢迎的深度学习框架来完成此任务:TensorFlow,Keras和PyTorch。 有许多方法可以以分布式方式训练深度学习模型,包括数据同步和基于同步和异步更新的模型并行方法。 当前,最常见的场景是与同步更新并行的数据-这是最容易实现的,并且对于大多数用例而言已经足够。 在具有同步更新的数据并行分布式训练中,该模型在N个硬件设备之间复制,并且一小批训练样本被划分为N个微批次(参见图2)。 每个设备都
1