Edgent:边缘智能低延迟推理框架

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

摘要

作为5G时代实现人工智能(AI)应用的关键技术,深度神经网络(DNNs)已迅速引起广泛关注。然而,由于计算资源有限,在移动设备上运行计算密集型的基于DNN的任务具有挑战性。更糟糕的是,传统的云辅助DNN推理受到显著的广域网延迟严重阻碍,导致实时性能差以及用户体验质量低下。为应对这些挑战,本文提出了Edgent,一种利用边缘计算通过设备‐边缘协同实现DNN协同推理的框架。Edgent利用两个设计机制:(1)DNN分割,自适应地在设备与边缘之间划分计算任务,以协调强大的云端资源和邻近的边缘资源,实现实时DNN推理;(2)DNN适当裁剪,通过在适当的中间DNN层进行提前退出推理,进一步降低计算延迟。此外,考虑到实际部署中可能存在的网络波动,Edgent被合理设计以适用于静态和动态网络环境。具体而言,在带宽变化缓慢的静态环境中,Edgent借助基于回归的预测模型推导出最佳配置;而在带宽剧烈变化的动态环境中,Edgent通过在线变点检测算法生成最佳执行计划,将当前带宽状态映射到最优配置。我们基于树莓派和台式电脑实现了Edgent原型系统,广泛的实验评估表明,Edgent在实现按需低延迟边缘智能方面具有显著有效性。

关键词 —边缘智能,边缘计算,深度学习,计算卸载。

一、引言

作为现代智能移动应用的支撑技术,深度神经网络(DNN)是最常采用的机器学习技术,并日益普及。得益于在特征提取方面的卓越性能,深度神经网络已在计算机视觉[2]、语音识别[3]、自然语言处理[4]以及大数据分析[5]等领域取得了广泛成功。然而,由于基于深度神经网络的应用需要巨大的计算量,当前的移动设备通常难以很好地支持这些基于深度神经网络的应用。

针对深度神经网络对资源的过度需求,传统做法是借助强大的云数据中心来执行密集的深度神经网络计算。在这种情况下,由移动设备生成的输入数据被发送到远程云数据中心,设备在计算完成后接收执行结果。然而,采用这种以云为中心的方法时,大量数据(例如图像和视频)将通过长距离广域网在终端设备与远程云数据中心之间来回传输,可能导致无法容忍的延迟和过高的能耗。为缓解这一问题,我们利用新兴的边缘计算范式。边缘计算[6]–[8]的核心思想是将云计算能力从网络核心下沉至网络边缘(例如基站和无线局域网),使其靠近终端设备[9]–[14]。这一新特性使得计算密集型且延迟敏感的基于深度神经网络的应用能够以实时响应的方式执行(即边缘智能)[15]。通过利用边缘计算,我们可以设计一种按需低延迟的深度神经网络推理框架,以支持实时边缘AI应用。

在认识到边缘智能优势的同时,我们的实证研究表明,基于边缘的DNN推理性能仍然对边缘服务器与移动设备之间的可用带宽高度敏感。具体而言,当带宽从1Mbps下降到50千比特每秒时,基于边缘的DNN推理延迟从0.123秒增加到2.317秒(详见第三节‐B)。考虑到实际部署中网络环境的脆弱性和不稳定性,一个自然的问题是:我们是否能够在多变的网络环境下进一步优化DNN推理,特别是针对一些关键任务型深度神经网络应用,如智能安防和工业机器人[16]。

