数据并行训练:加速机器学习模型训练的有效策略
1. 单节点训练的瓶颈
通常认为,在单节点训练中,输入数据量越大,训练时间就越长。但从数据流的角度来看,并非如此。从系统层面分析,数据加载带宽和模型训练带宽不匹配才是真正的问题。
1.1 真正的瓶颈
大输入数据量并非单节点训练时间长的根本原因,数据加载带宽和模型训练带宽的不匹配才是关键。
1.2 单节点在流行数据集上的训练时间
以 NVIDIA Tesla M60 GPU 作为加速器,对 VGG - 19 和 ResNet - 164 在 CIFAR - 10 和 CIFAR - 100 数据集上进行训练,达到 91% 以上模型测试准确率的总训练时间如下:
| 模型 | CIFAR - 10 训练时间 | CIFAR - 100 训练时间 |
| ---- | ---- | ---- |
| VGG - 19 | 约 2 小时 | 约 2 小时 |
| ResNet - 164 | 约 10 小时 | 约 10 小时 |
可以看出,在 CIFAR - 10/100 数据集上,单 GPU 训练时间尚可接受,这主要是因为图像分辨率低(32x32),训练阶段生成的中间结果较小,能在固定硬件内存中一次训练更多输入图像,从而提高了模型训练带宽,缓解了数据加载带宽和模型训练带宽的不匹配。
然而,对于 ImageNet - 1K 这样的现代机器学习模型训练数据集,情况就不同了。同样的训练环境下,训练 VGG - 19 和 ResNet - 50 模型,单 GPU 训练时间长达约 2 周。这是因为 ImageNet - 1K
超级会员免费看
订阅专栏 解锁全文
1261

被折叠的 条评论
为什么被折叠?



