[论文翻译]Edge AI: On-Demand Accelerating Deep Neural Network Inference via Edge Computing

原文链接:https://arxiv.org/abs/1910.05316

翻译:
边缘人工智能:基于边缘计算按需加速深度神经网络计算

En Li1) Liekang Zeng2) Zhi Zhou3) Xu Chen4)

摘 要 深度神经网络(DNNs)作为一项关键技术,使得人工智能技术在5G时代得到应用,迅速地吸引了广泛的关注。然而,在移动设备上运行计算密集的DNNs任务十分具有挑战性,因为移动设备的计算能力有限。更甚,传统的云端协助DNN计算,因为网络的延迟而过于复杂与缓慢,实时性和用户体验并不理想。为了解决这些问题,本文提出了一个框架,Edgent,通过边缘与终端的协同,利用边缘计算进行DNN协作计算。Edgent探讨了两个设计点:(1)DNN的划分,划分终端和边缘之间的DNN计算,以协调计算能力强大的云端资源和边缘设备资源,来提高DNN的实时性计算。(2)通过在中间DNN层增加提前退出点来加速DNN计算,找到能进一步降低计算延迟的DNN合适划分。此外,考虑现实世界中部署的潜在网络波动,Edgent设计为适用于静态和动态网络环境。在带宽变化缓慢的静态环境网络中,Edgent借助回归预测模型得到最佳配置,在变化迅速的动态网络中,Edgen通过在线更改点检测算法生成最佳执行计划,该算法将当前带宽状态映射到最佳配置。我们基于树莓派和桌面PC实现了Edgent原型,并且通过广泛的实验评估证明Edgent在按需低延迟边缘智能方面的有效性。

关键词 边缘智能,边缘计算,深度学习,计算分流

中图法分类号 ****   DOI号 投稿时不提供DOI号 分类号

1 介绍

深度神经网络(DNNs),作为支撑智能移动移动应用的核心技术,是最广泛被采用的机器学习技术并且变得越来越流行,受益于特征提取的卓越性能,DNNs在各个取得了广泛的成功,从计算机视觉到语音识别还有自然语言处理和大数据分析。可是,今天移动设设备由于不具备DNNs应用所需要的大量计算能力,普遍无法很好的支撑DNNs应用。为了因对DNNs的大量资源需求,传统解决方案是依靠计算能力强大的云端数据中心进行密集的DNN计算。这种方案,输入数据由移动设备产生并且发送给云端数据中心,当计算完成时,设备将接受执行结果。但是,采用这种以云为中心的架构,大量数据(例如图像和视频)将会在边缘设备和云端之间通过网络传输,这可能会导致延迟和额外资源开销。为了缓解这种问题,我们利用了新兴的边缘计算模型。边缘计算的主要思想是把云计算能力从网络中心下放到与边缘设备相接近的网络边缘(例如基站和WLAN)。这种新颖的方式使得计算密集和具有延迟的DNN应用以实时响应方式执行(即边缘智能)。通过利用边缘计算,我们可以设计按需低延迟的DNNs计算框架以支撑实时边缘AI应用。

在认识到边缘智能好处的同时,我们的研究表明,基于边缘的DNNs计算的性能仍然对边缘服务器和移动设备之间的可用带宽高度敏感。特别是当带宽从1Mbps掉到50kbps时,基于边缘的DNN计算延迟从0.123s增加到2.317s(详见2.III-B)。考虑到网络环境容易受到攻击且不稳定,存在着一个问题,我们是否可以进一步优化在各种网络环境下的DNN计算,尤其是对于某些关键的DNN任务和应用,例如智能安全和工业机器人技术。

关于这些问题,本文中,我们探讨了边缘计算模型并且提出了Edgent,一个低延迟,通过终端与边缘设备协同,合作计算框架。以低延迟边缘智能为目标,Edgent提出了两个设计点。第一个是DNN的划分,他根据可用带宽在移动设备和边缘服务器之间划分DNN计算任务,以利用边缘服务器的计算能力。然而这样无法满足某些关键任务的严格响应性要求,因为执行性任然受到终端设备上其他执行任务的限制。因此,Edgent进一步整合第二个设计点,合适的DNN规模调整,通过在中间DNN层提前退出计算来加速DNN计算。实质上,提早退出的机制涉及到延迟时间的预测准确度的权衡。为与现有的资源的权衡取得平衡,Edgent按需对DNN划分和DNN的规模调整进行了联合的优化。具体来说,对于通常具有预定义延迟时间要求的关键任务应用程序,Edgent在保证延迟时间的要求同时,最大化准确度。

