[论文阅读]Neurosurgeon: Collaborative Intelligence Between the Cloud and Mobile Edge

1,824 阅读42分钟

云和移动边缘之间的联合智能

0.Abstract 摘要

今天的智能个人助理(如Apple Siri,Google Now和Microsoft Cortana )的计算是在云中执行的。这种仅限云的方法需要通过无线网络将大量数据发送到云,并给数据中心带来巨大的计算压力。然而,随着移动设备中的计算资源变得更加强大和节能,关于这种仅用于云的处理是否可取向前进的问题出现了,并且将部分或全部计算推送到处于边缘的移动设备上的含义是什么。

在本文中,我们研究了仅云处理的现状方法,并为此类智能应用程序研究了有效利用云和移动设备周期的计算分区策略,以实现低延迟,低能耗和高数据中心吞吐量。我们的研究使用8个智能应用程序,涵盖计算机视觉,语音和自然语言领域,所有应用程序都采用最先进的深度神经网络(DNN)作为核心机器学习技术。我们发现,鉴于DNN算法的特征,基于DNN中每层的数据和计算变化的细粒度,层级计算分区策略与现状方法相比具有显着的延迟和能量优势。

利用这,我们设计了Neurosurgeon,这是一种轻量级调度程序,可以在神经网络层粒度下自动划分移动设备和数据中心之间的DNN计算。Neurosurgeon不需要逐个应用分析。它适应各种DNN架构,硬件平台,无线网络和服务器负载水平,智能地划分计算以获得最佳延迟或最佳移动能量。我们在最先进的移动开发平台上评估Neurosurgeon,并表明它将端到端延迟平均提高3.1倍,最高可达40.7倍,平均降低移动能耗59.5%,最高可达94.7 %,并将数据中心吞吐量平均提高1.5倍,最高可达6.7倍。

关键词:移动计算、云计算、深度神经网络、智能应用

1. Introduction 介绍

我们与当今移动设备互动的方式正在迅速变化,因为这些设备越来越个性化和知识渊博。 智能个人助理,例如Apple Siri,Google Now和Microsoft Cortana,默认集成在移动设备上,随着可穿戴设备和智能家居设备继续受到关注,预计会越来越受欢迎[1,2]。这些智能移动应用程序的主要界面是使用语音或图像来导航设备并提出问题。 对这种交互模式的需求预计将取代传统的基于文本的输入[3-5]。

处理IPA应用的语音和图像输入需要准确且高度复杂的机器学习技术,其中最常见的是深度神经网络(DNN)。DNN作为这些应用中的核心机器学习技术已经变得越来越流行,因为它们能够实现诸如语音识别,图像分类和自然语言理解之类的任务的高精度。 许多公司,包括谷歌,微软,Facebook和百度,都在使用DNN作为其生产系统中众多应用的机器学习组件[6-8]。

先前的工作表明,基于DNN的智能应用的语音或图像查询比基于文本的输入需要更多的处理量[9]。一般认为,传统的移动设备不能以合理的延迟和能量消耗来支持这种大量的计算。因此,Web服务提供商用于智能应用程序的现状方法是在高端云服务器上托管所有计算[10-13]。 从用户的移动设备生成的查询将发送到云进行处理,如图1a所示。然而,利用这种方法,大量数据(例如,图像,视频和音频)经由无线网络上载到服务器,导致高等待时间和能量成本。

虽然数据传输成为延迟和能源瓶颈,但现代移动硬件的性能和能效通过强大的移动SoC集成继续得到改善[14,15]。受此观察的启发,这项工作重新审视了移动和云之间智能应用程序的计算细分。特别是,我们研究如何将计算从云端推送到边缘的移动设备上,以执行这些传统的仅云应用程序的全部或部分。

我们在这项工作中提出的关键问题包括:

  1. 在当今的移动平台上执行大规模智能工作负载的可行性如何

  2. 在什么时候通过无线网络传输语音和图像数据的成本太高,无法证明云处理的合理性

  3. 移动端智能app进行大量计算时充当什么作用

基于我们使用8个基于DNN的智能应用程序进行调查,这些应用程序涵盖了视觉,语音和自然语言领域,我们发现,对于某些应用程序,由于高数据传输开销,在移动设备上本地执行可以比仅云方法快11倍。此外,我们发现,不是将计算限制为完全在云中或完全在移动设备上执行,而是基于DNN拓扑和组成层的细粒度层级分区策略可以实现更优越的端到端 延迟性能和移动能效。通过将计算推出云端并移植到移动设备上,我们还提高了数据中心吞吐量,允许给定数据中心支持更多用户查询,并为移动和云系统创造双赢局面。

鉴于观察到理想的细粒度DNN分区取决于DNN的层组成,所使用的特定移动平台,无线网络配置和服务器负载,我们设计了一个轻量级动态调度器Neurosurgeon。Neurosurgeon是一个跨越云和移动平台的运行时系统,可自动识别DNN中的理想分区点,并协调移动设备和数据中心之间的计算分配。如图1c所示,Neurosurgeon对DNN计算进行划分,并利用移动和云的处理能力,同时减少数据传输开销。

本文的详细贡献如下: • 深入研究现状,我们展示了在云和移动设备上执行最先进DNN的延迟和能耗。 我们观察到通过无线网络上传是现状方法的瓶颈,移动执行通常比现状方法提供更好的延迟和能耗。

