Edge Intelligence: Paving the Last Mile of Artificial Intelligence With Edge Computing学习笔记
1 AI背景介绍:
卷积神经网络(CNN):计算机视觉方向,图像处理。
循环神经网络(RNN):解决时间序列问题,自然语言处理。
生成对抗网络(GAN):生成网络和鉴别网络。GAN通常部署在图像生成,图像转换,图像合成,图像超分辨率和其他应用程序中。
深度强化学习(DRN):DRL的典型应用是解决各种调度问题,例如游戏中的决策问题,视频传输的速率选择等。
边缘智能分级
1)云智能:完全在云中训练和推断DNN模型
2)第1级-云边缘协作和云训练:在云中训练DNN模型,但以边缘云协作方式推断DNN模型。 在这里,边缘云合作意味着将数据部分卸载到云中。
3)第2级-边缘协同和云训练:在云中训练DNN模型,但以边缘方式推断DNN模型。 这里的边缘意味着模型推断是在网络边缘内进行的,这可以通过将数据完全或部分卸载到边缘节点或附近的设备(通过D2D通信)来实现。
4)第3级-设备上的推断和云训练:在云中训练DNN模型,但以完全本地的设备上方式推断DNN模型。 在这里,在设备上意味着不会卸载任何数据。
5)第4级-云边缘协作和推理:以边缘云协作方式对DNN模型进行训练和推理。
6)5级-所有边缘:以边缘方式训练和推论DNN模型。
7)第6级-所有设备上:都以设备上方式训练和推论DNN模型。
随着EI级别的提高,数据分载的数量和路径长度会减少。 结果,减少了数据卸载的传输延迟,增加了数据保密性,并降低了WAN带宽成本。 然而,这是以增加的计算等待时间和能量消耗为代价的。 该冲突表明,总体上没有“最佳级别”。 取而代之的是,“最佳级别” EI是取决于应用程序的,应该通过共同考虑诸如延迟,能效,隐私和WAN带宽成本等多个标准来确定它。
边缘智能模型培训(训练)
在边缘进行DNN的分布式培训,包括体系结构,关键性能指标,支持技术以及现有系统和框架。
1 结构
边缘的分布式DNN训练的体系结构可以分为三种模式:
- 集中式:(a)描述了集中式DNN训练,其中DNN模型在云数据中心中训练。用于训练的数据是从诸如移动电话,汽车和监控摄像头之类的分布式终端设备生成和收集的。 数据到达后,云数据中心将使用这些数据执行DNN培训。
- 分散式:(b)所示的分散模式下,每个计算节点利用本地数据在本地训练自己的DNN模型,从而在本地保存私有信息。为了通过共享局部训练改进来获得全局DNN模型,网络中的节点相互通信以交换局部模型的更新。在这种模式下,可以在没有云数据中心干预的情况下训练全局DNN模型。
- 混合(云边缘设备):混合模式将集中模式和分散模式结合在一起。(c)所示,作为架构的枢纽,边缘服务器可以通过彼此分散的更新或通过云数据中心的集中式训练来训练DNN模型。
2训练绩效指标
- Training Loss(训练损失):从本质上讲,DNN训练过程解决了一个优化问题,旨在使训练损失最小化。 由于训练损失捕获了学习的(例如,预测的)值和标记的数据之间的差距,因此它指示了训练后的DNN模型与训练数据的拟合程度。 因此,期望可以将训练损失最小化。 训练损失主要受训练样本和训练方法的影响。
- Convergence(收敛):衡量一个分散式训练技术是否以及多快能收敛;
- Privacy(隐私性):当使用源自大量终端设备的数据训练DNN模型时,原始数据或中间数据应从终端设备中转移出去。 显然,在这种情况下不可避免地要处理隐私问题。 为了保护隐私,可以期望将对隐私不太敏感的数据从终端设备中传输出去。 是否实施隐私保护取决于是否将原始数据卸载到边缘。
- Communication Cost(通信成本):其被原始输入数据大小、传输方式和可用带宽所影响;
- Latency(延迟):延迟是分布式DNN模型训练的最基本的性能指标之一,因为它直接影响训练后的模型何时可用。 分布式训练过程的等待时间通常包括计算等待时间和通信等待时间。 计算延迟是紧密依赖边缘节点的能力。通信等待时间可能与传输的原始数据或中间数据的大小以及网络连接的带宽不同。
- Energy Efficiency(能源效率):终端设备和边缘的功率能耗通常有限。
3一些技术
-
1)联邦学习:联邦学习致力于优化上述关键绩效指标中的隐私问题。
联合学习是一种新兴的但有前途的方法,可在基于多个客户端发起的数据训练DNN模型时保护隐私。联邦学习并未将原始数据汇总到集中的数据中心进行培训,而是将原始数据保留在客户端(例如,移动设备)上,并通过汇总本地计算的更新来在服务器上训练共享模型。联邦学习的主要挑战是优化和沟通。 -
2)聚合频率控制:此方法侧重于DNN模型训练期间的通信开销的优化。 在边缘计算环境中训练深度学习模型时,一个普遍采用的想法(例如联邦学习)是先在本地训练分布式模型,然后集中汇总更新。 在这种情况下,更新聚合频率的控制会显着影响通信开销。 因此,应谨慎控制聚合过程,包括聚合内容以及聚合频率。
-
3) 梯度压缩:为了减少分散训练带来的通信开销,梯度压缩是另一种直观的模型更新压缩方法(即梯度信息)。为此,人们提倡梯度量子化和梯度稀疏化。具体地说,梯度量化通过将梯度向量的每个元素量化为有限比特低精度值来执行梯度向量的有损压缩。梯度稀疏化通过传输部分梯度矢量来减少通信开销。
-
4)DNN拆分:DNN拆分的目的是保护隐私。 DNN拆分通过传输部分处理的数据而不是传输原始数据来保护用户隐私。 为了对DNN模型进行基于边缘的隐私保护训练,在终端设备和边缘服务器之间进行DNN拆分。 这是基于以下重要观察结果:DNN模型可以在两个连续的层之间内部拆分,并且两个分区部署在不同的位置而不会损失准确性。
-
5)知识迁移学习:知识迁移学习,或为简单起见而迁移学习,与DNN拆分技术紧密相连。 在迁移学习中,为了减少在边缘设备上进行DNN模型训练的能源成本,我们首先在基本数据集上训练基础网络(教师网络),然后重新利用学习的功能,即将其转移到第二个目标网络(学生网络)上要训练的目标数据集。如果特性是通用的(即既适用于基本任务也适用于目标任务),而不是特定于基本任务,则此过程将趋于有效。从一般性到特殊性的过渡过程。
-
6) Gossip训练:Gossip训练是为了缩短训练延迟,是一种基于随机Gossip算法的新型分散训练方法。随机Gossip算法的早期工作是Gossip平均,它可以通过点对点交换信息来快速收敛到节点之间的共识。gossip分布式算法具有完全异步和完全分散的优点,因为它们不需要集中的节点或变量。受此启发,Gossip SGD(GoSGD)被提出以异步和分散的方式训练DNN模型。 GoSGD管理一组独立的节点,其中每个节点承载一个DNN模型,并迭代进行两个步骤:梯度更新和混合更新。具体来说,每个节点在梯度更新步骤中本地更新其托管的DNN模型,然后在混合更新步骤中与另一个随机选择的节点共享其信息,如图11所示。这些步骤重复进行,直到所有DNN收敛于共识为止。
边缘智能模型推论(用训练模型判断真实数据)
在深度学习模型的分布式训练之后,在边缘的模型推理的有效实现对于实现高质量EI服务部署至关重要。
1结构
1)基于边缘的模式:在图12(a)中,设备A处于基于边缘的模式,这意味着设备接收输入数据,然后将其发送到边缘服务器。 当在边缘服务器上完成DNN模型推断时,预测结果将返回到设备。 在这种推理模式下,由于DNN模型位于边缘服务器上,因此很容易在不同的移动平台上实现该应用程序。 但是,主要缺点是推理性能取决于设备和边缘服务器之间的网络带宽。
2)基于设备的模式:在图12(b)中,设备B处于基于设备的模式。 移动设备从边缘服务器获取DNN模型,并在本地执行模型推断。 在推理过程中,移动设备不与边缘服务器通信。 因此,推论是可靠的,但是它需要大量资源,例如移动设备上的CPU,GPU和RAM。 性能取决于本地设备本身。
3)边缘设备模式:在图12(c)中,设备C处于边缘设备模式。 在边缘设备模式下,设备首先根据当前系统环境因素(例如网络带宽,设备资源和边缘服务器工作负载)将DNN模型分为多个部分。 然后,设备将执行DNN模型直到特定层,并将中间数据发送到边缘服务器。 边缘服务器将执行其余的层,并将预测结果发送到设备。与基于边缘的模式和基于设备的模式相比,边缘设备模式更加可靠和灵活。 由于DNN模型前部的卷积层通常需要大量计算,因此在移动设备上也可能需要大量资源
4)边缘云模式:在图12(d)中,设备D处于边缘云模式。 它与边缘设备模式相似,适用于设备资源严重受限的情况。 在这种模式下,设备负责输入数据的收集,并且通过边缘云协同作用执行DNN模型。 该模型的性能在很大程度上取决于网络连接质量。
我们应该强调的是,通过在多个端部有效地分散异构资源,可以在系统中同时采用上述四种以边缘为中心的推理模式,以执行复杂的AI模型推理任务(例如,云-边缘设备层次结构) 设备,边缘节点和云。
2性能指标
延迟:从raw data收集到得到最终结果全过程的耗时。
准确率:不仅与DNN模型本身性能有关还与运行DNN的设备性能有关。
能量消耗:终端设备和边缘的功耗通常很小。
隐私保护。
通信开销。
内存占用。
3一些技术
1)模型压缩:为缓解资源匮乏的DNN与资源贫乏的终端设备之间的紧张关系,通常采用DNN压缩来降低模型的复杂性和资源需求,从而实现本地,设备上的推断,进而减少 响应延迟,并减少隐私隐患。 也就是说,模型压缩方法优化了上述四个指标。 延迟,能源,隐私和内存占用。已经提出了各种DNN压缩技术,包括权重修剪,数据量化和紧凑的体系结构设计。
2) 模型划分:为了减轻EI应用在终端设备上执行的压力,如图13所示,一个直观的想法是模型划分,将计算密集的部分卸载到边缘服务器或附近的移动设备上,获得更好的模型推理性能。模型划分主要考虑延迟、能量和隐私问题。DNN模型在设备和服务器之间进行分区,关键的挑战是找出一个合适的分区点以获得最佳的模型推理性能。
3)模型提前退出:高精度的DNN模型通常具有较深的结构。 在终端设备上执行这种DNN模型会消耗大量资源。 为了加快模型推理,模型早期退出方法利用早期层的输出数据获得分类结果,这意味着使用局部DNN模型完成了推理过程。 延迟是模型提前退出的优化目标。
4)边缘缓存:边缘缓存是一种用于加速DNN模型推理的新方法,即通过缓存DNN推理结果来优化延迟问题。边缘缓存的核心思想是在网络边缘缓存和重用任务结果,例如图像分类的预测,从而减少EI应用程序的查询延迟。 语义高速缓存技术的基本过程。 如果来自移动设备的请求命中了存储在边缘服务器中的缓存结果,则边缘服务器将返回结果,否则,该请求将被传输到云数据中心以使用全精度模型进行推断。
5)输入过滤:输入过滤是加速DNN模型推断的有效方法,尤其是对于视频分析而言。 如图16所示,输入过滤的关键思想是删除输入数据的非目标对象帧,避免DNN模型推理的冗余计算,从而提高了推理精度,缩短了推理延迟,并降低了能源成本。
6)模型选择:提出了一种模型选择方法来优化DNN推理的时延,准确性和能量问题。 模型选择的主要思想是,我们可以先离线训练具有各种模型尺寸的一组DNN模型,以完成同一任务,然后自适应地选择模型以在线进行推理。 模型选择类似于模型提前退出,并且模型提前退出机制的退出点可以视为DNN模型。 但是,关键的区别在于出口点与主分支模型共享DNN层的一部分,并且模型选择机制中的模型是独立的。
7)支持多租户:实际上,一台终端或边缘设备通常同时运行多个DNN应用程序。 例如,用于互联网车辆的高级驾驶员辅助系统(ADAS)同时运行DNN程序,以进行车辆检测,行人检测,交通标志识别和车道线检测。在这种情况下,多个DNN应用程序将争夺有限的资源。 如果没有对多租户的仔细支持,即那些并发应用程序的资源分配和任务调度,全局效率将大大降低。 对多租户的支持着重于能源和内存占用的优化。
8)特定于应用程序的优化:虽然上述优化技术通常适用于EI应用程序,但是可以利用特定于应用程序的优化来进一步优化EI应用程序的性能,即准确性,延迟,能耗和内存占用。 例如,对于基于视频的应用,可以灵活地调节两个旋钮,即帧频和分辨率,以减少资源需求。 但是,由于这种对资源敏感的旋钮也会降低推理精度,因此它们自然会导致成本准确性的折衷。 这要求我们在调整视频帧速率和分辨率时在资源成本和推理精度之间取得良好的平衡。
EI的关键开放挑战和未来研究方向
- 编程及软件平台:当越来越多AI驱动的计算密集型移动和物联网应用程序出现后,边缘智能作为一个服务(EIaaS)可以成为一个普遍范式,具有强大边缘AI功能的EI平台将会被发展和部署。EIaaS更多关注于如何在资源限制型和隐私敏感型的边缘计算环境中执行模型训练和推理任务。这其中有几个挑战:第一,EI平台应该是易于移植的。第二,EI模型也要是可移植的。第三,需要一个通用的编程框架。最后,应该进一步研究轻量级虚拟化和计算技术,如容器和函数计算,以便在资源受限的边缘环境中高效部署和迁移EI服务。
- 资源友好型模型:许多现有的AI模型(例如CNN和LSTM)最初是为计算机视觉和自然语言处理等应用程序设计的。 大多数基于深度学习的AI模型都是高度资源密集型的,这意味着由丰富的硬件资源(例如GPU,现场可编程门阵列(FPGA)和TPU)支持的强大计算能力对于提升应用程序的开发水平至关重要。 这些AI模型的性能。 如上所述,因此有许多研究利用模型压缩技术(例如,权重修剪)来调整AI模型的大小,从而使其对边缘部署更加资源友好。
沿着不同的路线,我们可以促进资源感知的边缘AI模型设计。 代替利用现有的资源密集型AI模型,我们可以利用AutoML想法[116]和神经体系结构搜索(NAS)技术[117]设计出针对硬件资源约束量身定制的资源有效的边缘AI模型。 基础边缘设备和服务器。 例如,可以采用诸如RL,遗传算法和BO之类的方法,通过考虑硬件资源(例如CPU和硬件)的影响来有效地搜索AI模型设计参数空间(即AI模型组件及其连接)。 - Computation-awareness networking:
- 权衡不同的性能指标以找到最合适的配置:
对于具有特定任务的EI应用程序,通常会有一系列能够完成任务的DNN模型候选者。 但是,软件开发人员很难为EI应用程序选择合适的DNN模型,因为诸如top-k精度或平均平均精度之类的标准性能指标无法反映边缘设备上DNN模型推断的运行时性能。 例如,在EI应用程序部署阶段,除准确性外,推断速度和资源使用情况也是关键指标。 我们需要探索这些指标之间的权衡,并确定影响它们的因素。 - 智能服务和资源管理:由于边缘计算的分散性,一个区域内可能同时存在多个边缘设备运行不同的边缘智能服务,设计一套发现协议使得用户能够快速获取服务是重要的。另外,为了更好地利用分布在各处的边缘计算资源,需要一套机制动态分配任务以达到全局效率最优。强化学习技术可以被应用于此。
- 安全和隐私保护:要保证用户得到的边缘智能服务是可信的,需要设计一套安全机制,同时需要避免用户收到恶意边缘节点的侵害。另外,使用终端设备产生的数据往往会带来隐私问题,联邦学习是一种在保护数据的隐私前提下的边缘智能技术。
- 激励机制和商业模型:一个边缘智能生态系统的构建需要多方面的合作,如平台提供者,软件供应商,边缘设备供应商,服务用户等等,这时需要一个良好的激励机制和商业模式使得各方有动力参与到边缘智能的生态系统中并从中获益。
参考博文链接:https://blog.csdn.net/weixin_43682519/article/details/109534646