针对这一问题,本文利用边缘计算范式,提出了Edgent,一种通过设备‐边缘协同实现的低延迟协同推理框架。为实现低延迟边缘智能¹,Edgent采用了两种设计策略。第一种是DNN分割,可根据可用带宽自适应地将深度神经网络计算任务在移动设备和边缘服务器之间进行划分,从而充分利用边缘服务器的计算能力。然而,由于模型剩余部分仍在移动设备上运行,执行性能仍受限,因此难以满足某些关键任务应用的严格响应需求。为此,Edgent进一步引入了第二种策略,即DNN适当裁剪,通过在中间DNN层提前退出推理来加速DNN推理。本质上,提前退出机制涉及延迟‐精度权衡。为了在现有资源下平衡这种权衡,Edgent以按需方式对DNN分割和DNN适当裁剪进行联合优化。具体而言,对于通常具有预定义延迟要求的关键任务应用,Edgent在保证延迟要求的前提下最大化准确率。

考虑到实际部署中的多变网络状况,Edgent进一步开发了定制化的配置机制,使Edgent能够在静态网络环境和动态网络环境中均实现更优的性能。具体而言,在静态网络环境(例如使用光纤或毫米波连接的局域网)中,我们将带宽视为稳定状态,并基于当前带宽通过执行延迟估计来确定协作策略。在此情况下,Edgent训练回归模型以预测逐层推理延迟,并据此推导出DNN分割和DNN适当裁剪的最优配置。在动态网络环境(例如5G蜂窝网络、车载网络)中,为了减轻网络波动的影响,我们通过分析并记录每种带宽状态下的最优选择构建查找表,并专门设计运行时优化器以检测带宽状态转换并相应映射最优选择。通过针对不同网络环境的专门设计,Edgent能够在不违反应用响应性要求的前提下最大化推理精度。基于树莓派和台式电脑的原型实现及广泛评估结果表明,Edgent能够有效支持按需低延迟边缘智能。

综上所述,本文的贡献总结如下:
- 我们提出了Edgent,一种通过设备‐边缘协同实现按需DNN协同推理的框架,该框架联合优化DNN分割和DNN适当裁剪,在满足应用延迟需求的同时最大化推理精度。
- 考虑到多样的网络环境(即静态网络环境和动态网络环境),我们针对Edgent专门设计了工作流程以实现更好的性能。
- 我们使用树莓派和台式电脑实现并实验了Edgent原型。
- 基于真实网络轨迹数据集的评估结果验证了所提出的Edgent框架的有效性。

本文的其余部分组织如下:首先,在第二节中回顾相关文献,并在第三节中介绍背景和动机;接着,在第四节中提出Edgent的设计方案;然后,在第五节中展示性能评估结果,以证明Edgent的有效性;最后,在第六节中进行总结。

II. 相关工作

关于移动DNN计算的讨论最近获得了越来越多的关注。通过托管人工智在移动设备上实现智能,移动DNN计算将DNN模型部署在靠近用户的位置,以实现更灵活的执行以及更安全的交互[15]。然而,由于计算资源有限,在移动设备上直接执行计算密集型的深度神经网络具有挑战性。针对这一问题,现有研究致力于优化边缘设备上的DNN计算。

为实现低延迟和高能效的移动设备深度神经网络计算,现有研究主要从三个方面展开:运行时管理、模型架构优化和硬件加速。运行时管理通过将计算任务从移动设备卸载至云端或边缘服务器,利用外部计算资源以获得更优性能。模型架构优化致力于设计新型DNN结构,在适度计算量下实现理想的准确率[17]–[21]。例如,为降低深度神经网络计算过程中的资源消耗,采用模型剪枝技术对DNN模型进行压缩[22]–[24]。近年来,此类优化方法逐渐转向神经网络架构搜索(NAS)[25]–[27]。硬件加速通常指在硬件层面设计中集成基础的DNN计算操作[28]–[30],同时也有研究致力于优化现有硬件资源的利用率[31]–[33]。

作为运行时优化方法之一,DNN分割技术将特定的DNN模型划分为若干连续的部分,并将各部分部署在多个参与的设备上。具体而言,一些框架[34]–[36]利用DNN分割来优化移动设备与云端之间的计算卸载,而另一些框架则旨在在移动设备之间分配计算负载[37]–[39]。无论涉及多少设备,DNN分割都致力于最大化外部计算资源的利用率,以加速移动计算。至于DNN适当裁剪,其重点是在现有环境限制下调整模型规模。为此,DNN适当裁剪借助专门的训练技术,从原始的标准DNN模型生成二次衍生的分支式DNN模型。本文中,我们在开源的BranchyNet[40]框架和Chainer[41]框架的辅助下实现了分支模型。

