Neurosurgeon:移动边缘和云端自动划分DNN系统

本文出自于论文Neurosurgeon: Collaborative Intelligence Between the Cloud and Mobile Edge
,主要介绍了在神经网络层的粒度上自动划分移动设备和数据中心的DNN计算。

一、简介

  1. 为智能化应用程序处理语音和图像输入需要精度和高度复杂的机器学习技术,其中最常见的是深度神经网络。我们研究了如何将计算推出云外并在边缘的移动设备上执行只使用云计算应用程序的所有或者部分。这项工作所要处理的主要问题包括:(1)在当今的移动平台上执行大规模智能工作负载的可行性如何?(2)在何种情况下,通过无线网络传输语音和图像数据的成本过高而无法证明云处理的合理性?(3)在为需要大量计算的智能应用程序提供处理支持方面,移动边缘应当扮演什么角色?
  2. 我们发现,基于DNN拓扑结构和组成层的细粒度分层分区策略,可以实现超远端到端延迟性能和移动能源效率的计算,而不是完全在云中或完全在移动设备上执行。通过将计算推到云之外的移动设备上,我们也提高了数据中心的吞吐量,允许给定的数据中心支持更多的用户查询,并为移动设备和云系统创造了双赢的局面。
  3. Neurosurgeon是一个运行时系统,跨越了云计算和移动平台,它可以自动识别DNNs中的理想分区点,并协调移动设备和数据中心之间的计算分配。它将DNN划分为多个部分,充分利用移动和云的处理能力,同时减少数据传输开销。本文的具体贡献如下:(1)Status quo的深度研究;(2)DNN计算和数据规模特征研究,DNN层根据其类型和配置具有明显不同的计算和数据大小特征;(3)跨云端和移动边缘的DNN计算划分;(4)Neurosurgeon运行时系统和网络层性能预测模型。

二、背景

我们提供了一个深度神经网络的概述,并描述计算机视觉、语音和自然语言处理应用程序,将DNN作为它们的核心机器学习算法。
在这里插入图片描述

三、云端处理

  1. 在该节中,我们研究了在最先进的移动设备上完全执行大型DNNs的可行性,并与目前的研究现状进行了比较。在通信延迟、计算延迟、端到端延迟和能耗方面进行对比,发现仅使用云的方法通常要比移动设备执行要慢。与通过LTE或3G传输数据进行云处理相比,移动GPU消耗的能量更少,而通过WI-FI进行云处理要比移动设备执行所消耗的能量更少。
  2. 重点发现:(1)数据传输延迟通常要高于移动计算延迟,尤其是3G和LTE;(2)云处理相对移动处理具有明显的计算优势,但是由于数据传输开销占据主导地位,它并不总是转化为端到端延迟或能量优势。(3)本地移动设备执行通常比只使用云的方法带来更低的延迟和能耗,而如果使用快速WIFI连接时,只使用云可以获得更好的性能。

四、细粒度计算分区

  1. AlexNet网络层特征:(1)根据其在网络中的类型和位置,每一层都有不同的计算和数据摘要;(2)移动设备GPU上的卷积和池化层的延迟相对较小,而全连接层的延迟要大;(3)数据规模在前端通常减少,每层的移动延迟在后端通常较高,这表明在DNN中移动设备和云之间存在着独特的计算分区机制。
  2. 后端分区提供了更好的性能,因为应用程序可以最小化数据传输开销,要充分利用服务器的优势来执行后端更多的计算。我们研究发现,在AlexNet的pool5层和fc6层之间进行划分可以获得最低的延迟。神经网络细粒度上的分区可以提供显著的延迟和能耗改进。
  3. (1)在具有卷积和池化层的DNNs中,卷积层后数据量增大,池化层后数据量减小,而每层的计算量通常在执行过程中增大;(2)划分DNN的最佳方法取决于它的拓扑结构和组成层;(3)在最佳划分点上存在较大差异说明需要一个基于神经网络架构的系统来划分移动和云之间的DNN计算。

