实现基于智能手机 GPU 的端侧训练:经验总结
机器学习
2022-02-22 v1 硬件体系结构
摘要
深度学习(DL)在许多移动应用中展现出令人印象深刻的性能。现有工作大多集中于降低在资源受限的移动设备上运行深度神经网络(DNN)推理的计算与资源开销。然而,DNN 操作的另一方面,即在智能手机 GPU 上进行训练(前向与反向传播),迄今很少受到关注。为此,我们进行了初步分析,以考察利用移动 GPU 在智能手机上实现端侧训练的可行性。我们首先采用开源移动 DL 框架(MNN)及其 OpenCL 后端在 GPU 上运行计算内核。接着,我们观察到在 CPU 上训练远快于在 GPU 上,并识别出与此观察相关的两个可能瓶颈:(i) 计算瓶颈与 (ii) 内存瓶颈。为解决计算瓶颈,我们优化了 OpenCL 后端的内核,在骁龙 8 系列处理器上相较 CPU(15-30 GFLOPs)取得了 2 倍的提升(40-70 GFLOPs)。然而,我们发现完整的 DNN 训练在 GPU 上仍远慢于 CPU,表明内存瓶颈在 GPU 相对 CPU 性能较低中起着重要作用。由于带宽较低,数据搬运占据了近 91% 的训练时间。最后,基于调查过程中的发现与失败,我们给出了面向未来方向的局限性与实用指导。
引用
@article{arxiv.2202.10100,
title = {Enabling On-Device Smartphone GPU based Training: Lessons Learned},
author = {Anish Das and Young D. Kwon and Jagmohan Chauhan and Cecilia Mascolo},
journal= {arXiv preprint arXiv:2202.10100},
year = {2022}
}