与现有工作相比,我们框架的新颖性主要体现在以下三个方面。首先,针对预定义的应用延迟要求,Edgent根据可用的计算资源最大化推理精度,这与现有研究有显著不同。这一特性对于实际部署至关重要,因为基于深度神经网络的不同应用在不同场景下可能需要不同的执行截止时间。其次,Edgent同时集成了DNN分割和DNN适当裁剪,以在满足应用执行截止时间的前提下最大化推理精度。值得注意的是,仅靠模型分割或模型适度化均无法有效应对时序要求的挑战。对于模型分割而言,虽然它降低了执行延迟,但总处理时间仍受限于移动设备端的部分;而对于模型适度化而言,它能够加速通过早退机制进行推理处理,但总的计算负载仍主要由原始的DNN模型架构决定,因此很难在应用截止期限前完成推理。因此,我们提出将这两种方法进行整合,以扩展设计空间。模型分割与模型适度化的结合并非一步到位的工作,需要精心设计决策优化算法,以充分探索分割点和退出点的选择,从而在准确率与延迟之间按需实现良好平衡。通过这些努力,我们可以达到设计目标:在给定预定义延迟约束的情况下,在不违反延迟要求的前提下最大化DNN推理精度。最后但同样重要的是,我们将Edgent的设计专门针对静态和动态网络环境进行了优化,而现有工作(例如[38])主要关注网络稳定的场景。考虑到实际中多样应用场景和部署环境,我们针对静态和动态网络环境分别对配置器和运行时优化器进行了专门设计,使Edgent能够根据网络条件生成针对退出点和分割点的适当决策。

III. 背景与动机

在本节中,我们首先简要介绍深度神经网络。接着分析仅边缘和仅设备方法的局限性,在此基础上,探讨如何利用DNN分割和合理分配资源,通过设备‐边缘协同来加速DNN推理。

A. 深度神经网络简介

随着数据和计算能力的普及,深度神经网络(DNN)已成为计算机视觉(CV)[2]和自然语言处理(NLP)[4]等领域众多智能应用的核心技术。图1展示了一个用于图像识别的简单DNN示例,该模型可识别一只猫。如图所示,典型的DNN模型可以表示为一个有向图,由一系列相互连接的层构成,其中神经元彼此相连。在DNN计算(即深度神经网络训练或DNN推理)过程中,每个神经元接收来自其邻域的加权输入,并经过某些激活操作后生成输出。一个典型的DNN可能包含数十层,每层包含数百个节点,参数总数很容易达到数百万级别,因此典型的DNN推理需要大量的计算。在本文中,我们关注DNN推理而非深度神经网络训练,因为训练过程通常对延迟不敏感,且通常在功能强大的云数据中心离线完成。

示意图0

B. 设备或仅边缘DNN推理的不足

传统的移动DNN计算要么完全在移动设备上进行,要么全部卸载到云端/边缘服务器。不幸的是,这两种方法都可能导致性能较差(即端到端延迟较高),难以满足实时应用的延迟要求[10]。为了说明这一点,我们使用树莓派和台式电脑分别模拟移动设备和边缘服务器,并利用经典的AlexNet模型在cifar‐10数据集上执行图像识别任务[42]。图2展示了在不同带宽下,边缘服务器和移动设备(在图2中简称为Edge和Device)上不同方法的端到端延迟细分情况。如图2所示,在资源受限的移动设备上完成推理任务需要超过2秒的时间。相比之下,在1Mbps带宽下,边缘服务器仅需0.123秒即可完成推理。然而,随着带宽下降,仅边缘方法的执行延迟迅速上升(当带宽降至50千比特每秒时,延迟上升至2.317秒)。这表明仅边缘方法的性能主要由数据传输延迟决定(服务器端的计算时间保持在∼10ms),因此对可用带宽高度敏感。考虑到实际中网络带宽资源的稀缺性(例如由于用户和应用之间的网络资源竞争)以及移动设备上计算资源的限制,仅设备和仅边缘的方法均不足以支持具有严格实时要求的新兴移动应用。

