论文部分内容阅读
近年来,卷积神经网络(CNNs)因其高推断精度和强自适应性而被广泛应用于各种领域,例如:计算机视觉、语音识别等。另一方面,移动手机当前已经成为人类日常生活中的随身携带之物,并且每天都产生着大量与人类相关的传感数据。为了让手机更加智能地服务于人类,许多工程项目也尝试着在移动端利用卷积神经网络处理这些传感数据。然而,由于受到当前移动平台的资源限制(内存、计算能力、电池容量等),基于CNN模型的应用在手机移动平台上并不多见。 目前,手机上基于CNN模型的应用绝大部分都是采用“客户端服务器”模式,但是该模式不仅强依赖于网络性能(如网络稳定性等)而且会导致用户隐私泄露。因此,许多研究学者开始探索如何在移动端离线执行卷积神经网络的前向推断过程。针对这一研究课题,本文提出了一系列优化策略并设计与实现了一套可高能效运行在Android平台的卷积神经网络推断时库。然后,本文利用该推断时库开发了一款生活日志型应用,借以探索从系统层进一步提高该类场景应用运行时能效的策略。论文的主要工作包括: 1.利用预训练好的卷积神经网络模型权重在移动端重构网络,并使用OpenCL异构编程框架开发基于手机GPU加速的卷积神经网络推断时库。 2.基于“剪枝。重训”方法对卷积神经网络模型进行压缩,并在CNN推断时库中引入稀疏矩阵向量乘(SpMV)使得运行时库支持经压缩处理的稀疏CNN模型。 3.为了充分利用当前以及未来移动设备SoC所提供的异构计算能力,本文提出了一种使用移动平台异构设备处理器并行执行CNN推断的能效优化策略。该策略可根据目标平台所配备异构处理器间的能效差异自适应地寻找一个可高能效并行执行CNN推断的设备处理器组合。 4.针对基于CNN模型的生活日志型应用,本文详细分析了该类应用的运行时负载特征,并进一步提出了在系统层使用动态电压频率调节技术(DVFS)提高该类应用性能或能效的方法。 本文工作的研究意义主要包括如下三点: 1.设计与实现了一套集成离线模型压缩、异构计算任务分配等功能的移动端CNN推断时库。 2.提出了基于异构设各处理器高能效并行执行CNN推断的策略,该策略可在运行时主动对目标平台上的异构处理器能效进行评估。 3.探索了从系统层使用DVFS技术优化基于CNN模型移动端智能应用能效的策略。