一种基于运行时的深度神经网络训练计算性能预测器
机器学习
2021-06-09 v2 性能
摘要
深度学习研究者和从业者通常借助 GPU 来加速训练其深度神经网络(DNNs)。然而,选择使用哪款 GPU 颇具挑战,原因在于(i)可选方案众多,且(ii)用户面临相互竞争的考量:在最大化计算性能的同时最小化成本。本文提出一种实用的新技术,以帮助用户做出知情且具成本效益的 GPU 选择:借助用户已有的 GPU 进行性能预测。我们的技术利用了如下观察——由于 DNN 训练由重复的计步组成,预测单次迭代的执行时间通常足以刻画整个训练过程的性能。我们通过将一次训练迭代中每个操作在一款 GPU 到另一款 GPU 上的执行时间进行缩放来预测,所用方法为(i)波缩放(一种基于 GPU 执行模型的技术),或(ii)预训练的多层感知机。我们将该技术实现为一个名为 Habitat 的 Python 库,并发现其在 ResNet-50、Inception v3、Transformer、GNMT 和 DCGAN 上跨六种不同 GPU 架构均能做出准确的迭代执行时间预测(平均误差 11.8%)。Habitat 支持 PyTorch,易于使用且开源。
引用
@article{arxiv.2102.00527,
title = {A Runtime-Based Computational Performance Predictor for Deep Neural Network Training},
author = {Geoffrey X. Yu and Yubo Gao and Pavel Golikov and Gennady Pekhimenko},
journal= {arXiv preprint arXiv:2102.00527},
year = {2021}
}
备注
19 pages, 7 figures. Appears in the Proceedings of the 2021 USENIX Annual Technical Conference (USENIX ATC '21). Code available at https://github.com/geoffxy/habitat