示意图1

C. DNN分割与合理化配置面向边缘智能

DNN分割 :为了更好地理解DNN推理的性能瓶颈,在图3中我们细化了每层的执行延迟(在树莓派上)以及每层的中间输出数据大小。从图3可以看出,各层的延迟和输出数据大小表现出显著的异质性,这意味着延迟较高的层不一定输出更大的数据量。基于这一观察,一个直观的想法是DNN分割,即将DNN分为两部分并以较低的传输成本将计算密集型部分卸载到服务器,从而降低总端到端执行延迟。例如,我们在图3中选择第二个局部响应归一化层(即lrn_2)作为分割点,该点之前的层被卸载到服务器端,其余部分保留在设备上。通过设备与边缘之间的模型分割,可充分利用邻近的混合计算资源,实现低延迟DNN推理。

示意图2

DNN适当裁剪 :尽管DNN分割可以显著降低延迟,但应注意,在最优DNN分割情况下,推理延迟仍然受限于移动设备上剩余的计算量。为了进一步减少执行延迟,将DNN适当裁剪方法与DNN分割结合使用。DNN适当裁剪通过早退机制加速DNN推理。例如,通过对具有多个退出点的DNN模型进行训练,可将标准AlexNet模型衍生为分支式AlexNet,如图4所示,其中较短的分支(例如以出口点1结束的分支)意味着更小的模型尺寸,从而带来更短的运行时。需要注意的是,图4中仅绘制了卷积层(CONV)和全连接层(FC)以便说明。这种新颖的分支结构需要新的训练方法。在本文中,我们借助开源的BranchyNet[40]框架实现了分支模型的训练。

问题定义 :显然,DNN适当裁剪会导致延迟‐精度权衡,即虽然早退机制降低了总推理延迟,但会损害推理精度。考虑到一些延迟敏感型应用具有严格截止时间但可以容忍适度精度损失,我们能够以按需方式在延迟和精度之间取得良好平衡。具体而言,在给定预定义延迟要求的情况下,我们的框架应在截止时间内最大化准确率。更准确地说,本文所解决的问题可以概括为:如何对DNN分割和DNN适当裁剪进行联合优化,以在不违反预定义延迟要求的前提下最大化推理精度。

四、框架与设计

在本节中,我们介绍了Edgent的设计,它能够生成最优的协同DNN推理方案,在静态和动态带宽环境中满足延迟要求的同时最大化准确率。

示意图3

A. 框架概述

Edgent旨在在广泛的网络条件下实现更优的DNN推理性能。如图5所示,Edgent的工作分为三个阶段:离线配置阶段、在线调优阶段和协同推理阶段。

在离线配置阶段,Edgent将采用的DNN输入到静态/动态配置器组件中,并获得用于在线调优的相应配置。具体而言,静态配置由训练好的回归模型和分支DNN模型组成,在DNN推理过程中带宽保持稳定时使用(详见第IV‐B节);而动态配置则由训练好的分支DNN和针对不同带宽状态的最优选择组成,能够自适应带宽状态的变化(详见第IV‐C节)。

在在线调优阶段,Edgent测量当前带宽状态,并根据给定的延迟要求以及离线获取的配置,对DNN分割和DNN适当裁剪进行联合优化,旨在满足给定延迟要求的前提下最大化推理精度。

在协同推理阶段,根据在线调优阶段生成的协同推理方案(即选定的退出点和分割点),分割点之前的层将在边缘服务器上执行,其余部分保留在设备上。