五、Neurosurgeon

  1. DNN体系结构的最佳划分点取决于DNN的拓扑结构,其表现为每一层的计算和数据大小的变化。Neurosurgeon由部署阶段和运行时系统组成,运行时系统管理智能应用程序的分区执行。
  2. Neurosurgeon配置移动设备和服务器,为DNN层类型的频谱生成性能预测模型。在部署阶段,它为每种层类型生成预测模型;在运行时阶段,它基于每个层的类型和配置来预测每层的延迟和能耗代价,然后基于不同因素选择最好的划分点。运行时阶段主要步骤为:(1)分析和提取DNN结构层的类型和配置;(2)系统使用存储层性能预测模型来估计移动设备和云上执行每一层的延迟和能耗;(3)通过这些预测,结合着当前无线连接带宽和数据中心负载水平,Neurosurgeon可以选择最佳区分点,优化最佳端到端延迟或最佳移动能耗;(4)执行DNN,移动设备和云之间的分区工作。
  3. 性能预测模型:Neurosurgeon对任意神经网络结构的每层延迟和能耗来进行建模。这个方法允许它在不执行DNN的情况下来评估DNN组成层的延迟和能耗。为了构建每个层类型的预测模型,我们改变了该层的可配置参数并测量每个配置的延迟和能耗。我们为每个层类型建立了一个回归模型,根据其配置来预测层的延迟和功率。
  4. 对于每个移动设备和服务器硬件平台,生成一组预测模型需要一次性的分析步骤。这个模型使Neurosurgeon能够根据每一层的配置估计延迟和能量成本,允许其支持未来的神经网络架构而不需要额外的分析开销。
  5. 动态DNN划分:利用层性能预测模型,Neurosurgeon动态地选择最好的DNN划分点。该算法由两个阶段组成:目标DNN分析和划分点选择。在目标DNN分析中,首先分析目标DNN的组成层,使用预测模型来评估每一层上移动设备和云上的延迟以及移动上的功耗。在划分点选择中,候选点在每一层后,评估在每个候选点进行划分时的性能,并选择最佳端到端延迟或最佳移动能耗的点。
    在这里插入图片描述

六、评估

  1. Neurosurgeon通过改变分区选择来根据可用带宽调整数据传输量,成功地减轻了较大变化的影响,并提供了一致的低延迟。通过考虑服务器负载及其对服务器性能的影响,无论服务器负载如何变化,Neurosurgeon始终提供最佳延迟。
  2. Neurosurgeon将部分或全部计算从云上加载到移动设备,来改善端到端延迟并降低移动能耗。这种新的计算方式减少了数据中心所需的计算,从而缩短了查询服务时间,提高了查询吞吐量。
  3. 我们观察到,随着带GPU的移动设备百分比增加,Neurosurgeon增加了从云端到移动设备端的计算,导致更高的数据中心吞吐量改进。

七、相关工作

计算分区框架必须要预测何时卸载计算,预测的正确性决定了应用程序的最终性能改进。本工作研究移动设备和云之间的智能协作,以执行传统的纯云大规模DNNs,在不牺牲DNNs的高预测精度的前提下,降低延迟和能耗。

八、结论

在这项工作中,我们研究了这种仅使用云处理的现状方法的有效性,并表明将输入数据传输到服务器并远程执行DNN并不是最优的。我们研究了跨计算机视觉、语音和自然语言处理应用的8中DNN体系结构的计算和数据特性,并展示了在神经网络中不同点上划分计算的权衡。基于以上观点,我们提出了Neurosurgeon,一种能够自动划分在移动设备和云端的DNN系统。它适应于不同的DNN架构,硬件平台,无线连接和服务器负载水平,然后选择最好的延迟和移动能耗的划分点。

发布了31 篇原创文章 · 获赞 40 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/librahfacebook/article/details/95318643
DNN