Skip to main content
QUICK REVIEW

[论文解读] Computational Performance Predictions for Deep Neural Network Training: A Runtime-Based Approach

Geoffrey X. Yu, Yubo Gao|arXiv (Cornell University)|Jan 31, 2021
Advanced Neural Network Applications参考文献 29被引用 5
一句话总结

本文提出一种基于运行时的预测方法,仅使用单个参考GPU即可跨不同GPU架构预测深度神经网络(DNN)训练性能。通过波形缩放或微调的多层感知机对单次迭代执行时间进行缩放,该方法可实现对ResNet-50和Transformer等模型在六种GPU架构上的高精度、低成本性能预测,相关实现已集成至面向PyTorch的开源Surfer库中。

ABSTRACT

Deep learning researchers and practitioners usually leverage GPUs to help train their deep neural networks (DNNs) faster. However, choosing which GPU to use is challenging both because (i) there are many options, and (ii) users grapple with competing concerns: maximizing compute performance while minimizing costs. In this work, we present a new practical technique to help users make informed and cost-efficient GPU selections: make performance predictions using the help of a GPU that the user already has. Our technique exploits the observation that, because DNN training consists of repetitive compute steps, predicting the execution time of a single iteration is usually enough to characterize the performance of an entire training process. We make predictions by scaling the execution time of each operation in a training iteration from one GPU to another using either (i) wave scaling, a technique based on a GPU's execution model, or (ii) pre-trained multilayer perceptrons. We implement our technique into a Python library called Surfer and find that it makes accurate iteration execution time predictions on ResNet-50, Inception v3, the Transformer, GNMT, and DCGAN across six different GPU architectures. Surfer currently supports PyTorch, is easy to use, and requires only a few lines of code.

研究动机与目标

  • 为解决在性能与成本之间权衡的背景下,选择最优GPU进行DNN训练的挑战。
  • 通过仅使用单个参考GPU即可实现高精度性能预测,从而减少对大规模基准测试的依赖。
  • 开发一种实用、易于使用的工具,支持PyTorch等主流深度学习框架。
  • 提供一种可扩展的解决方案,适用于多种DNN架构和GPU硬件。

提出的方法

  • 利用DNN训练的重复性特征,基于单次迭代的执行时间预测完整训练性能。
  • 应用波形缩放技术,该技术基于GPU执行模型,将性能从参考GPU外推至目标GPU。
  • 在测量的执行时间上训练多层感知机,以学习跨GPU的性能缩放模式。
  • 将预测流程集成至名为Surfer的Python库中,支持对PyTorch模型进行最小代码修改。
  • 利用单个GPU的实测运行时数据校准其他架构的预测结果,无需执行完整训练。
  • 同时支持理论方法(波形缩放)与学习方法(MLP),以适应不同硬件模型的可用性水平。

实验结果

研究问题

  • RQ1能否可靠地将单个GPU的迭代运行时缩放,以预测其他GPU架构上的训练性能?
  • RQ2波形缩放与学习模型在预测多样化DNN跨GPU性能方面有多准确?
  • RQ3该方法在多大程度上减少了在多台GPU上进行完整基准测试的需求?
  • RQ4预测结果在不同DNN架构(如ResNet-50、Transformer和GANs)上的泛化能力如何?
  • RQ5当集成至真实深度学习工作流时,该方法在实际应用中的表现如何?

主要发现

  • 所提方法在六种不同GPU架构上均实现了高精度的DNN训练性能预测。
  • Surfer仅需几行代码和一个参考GPU即可实现高精度预测。
  • 波形缩放与微调的MLP均能提供可靠的性能预测,后者在多样化硬件上更具适应性。
  • 该方法成功预测了ResNet-50、Inception v3、Transformer、GNMT和DCGAN的执行时间。
  • 该方法显著减少了耗时的完整训练基准测试需求,实现了高效的GPU选型。
  • Surfer库在PyTorch驱动的真实深度学习工作流中表现出高效且实用。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。