在DNN推理过程中,移动设备与边缘服务器之间的带宽可能相对稳定或频繁变化。尽管Edgent在静态和动态网络环境中运行相同的工作流程,但Configurator组件和RuntimeOptimizer组件的功能有所不同。具体而言,在静态带宽环境下,配置器会训练回归模型以预测推理延迟,并训练分支DNN以实现早退机制。离线生成的静态配置包括训练好的回归模型和训练好的分支DNN,运行时优化器将基于这些信息计算出最优的协同推理方案。在动态带宽环境下,动态配置器通过变化点检测器创建一个配置映射,记录不同带宽状态下的最优选择,然后将其输入到Runtime Optimizer中以生成最优的协同推理方案。接下来,我们将分别讨论针对静态和动态环境的配置器和优化器的专门设计。

示意图4

B. Edgent for 静态环境

作为起点,我们首先考虑在静态网络环境下框架的设计。静态配置器的核心思想是训练回归模型来预测逐层推理延迟,并训练分支模型以实现早退机制。针对静态带宽环境的专用配置器如图6所示。

在离线配置阶段,为了生成静态配置,静态配置器启动两项任务:(1)分别在移动设备和边缘服务器上对逐层推理延迟进行性能分析,并据此为不同类型的DNN层(例如卷积、全连接等)训练回归模型;(2)通过BranchyNet框架训练具有多个退出点的DNN模型,以获得分支DNN。性能分析过程记录的是每种类型层的推理延迟,而非整个模型的延迟。基于性能分析结果,我们通过一系列包含表I中所示自变量的回归模型,为每种类型的层建立预测模型。由于典型DNN中的层类型有限,性能分析开销适中。由于逐层推理延迟依赖于基础设施,而DNN训练与应用相关,因此对于特定的DNN推理任务,Edgent只需初始化上述两项任务一次即可。

在在线调优阶段,利用静态配置(即预测模型和分支深度神经网络),运行时优化器组件通过三个输入来搜索最优退出点和分割点,在确保执行截止时间的同时最大化准确率:(1)静态配置,(2)边缘服务器与终端设备以及(3)延迟要求。关于分割点和退出点选择的联合优化搜索过程在算法1中进行了描述。对于具有M个退出点的DNN模型,我们假设第i个退出点的分支包含Ni层,Dp是第p层的输出。我们使用上述回归模型来预测第j层在设备上运行的延迟EDj以及在服务器上运行的延迟ESj。在给定带宽B的情况下,输入数据为Input时,我们可以通过将两侧的计算延迟以及传输输入数据和中间执行结果所产生的通信延迟相加,计算出总延迟Ai,p。我们将第p层记为第i个退出点分支的分割点。因此,当p = 1时,表示整个推理过程仅在设备端执行(即ESp = 0, Dp−1/B = 0, Input/B = 0);而当p = Ni时,表示全部计算仅在服务器端完成(即EDp = 0, Dp−1/B = 0)。通过对所有可能的分割点进行穷举搜索,我们可以找出使第i个退出点延迟最小的最优分割点。由于模型分割不会影响推理精度,我们可以依次测试不同退出层的DNN推理(即具有不同精度的情况),在满足延迟要求的同时找到具有最高精度的模型。由于用于逐层延迟预测的回归模型已经预先训练完成,算法1主要涉及线性搜索操作,因此可以非常快速地完成(在我们的实验中不超过1ms)。

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

示意图5

表I:预测模型的自变量

DNN层类型 自变量
卷积 输入特征图的数量,(滤波器大小/步幅)²×(滤波器数量)
Relu 输入数据大小
池化 输入数据大小,输出数据大小
局部响应归一化 输入数据大小
丢弃法 输入数据大小
全连接 输入数据大小,输出数据大小

算法1 静态环境运行时优化器