考虑实际部署中各种网络条件,Edgent进一步开发了配置机制,以便Edgent可以在静态网络环境和动态网络环境中追求更好的性能。在静态网络中(如通过光纤和mmWave;连接的局域网),我们认为带宽是稳定的,并通过基于当前带宽的预估执行等待时间,来找出协作方案。在这情况下,Edgent训练回归模型以预测分层计算延迟时间和准确度,并相应得到DNN划分和DNN规模调整的最优配置。在动态网络中(如5G,蜂窝网络,车载网络),为减轻网络波动带来的影响,我们通过分析记录每个带宽状态的最佳选择构建了一个查找表,并使用优化器来检测带宽状态转换并相应地映射最佳选择。通过对不同网络环境的专门设计,Edgent能够在不违反应用程序响应性要求的情况下最优化计算准确性。基于树莓派和桌面PC实现了Edgent原型,并且通过广泛的实验评估证明Edgent在按需低延迟边缘智能方面的有效性。

总的来说,在本文,我们做出了以下成果:

·我们提出了Edgent,一个利用边缘设备与终端的按需DNN协作计算框架,其中联合最优化了DNN划分和DNN规模调整,在保证应用延迟时间要求的同时,最大化计算准确度。

·考虑到各种网络环境(如静态网络和动态网络环境),我们专门为了Edgent建立了一套工作流程以达到更好的性能。

·我们利用树莓派和桌面电脑,实现并且测试了Edgent原型。基于现实世界网络跟踪数据集的评估结果证明了Edgent框架的有效性。

本文的其余部分讨论一下内容。第一,在2.中回顾了相关文献。第二,在 3.中介绍了Edgent的背景和动机,随后在4.提出了Edgent的设计理念。第三,.性能评估的结果会显示在5.中,以证明其有效性。最后,我们在第二节中总结。

2 相关工作

最近,关于移动DNN计算引起了越来越多的关注。通过在移动设备上托管人工智能,移动DNN计算可在用户附近部署DNN模型,以实现更灵活的执行以及更安全的交互[15]。然而,由于有限的计算资源,在移动设备上直接执行计算密集型DNN具有挑战性。在此问题上,现有工作致力于优化边缘设备上的DNN计算。对于低延迟和高能效的移动DNN计算,文献中主要有以下三种方式:运行时间管理,模型架构优化和硬件加速。运行时间管理,是将计算从移动设备转移到云或者边缘服务器上,利用外部计算资源来获得更好的性能。模型架构优化是指尝试开发新的DNN结构,以适度的计算达到理想的准确度[17]-[21]。例如,为了减少DNN计算过程中的资源消耗,通过模型修剪压缩模型[22]–[24]。最近这种优化方式已经转向网络架构搜索了(NAS)[25]–[27]。硬件加速通常包括硬件级别设计中的基本DNN计算操作和一些旨在优化现有硬件资源的利用率的工作[31]–[33]

作为运行时优化方法之一,DNN划分技术将特定的DNN模型分割为一些连续的部分,并将每个部分部署在多个参与的设备上。具体来说,某些框架[34]–[36]利用DNN划分来优化移动设备和云端之间的计算负载,而某些框架致力于移动设备之间分配计算工作负荷[37]–[39]

无论有多少设备参与,DNN划分都尽可能最大程度地利用外部计算资源以加速移动设备计算速度。至于DNN规模调整,,他着重于在限制条件下,现有环境里,调整模型大小。在这个目标上,DNN规模调整呼吁使用专门的训练技术从标准DNN模型生成新分支DNN模型。在本文,我们在开源BranchyNet [40]和Chainer [41]下,实现了分支模型。