• DNN计算和数据规模特征研究–我们提供了8个DNN的计算和数据大小的深入层级表征。我们的调查显示,DNN层根据其类型和配置具有显着不同的计算和数据大小特征。

• 基于DNN层的计算和数据表征,我们表明以层粒度划分DNN可提供显着的性能优势。然后,我们设计了一种系统方法,以确定分区计算的最佳点,从而减少一系列应用程序的延迟和移动能耗

• 神经外科医生运行时系统和层性能预测模型–我们开发了一组模型来根据其类型和配置预测DNN层的延迟和功耗,并创建Neurosurgeon,一个智能分配移动和云之间DNN计算的系统。

我们对一套8个DNN应用程序的评估表明,使用Neurosurgeon平均可将端到端延迟提高3.1倍,将移动能耗降低59.5%,并将数据中心吞吐量提高1.5倍。

2. 背景

在本节中,我们提供深度神经网络(DNN)的概述,并描述计算机视觉,语音和自然语言处理应用程序如何利用DNN作为其核心机器学习算法。

DNN在有向图中组织,其中每个节点是处理元素(神经元),其将函数应用于其输入并生成输出。图2描绘了用于图像分类的5层DNN,其中计算从左向右流动。图的边是定义数据流的每个神经元之间的连接。将对于输入的不同部分应用相同功能的多个神经元定义为一层。对于向前传递的DNN,这一层的输出是下一层的输入。DNN的深度取决于层数。计算机视觉(CV)应用程序使用DNN从输入图像中提取特征,并将图像分类为预定义的类之一。自动语音识别(ASR)应用程序使用DNN生成语音特征向量的预测,然后对其进行后续处理以生成最可能的文本转录本。自然语言处理(NLP)应用程序使用DNN从输入文本生成的单词嵌入向量中分析和提取语义和句法信息。

3. 现状:仅云处理

目前,云提供商用于智能应用的现状方法是在云中执行所有DNN处理。 这种方法的一大开销是通过无线网络发送数据。在本节中,我们将研究完全在最先进的移动设备上执行大型DNN的可行性,并与现状进行比较。

3.1 实验装置

我们使用真实的硬件平台,代表当今最先进的移动设备,由NVIDIA [16]开发的Jetson TK1移动平台,用于Nexus9平板电脑。JetsonTK1配备了NVIDIA最新的移动SoC之一,Tegra K1:四核ARM A15和带单流式多处理器的Kepler移动GPU。

我们的服务器平台配备了NVIDIA Tesla K40 GPU,这是NVIDIA最新的服务器级GPU产品之一。

我们使用Caffe [18],一个开发完全的开源深度学习库,用于移动和服务器平台。对于移动CPU,我们使用OpenBLAS,一个NEON矢量化矩阵乘法库,并使用4个可用核心。对于这两种GPU,我们使用cuDNN,这是一个优化的NVIDIA库,用于加速Caffe中的关键层,并使用Caffe的CUDA实现其余层。

3.2 Examining the Mobile Edge 检测移动端

我们研究了移动平台执行传统的纯云DNN工作负载的能力。我们使用AlexNet 作为我们的应用程序,这是一种用于图像分类的最先进的卷积神经网络。之前的工作已经注意到AlexNet代表了今天在服务器环境中部署的DNN。

在图3中,我们分解了AlexNet查询的延迟,这是对152KB图像的单一推断。对于无线通信,我们使用TestMyNet在多个移动设备上测量3G,LTE和Wi-Fi的带宽。

通信延迟 – 图3a显示了通过3G,LTE和Wi-Fi上传输入图像的延迟。最慢的是3G连接超过870毫秒。LTE和Wi-Fi连接分别需要180ms和95ms来上传,这表明网络类型对于实现现状方法的低延迟至关重要。

计算延迟 – 图3b显示了移动CPU,GPU和云GPU上的计算延迟。最慢的平台是移动CPU需要382ms处理,而移动GPU和云GPU分别需要81ms和6ms。注意到,移动CPU处理图像的时间仍然比通过3G上传输入快2.3倍。

端到端延迟 – 图3c显示了现状和仅移动方法所需的总延迟。每个条形顶部的注释是用于计算所花费的端到端延迟的占比。现状方法花费不到6%的时间在服务器上进行计算,而且传输数据的时间超过94%。与使用LTE和3G的现状方法相比,移动GPU实现了更低的端到端延迟,同时使用LTE和Wi-Fi的现状方法比移动CPU执行更好。由于高数据传输开销,仅云方法通常比移动执行慢。

能耗 – 我们使用Watts Up仪表和Huang等人描述的技术测量移动设备的能耗。通信能量在很大程度上取决于所使用的无线网络的类型。移动设备的CPU能耗比GPU高(虽然GPU需要更多功率,但设备用于更短的突发,因此它消耗更少的总能量)。图4c显示了仅云方法和移动执行的总移动能量消耗,其中仅云方法中的能量主要是通信产生的能耗。移动GPU比通过LTE或3G传输云处理消耗更少的能量,而通过Wi-Fi进行的云处理比移动执行消耗的能量更少。与通过GPU本地计算相比,移动设备通过LTE和3G消耗更多的能量传输数据。

关键发现

  1. 数据传输延迟通常高于移动计算延迟,尤其是在3G和LTE上。
  2. 与移动处理相比,云处理具有显着的计算优势,但由于数据传输开销太大,它并不是优势;
  3. 与仅使用云的方法相比,本地移动执行通常会导致更低的延迟和能耗,而如果使用快速Wi-Fi连接,则仅云方法可实现更好的性能。