输入:
- M:DNN模型中退出点的数量
- {Ni | i= 1, · · ·, M}:分支出口点 i 的层数
- {Lj | j = 1, · · ·, Ni}:退出点 i 分支中的层
- {Dj | j = 1, · · ·, Ni}:退出点 i 分支中的逐层输出数据大小
- f(Lj):返回第j层延迟的预测模型
- B:当前可用带宽
- 输入:输入数据大小
- 延迟: 延迟要求

输出: 退出点和分割点的选择

1: 过程
2: 对于 i = M, · · ·, 1 执行
3: 选择第 i-th 出口点的分支
4: 对于 j = 1, · · ·, Ni 执行
5: ESj ← fedge(Lj)
6: EDj ← fdevice(Lj)
7: 结束循环
8: Ai,p = argminₚ=₁,⋯,Ni(∑ₚ⁻¹ⱼ₌₁ ESj + ∑ᴺⁱₖ₌ₚ EDj + 输入/B + Dₚ₋₁/B)
9: 如果 Ai,p ≤ 延迟 则
10: 返回退出点 i 和分割点 p
11: 结束 if
12: 结束 for
13: 返回 NULL ◃ 无法满足延迟要求

C. Edgent 用于动态环境

Edgent在动态环境中的关键思想是利用历史带宽轨迹,并通过配置映射构造器预先生成针对多种带宽状态的最优协同推理方案。具体而言,在动态环境下,Edgent在离线阶段生成动态配置(即一个记录不同带宽状态下最优选择的配置映射),在在线阶段,Edgent根据该配置映射查找最优的划分方案。面向动态带宽环境的配置器如图7所示。

在离线配置阶段,动态配置器执行以下初始化操作:(1)从历史带宽轨迹中勾勒出带宽状态(记为s₁、s₂、· · ·);(2)将带宽状态、延迟要求以及采用的深度神经网络传递给静态Edgent,以获取当前输入的最优退出点和分割点。带宽状态的表示方式受到现有自适应视频流研究[43]的启发,其中TCP连接的吞吐量可被建模为分段平稳过程,即连接由多个不重叠的平稳段组成。在动态配置器中,将一个带宽状态s定义为底层TCP连接某一段内客户端侧吞吐量的均值。对于每个带宽状态,通过调用配置图构造器获得最优协同推理方案,并将其记录在一个映射中作为动态配置。

在Configuration Map Constructor中运行的配置图构建算法如算法2所示。算法2的核心思想是利用奖励函数来评估退出点和分割点的选择。由于我们的设计目标是在满足应用延迟要求的同时最大化推理精度,因此有必要衡量所搜索的协同推理策略是否满足延迟要求以及推理精度是否已达到最大值。为此,我们定义了一个奖励,以评估每个搜索步骤的性能,如下所示:

$$
\text{reward} {\text{step}} =
\begin{cases}
\exp(\text{acc}) + \text{throughput}, & t
{\text{step}} \leq t_{\text{req}}, \
0, & \text{else},
\end{cases}
\quad (1)
$$

其中 $ t_{\text{step}} $ 是当前搜索步骤中的平均执行延迟(即当前搜索步骤中选择的退出点和分割点),等于1/吞吐量。公式(1)的条件优先确保延迟要求 $ t_{\text{req}} $ 得到满足,否则奖励将直接设为0。当满足延迟要求时,当前步骤的奖励将计算为 $ \exp(\text{acc}) + \text{throughput} $,其中acc是当前推理的准确率。如果满足延迟要求,搜索将侧重于提高准确率;当多个选项具有相似准确率时,将选择吞吐量更高的选项。算法2中,si表示从带宽轨迹中提取的带宽状态,Cj是由索引j标识的协同推理策略(即退出点和分割点的组合)。R(Cj)表示协同推理策略Cj的奖励,可通过根据Cj的准确率和吞吐量计算公式(1)获得。

