Modeling the Resource Requirements of Convolutional Neural Networks on Mobile Devices

Modeling the Resource Requirements of Convolutional Neural Networks on Mobile Devices
复制标题

DOI:
10.1145/3123266.3123389
复制
发表时间:
2017-09
期刊:
Proceedings of the 25th ACM international conference on Multimedia
影响因子:
--
通讯作者:
Zongqing Lu;S. Rallapalli;Kevin S. Chan;T. L. Porta
Zongqing Lu;S. Rallapalli;Kevin S. Chan;T. L. Porta
中科院分区:
其他
文献类型:
--
作者:
Zongqing Lu;S. Rallapalli;Kevin S. Chan;T. L. Porta

文献摘要

被引文献

相似文献

卷积神经网络 (CNN) 彻底改变了计算机视觉的研究,因为它们能够捕获复杂的模式,从而实现高推理精度。然而,这些神经网络日益复杂的性质意味着它们特别适合具有强大 GPU 的服务器计算机。我们预计深度学习应用程序最终将广泛部署在移动设备上,例如智能手机、自动驾驶汽车和无人机。因此,在本文中,我们旨在了解移动设备上 CNN 的资源需求(时间、内存)。首先,通过在移动 CPU 和 GPU 上部署几种流行的 CNN,我们测量并分析了 CNN 每层的性能和资源使用情况。我们的研究结果指出了优化移动设备性能的潜在方法。其次,我们对不同 CNN 计算的资源需求进行建模。最后,基于测量、分析和建模,我们构建并评估了我们的建模工具 Augur,它以 CNN 配置(描述符)作为输入,并估计 CNN 的计算时间和资源使用情况,以深入了解 CNN 是否可以在给定的移动平台上运行以及运行效率如何。在此过程中,Augur 解决了几个挑战:(i) 如何克服分析和测量开销; (ii) 如何捕获具有不同处理器、内存和高速缓存大小的不同移动平台的差异; (iii) 如何考虑不同 CNN 配置的层数、类型和大小的差异。
Convolutional Neural Networks (CNNs) have revolutionized the research in computer vision, due to their ability to capture complex patterns, resulting in high inference accuracies. However, the increasingly complex nature of these neural networks means that they are particularly suited for server computers with powerful GPUs. We envision that deep learning applications will be eventually and widely deployed on mobile devices, e.g., smartphones, self-driving cars, and drones. Therefore, in this paper, we aim to understand the resource requirements (time, memory) of CNNs on mobile devices. First, by deploying several popular CNNs on mobile CPUs and GPUs, we measure and analyze the performance and resource usage for every layer of the CNNs. Our findings point out the potential ways of optimizing the performance on mobile devices. Second, we model the resource requirements of the different CNN computations. Finally, based on the measurement, profiling, and modeling, we build and evaluate our modeling tool, Augur, which takes a CNN configuration (descriptor) as the input and estimates the compute time and resource usage of the CNN, to give insights about whether and how efficiently a CNN can be run on a given mobile platform. In doing so Augur tackles several challenges: (i) how to overcome profiling and measurement overhead; (ii) how to capture the variance in different mobile platforms with different processors, memory, and cache sizes; and (iii) how to account for the variance in the number, type and size of layers of the different CNN configurations.