与现有的工作相比,我们框架的创新可以归纳为以下三个方面。首先,给定预定义的应用程序延迟时间要求,Edgent根据各计算资源最大化计算精确度,这与现有研究有很大的不同。这个功能对于实际部署至关重要,因为不同的DNN应用程序在不同情况下可能需要不同的执行时间。第二,Edgent整合力DNN划分和DNN规模,在保证各个应用程序执行时间的同时最大化计算准确度。值得注意的是,模型划分和模型规模调整都无法很好的单独解决时序方面的要求。对于模型划分而言,他确实降低了执行时间的延迟,但是总处理时间仍受到移动设备计算能力的限制。对于模型规模调整,它通过提早退出机制,加速计算处理,但是总计算负担仍然受到最早的DNN模型架构影响,因此很难再应用程序最后时间前完成计算。

因此,我们建议将这两种方法集成在一起以扩大设计空间。模型划分和模型规模调整的集成不是一步就能完成的,我们需要设计决策优化算法,以充分探索划分点和出口点的选择,从而在准确性之间取得良好的平衡。和按需延​​迟。通过这些努力,我们可以实现设计目标,从而在给定预定义的延迟约束的情况下,在不违反延迟要求的前提下,最大化DNN推理精度。最后但并非最不重要的一点是,我们专注于Edgent的静态和动态设计

网络环境,而现有的工作(例如[38])主要集中在网络稳定的情况下。在实践中考虑到各种应用程序场景和部署环境,我们专门针对静态和动态网络环境设计配置器和运行时间优化器,通过这些设计器,Edgent可以针对出口点和分区点得到适当的方案。

3 背景与动机

在这个章节里,我们首先简要介绍DNN。然后,我们分析了仅边缘到设备方法的局限性,并以此为出发点探索了,通过边缘和终端的协同性如何利用DNN划分和DNN规模调整,加速DNN计算。

3.1 DNN简要介绍

随着数据和计算能力的扩展,DNN已成为跨计算机视觉(CV)的各种智能应用程序的核心技术[2]

和自然语言处理(NLP)[4]。 图1显示了用于识别猫的图像识别玩具DNN。

图1:用以识别猫的四层DNN模型

如我们所见,典型的DNN模型可以表示为有向图,它由一系列相互连接的层组成,神经元相互连接。 在DNN计算(即DNN训练或DNN推理)期间,每个神经元都从其邻域接受加权输入并在一些激活操作后生成输出。典型的DNN可能具有数十个层和数百个节点,并且参数总数可以轻松达到数百万个级别,因此典型的DNN需要大量的计算。 在本文中,我们专注于DNN计算,而不是DNN训练,因为训练过程通常是可接受的,通常在功能强大的云数据中心上完成。

3.2仅终端到边缘DNN计算的不足

传统的移动DNN计算要么完全在移动设备上执行,要么全转移到到云端/边缘服务器。不幸的是,这两种方法都可能导致性能不佳(即高的端到端延迟),从而难以满足实时应用程序的延迟要求[10]。我们分别使用Raspberry Pi和台式PC来模拟移动设备和边缘服务器,并使用经典AlexNet模型对cifar-10数据集执行图像识别任务。图2描绘了边缘服务器和移动设备上不同带宽下不同方法的端到端延迟细分(在图2中简化为Edge and Device)。如图2所示,在资源受限的移动设备上完成推理任务要花费2秒钟以上的时间。相比之下,边缘服务器在1Mbps带宽下仅花费0.123s进行推理。但是,随着带宽的下降,仅边缘方法的执行延迟会迅速上升(当带宽下降至50kbps时,延迟会上升至2.317s)。这表明仅边缘方法的性能受数据传输延迟(服务器端的计算时间保持在10ms左右)支配,因此对可用带宽高度敏感。考虑到实践中网络带宽资源的不稳定(例如,由于用户和应用程序之间的网络资源争用)以及移动设备上计算资源的限制,仅设备到边缘方法不足以在严格的实时需求中支持新兴的移动应用程序。

图2 不同带宽下,AlexNet下仅终端到边缘方式的执行时间

3.3 对边缘智能的DNN划分和规模调整