4. Fine-grained Computation Partitioning 细粒度计算分区

基于第3节中的发现,问题上升到在移动设备和云之间划分DNN计算是否有利。基于观察到DNN层提供适合于分区计算的抽象概念,我们首先分析层粒度下最先进的DNN架构的数据和计算特性。

4.1 Layer Taxonomy 层分类

在层级分析之前,了解当今DNN中存在的各种类型的层非常重要。

完全连接层 – 完全连接层中的所有神经元都与前一层中的所有神经元完全连接。该层使用一组已经学过的权重计算输入的加权和。

卷积和本地层 – 卷积和本地图层使用一组学习过的过滤器对图像进行卷积,以生成一组特征图。这些层的主要区别在于它们的输入要素图的尺寸,过滤器的数量和大小,以及应用过滤的步幅。

池层 – 池化层在输入特征映射的区域上应用预定义的函数(例如,最大值或平均值)以将特征组合在一起。这些层的主要区别在于它们的输入尺寸,汇集区域的大小以及应用汇集的步幅。

激活层 – 激活层分别对其每个输入数据应用非线性函数,从而产生与输出相同数量的数据。在该工作中研究的神经网络中存在的激活层包括S形层(sig),整流线性层(relu)和硬Tanh层(htanh)。

Other layers studied in this work include: 归一化层 规范化空间分组特征图中的特征; softmax layer 在可能的类别数量上产生概率分布; argmax layer 选择概率最高的类; and dropout layer 在训练期间随机忽略神经元以避免模型过度拟合并在预测期间通过。

4.2 Characterizing Layers in AlexNet AlexNet中有表征的图层

我们首先研究AlexNet中每个层的数据和计算特征。这些特征提供了在层级识别移动和云之间更好的计算划分的目标。在本节及后续章节的其余部分中,我们在移动和服务器平台中使用GPU。)

逐层延迟 – 图5中的左侧条(浅色)显示了移动平台上每个层的延迟,按顺序执行顺序从左到右排列。卷积(conv)和完全连接的层(fc)是最耗时的层,占总执行时间的90%以上。中间的卷积层(conv3和conv4)比早期的卷积层(conv1和conv2)花费更长的时间。后部的卷积层在DNN中应用更大数量的滤波器以逐渐提取更强大且具有代表性的特征,从而增加计算量。另一方面,完全连接的层比网络中的卷积层慢一个数量级。最耗时的层是层fc6,它是DNN深处的完全连接层,占总执行时间的45%。

数据大小变化 – 图5中的右条(深色)显示了每个图层输出数据的大小,这也是下一层的输入。前三个卷积层(conv1,conv2和conv3)生成大量输出数据(显示为最大的暗条),因为它们在输入要素图上应用了数百个滤波器以提取特征。数据大小通过激活层保持不变(relu1-relu5)。汇集层将数据大小锐减最多4.7倍,因为它们通过获取最大值来汇总相邻要素的区域。网络中较深的全连接层(fc6-fc8)逐渐减小数据大小,直到最后的softmax层(softmax)和argmax层(argmax)将数据减少为一个分类标签。

关键发现

  1. Depending on its type and location in the network, each layer has a different computation and data profile. 根据网络中的类型和位置,每个层具有不同的计算和数据配置文件。
  2. 移动GPU上的卷积和池化层的延迟相对较小,而完全连接的层导致高延迟。
  3. 卷积和汇集层主要位于网络的前端,而完全连接的层位于后端。
  4. 随着卷积层增加数据然后汇集层减少数据,前端层总是逐渐减小数据的大小。 最后几层中的数据大小小于原始输入。
  5. 数据大小通常在前端减少的结果,并且后端的每层移动延迟通常更高,这表明在移动和云之间的DNN中间的计算分区的独特机会。

4.3 Layer-granularity Computation Partitioning 层粒度计算分区

4.2节中的分析表明神经网络中存在分区计算的有趣点。 在本节中,我们将探讨在移动设备和云之间的每一层对AlexNet进行分区。 在本节中,我们使用Wi-Fi作为无线网络配置。

图6a中的每个条形表示在每层之后进行分区的端到端延迟。类似地,图6b中的每个条形表示在每层之后分区的移动能量消耗。在特定层之后对计算进行分区意味着在移动设备上执行DNN直到该层,通过无线网络将该层的输出传输到云,并执行云中的其余层。最左边的条表示发送原始输入以进行仅云处理。随着分区点从左向右移动,在移动设备上执行更多层,因此存在越来越大的移动处理组件。 最右边的栏是在移动设备上本地执行整个DNN的延迟。

延迟分区 – 如果在前端进行分区,则数据传输主导端到端延迟,这与我们在4.2节中观察到的数据大小在DNN早期阶段最大是一致的。在后端进行分区可以提供更好的性能,因为应用程序可以最大限度地减少数据传输开销,同时利用功能强大的服务器在后端执行更多的计算层。在AlexNet使用移动GPU和Wi-Fi的情况下,最后一个池(pool5)和第一个完全连接层(fc6)之间的分区实现了最低延迟,如图6a中所示,比仅有云处理上提高了2.0倍 。