在在线调优阶段,运行时优化器组件根据动态配置和实时带宽测量结果选择最优的协同推理方案。算法3描述了运行时优化器中的整个过程。需要注意的是,算法3调用了变点检测函数 D(B₁,⋯,t) [44] 来检测底层带宽动态的分布状态变化。特别是当带宽测量的采样分布发生显著变化时,变点检测函数会记录一个变点并记录带宽状态转换。然后通过 find(state) 函数,运行时优化器捕获到相应的协同推理策略应用于当前带宽状态(或最接近的状态)的动态配置,并在协同推理阶段指导协同推理过程。

示意图6

算法2 配置映射构造

输入:
- {si | i= 1, · · ·, N}:带宽状态
- {Cj | j = 1, · · ·, M}:协同推理策略
- R(Cj):协同推理策略 Cj 的奖励

输出: 配置映射

1: 过程
2: 对于 i = 1, · · ·, N 执行
3: 选择带宽状态 si
4: 奖励max = 0, Coptimal = 0
5: 对于 j = 1, · · ·, M 执行
6: 奖励cj ← R(Cj)
7: 如果 奖励max ≤ 奖励cj 则
8: 奖励max = 奖励cj, Coptimal = Cj
9: 结束 if
10: 结束 for
11: 获取 exit point 和 partitionpoint 对应的 Coptimal
12: 将 Si:< exit point, partitionpoint > 添加到配置映射
13: 结束 for
14: 返回 Configuration Map

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

输入:
- {B₁,⋯,t}:截至当前时刻 t 的累积带宽测量值
- {Cj | j = 1, · · ·, t}:协同推理策略
- {si | i= 1, · · ·, t}:带宽状态
- D(B₁,⋯,t):返回当前带宽的带宽状态检测函数 state
- find(s):查找与给定状态 s 对应的协同推理策略

输出: 协同推理策略

1: 过程
2: Ct = Ct−1
3: st = D(Bi,⋯,t)
4: 如果 st ≠ st−1 则
5: Ct ← find(st)
6: 结束 if
7: st−1 = st
8: Ct−1 = Ct
9: 返回 Ct

五、性能评估

在本节中,我们介绍了Edgent的实现及评估结果。

A. 实验设置

我们基于树莓派和台式电脑实现了一个原型,以展示Edgent的可行性和高效性。配备四核3.40 GHz英特尔处理器和8 GB内存的台式电脑作为边缘服务器。配备四核1.2 GHz ARM处理器和1 GB内存的树莓派3用作移动设备。为了设置静态带宽环境,我们使用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。

B. 静态带宽环境中的实验

在静态配置器中,基于表I中列出的自变量,对逐层预测的预测模型进行训练。分支式AlexNet被部署在性能评估中,同时考虑了边缘服务器和移动设备。具体而言,由于延迟要求和可用带宽在优化过程中具有重要影响,因此在不同的预定义延迟要求和变化的可用带宽设置下测量Edgent的性能。

我们首先通过将延迟要求固定在1000毫秒,并将带宽从50千比特每秒设置到1.5兆比特每秒,来探究带宽的影响。图8(a)展示了Edgent在不同带宽设置下生成的最优协同推理计划(即分割点和退出点的选择)。如图8(a)所示,随着带宽增加,最优退出点变得更大,表明更好的网络环境导致采用的深度神经网络的分支更长,从而实现更高的准确率。图8(b)显示了推理延迟的变化趋势,其中延迟随着带宽的增加先急剧下降,然后突然上升。这种波动是合理的,因为随着带宽变高,系统的瓶颈发生了变化。当带宽小于250千比特每秒时,Edgent的优化受到较差通信条件的限制,倾向于以较高的推理精度换取较低的执行延迟,因此退出点被设置为3而不是5。随着带宽上升,执行延迟不再成为瓶颈,因此退出点上升至5,意味着使用更大规模的模型,从而获得更高的准确率。另一个有趣的结果是,预测延迟曲线与实测延迟曲线几乎重合,这表明了我们基于回归的预测的有效性。接下来,我们将可用带宽设为500千比特每秒,并将延迟要求从1000毫秒变化到100毫秒进行进一步探索。图8(c)展示了在不同延迟要求下的最优分割点和退出点。如图8(c)所示,随着延迟要求的放宽,最优退出点和分割点均逐渐升高,这意味着较晚的执行截止时间将为准确率提升提供更大的空间。