图3:在树莓派上AlexNet 分层执行时间和输出数据大小

DNN****分区:为了更好的了解DNN计算的性能瓶颈,在图3中,我们优化了分层执行延迟(在树莓派上)和每层中间输出数据大小,从图3可以看出,每层的输出数据大小显示出很大的差异。这意味着具有较高延迟的分层可能不会输出较大的数据大小。基于此观察,一个直观的想法是DNN划分,即将DNN分为两部分,并以较低的传输成本将计算密集型部分转移到服务器,从而减少了总的端到端执行延迟。作为说明,我们选择图3中的第二个本地响应规范化层(即lrn_2)作为分区点,并将该点之前的层转移到服务器端,而其余部分保留在终端上。通过在终端和边缘之间进行模型划分,可以将邻近的混合计算资源全面用于低延迟DNN计算。

DNN****规模调整: 尽管DNN分区可以显着减少等待时间,但应注意的是,使用最佳DNN分区,推理等待时间仍然受到移动设备上剩余计算的限制。 为了进一步减少执行延迟,将DNN规模调整方法与DNN分区结合使用。 DNN规模调整可以通过早期退出机制加快DNN计算。 例如,通过训练具有多个出口点的DNN模型,可以将标准AlexNet模型派生为如图4所示的分支AlexNet。

图4:有五个退出点的AlexNet分支模型

请注意,在图4中,为了便于说明,仅绘制了卷积层(CONV)和全连接层(FC),这种新的分支结构需要新的训练方法。 在本文中,我们借助开源BranchyNet [40]框架实施了分支模型训练。

问题明确:显然,DNN调整大小会导致延迟精度下降,即,尽早退出机制虽然减少总的计算延迟,但会损害推理的准确性。考虑到某些对延迟敏感的应用程序有严格的截止时间,但可以忍受中等精度损失这一事实,因此我们可以按需方式在延迟和准确性之间取得良好的平衡。 特别是,考虑到预定义的延迟要求,我们的框架应在期限内最大限度地提高准确性。 更准确地说,本文所解决的问题可以概括为:如何在DNN分区和DNN规模调整上进行联合优化,以在不违反预定义延迟要求的情况下最大化推理精度。

4 框架与设计

在这一部分,我们介绍Edgent的设计,它使Edgent在静态网络和动态网络能生成最优的协作DNN计算方案,在满足延迟时间的同时,最大化精准度。

4.1 框架总览

Edgent致力于在多样的网络条件下追求更好的DNN计算性能。 如图5所示,Edgent分为三个阶段:离线配置阶段,在线调整阶段和协同计算阶段。

图5:Edgent框架总览

在脱机配置阶段,Edgent将DNN模型利用到“静态/动态配置器”组件上,并获取用于在线调整的相应配置。具体来说,由训练后的回归模型和分支DNN模型组成,静态配置将被应用到带宽在DNN推理期间保持稳定的地方(这将在第4.2节中详细介绍),而由训练后的分支DNN和 对于不同带宽状态的最佳选择,将使用动态配置来适应(将在第4.3节中详细介绍)。 在线调整阶段,Edgent会测量当前的带宽,并根据给定的延迟要求和配置对DNN划分和DNN规模调整进行联合优化,目的是在给定的延迟要求下最大化推理精度。

协同推理阶段,基于在线调整阶段生成的协同推理计划(即,选择出口点和分区点),分区点之前的计算层将在边缘服务器上执行,其余部分保留在终端。

在DNN计算期间,移动设备和边缘服务器之间的带宽可能相对稳定或经常更改。尽管Edgent在静态和动态网络环境中,工作流程相同,但是Configurator组件和Runtime Optimizer组件的功能有所不同。具体来说,在静态带宽环境下,配置器将用回归训练模型来预计计算延迟,而分支DNN则启用早期退出机制。脱机生成的静态配置包括经过训练的回归模型和经过训练的分支DNN,运行时间优化器将基于这些模型找出最佳的协同计算计划。动态带宽环境下,动态配置器将建立一个配置映射图,该映射通过更改点检测器记录,针对不同带宽状态选择最佳配置,然后将其输入到运行时优化器以生成最佳的协同计算计划。接下来,我们将讨论分别针对静态和动态环境的配置器和优化器的专门设计。