能量分区 – 与延迟类似,由于无线数据传输的高能源成本,转移仅用于云的处理的输入并不是最节能的方法。 如图6b所示,DNN中间的分区实现了最佳的移动能耗,比纯云方法节能18%。

关键发现 – 在层粒度上进行分区可以提供显着的延迟和能效提升。 对于使用GPU和Wi-Fi的AlexNet,最佳分区点位于DNN的中间层之间。

  • 在AlexNet使用移动GPU和Wi-Fi的情况下,最后一个池(pool5)和第一个完全连接层(fc6)之间的分区实现了最低延迟和最优能耗

4.4 Generalizing to More DNNs 推广到更多DNN

我们将调查扩展到7个更智能的应用程序,以研究它们的数据和计算特性及其对计算分区机会的影响。我们使用Tonic套件[9]中提供的DNN,以及最先进的图像分类DNN VGG和LTE作为无线网络配置。表3中列出了有关基准的详细信息。我们计算从第一个非输入层到最后一个层的每个DNN的层数,包括argmax(如果存在)。

计算机视觉应用 – 剩余的三个计算机视觉DNN(VGG,FACE和DIG)具有与AlexNet(图5)类似的特征,如图7a-7c所示。前端层是卷积层增加了数据,汇集层减少了数据。后端层中的数据大小与原始输入数据相似或更小。后端层的延迟高于大多数前端层(例如,fc6是VGG中最耗时的层),除了卷积层最耗时的DIG。与AlexNet类似,这些特征表明DNN中间的分区机会。图8a示出了VGG的最佳等待时间的分区点在中间层中。另外,图8a-8c示出了不同的CV应用具有用于最佳延时间的不同分区点,并且图9a-9c示出了用于这些DNN的最佳能耗的不同分区点。

语音识别和自然语言处理app – 套件中剩余的四个DNN(ASR,POS,NER和CHK)仅由完全连接的层和激活层组成。层图分解如图7d-7g所示,其中,在整个执行过程中,相同类型的层产生相似的延迟 并且数据大小保持相对恒定,除了每个DNN的第一层和最后一层。这些DNN不具有数据增加层(即卷积层)或数据减少层(即汇集层)。结果,只存在在这些网络的末端划分计算的机会。

图8d-8g和图9d-9g分别示出了这些DNN的最佳等待时间和能量的不同分区点。 在这些应用程序的最右边的条形图(仅移动处理)中存在数据通信组件,因为DNN的输出被发送到云以用于这些应用程序所需的后处理步骤。

Key Observations

  1. 在具有卷积和池层的DNN(例如计算机视觉应用)中,卷积层后的数据大小增加,池化后的数据大小减小,而每层计算通常会在执行过程中增加。
  2. 仅具有相似大小和激活层的完全连接层的DNN看到每层延迟和数据大小的微小变化(例如,ASR和NLP DNN)。
  3. 划分DNN的最佳方法取决于其拓扑和组成层。 计算机视频DNN有时在DNN中间有更好的分区点,而在ASR和NLPDNN的开头或结尾分区更有利。最佳分区点的强烈变化表明,需要一种基于神经网络架构在移动设备和云之间划分DNN计算的系统。
  • 不同的app有不同的最佳划分方法

5. Neurosurgeon

DNN架构的最佳分区取决于DNN的拓扑结构,该拓扑结构体现在每层的计算和数据大小变化中。此外,即使对于相同的DNN架构,诸如无线网络状态和数据中心负载之类的动态因素也会影响最佳分区点。例如,移动设备的无线连接通常会出现高差异[31],直接影响数据传输延迟。数据中心通常会经历昼夜负载模式[32],导致其DNN查询服务时间的高度差异。由于这些动态因素,需要一种自动系统来智能地选择划分DNN的最佳点以优化端到端延迟或移动设备能量消耗。为了满足这一需求,我们提出了神经外科医生的设计,这是一种智能DNN分区引擎。神经外科医生由部署阶段和运行时系统组成,该系统管理智能应用程序的分区执行。图10显示了神经外科医生的设计,它有两个阶段:部署和运行时。在部署时,Neurosurgeon为每种层类型生成预测模型。 在运行期间,Neurosurgeon根据图层的类型和配置预测每一层的延迟/能量成本,并根据各种动态因素选择最佳分区点。

部署 – Neurosurgeon 描述移动设备和服务器,以生成DNN层类型的性能预测模型(各种层)(在第4.1节中列举)。请注意,Neurosurgeon的分析是与应用程序无关的,只需要针对给定的移动和服务器平台进行一次; 不需要每个应用程序分析。这组预测模型存储在移动设备上,随后用于预测每层的延迟和能量成本(第5.1节)。

运行时 – 在移动设备上执行基于DNN的智能应用程序期间,Neurosuron会动态确定DNN的最佳分区点。 如图10所示,步骤如下:

  1. 分析并提取DNN架构的图层类型和配置;
  2. 系统使用已存的层性能预测模型来估计在移动和云上执行每一层的延迟和能量消耗;
  3. 通过这些预测,结合当前的无线连接带宽和数据中心负载水平,Neurosurgeon选择最佳分区点,优化最佳端到端延迟或最佳移动能耗;
  4. 执行DNN,在移动和云之间进行分区工作。

5.1 Performance Prediction Model 预测模型

模拟任意神经网络架构的每层延迟和能量消耗。这种方法允许Neurosurgeon在不执行DNN的情况下估计DNN组成层的延迟和能量消耗。