图9显示了在不同延迟要求设置下(带宽固定为400千比特每秒)各方法的模型推理精度。当方法无法满足延迟要求时,精度以负值表示。如图9所示,在较为严格的延迟要求下(例如100毫秒),所有四种方法均未能满足该需求下,所有四个方块均位于标准线以下。然而,随着延迟要求的放宽,Edgent在200ms和300ms的延迟要求下,比其他三种方法更早开始工作,且准确率损失适中。当延迟要求设置为超过400ms时,除仅设备推理外,所有方法均能及时完成执行。

C. 动态带宽环境中的实验

在配置映射生成过程中,我们使用Oboe[43]中提供的带宽轨迹。数据集中的每条带宽轨迹包含49对关于下载块的数据元组,包括开始时间、结束时间和平均带宽。我们计算同一条带宽轨迹中所有平均带宽的均值,以表示带宽状态的波动,由此获得428种带宽状态,范围从0Mbps到6Mbps。根据算法2,通过穷举搜索,我们得出每种带宽状态的最优选择。本实验中的延迟要求也设置为1000毫秒。

对于在线变点检测,我们使用现有的实现[48],并将其与Runtime Optimizer集成。我们使用比利时4G/LTE带宽日志数据集[46]进行在线带宽测量,该数据集记录了在多种交通工具上测得的带宽轨迹:步行、自行车、公共汽车、火车或汽车。此外,由于大多数带宽日志超过6Mbps,在某些情况下甚至高达95Mbps,为了适应边缘计算场景,在实验中我们将日志的带宽缩小并限制在0Mbps到10Mbps的范围内。

在本实验中,Edgent运行于通过调整比利时4G/LTE带宽日志模拟的动态带宽环境中。图10(a)展示了一个在行驶公交车上记录的数据集中的带宽轨迹示例。图10(b)显示了在图10(a)所示带宽环境下的DNN模型推理吞吐量结果。相应的退出点和分割点的最优选择如图10(c)所示。从图10(c)可以看出,模型推理策略的最优选择随带宽变化而变化,但所选退出点始终为5,这意味着尽管带宽波动,网络环境仍足够好,使Edgent能够满足延迟要求。此外,由于退出点保持不变,推理精度也保持稳定。受奖励函数设计的主导,分割点的选择大致遵循吞吐量结果的变化轨迹。实验结果表明了Edgent在动态带宽环境下的有效性。

我们在图11中进一步比较了在动态带宽环境下静态配置器和动态配置器的表现。我们将延迟要求设置为1000毫秒,并记录两种配置器的吞吐量和奖励,基于这些数据计算累积分布函数(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作为协同推理策略的一部分)。因此,差异主要来自吞吐量结果。这表明在某些情况下,静态配置器的表现可能与动态配置器相当,但在动态网络环境下,动态配置器总体上表现更优。

VI. 结论

在本研究中,我们提出了Edgent,一种支持按需DNN协同推理的设备‐边缘协同框架。为实现低延迟边缘智能,Edgent引入了两个优化DNN推理延迟的设计机制:支持设备‐边缘协同的DNN分割和利用提前退出机制的DNN适当裁剪。我们设计了两个配置器,分别用于确定在静态和动态带宽环境下的协作策略。基于树莓派的原型实现及实验评估结果表明其可行性Edgent在低延迟边缘智能方面的可行性和有效性。对于未来的工作,我们提出的框架可以进一步结合现有的模型压缩技术以加速DNN推理。此外,我们可以通过设计高效的资源分配算法,将框架扩展到支持多设备应用场景。我们希望能够在社会中激发更多的讨论和努力,全面实现边缘智能的愿景。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值