4.2 静态网络环境的Edgent

首先,我们首先考虑在静态网络环境下的框架设计。 静态配置器的关键是训练回归模型以预测分层计算延迟,并训练分支模型以启用早期退出机制。专门针对静态带宽环境的配置器如图6所示。

图6:Edgent的静态配置

离线配置阶段,要生成静态配置,静态配置器将启动两项任务:(1)分别在移动设备和边缘服务器上进行分层计算延迟,并相应地训练不同类型DNN层的回归模型(例如,卷积,全连接等),(2)通过BranchyNet框架训练具有多个出口点的DNN模型以获得分支DNN。分析过程是记录每个计算层的延迟而不是整个模型的计算延迟。根据分析结果,我们通过执行一系列具有自变量的回归模型来建立各个计算层的预测模型,如表1所示,由于典型DNN中层的类型有限,因此分析成本适中。由于逐层计算延迟与基础架构有关,而DNN训练与应用程序有关,因此对于特定的DNN推理,Edgent仅需要一次初始化上述两个任务。

表1:预测模型的自变量

在线调整阶段,运行时优化器组件使用静态配置(即预测模型和分支DNN),搜索最佳出口点和分区点,以最大程度地保证准确性,同时通过以下三个输入确保执行期限:(1) 静态配置,(2)边缘服务器与终端设备之间的测量带宽,(3)延迟要求。算法1中描述了关于分区点和出口点选择的联合优化搜索过程。对于具有M个出口点的DNN模型,我们表示第i个出口点的分支具有Ni计算层,而D­p是第p层的输出。我们使用前面提到的回归模型来预测设备上运行的第j层的延迟EDj和服务器上运行的第j层的延迟ESj。在一定的带宽B下,将输入数据Inpu输入,将每一侧的计算延迟与传输输入数据和中间执行结果的通信延迟相加来计算总延迟Ai,p。我们将第p层表示为分支与第i个出口点的分隔点。 因此,p=1表示总推理过程将仅在终端侧执行。(即,ESp = 0,p-1)。通过对点的详尽搜索,我们可以找出第i个出口点的最小延迟的最佳分区点。由于模型划分不会影响计算精度,因此我们可以依次测试具有不同出口层(即具有不同精度)的DNN计算,并在满足延迟要求的同时找到具有最大精度的模型。由于已经预先训练了分层延迟预测的回归模型,因此算法1主要涉及线性搜索操作,并且可以很快完成(在我们的实验中不超过1毫秒)。

算法1. 静态网络下运行时间优化器.

输入:

M:在DNN中退出点的数量

{Ni | i = 1, · · ·M }:在退出点i的分支的总层数

{Li | j = 1,· · ·Ni}:退出点i的分支的计算层

{Dj | j = 1, · · · , Ni }:退出点i的分支中的逐层输出数据大小

f (Lj ):返回第j层延迟的预测模型

B:当前可用宽带

Input:输入数据大小

Latency: 延迟时间要求

输出:退出点和划分点

1: Procedure

2: for i = M, · · · , 1 do

3: 选择第i个退出点的分支

4: for j = 1, · · · , Ni do

5: ESj ← fedge(Lj )

6: EDj ← fdevice(Lj )

7: end for

8: Ai,P=

9: **if ***Ai,p ≤ * Latency then

10: return 退出点 i and 划分点 p

11: end if

12: end for

13: return NULL

我们的设计有两个基本假设。 一个是我们假设移动设备上现有的DNN计算不能满足应用程序延迟要求,并且附近有一个边缘服务器可用于通过计算分流来加速DNN计算。另一个假设是,基于固定和分配用于在移动设备和边缘服务器上执行DNN模型的计算资源的情况,对用于性能预测的回归模型进行训练。但是,由于我们可以训练更高级性能的预测模型,考虑不同的资源级别,因此可以进一步放宽这些假设(例如,使用深度学习模型)。

4.3 动态网络环境的Edgent