我们观察到,对于每种层类型,跨层配置存在大的延迟变化。因此,为了构建每个层类型的预测模型,我们改变层的可配置参数并测量每个配置的延迟和功耗。使用这些配置文件,我们为每个图层类型建立回归模型,以根据其配置预测图层的延迟和功率。我们将在本节后面描述每个层的回归模型变量。我们使用GFLOPS(每秒千兆浮点运算)作为我们的性能指标。基于图层类型,我们使用对数函数或线性函数作为回归函数。 随着层的计算要求接近可用硬件资源的限制,使用基于对数的回归来对性能平台进行建模。

卷积,局部和池化层的可配置参数包括输入要素图尺寸,数量,大小和过滤器的步幅。卷积层的回归模型基于两个变量:输入要素图中的要素数量,以及(过滤器尺寸/步幅)2×(过滤器数量),它表示应用于每个像素的计算量。对于局部和池化层,我们使用输入和输出要素图的大小作为回归模型变量。

在完全连接的层中,输入数据乘以学习的权重矩阵以生成输出向量。我们使用输入神经元的数量和输出神经元的数量作为回归模型变量。 Softmax和argmax层的处理方式类似

与其他层相比,激活层具有更少的可配置参数,因为激活层在其输入数据和输出之间具有一对一的映射。 我们使用神经元的数量作为回归模型变量。 我们对规范化层应用相同的方法。

如前所述,它是每个移动和服务器硬件平台生成一组预测模型所需的一次性分析步骤。 这些模型使Neurosurgeon能够根据其配置估计每层的延迟和能量成本,从而使Neurosurgeon能够支持未来的神经网络架构,而无需额外的分析开销。

5.2 Dynamic DNN Partitioning 动态DNN划分

利用层性能预测模型,Neurosurgeon动态选择最佳DNN分区点,如算法1中所述。该算法有两个步骤:分析目标DNN和分区点选择。

DNN目标DNN的分析 – Neurosurgeon 分析目标DNN的构成层,并使用预测模型来估计每层移动和云的延迟以及移动设备的功耗。具体来说,在算法1的第11和第12行,提取每一层的类型和配置(Li)并使用回归模型来预测在移动(TMi)和云(TCi)上执行层Li的延迟,同时考虑到 当前数据中心负载水平(K)。第13行估计移动设备上执行层Li的功率(PMi),第14行根据最新的无线网络带宽计算无线数据传输延迟(T Ui)。

** 分区点选择** – 然后选择最佳分区点。 候选点位于每一层之后。 第16和第18行评估在每个候选点进行分区时的性能,并选择最佳端到端延迟或最佳移动能耗的点。 由于回归模型的简单性,这种评估是轻量级和高效的。

5.3 Partitioned Execution 分区执行

我们通过创建Caffe [18]的修改实例来充当Neurosurgeon,以充当我们的移动端(NSmobile)和服务器端(NSserver)基础架构。通过Caffe的这两个变体,我们使用Thrift [33]实现我们的客户端 - 服务器接口,Thrift [33]是一个用于进程间通信的开源灵活RPC接口。为了实现动态选择分区点的灵活性,NSmobile和NSserver都支持完整的DNN模型,NSmobile和NSserver运行时强制执行分区点。给定NSmobile的分区决策,执行从移动设备开始,并通过DNN的层级连接到该分区点。完成该层后,NSmobile将该层的输出从移动设备发送到驻留在服务器端的NSserver。然后NSserver执行剩余的DNN层。完成DNN执行后,最终结果将从NSserver发送回移动设备上的NSmobile。请注意,DNN中只有一个分区点,从移动设备向云端发送信息。

6. Evaluation 评价

我们使用8个DNN(表3)作为我们的基准,通过Wi-Fi,LTE和3G无线连接,仅支持CPU和GPU移动平台,来评估Neurosurgeon。我们证明,Neurosurgeon在现状云计算方法上实现了显着的端到端延迟和移动能源改进(第6.1和6.2节)。然后我们将Neurosurgeon与MAUI[34]进行比较,这是一个众所周知的计算卸载框架(第6.3节)。我们还评估了Neurosurgeon对无线网络连接(第6.4节)和服务器负载(第6.5节)变化的鲁棒性,证明了对这种动态运行时系统的需求。最后,我们通过将计算从云端推送到移动设备来评估Neurosurgeon实现的数据中心吞吐量改进(第6.6节)。

6.1 Latency Improvement 延迟优化

分区点选择 – 表4总结了Neurosurgeon选择的分配点,优化了48种配置(即8种基准,3种无线网络类型,移动CPU和GPU)的延迟。绿色细胞表明Neurosurgeon选择最佳分区点并获得最佳加速,而白细胞表明Neurosurgeon选择次优点。 Neurosurgeon为48种配置中的44种选择最佳分区点。错误预测的发生是因为分区点及其相关性能彼此非常接近,因此Neurosurgeon潜伏期预测的微小差异会改变选择。在所有基准测试和配置中,Neurosurgeon在最佳加速比例的98.5%内实现了延迟加速

