Neurosurgeon:Collaborative Intelligence Between the Cloud and Mobile Edge
Sun Hao

来 源:ASPLOS ‘17: Proceedings of the Twenty-Second International Conference on Architectural Support for Programming Languages and Operating Systems - April 2017 - Pages 615–629https://doi.org/10.1145/3037697.3037698

原文速递:Neurosurgeon: Collaborative Intelligence Between the Cloud and Mobile Edge

1. Background & Motivation

当前的智能应用,比如Apple Siri,Google Now和Microsoft Cortana,计算过程完全在云端进行。这种云计算范式通过网络传输用户原始到云数据中心,不仅对数据中心造成了很大的压力,还存在很高的通信时延。随着手机等移动设备的计算能力增强,能否将一部分数据计算从云端移至移动设备上进行值得研究。

1.1 云中心计算现状

图1 AlexNet延迟分解
图2 AlextNet能耗分解

1)对于3G和LTE网络,数据传输时延往往高于移动设备计算时延;

2)云计算具备很大的计算优势,但经常由于数据传输时延高而失去优势;

3)移动设备本地计算往往获得更低的时延和能耗,但在快速WiFi网络中,云计算的性能更佳。

1.2 计算分配

基于对云中心计算现状的研究,同时考虑到DNN的层结构很适合进行计算分割,该文考虑云端间的层级计算分配。

图3 AlexNet每层的执行时间和输出数据尺寸
图4 选择不同分割点时的时延和能耗

1)由于每层的类型和在模型中所处的位置不同,具备不同的计算和数据需求;

2)卷积和池化层的计算时延较小,而全连接层的时延较高;

3)卷积和池化层往往在模型的前部,全连接层在后部;

4)卷积层增加输出数据量,池化层减少输出数据量。前几层的数据量逐渐减小,后几层的数据量小于原始输入;

5)“前几层的数据量逐渐减小,后几层的计算时延逐渐增加”的发现说明:在模型中部进行计算分割并由云端协同执行推理能够取得性能增益。

2. Contributions

1)深入的现状分析。对云中心计算方案进行分析,发现数据的无线网络传输时现有方法的瓶颈,在移动端进行DNN推理往往可以获得更低的时延和能耗;

2)DNN计算和数据量研究。深入研究8种DNN的层级别时延和数据量特性,发现DNN的不同层具有不同的计算量和数据尺寸特性;

3)云-端DNN计算分配。发现层级别的DNN分割能够获得性能增益,设计了一个系统方法在不同应用的DNN中寻找最优分割点来减小时延和能耗;

4)设计Neurosurgeon运行时系统和层性能预测模型。

3. Design Details

Neurosurgeon由一个部署阶段和一个用来管理云-端分割的运行时系统组成,如图5。

图5 Neurosurgeon系统组成

在部署阶段-Neurosurgeon通过分析移动设备和服务器生成各种DNN层类型的预测模型,该分析过程与DNN应用无关,对于移动设备和服务器平台只需进行一次,之后模型将被储存在移动设备和服务器上用于对每层的时延和能耗进行预测。

在运行时-Neurosurgeon动态地决定DNN的最佳分割点,如图5所示,该过程分为以下步骤:1)Neurosurgeon分析并提取DNN每层的类型和配置;2)系统使用存储的层性能模型估计在云和移动设备上执行每一层的时延和能耗;3)综合考虑每个预测结果和当前无线连接带宽及数据中心负载情况,Neuro surgeon选择针对时延或能耗的最佳分割点;4)Neurosurgeon在云-端间协同执行DNN。

3.1 性能预测模型

对于每种层类型,Neurosurgeon基于该层的配置建立一个回归模型预测时延和能耗,使用GFLOPS(每秒千兆浮点运算)作为性能预测的量度。

1)卷积层和池化层

对卷积层的回归模型基于两个参数变量:输入特征图的特征数量和输入特征图每个像素的计算量()。对于池化层,使用输入、输出特征图的尺寸作为回归模型的参数变量.

2)全连接层

对于全连接层,使用输入神经元和输出神经元的数量作为回归模型的参数。对于Softmax和argmax层的处理类似。

3)激活层

激活层的参数较少,只有输入输出数据的一对一映射,因此使用神经元的数量作为回归模型的参数变量。对于标准化层的操作类似。

3.2 动态DNN分割

Neurosurgeon的DNN分割算法如下,Neurosurgeon首先分析组成目标DNN的各层,并使用性能预测器获得每层在移动设备和服务器上计算的时延和能耗。由于线性模型是十分简单的,该DNN分割算法是轻量且高效的。

4. Comments

Neurosurgeon是一个云-端协同的协同推理系统,能够相较云计算减少传输数据量,相较单机边缘计算提升计算速度,从而提高DNN推理的响应速度。然而,该系统存在许多不足之处:

1)性能预测器准确度无法保证。该系统的性能预测器仅仅针对对不同层参数构建简单的线性或指数回归模型,虽然该模型执行很快,但如此简单的预测方法难以获得高预测精度,而较低的预测精度势必影响DNN分割算法的效果;

2)对多层网络的性能预测不准确。该文仅使用每层网络时延和能耗的加和表示多层的性能,而实验表明运行多层网络的时延和能耗往往低于每层网络的加和,由错误的性能预测数据确定DNN分割点很难得到最优方案;

3)云-端协同的方案受到一些限制。首先,云-端协同仍然受到网络条件限制,在网络环境较差时即便转为单机推理也存在时延增加的问题。其次,该方案仅适用于一台移动设备和一台服务器的协同推理,参与节点较少,灵活性较差。

 Comments