Edgent在动态环境中的关键思想是利用历史带宽记录,并使用Configuration Map Constructor提前为通用带宽状态生成最佳的协同计算计划。 具体地,在动态环境下,Edgnet在离线阶段生成动态配置(即,记录针对不同带宽状态的最佳选择的配置图),并且于在线阶段,Edgent根据配置图搜索最佳分区计划。专用于动态带宽环境的配置器如图7所示。

图7 :Edgent在动态网络下的配置

离线配置阶段,动态配置器执行以下初始化:(1)从历史带宽记录中绘制带宽状态(记为s1,s2,...),(2)传递带宽状态,等待时间要求和使用 DNN到静态Edgent,以获取当前输入的最佳退出点和划分点。带宽状态的表示是由对自适应视频流的现有研究[43]推动的,其中TCP连接的吞吐量可以建模为分段固定过程,其中连接由多个不重叠的固定段组成。 在动态配置器中,它将带宽状态s定义为基础TCP连接段中客户端的吞吐量的平均值。 对于每个带宽状态,我们通过调用配置映射表来获取最佳的协同计算计划,并将其记录为动态配置。

算法2中介绍了在配置图构造器中运行的配置图构造算法。算法2的关键思想是利用奖励函数评估退出点和划分点的选择。因为我们的设计目标是最大程度地提高推理精度。 在满足应用程序延迟要求的同时,有必要衡量搜索到的协同计算策略是否可以满足延迟要求以及计算精度是否已最大化。因此,我们定义了一个奖励参数,以评估每个搜索步骤的性能,如下所示:

其中tstep是当前搜索步骤(即当前搜索步骤中选择的退出点和划分点)的平均执行等待时间,等于 。等式(1)中的条件应优先考虑满足延迟时间要求treq,否则将直接将奖励设置为0。每当满足延迟要求时,当前步骤的报酬将被计算为exp(acc)+throughput,其中acc是当前计算的准确性。如果满足延迟要求,则搜索将着重于提高准确性,并且当多个选项具有相似的准确性时,将选择throughput更高的选项。在算法2中,si表示从带宽跟踪中提取的带宽状态,Cj是由j索引的协作计算策略(即出口点和分区点的组合)。 R(Cj)表示协作计算策略Cj的奖励,可以根据Cj的acc和throughput通过公式(1)获得。

算法2. 配置映射图构建.

输入:

{si | i=1 N}:带宽状态

{Cj | j=1… , M}:共同计算策略

RCj):Cj的奖励参数

输出:

配置映射图

1: Procedure

2: for i = 1, · · · , N do

3: 选择带宽状态si

4: rewardmax = 0, Coptimal = 0

5: for j = 1, · · · , M do

6: rewardcj ← R(Cj )

7: if rewardmax ≤ rewardcj then

8: rewardmax = rewardcj , Coptimal = Cj

9: end if

10: end for

11: 得到Coptimal 相应的退出点i和划分点p

12: 增加Si :<i, p> 到配置映射图中

13: end for

14: return 配置映射图

算法3. 动态环境下的运行时间优化器.

输入:

{B1,…, t} : 直到当前时刻t为止的累积带宽测量

{Cj |j = 1, · · · , t }:协同计算策略

{si |i = 1, · · · , t }:带宽状态

D(B1,··· ,t ): 返回当前带宽状态的检测函数

find(s): 找到对应于给定状态s的协作推理策略

输出:

协同计算策略

1: Procedure

2: Ct = Ct−1

3: st = D(Bi,··· ,t )

4: if st ≠st−1then

5: Ct ← find(st )

6: end if

7: st−1 = st

8: Ct−1 = Ct

9: return Ct