延迟优化 – 图11显示了Neurosurgeon在Wi-Fi,LTE和3G的8个基准测试中对现状方法的延迟改善。图11a显示了将Neurosurgeon应用于配备CPU的移动平台时的延迟改进,图11b显示了具有GPU的移动平台。对于CV应用程序,Neurosurgeon为24个案例中的20个确定了最佳分区点,并实现了显着的延迟加速,尤其是在移动GPU可用时。对于NLP应用程序,Neurosurgeon即使在Wi-Fi可用时也能实现显着的延迟加速。对于ASR,Neurosurgeon成功确定最好在服务器上完全执行DNN,因此Neurosurgeon的表现类似于该特定基准的现状。在所有基准测试和配置中,Neurosurgeon的平均延迟增加速度为3.1倍,而现状延迟高达40.7倍。

6.2 Energy Improvement 能耗优化

分区点选择 – 表5总结了神经外科医生确定的最佳移动能量分区点。神经外科医生为48种配置中的44种选择最佳分区点。对于次优选择,神经外科医生平均消耗的能量比现状方法少24.2%。

能耗改善 –图12显示了Neurosurgeon实现的移动能量消耗,符合现状。图12a和12b分别显示了仅CPU的移动平台和配备GPU的移动平台的结果。在优化最佳能量消耗时,Neurosurgeon平均减少了59.5%的移动能量,并且比现状减少了94.7%。类似于延迟的改进,当移动平台配备GPU时,大多数基准测试的能量降低也更高。

6.3 Comparing Neurosurgeon to MAUI 比较

在本节中,我们将神经外科医生与MAUI [34]进行比较,这是一个通用的卸载框架。 请注意,MAUI是以控制为中心的,推理和决定代码区域(函数),而Neurosurgeon是以数据为中心的,根据数据拓扑的结构做出分区决策,即使相同的代码区域被调用(函数)也可能不同。

图13显示了在执行8个DNN基准测试时,Neurosurgeon通过标准化了MAUI而实现的延迟加速,平均为三种无线网络类型。图13a显示了在仅CPU的移动平台上应用MAUI和Neurosurgeon时的结果,图13b显示了配备GPU的移动平台上的结果。在本实验中,我们假设对于MAUI,程序员已经最佳地注释了需要传输的最小程序状态。

图13显示神经外科医生在计算机视觉应用上明显优于MAUI。对于NLP应用程序,Neurosurgeon和MAUI都正确地确定移动设备上的本地计算是最佳的。但是,MAUI为更复杂的场景(例如,VGG,FACE,DIG和ASR)做出了不正确的卸载选择。这是因为MAUI依赖于某个DNN层类型的过去调用来预测该层类型的未来调用的延迟和数据大小,从而导致错误预测。这种以控制为中心的预测机制不适用于DNN层,因为相同类型的层的延迟和数据大小在一个DNN内可能完全不同,并且Neurosurgeon的DNN分析步骤和预测模型正确地捕获了这种变化。例如,在VGG中,第一和第二个卷积层的输入数据大小明显不同:conv1.1为0.57MB,conv1.2为12.25MB。对于移动CPU和LTE,MAUI决定在conv1.2之前卸载DNN,因为它的误预测,上传大量数据并导致现状方法减少20.5倍。同时,Neurosurgeon成功识别出在这种情况下最好完全在云端执行DNN,从而实现与现状相似的性能和超过MAUI的20.5倍速度。

6.4 Network Variation 网络差异性

在本节中,我们将评估神经外科医生对实际测量的无线网络变化的适应能力。

在图14中,顶部图表显示了在一段时间内测量的T-Mobile LTE网络的无线带宽。下图显示了在移动CPU平台上执行AlexNet(IMC)的现状方法和神经外科医生的端到端延迟。在底部图表上注释的是Neurosurgeon的动态执行选择,分类为本地,远程或分区。现状方法非常容易受到网络变化的影响,因此应用程序在低带宽阶段会遭受显着的延迟增加。相反,Neurosuron通过改变分区选择来调整基于可用带宽的数据传输量,成功地减轻了大变化的影响并提供了一致的低延迟。

6.5 Server Load Variation 服务器负载变化

在本节中,我们将评估神经外科医生如何在服务器负载变化时做出动态决策。数据中心通常会遇到昼夜负载模式和高服务器利用率,从而增加DNN查询的服务时间。Neuspurgeon根据在空闲期间定期ping服务器获得的当前服务器负载级别来确定最佳分区点,从而避免由于高用户需求和由此导致的高负载而导致的长延迟。

图15显示了当服务器负载增加时,现状方法和神经外科医生实现的AlexNet(IMC)的端到端延迟。移动设备配备CPU并通过Wi-Fi传输数据。如图所示,现状方法不能动态适应不同的服务器负载,因此在服务器负载较高时会遭受严重的性能下降。当服务器接近其峰值负载水平时,现状方法的端到端延迟从105ms增加到753ms。另一方面,通过考虑服务器负载,Neurosurgeon动态调整分区点。在图15中,两条垂直虚线表示神经外科医生改变其选择的点:从低负荷下的完整云执行到中等负荷下移动和云之间的DNN划分,并最终在峰值负载下完全上载到移动无论服务器负载如何,Neurosurgeon都会将执行图像分类的端到端延迟保持在380毫秒以下。通过考虑服务器负载及其对服务器性能的影响,无论服务器负载如何变化,Neurosurgeon始终如一地提供最佳延迟。

6.6 Datacenter Throughput Improvement 数据中心吞吐量改进

神经外科医生将部分或全部计算从云计算到移动设备,以改善端到端延迟并降低移动能耗。这种新的计算范例减少了数据中心所需的计算量,从而缩短了查询服务时间并提高了查询吞吐量在本节中,我们评估神经外科医生在这方面的有效性。我们使用BigHouse [38]来比较现状和神经外科医生之间达到的数据中心吞吐量。传入的DNN查询由基准套件中的8个DNN均匀组成。我们使用DNN查询的测量平均服务时间结合Google网络搜索查询分布来查询到达率。

图16显示了Neurosurgeon实现的数据中心吞吐量改进,标准化了在服务器上执行整个计算的基线现状方法每个群集都显示给定无线网络类型的结果。在每个群集中,第一个条形代表现状仅云的方法,而其他四个条形代表具有不同移动硬件组成的神经外科医生。例如,“30%移动GPU用户”表示30%的传入请求来自配备GPU的移动设备,而剩余的70%来自仅配备CPU的设备。

当移动客户端通过快速Wi-Fi网络连接到服务器时,Neurosurgeon的吞吐量平均提高了1.04倍。随着无线连接转向LTE和3G,吞吐量的提升变得更加显着:LTE为1.43倍,3G为2.36倍。随着无线连接质量变得不太理想,神经外科医生调整其分区选择并将较大部分的DNN计算推送到移动设备。因此,减少了平均请求查询服务时间,并且在数据中心中实现了更高的吞吐量。我们还观察到,随着GPU增加的移动设备的百分比,Neurosurgeon增加了从云到移动的计算负载,从而提高了数据中心吞吐量。

7. Related Work 相关工作

以前的研究工作集中在将计算从移动设备卸载到云端。在表6中,我们将Neurosurgeon与最相关的属性技术进行比较,包括是否存在大量数据传输开销,数据中心或以控制为中心的分区,低运行时间开销,是否需要特定于应用程序的分析以及是否需要程序员注释。

除了这些关键差异之外,计算分区框架还必须预测何时卸载计算,预测的正确性决定了应用程序的最终性能改进。 COMET [35]在执行时间超过预定义阈值时卸载线程,忽略任何其他信息(要传输的数据量,可用的无线网络等)。Odessa [36]只考虑部分函数的执行时间和数据要求而不考虑整个应用程序,从而进行计算分区决策。CloneCloud [37]为同一函数的所有调用做出相同的卸载决策。MAUI的[34]卸载决策机制更好,因为它分别对每个函数调用进行预测,并在选择要卸载的函数时考虑整个应用程序。但是,MAUI不适用于Neurosurgeon执行的计算分区,原因如下:

  1. MAUI需要为每个单独的应用程序进行分析步骤,而执行DNN分区需要预测。神经外科医生根据DNN拓扑结构做出决策,无需任何运行时间。

  2. MAUI是以控制为中心的,决定代码区域(函数),而神经外科医生根据数据拓扑结构做出分区决策,即使执行相同的代码区域(函数),数据拓扑结构也可能不同。在一个DNN内的给定类型的层(即使映射到相同的函数)可以具有显着不同的计算和数据特征。

  3. 与传输所有程序状态相比,神经外科医生只传输正在处理的数据。

  4. MAUI要求程序员注释他们的程序以识别哪些方法是“可卸载的”。

除了先前调查数据中心系统利用率和效率的工作[39-52]之外,人们越来越关注为深度神经网络工作负载构建大规模数据中心系统。已经为数据中心提出了各种加速器,例如GPU,ASIC和FPGA,以更好地处理DNN计算[9,53-55]。在设计适用于移动边缘的紧凑型DNN方面也做出了努力。微软和谷歌在移动平台上探索用于语音识别的小规模DNN [56,57]。MCDNN建议生成替代DNN模型,以权衡性能/能量的准确性,并选择在云端或移动设备上执行。这项工作研究了移动设备和云之间的智能协作,用于执行传统的仅限云的大规模DNN,以减少延迟和能耗,同时不会牺牲DNN的高预测准确性。

8. Conclusion 结论

作为当今智能应用的重要组成部分,深度神经网络传统上一直在云中执行。。在这项工作中,我们研究了这种仅限云处理的现状方法的功效,并表明将输入数据传输到服务器并远程执行DNN并不总是最佳的。我们研究了跨越计算机视觉,语音和自然语言处理应用的8个DNN架构的计算和数据特征,并展示了神经网络中不同点的分区计算的权衡。通过这些见解,我们开发了神经外科医生,这是一个可以在神经网络层的粒度下自动在移动设备和云之间划分DNN的系统。Neurosurgeon适应各种DNN架构,硬件平台,无线连接和服务器负载水平,并选择分区点以获得最佳延迟和最佳移动能耗。与仅云处理相比,神经外科医生在8个基准测试中实现了平均3.1倍和高达40.7倍的连续加速,平均降低了59.5%和高达94.7%的移动能耗,并提高了数据中心的吞吐量平均1.5倍,最高6.7倍。

阅读报告

The main idea of the essay

At present, a large number of intelligent mobile applications use deep neural networks (DNN) for image classification, speech conversion or lexical analysis.

Because of its complexity, almost all DNN computation and processing are performed in the cloud, but this can lead to high latency and high energy consumption.

Therefore, the essay compares cloud-only approach with the computation partitioning strategy that effectively collaborate cloud and mobile devices on the edge, and designs the Neurosurgeon system.