在线调整阶段,运行时优化器组件根据动态配置和实时带宽测量来选择最佳的协同推理计划。 算法3描述了运行时优化器中的整个过程。 请注意,算法3调用了变化点检测函数D(B1...t[44],以检测基础带宽动态的分布状态变化。特别是,当带宽测量的采样分布发生显着变化时,变化点检测功能会记录变化点并记录带宽状态转换。然后,使用find(state)函数,运行时

图8:不同延迟时间和不同带宽下的结果

优化器在动态配置中捕获与当前带宽状态(或最接近的状态)相对应的协同计算策略,并相应地指导协同计算阶段的协同计算过程。

5 性能评估

在这个章节中,我们给出Edgent的实现和评估结果。

5.1 实验准备

我们基于树莓派和台式PC实施了一个原型,以演示Edgent的可行性和效率。 配备有四核3.40 GHz Intel处理器和8 GB RAM的台式PC用作边缘服务器。 树莓派 3配备了四核1.2 GHz ARM处理器和1 GB RAM,作为终端设备。

要设置静态带宽环境,我们使用WonderShaper工具[45]控制可用带宽。 对于动态带宽环境设置,我们使用比利时4G / LTE带宽记录[46]的数据集来模拟动态带宽环境。 为了生成配置图,我们使用Oboe [43]提供的综合带宽跟踪来生成428个带宽状态,范围从0Mbps到6Mbps。

为了获得分支DNN,我们采用BranchyNet [40]框架和Chainer [41]框架,它们可以很好地支持多分支DNN训练。 在我们的实验中,我们以标准的AlexNet [42]作为玩具模型,并通过cifar-10数据集[47]训练具有五个出口点的AlexNet模型进行图像分类。 如图4所示,训练有素的分支AlexNet具有五个出口点,每个点对应于标准AlexNet的一个分支。 从最长分支到最短分支,每个出口点的层数分别为22、20、19、16和12。

5.2 静态带宽环境下的实验

在静态配置器中,基于表1中显示的自变量训练,用于分层预测的预测模型,分支机构AlexNet部署在边缘服务器和移动设备上,以进行性能评估。 具体而言,由于优化过程中等待时间要求和可用带宽的影响很大,因此在不同的预定义等待时间要求和变化的可用带宽设置下测量Edgent的性能。

我们首先通过将等待时间要求固定为1000ms并将带宽从50kbps设置为1.5Mbps,来探讨带宽的影响。图8(a)示出了Edgent在各种带宽设置下生成的最佳一致计划(即,选择划分点和退出点)。如图8(a)所示,随着带宽的增加,最佳退出点变大,这表明更好的网络环境会导致所用DNN的分支更长,因此准确性也更高。图8(b)显示了计算延迟变化趋势,其中延迟随着带宽的增加先急剧下降然后急剧上升。这种波动是有道理的,因为系统的瓶颈随着带宽的增加而改变。当带宽小于250kbps时,Edgent的优化受到不良通信条件的限制,并且倾向于以较高的推理精度来换取较低的执行延迟,为此,出口点设置为3而不是5。随着带宽的增加,执行延迟不再是瓶颈,因此出口点攀升至5,这意味着模型具有更大的尺寸并因此具有更高的准确性。还有一个有趣的结果,预测等待时间和测得等待时间的曲线几乎重叠,这表明我们基于回归的预测的有效性。接下来,我们将可用带宽设置为500kbps,并将等待时间要求从1000ms更改为100ms,以进行进一步的探索。图8(c)示出了在不同等待时间要求下的最佳划分点和退出点。如图8(c)所示,随着等待时间要求的放宽,最佳出口点和分区点都爬得更高,这意味着稍后的执行截止时间将为准确性提高提供更多空间。

图9显示了在不同的等待时间要求设置(带宽固定为400kbps)下,不同方法的模型计算精度。 当该方法不能满足等待时间要求时,精度为负。 如图9所示,给定严格限制的等待时间要求(例如100ms),这四种方法都不能满足。如图9所示,给定严格限制的等待时间要求(例如100ms),

图9:各种延迟要求下的精度比较

所有这四种方法都不能满足要求,为此所有四个正方形都位于标准线以下。 但是,随着等待时间要求的放宽,Edgent比其他三种方法更早地工作(在200ms和300ms的要求下),但准确性有所下降。当等待时间要求设置为大于400ms时,除仅设备推断之外的所有方法均会及时成功完成执行。

5.3 动态带宽环境下的实验

对于配置图的生成,我们使用Oboe [43]中提供的带宽跟踪。 数据集中的每个带宽跟踪都包含49对关于下载块的数据元组,包括开始时间,结束时间和平均带宽。 我们计算同一条带宽迹线中所有平均带宽的平均值,以表示带宽状态波动,从中获得428个带宽状态,范围从0Mbps到6Mbps。 根据算法2,通过穷举搜索,我们找出每种带宽状态的最佳选择。 此实验中的等待时间要求也设置为1000ms。

对于在线更改点检测,我们使用现有的实现[48],并将其与运行优化器集成。 我们使用比利时4G / LTE带宽日志数据集[46]进行在线带宽测量,该带宽记录了在以下几种交通方式上进行测量的带宽轨迹:步行,自行车,公共汽车,火车或汽车。 此外,由于大多数带宽日志都超过6Mbps,在某些情况下甚至高达95Mbps,为了调整边缘计算方案,在我们的实验中,我们缩小了日志中的带宽并将其限制在0Mbps至10Mbps的范围内 。

在此实验中,Edgent在由调整后的比利时4G / LTE带宽日志模拟的动态带宽环境中运行。图10(a)显示了记录在运行总线上的数据集上的带宽示例跟踪。图10(b)显示了在图10(a)所示的带宽环境下DNN模型推断吞吐量的结果。退出点和划分点的相应最佳选择如图10(c)所示。从图10(c)可以看出,模型推断策略的最佳选择随带宽的变化而变化,但是所选的退出点保持在5,这意味着网络环境足以使Edgent满足带宽需求,尽管带宽波动。另外,由于退出点不变,所以计算精度也保持稳定。在我们的奖励函数设计中,划分点的选择大致遵循吞吐量结果的轨迹。实验结果证明了Edgent在动态带宽环境下的有效性。

图10:Edgent在总线上记录的带宽跟踪中的决策的示例

我们在图11中进一步比较了动态带宽环境下的静态配置器和动态配置器。我们将延迟时间要求设置为1000ms,并记录两个配置器的吞吐量和奖励参数,然后在此基础上计算累积分布函数(CDF)。从图11(a)可以看出,在相同的CDF级别下,具有动态配置器的Edgent可以实现更高的吞吐量,这表明在动态网络环境下,动态配置器可以以更高的效率进行协同计算。 例如,将CDF设置为0.6,动态配置器的吞吐量为27 FPS,而静态配置器的吞吐量为17 FPS。 此外,动态配置器的CDF曲线以11 FPS的吞吐量增加,而静态配置器以1 FPS开头,这表明动态配置器在开始时比静态配置器更有效地工作。

图11(b)展示了奖励的CDF结果。类似地,在相同的CDF级别下,动态配置器比静态配置器获得更高的报酬,而动态配置器的CDF曲线再次上升。但是,在图11(b)中,两条曲线比图11(a)中的曲线更近,这意味着从奖励的角度来看,这两个配置器获得了几乎相同的良好性能。这是因为这两个配置器在选择出口点时做出相似的选择(即,在大多数情况下,它们两个都选择出口点5作为协 同推理策略的一部分)。因此,奖励参数的差异主要来自吞吐量结果。它说明了静态配置器在某些情况下可能会比动态配置器好,但是在动态网络环境下,动态配置器通常

6 总结概括

在这项工作中,我们提出了Edgent,这是一种具有设备边缘协作的按需DNN协同计算框架。为了实现低延迟边缘智能,Edgent引入了两个设计点来优化DNN计算延迟:DNN划分可实现设备边缘协作,而DNN规模调整可利用早期退出机制。我们介绍了两个专门设计的配置器,分别用于确定静态和动态带宽环境下的协作策略。我们在Raspberry Pi上的原型实现和实验评估表明Edgent在低延迟边缘智能方面的可行性和有效性。对于将来的工作,我们提出的框架可以与现有的模型压缩技术进一步结合以加速DNN计算。此外,通过设计高效的资源分配算法,我们可以扩展我们的框架以支持多设备应用程序场景。我们希望激发社会上更多的讨论和努力,并充分实现边缘智能的愿景。

你可能感兴趣的:([论文翻译]Edge AI: On-Demand Accelerating Deep Neural Network Inference via Edge Computing)