It can use the layer architecture of the DNN,the hardware platforms used, the wireless network configuration and the server load to find the ideal fine-grained DNN partition point. It dynamically distributes the DNN computation to the mobile device and the cloud datacenter, and finally pass the result back to the mobile.

This system can achieve far superior processing and transmission latency performance, achieve mobile energy efficiency, as well as improve datacenter throughput.

The process and core ideas of the algorithm

1、 The way to find ideal fine-grained DNN partition points According to the essay, the processing time of each layer in the DNN is different, the processing time is always longer to the later layer. Besides, the transmission energy consumption is different due to the difference in data size that transmit between the layers, because the amount of data is reduced layer by layer, the energy consumption is also reduced as so. So, there is one layer which contains an ideal point, that the processing before and contain the layer is performed on the mobile device, and the output of this layer is transmitted to the cloud server through the wireless network for the subsequent processing. In this way, an optimal solution can be obtained, which has significant latency and energy advantages.

2、 Neurosurgeon – a system with dynamic adaptation Since the best advantage of partition is affected by the layer architecture of different DNNs as well as the runtime network state and load, a dynamic and adaptive system, Neurosurgeon, is proposed. Neurosurgeon can adapt to multiple DNN architectures as well as runtime network status. In the deployment phase, Neurosurgeon build a predictive model for each layer of DNN for the server and mobile, and determine the configuration and details of each layer.

During runtime, Neurosurgeon calculate the energy consumption and latency of each layer according to the predicted DNN model, find out the best advantage of achieving leverage, and finally combine the current wireless bandwidth and data center load to get the optimal distribution.

Advantages

1、 The first is the advantage of the algorithm direction. If the user's input, such as picture, voice and text, is directly transmitted to the server through the wireless network, the pressure on the server side will be too hard. For cost reasons, the server side cannot be equipped with too expensive equipment to serve each user. And because the time period that the user needs the service is flexible, if some stages of the DNN computation are forced to be placed on the server or the mobile device, the hardware resources will be wasted.

Therefore, it is necessary to flexibly distribute the computing phase of the DNN according to the load on the server.

As wireless network connections and server load always change in real-time, Neurosurgeon is designed as a dynamic runtime system that can change the optimal distribution point according to the runtime condition.

2、 Different DNNs have different layer structure, so applications that use different DNNs have different optimal distribution points.

This algorithm can be adaptive to DNNs and hardware platforms of various structures without the need for profiling on a per-application basis.

3、 In addition to latency and energy consumption, it ultimately optimizes the throughput of cloud data servers.

Disadvantages

1、 Although it uses an actively developed open-source deep learning library, it does not consider the case where the mobile device cannot accurate classify the image, that is, the local library is missing and can only be uploaded to the cloud, or similar extremely situations.

2、 In fact, DNN is a feedback and learning process, but the algorithm does not mention whether feedforward or learning are needed. If it is a process of continuous learning, it does not consider whether the cloud datacenter and the local database need to be synchronized. If the learning result of the device edge is not synchronized with the cloud, the difference in the input quality and the content may gradually cause the database deviation between the terminals or between the terminal and the cloud, and thus the classification result is also biased that compute in cloud or in the device.

3、 In the essay, compared with cloud-only computation, the computing speed and throughput are better improved, but whether the energy consumption of performance consumed by the user-side terminal device is considered. Furthermore, since the system considers real-time wireless network connection and server load changes, it needs to continuously calculate the partition in real time according to network conditions and server load change all the time. This kind of energy consumption also needs to be considered.

4、 The size of content such as voice as a DNN data source is very small, while after processing it become a feature vector, it may occupy a large memory space. So, it is necessary to consider setting boundaries for layer distribution to save users and servers bandwidth. However, considering that 5G is about to be put into commercial use, this issue is not an issue that needs to be considered at present.

Personal ideas

First of all, when calculating the optimal distribution point, the exhaustive method is used. Energy consumption and end-to-end latency is calculated after each partitioned layer so that the best advantage of the distribution can be compared and analyzed. Whether the exhaustive method can be improved to a better method, such as starting from the middle layer to the front-end and analyze. If the performance is getting worse, then begin the reverse analyze. This method is based on the Binary algorithm and perhaps can reduce the calculation time by half.

Besides, whether it can be dynamically distributed according to the user equipment. Because the neural network is CPU-intensive computation, on the device with GPU assistance, the neural network calculation can be performed relatively well. However, considering the current equipment coverage, there are still a large amount of the user's equipment can't bear the heavy computation work. For this reason, the neural network should be dynamically distributed according to the configuration of the user equipment. At this time, more or even all the DNN computations may be pushed to the server performs.

Furthermore, if it is needed to dynamically distribute the computation according to the cloud load, there will be a large number of users using the mobile for DNN computation during the peak flow period, while more cloud resources will be used during the night low flow period. Even so, the cloud pressure during the low flow period should be very small, so how to use the cloud computing resources in the night period can be considered.

Last but not the least, end-to-end on edge is also a way to reduce cloud pressure. Users can share data through the network. Two devices are connected to the cloud at the same time, so the performance of one device may be redundant. Whether it is possible to transfer the calculation pressure from one device to another? As long as the user's privacy is handled well, the performance of the terminal device can be well utilized.

论文出处

Neurosurgeon:collaborative intelligence between the cloud and mobile edge Kang et al.,ASPLOS’17

web.eecs.umich.edu/~jahausw/pu…

其它论文报告 www.sohu.com/a/146627406…