赞
踩
这个综述好长,看了两天,累了,先去学深度学习,回来再继续修改,总结归纳
研0阶段时间比较多,建议还是直接看英文论文,我是先自己看一段英文后自己在脑海里翻译,然后再去对比这一段的翻译效果,下面的翻译均是知云翻译的结果。
工厂和社区无处不在的传感器和智能设备正在产生大量数据,不断增强的计算能力正在推动计算和服务的核心从云端走向⽹络边缘。作为广泛改变人们生活的重要推动者,从人脸识别到雄心勃勃的智能工厂和城市,基于人工智能(特别是深度学习,DL)的应用和服务的发展正在蓬勃发展。
然而,由于效率和延迟问题,当前的云计算服务架构阻碍了“为每个地方的每个人、每个组织提供人工智能”的愿景。因此,使用数据源附近⽹络边缘的资源来释放深度学习服务已成为一种理想的解决方案。因此,旨在通过边缘计算促进DL服务部署的边缘智能受到了广泛关注。此外,深度学习作为人工智能的代表技术,可以集成到边缘计算框架中,构建智能边缘,实现动态、自适应的边缘维护和管理。针对互惠互利的边缘智能和智能边缘,本文进行了介绍和讨论:1)两者的应用场景; 2)实际的实现方法和使能技术,即定制边缘计算框架中的深度学习训练和推理; 3)更普遍、更细粒度的智能的挑战和未来趋势。我们相信,通过整合分散在通信、⽹络和深度学习领域的信息,本次调查可以帮助读者了解使能技术之间的联系,同时促进对边缘智能和智能边缘融合(即边缘深度学习)的进一步讨论。
重点:边缘计算和深度学习结合的边缘智能的应用,方法和挑战。
1.数据规模的大爆炸和一些高实时性的需求引入边缘计算的概念
根据思科的一份白皮书[1],到2020年,将有500亿台物联网设备连接到互联网。另一方面,思科估计,到2021年,每年将在云外生成近850泽塔字节(ZB)的数据,而全球数据中心流量仅为20.6 ZB[2]。这表明大数据的数据源也在经历转型:从大规模的云数据中心到越来越广泛的边缘设备。
2.云边融合的优势
边缘计算与云计算相结合的主要优势有三个方面:1)骨干网络缓解,分布式边缘计算节点可以在不与云交换相应数据的情况下处理大量计算任务,从而减轻网络的流量负载;2) 敏捷的服务响应,在边缘托管的服务可以显著减少数据传输的延迟,提高响应速度;3) 强大的云备份,当边缘负担不起时,云可以提供强大的处理能力和海量存储。
3.限制因素
具体来说,一方面,边缘智能有望将DL计算尽可能从云端推送到边缘,从而实现各种分布式、低延迟和可靠的智能服务。如图2所示,其优点包括:1)DL服务部署在请求用户附近,云仅在需要额外处理时参与[12],从而显著降低了将数据发送到云进行处理的延迟和成本;2) 由于DL服务所需的原始数据被本地存储在边缘或用户设备本身而不是云上,因此增强了对用户隐私的保护;3) 分层计算体系结构提供了更可靠的DL计算;4) 边缘计算拥有更丰富的数据和应用场景,可以推动DL的普及应用,实现“为每一个人、每一个组织提供无处不在的人工智能”的前景[13];5) 多样化和有价值的DL服务可以拓宽边缘计算的商业价值,加速其部署和增长。
另一方面,智能边缘旨在将DL纳入边缘,以进行动态、自适应的边缘维护和管理。随着通信技术的发展,网络接入方式越来越多样化。与此同时,边缘计算基础设施充当了中间媒介,使无处不在的终端设备与云之间的连接更加可靠和持久[14]。因此,终端设备、边缘和云正在逐渐融合为共享资源的社区。然而,维护和管理这样一个庞大而复杂的整体架构(社区),涉及无线通信、网络、计算、存储等,是一个重大挑战[15]。典型的网络优化方法依赖于固定的数学模型;然而,很难准确地对快速变化的边缘网络环境和系统进行建模。DL有望解决这一问题:当面临复杂繁琐的网络信息时,DL可以依靠其强大的学习和推理能力,从数据中提取有价值的信息并做出自适应决策,从而实现智能维护和管理。
因此,考虑到边缘智能和智能边缘,即边缘DL,在多个方面共同面临着一些相同的挑战和实际问题,我们确定了以下五项对边缘DL至关重要的技术:1)边缘上的DL应用,系统地组织边缘计算和DL以提供智能服务的技术框架;2) Edge中的DL推理,专注于DL在边缘计算架构中的实际部署和推理,以满足不同的要求,如准确性和延迟;3) DL边缘计算,在网络架构、硬件和软件方面对边缘计算平台进行调整,以支持DL计算;4) 在边缘进行DL训练,在资源和隐私约束下,在分布式边缘设备上训练边缘智能的DL模型5) DL用于优化边缘,DL的应用用于维护和管理边缘计算网络(系统)的不同功能,例如边缘缓存[16]、计算卸载[17]。
如图3所示,“边缘上的DL应用”和“优化边缘的DL”分别对应于边缘智能和智能边缘的理论目标。为了支持它们,首先应该通过密集的计算来训练各种DL模型。在这种情况下,对于利用边缘计算资源来训练各种DL模型的相关工作,我们将其归类为“边缘的DL训练”。其次,为了启用和加快边缘DL服务,我们专注于支持边缘计算框架和网络中DL模型的高效推理的各种技术,称为“边缘中的DL推理”。最后,我们将所有适应边缘计算框架和网络以更好地服务于边缘DL的技术分类为“用于DL的边缘计算”。
据我们所知,与我们的工作最相关的现有文章包括[18]-[21]。与我们对Edge DL的更广泛覆盖不同,[18]侧重于从无线通信的角度在边缘智能中使用机器学习(而不是DL),即在网络边缘训练机器学习以改善无线通信。此外,关于DL推理和训练的讨论是[19]-[21]的主要贡献。与这些工作不同,本次调查主要集中在以下几个方面:1)从边缘计算、跨网络、跨通信、跨计算等方面全面考虑DL的部署问题;2)调查关于DL和边缘计算在五个促成因素方面的融合的整体技术光谱;3) 指出DL和边缘计算是有益的,并且仅考虑在边缘上部署DL是不完整的。
本文的组织结构如下图4所示:
在边缘计算的发展过程中,出现了各种旨在在网络边缘工作的新技术,原理相同,但侧重点不同,如Cloudlet[24]、Micro Data Centers(MDCs)[25]、Fog computing[26][27]和Mobile edge computing[5](即现在的多址边缘计算[28])。然而,边缘计算社区尚未就边缘计算的标准化定义、架构和协议达成共识[23]。对于这组新兴技术,我们使用了一个通用术语“边缘计算”。在本节中,将介绍并区分不同的边缘计算概念。
1) Cloudlet和Micro数据中心:Cloudlet是一个结合了移动计算和云计算的网络架构元素。它代表三层架构的中间层,即移动设备、微云和云。它的亮点是努力去1)定义系统并创建支持低延迟边缘云计算的算法,以及2)在开源代码中实现相关功能,作为open Stack云管理软件的扩展[24]。与Cloudlets类似,MDC[25]也被设计为对云进行补充。其想法是将运行客户应用程序所需的所有计算、存储和网络设备封装在一个机柜中,作为一个独立的安全计算环境,用于需要较低延迟的应用程序或电池寿命或计算能力有限的终端设备
2) Fog Computing:雾计算的亮点之一是,它假设了一个拥有数十亿设备和大规模云数据中心的完全分布式多层云计算架构[26][27]。虽然云和雾模式共享一组类似的服务,如计算、存储和网络,但雾的部署针对特定的地理区域。此外,雾是为需要以较少延迟进行实时响应的应用程序设计的,例如交互式和物联网应用程序。与Cloudlet、MDCs和MEC不同,雾计算更关注IoT。
3) 移动(多址)边缘计算(MEC):移动边缘计算将计算能力和服务环境置于蜂窝网络的边缘[5]。它旨在提供更低的延迟、上下文和位置感知以及更高的带宽。在蜂窝基站(BS)上部署边缘服务器允许用户灵活快速地部署新的应用程序和服务。欧洲电信标准协会(ETSI)通过适应更多的无线通信技术,如Wi-Fi,进一步将MEC的术语从移动边缘计算扩展到多址边缘计算[28]。
4) 边缘计算术语的定义:在大多数文献中,边缘设备的定义和划分是模糊的(边缘节点和终端设备之间的边界不清楚)。为此,如图1所示,我们将常见的边缘设备进一步划分为终端设备和边缘节点:“终端设备”(端级)用于指代移动边缘设备(包括智能手机、智能汽车等)和各种物联网设备,“边缘节点”(边缘级)包括Cloudlets、Road Side Units(RSU)、Fog节点、边缘服务器、MEC服务器等,即部署在网络边缘的服务器。
5) 协作端边缘云计算:虽然云计算是为处理计算密集型任务(如DL)而创建的,但它无法保证从数据生成到传输再到执行的整个过程的延迟要求。此外,终端或边缘设备上的独立处理受到其计算能力、功耗和成本瓶颈的限制。因此,DL[12]的协作端边缘云计算,如图5所示,正在成为一个重要趋势如图6所示。在这种新的计算范式中,由终端设备生成的计算强度较低的计算任务可以直接在终端设备上执行或卸载到边缘,从而避免了将数据发送到云所造成的延迟。对于计算密集型任务,将对其进行合理分割,并分别调度到端、边和云执行,减少任务的执行延迟,同时确保结果的准确性[12]、[49]、[50]。这种协作模式的重点不仅是成功完成任务,而且还实现了设备能耗、服务器负载、传输和执行延迟的最佳平衡。
在本节中,我们将讨论边缘智能的潜在赋能硬件,即为终端设备和边缘节点定制AI芯片和商品。此外,还介绍了DL的边缘云系统(如表II所示)。
1) 用于边缘计算的人工智能硬件:新兴边缘人工智能硬件根据其技术架构可分为三类:1)基于图形处理单元(GPU)的硬件,其往往具有良好的兼容性和性能,但通常消耗更多的能量,例如基于图灵架构的NVIDIA GPU[37];2) 基于现场可编程门阵列(FPGA)的硬件[51],[52],与GPU相比,这些硬件节能且需要较少的计算资源,但兼容性较差,编程能力有限;3) 基于专用集成电路(ASIC)的硬件,如谷歌的TPU[38]和海思的Ascend系列[35],通常具有在性能和功耗方面更稳定的自定义设计。
由于智能手机是部署最广泛的边缘设备,智能手机芯片得到了快速发展,其功能已扩展到人工智能计算的加速。举几个例子,高通公司首先在Snapdragon中应用了AI硬件加速[33],并发布了Snapdragon神经处理引擎(SNPE)SDK[53],几乎支持所有主要的DL框架。与高通相比,海思的600系列和900系列芯片[34]不依赖GPU。相反,它们结合了一个额外的神经处理单元(NPU)来实现向量和矩阵的快速计算,这大大提高了DL的效率。与海思和高通相比,联发科的Helio P60不仅使用GPU,还引入了AI处理单元(APU),以进一步加速神经网络计算[36]。在[54]中可以找到大多数商品芯片相对于DL的性能比较,并将在之后详细讨论边缘设备的更多定制芯片。
2) 边缘节点的集成商品潜力:边缘节点有望具有计算和缓存功能,并在终端设备附近提供高质量的网络连接和计算服务。与大多数终端设备相比,边缘节点具有更强大的计算能力来处理任务。另一方面,边缘节点可以比云更快地响应终端设备。因此,通过部署边缘节点来执行计算任务,可以在确保准确性的同时加快任务处理。此外,边缘节点还具有缓存能力,可以通过缓存流行内容来提高响应时间。例如,包括华为的Atlas模块[32]和微软的Data Box Edge[29]在内的实用解决方案可以进行初步的DL推断,然后转移到云端进行进一步改进。
3) 边缘计算框架:边缘计算系统的解决方案正在蓬勃发展。对于配置复杂、资源需求密集的DL服务,具有先进卓越微服务架构的边缘计算系统是未来的发展方向。目前,Kubernetes是一个主流的以容器为中心的系统,用于云计算中应用程序的部署、维护和扩展[55]。基于Kubernetes,华为开发了边缘计算解决方案“KubeEdge”[41],用于云和边缘之间的联网、应用程序部署和元数据同步(Akraino edge Stack[45]也支持)。“OpenEdge”[42]专注于屏蔽计算框架和简化应用程序生产。对于物联网,Azure IoT Edge[43]和EdgeX[44]旨在通过在跨平台物联网设备上部署和运行人工智能,将云智能交付到边缘。
虚拟化技术对边缘计算和DL集成的要求体现在以下几个方面:1)边缘计算的资源有限。边缘计算无法像云那样为DL服务提供资源。虚拟化技术应在有限资源的限制下最大限度地利用资源;2) DL服务严重依赖于复杂的软件库。应该仔细考虑这些软件库的版本和依赖关系。因此,针对Edge DL服务的虚拟化应该能够隔离不同的服务。具体而言,单个服务的升级、关闭、崩溃和高资源消耗不应影响其他服务;3) 服务响应速度对于边缘DL至关重要。边缘DL不仅需要边缘设备的计算能力,还需要边缘计算架构所能提供的敏捷服务响应。
边缘计算和DL相结合以形成高性能的边缘DL服务需要计算、网络和通信资源的协调集成,如图8所示。具体而言,计算虚拟化和网络虚拟化以及管理技术的集成都是必要的。在本节中,我们将讨论边缘的潜在虚拟化技术。
1) 虚拟化技术:目前,有两种主要的虚拟化策略:虚拟机(VM)和容器。一般来说,虚拟机更善于隔离,而容器更容易部署重复任务[69]。通过操作系统级别的虚拟机虚拟化,虚拟机管理程序可以将物理服务器拆分为一个或多个虚拟机,并可以轻松地管理每个虚拟机以独立执行任务。此外,虚拟机管理程序可以通过创建包括多个独立虚拟计算设备的可扩展系统来更有效地分配和使用空闲计算资源。
与VM相比,容器虚拟化是一种更灵活的工具,用于打包、交付和编排软件基础架构服务和应用程序。边缘计算的容器虚拟化可以有效地减少工作负载执行时间,并具有高性能和存储要求,还可以以可扩展和直接的方式部署大量服务[70]。容器由一个文件组成,该文件包括具有所有依赖关系的应用程序和执行环境,这使得它能够实现高效的服务切换,以应对用户移动性[71]。由于容器中应用程序的执行不像VM虚拟化那样依赖于额外的虚拟化层,因此处理器消耗和执行应用程序所需的内存量显著减少。
2) 网络虚拟化:传统的网络功能与特定的硬件相结合,不够灵活,无法按需管理边缘计算网络。为了将网络设备功能整合到行业标准的服务器、交换机和存储中,网络功能虚拟化(NFV)通过将网络功能和服务与专用网络硬件分离来在软件中运行。此外,边缘DL服务通常需要高带宽、低延迟和动态网络配置,而软件定义网络(SDN)通过三个关键创新[72]允许快速部署服务、网络可编程性和多租户支持:1)控制平面和数据平面的解耦;2) 集中式和可编程控制平面;3) 标准化的应用程序编程接口。凭借这些优势,它支持高度定制的网络策略,非常适合Edge DL服务的高带宽、动态特性。此外,边缘DL服务通常需要高带宽、低延迟和动态网络配置,而软件定义网络(SDN)通过三个关键创新[72]允许快速部署服务、网络可编程性和多租户支持:1)控制平面和数据平面的解耦;2) 集中式和可编程控制平面;3) 标准化的应用程序编程接口。凭借这些优势,它支持高度定制的网络策略,非常适合Edge DL服务的高带宽、动态特性。
网络虚拟化和边缘计算是相辅相成的。一方面,NFV/SDN可以增强边缘计算基础设施的互操作性。例如,在NFV/SDN的支持下,边缘节点可以有效地进行编排,并与云数据中心集成[73]。另一方面,VNF和Edge DL服务都可以托管在轻量级NFV框架上(部署在边缘)[74],从而最大限度地重用NFV的基础设施和基础设施管理[75]。
3) 网络切片:网络切片是敏捷和虚拟网络架构的一种形式,是网络的高级抽象,允许在公共共享物理基础设施上创建多个网络实例,每个实例都针对特定服务进行了优化。随着服务和QoS需求的日益多样化,由NFV/SDN实现的网络切片自然与边缘计算的分布式范例兼容。为了满足这些要求,网络切片可以与边缘计算网络中计算和通信资源的联合优化相协调[76]。图8描述了一个基于边缘虚拟化的网络切片示例。为了在网络切片中实现服务定制,虚拟化技术和SDN必须结合在一起,以支持边缘节点上资源分配和服务提供的紧密协调,同时允许灵活的服务控制。通过网络切片,可以为边缘DL服务提供定制和优化的资源,这有助于减少接入网络造成的延迟,并支持对这些服务的密集访问[77]。
关于CV、NLP和AI,DL在无数应用中被采用,并证实了其卓越的性能[78]。目前,需要在云中部署大量GPU、TPU或FPGA来处理DL服务请求。尽管如此,由于边缘计算架构覆盖了大量分布式边缘设备,因此可以利用它来更好地为DL服务。当然,与云相比,边缘设备通常具有有限的计算能力或功耗。因此,DL和边缘计算的结合并不简单,需要对DL模型和边缘计算功能有全面的了解,以便进行设计和部署。在本节中,我们简要介绍了DL和相关技术术语,为讨论DL和边缘计算的集成铺平了道路(更多细节可在[79]中找到)。
DL模型由各种类型的深度神经网络(DNN)组成[79]。DNN的基本结构和功能介绍如下。
1) 全连接神经网络(FCNN):FCNN的每一层的输出,即多层感知器(MLP),被前馈到下一层,如图7(a)所示。在连续的FCNN层之间,神经元(细胞)的输出,无论是输入细胞还是隐藏细胞,都直接传递给属于下一层的神经元并由其激活[80]。FCNN可以用于特征提取和函数逼近,但具有较高的复杂性、适度的性能和缓慢的收敛性。
2) 自动编码器(AE):如图7(b)所示,AE实际上是两个NN的堆栈,它们以无监督的学习风格将输入复制到输出。第一个NN学习输入的代表性特征(编码)。第二个NN将这些特征作为输入,并在匹配输入输出单元处恢复原始输入的近似值,用于从输入到输出收敛于单位函数,作为最终输出(解码)。由于AE能够学习输入数据的低维有用特征来恢复输入数据,因此它通常用于分类和存储高维数据[81]。
3) 卷积神经网络(CNN):通过采用池化操作和一组不同的移动滤波器,CNN获取相邻数据段之间的相关性,然后生成输入数据的连续更高级别的抽象,如图所示。第7(c)段。与FCNN相比,细胞神经网络可以提取特征,同时降低模型复杂性,从而降低过拟合的风险[82]。这些特性使细胞神经网络在图像处理中取得了显著的性能,也有助于处理类似于图像的结构数据。
4) 生成对抗性网络(GAN):GAN起源于博弈论。如图7(d)所示,GAN由生成器和鉴别器组成。生成器的目标是通过故意在反向输入单元处引入反馈来尽可能多地了解真实数据分布,而鉴别器则是正确地确定输入数据是来自真实数据还是来自生成器。这两个参与者需要不断优化他们在对抗过程中的生成和区分能力,直到找到纳什均衡[83]。根据从真实信息中学习到的特征,训练有素的生成器可以制造出不可区分的信息。
5) 递归神经网络(RNN):RNN是为处理序列数据而设计的。如图7(e)所示,RNN中的每个神经元不仅从上层接收信息,还从其自身的前一个通道接收信息[10]。一般来说,RNN是预测未来信息或恢复序列数据缺失部分的自然选择。然而,RNN的一个严重问题是梯度爆炸。LSTM,如图7(f)所示,通过添加门结构和定义良好的存储单元来改进RNN,可以通过控制(禁止或允许)信息流来克服这个问题[84]。
6) 迁移学习(TL):TL可以将知识从源域转移到目标域,如图7(g)所示,从而在目标域中获得更好的学习性能[85]。通过使用TL,可以将大量计算资源学习到的现有知识转移到新的场景中,从而加快训练过程,降低模型开发成本。最近,出现了一种新的TL形式,即知识蒸馏(KD)[86]。如图6所示,如图7(h)所示,KD可以从训练有素的模型(教师)中提取隐含知识,其推理具有优异的性能,但需要较高的开销。然后,通过设计目标DL模型的结构和目标函数,将知识“转移”到较小的DL模型(学生),从而使显著减少(修剪或量化)的目标DL模型实现尽可能高的性能。
如图6所示,如图9所示,RL的目标是使环境中的代理能够在当前状态下采取最佳行动,以最大化长期收益,其中代理的行动和状态之间通过环境的交互被建模为马尔可夫决策过程(MDP)。DRL是DL和RL的结合,但它更关注RL,旨在解决决策问题。DL的作用是利用DNN强大的表示能力来拟合值函数或直接策略来解决状态-动作空间的爆炸或连续状态-行动空间问题。凭借这些特性,DRL成为机器人、金融、推荐系统、无线通信等领域的强大解决方案[18],[87]。
1) 基于价值的DRL:作为基于价值的DRL的代表,深度Q学习(DQL)使用DNN来拟合动作值,成功地将高维输入数据映射到动作[88]。为了保证训练的稳定收敛,采用经验重放方法来打破转换信息之间的相关性,并建立单独的目标网络来抑制不稳定性。此外,Double Deep QLearning(Double DQL)可以处理DQL通常高估动作值的情况[89],Dueling Deep QLEaning(Dueling DQL)[90]可以学习哪些状态有价值(或没有价值),而不必学习每个状态下每个动作的效果。
2) 基于策略梯度的DRL:策略梯度是另一种常见的策略优化方法,如深度确定性策略梯度(DDPG)[91]、异步优势参与者-批评者(A3C)[92]、近似策略优化(PPO)[93]等。它通过连续计算策略期望回报相对于策略参数的梯度来更新策略参数,并最终收敛到最优策略[94]。因此,在解决DRL问题时,可以使用DNN来参数化策略,然后采用策略梯度法进行优化。此外,ActorCritic(AC)框架在基于策略梯度的DRL中被广泛采用,其中策略DNN用于更新与Actor相对应的策略;值DNN用于近似状态-动作对的值函数,并提供与Critic相对应的梯度信息。
目前,集中训练DL模型消耗了大量的时间和计算资源,阻碍了算法性能的进一步提高。尽管如此,分布式训练可以通过充分利用并行服务器来促进训练过程。执行分布式训练有两种常见的方法,即数据并行和模型并行[95]–[98],如图10所示。
模型并行性首先将大型DL模型拆分为多个部分,然后提供数据样本以并行训练这些分割的模型。这不仅可以提高训练速度,而且可以处理模型大于设备内存的情况。训练一个大型DL模型通常需要大量的计算资源,甚至需要数千个CPU来训练一个大规模的DL模型。为了解决这个问题,分布式GPU可以用于模型并行训练[99]。数据并行意味着将数据划分为多个分区,然后分别与自己分配的数据样本并行训练模型的副本。通过这种方式,可以提高模型训练的训练效率[100]。
无独有偶,大量的终端设备、边缘节点和云数据中心分散在一起,并被设想通过边缘计算网络进行连接。一旦DL训练跳出云端,这些分布式设备就可能成为强大的贡献者。
DL模型的开发和部署依赖于各种DL库的支持。然而,不同的DL库有自己的应用场景。为了在边缘部署DL,需要高效的轻量级DL库。表III列出了可能支持未来边缘智能的DL框架的功能(不包括边缘设备不可用的库,如Theano[101])。
一般来说,DL服务目前部署在云数据中心(云)中用于处理请求,因为大多数DL模型都很复杂,并且很难在资源有限的设备一侧计算其推理结果。然而,这种“端云”架构无法满足实时分析、智能制造等实时DL服务的需求。因此,在边缘部署DL应用程序可以拓宽DL的应用场景,尤其是在低延迟特性方面。在下文中,我们介绍了边缘DL应用程序,并强调了它们与没有边缘计算的比较架构相比的优势。
实时视频分析在自动驾驶、VR和增强现实(AR)、智能监控等各个领域都很重要。通常,应用DL对其进行分析需要很高的计算和存储资源。不幸的是,在云中执行这些任务通常会导致高带宽消耗、意外的延迟和可靠性问题。随着边缘计算的发展,这些问题往往通过将视频分析移动到数据源附近来解决,即终端设备或边缘节点,作为云的补充。在本节中,如图11所示,我们将相关工作总结为一个混合层次架构,该架构分为三个级别:端、边和云。
1) 端级:在端级,视频捕获设备,如智能手机和监控摄像头,负责视频捕获、媒体数据压缩[102]、图像预处理和图像分割[103]。通过与这些参与的设备协调,当与领域约束的深度模型一起使用时,协同训练领域感知自适应模型可以提高对象识别的准确性[104]。此外,为了将DL计算适当地卸载到终端设备、边缘节点或云,终端设备应该全面考虑视频压缩和关键度量之间的权衡,例如,网络状况、数据使用、电池消耗、处理延迟、帧速率和分析准确性,从而确定最佳卸载策略[102]。
如果在最终级别独立执行各种DL任务,则启用并行分析需要支持高效多租户DL的解决方案。通过模型修剪和恢复方案,NestDNN[105]将DL模型转换为一组子模型,其中资源需求较少的子模型与需要更多资源的子模型共享其模型参数,使其嵌套在需要更多资源而不占用额外内存空间的子模型中。通过这种方式,多容量模型在紧凑的内存占用下提供了可变的资源准确性权衡,从而确保了最终级别的高效多租户DL。
2) 边缘级:边缘级的许多分布式边缘节点通常相互协作,以提供更好的服务。例如,LA VEA[106]将边缘节点连接到同一接入点或BS以及终端设备,这确保了服务可以像互联网接入一样无处不在。此外,在边缘压缩DL模型可以提高整体性能。通过减少CNN层中不必要的滤波器,可以在确保分析性能的同时大大降低边缘层的资源消耗[107]。此外,为了优化性能和效率,[108]提出了一种边缘服务框架,即EdgeEye,它实现了基于DL的实时视频分析功能的高级抽象。为了充分利用边缘的绑定功能,VideoEdge[109]实现了端边缘云分层架构,以帮助实现分析任务的负载平衡,同时保持高分析精度。
3) 云级别:在云级别,云负责边缘层之间DL模型的集成,并更新边缘节点上分布式DL模型的参数[102]。由于边缘节点上的分布式模型训练性能可能会因其局部知识而显著受损,因此云需要集成不同的训练有素的DL模型来实现全局知识。当边缘无法自信地提供服务时(例如,检测到置信度低的对象),云可以利用其强大的计算能力和全局知识进行进一步处理,并帮助边缘节点更新DL模型。
可以设想,连接车辆可以提高安全性、提高效率、减少事故,并减少交通系统中的交通拥堵[110]。有许多信息和通信技术,如网络、缓存、边缘计算,可以用于促进IoV,尽管通常分别进行研究。一方面,边缘计算为车辆提供低延迟、高速通信和快速响应服务,使自动驾驶成为可能。另一方面,DL技术在各种智能车辆应用中是重要的。此外,他们有望优化复杂的IoV系统。
在[110]中,提出了一个集成这些技术的框架。该集成框架能够动态或集中网络、缓存和计算资源,以满足不同车辆应用程序的要求[110]。由于该系统涉及多维控制,因此首先采用基于DRL的方法来解决优化问题,以提高系统的整体性能。类似地,在[111]中也使用DRL来获得车辆边缘计算中的最优任务卸载策略。此外,车对车(V2V)通信技术可以作为边缘节点或基于DRL的控制策略管理的终端设备来进一步连接车辆[112]。
智能制造时代最重要的两个原则是自动化和数据分析,前者是主要目标,后者是最有用的工具之一[113]。为了遵循这些原则,智能制造应该首先解决响应延迟、风险控制和隐私保护问题,因此需要DL和边缘计算。在智能工厂中,边缘计算有助于将云的计算资源、网络带宽和存储容量扩展到物联网边缘,并实现制造和生产过程中的资源调度和数据处理[114]。对于自主制造检测,DeepIns[113]分别使用DL和边缘计算来保证性能和工艺延迟。该系统的主要思想是对用于检测的DL模型进行划分,并将其分别部署在端部、边缘和云层,以提高检测效率。
尽管如此,随着物联网边缘设备的指数级增长,1)如何远程管理不断发展的DL模型以及2)如何持续评估这些模型是必要的。在[115]中,开发了一个应对这些挑战的框架,以支持智能制造过程中的复杂事件学习,从而促进物联网边缘设备上实时应用的开发。此外,还应考虑物联网边缘设备[116]的功率、能效和内存占用限制。因此,可以集成缓存、与异构物联网设备的通信和计算卸载[117],以打破资源瓶颈。
IoT的普及将为家庭生活带来越来越多的智能应用,如智能照明控制系统、智能电视和智能空调。但与此同时,智能家居需要在角落、地板和墙壁上部署大量无线物联网传感器和控制器。为了保护敏感的家庭数据,智能家居系统的数据处理必须依靠边缘计算。与[118]、[119]中的用例一样,边缘计算被部署来优化室内定位系统和家庭入侵监控,以便它们可以获得比使用云计算更低的延迟以及更好的准确性。此外,DL和边缘计算的结合可以使这些智能服务变得更加多样化和强大。例如,他赋予机器人动态视觉服务能力[120],并实现高效的音乐认知系统[121]。
如果将智能家居扩大到社区或城市,公共安全、健康数据、公共设施、交通等领域都将受益。将边缘计算应用于智慧城市的初衷更多是出于成本和效率的考虑。城市中地理分布数据源的自然特征需要一种基于边缘计算的范式来提供位置感知和对延迟敏感的监控和智能控制。例如,[122]中的分层分布式边缘计算架构可以支持未来智能城市中大规模基础设施组件和服务的集成。该体系结构不仅可以支持终端设备上的延迟敏感应用程序,还可以在边缘节点上高效地执行稍微延迟容忍的任务,而负责深度分析的大规模DL模型则托管在云上。此外,DL可用于协调和调度基础设施,以实现城市区域(例如,校园内[123])或整个城市之间的整体负载平衡和最佳资源利用。
为了进一步提高准确性,DNN变得更深,需要更大规模的数据集。通过这种方式,引入了巨大的计算成本。当然,DL模型的出色性能离不开高级硬件的支持,而且很难在资源有限的情况下将其部署在边缘。因此,大规模的DL模型通常部署在云中,而终端设备只是将输入数据发送到云中,然后等待DL推断结果。然而,纯云推理限制了DL服务的普遍部署。具体来说,它不能保证实时服务的延迟要求,例如具有严格延迟要求的实时检测。此外,对于重要的数据源,应解决数据安全和隐私保护问题。为了解决这些问题,DL服务倾向于采用边缘计算。因此,DL模型应该进一步定制,以适应资源受限的边缘,同时仔细处理它们的推理精度和执行延迟之间的权衡。
DL任务通常是计算密集型的,并且需要大的内存占用。但在边缘地区,没有足够的资源来支持原始的大规模DL模型。优化DL模型并量化其权重可以降低资源成本。事实上,模型冗余在DNN[124]、[125]中很常见,可以用来实现模型优化。最重要的挑战是如何确保优化后的模型精度不会有重大损失。换句话说,优化方法应该转换或重新设计DL模型,并使其适合边缘设备,同时尽可能减少模型性能的损失。在本节中,讨论了不同场景的优化方法:1)资源相对充足的边缘节点的通用优化方法;2) 针对资源预算紧张的终端设备的细粒度优化方法。
1) 模型优化的一般方法:一方面,以几乎恒定的计算开销增加DL模型的深度和宽度是优化的一个方向,例如CNNs的初始[126]和深度残差网络[127]。另一方面,对于更通用的神经网络结构,现有的优化方法可分为四类[128]:1)参数修剪和共享[129],[130],还包括权重量化[131]-[133];2) 低秩因子分解[124];3) 转移/紧凑卷积滤波器[107],[134],[135];4) 知识蒸馏[136]。这些方法可以应用于不同类型的DNN,或者组合用于优化边缘的复杂DL模型。
2) 边缘设备的模型优化:除了有限的计算和内存占用外,还需要考虑网络带宽和功耗等其他因素。在本节中,对在边缘设备上运行DL的努力进行了区分和讨论。
在[12]中,在云和边缘设备上评估了最先进的DL模型的延迟和功耗,发现将数据上传到云是当前DL服务方法的瓶颈(导致传输的巨大开销)。划分DL模型并进行分布式计算可以获得更好的端到端延迟性能和能量效率。此外,通过将部分DL任务从云推送到边缘,可以提高云的吞吐量。因此,DL模型可以被分割成多个分区,然后分配给1)终端设备[154]上的异构本地处理器(例如,GPU、CPU),2)分布式边缘节点[155]、[156],或3)协作“端边缘云”架构[12]、[49]、[157]、[158]。
对DL模型进行水平分割,即沿着末端、边缘和云进行分割,是最常见的分割方法。挑战在于如何智能地选择分区点。如图14所示,确定划分点的一般过程可以分为三个步骤[12],[157]:1)测量和建模不同DNN层的资源成本和层之间中间数据的大小;2) 通过特定的层配置和网络带宽来预测总成本;3) 根据延迟、能量要求等从候选分割点中选择最佳分割点。另一种模型分割是垂直分割,特别是对于CNN[156]。与水平分区不同,垂直分区融合了层并以网格方式垂直分区,从而将CNN层划分为可独立分配的计算任务。
为了在模型精度和处理延迟之间达到最佳折衷,可以为每个DL服务维护具有不同模型性能和资源成本的多个DL模型。然后,通过智能地选择最佳模型,实现所需的自适应推理[159]。尽管如此,这一想法可以通过出现的EEoI[160]得到进一步改进。DNN中附加层的性能改进是以前馈推理中增加的延迟和能量消耗为代价的。随着DNN越来越大、越来越深,这些成本对边缘设备去运行实时和能量敏感的DL应用变得越来越令人望而却步。通过附加的分支分类器,对于部分样本,如果具有高置信度,EEoI允许推断通过这些分支提前退出。对于更困难的样本,EEoI将使用更多或所有DNN层来提供最佳预测。
如图15所示,通过利用EEoI,可以在边缘设备处使用DL模型的浅部分进行快速和本地化的推断。通过这种方式,边缘设备上的浅层模型可以快速进行初始特征提取,如果有信心,可以直接给出推理结果。否则,部署在云中的附加大型DL模型将执行进一步的处理和最终推断。与直接将DL计算卸载到云相比,这种方法具有更低的通信成本,并且可以实现比边缘设备上的修剪或量化DL模型更高的推断精度[113],[161]。此外,由于只有即时功能而不是原始数据被发送到云,因此它提供了更好的隐私保护。然而,EEoI不应被视为独立于模型优化(第V-A2节)和分割(第V-B节)。在终端、边缘和云上的分布式DL的设想应该考虑到它们的协作,例如,开发用于自适应DNN划分和EEoI的协作和按需协同推理框架[162]。
来自边缘节点覆盖范围内的附近用户的请求可能表现出时空位置[163]。例如,同一区域内的用户可能会请求针对同一感兴趣对象的识别任务,并且这可能会引入DL推理的冗余计算。在这种情况下,基于应用程序的离线分析和网络条件的在线估计,Cachier[163]提出在边缘节点中缓存用于识别应用程序的相关DL模型,并通过动态调整其缓存大小来最小化预期的端到端延迟。基于第一人称视角视频中连续帧之间的相似性,DeepMon[164]和DeepCache[165]利用CNN层的内部处理结构,重用前一帧的中间结果来计算当前帧,即在CNN层内缓存内部处理的数据,以减少连续视觉应用的处理延迟。
然而,为了进行有效的缓存和结果重用,应解决可重用结果的准确查找问题,即缓存框架必须系统地容忍变化并评估关键相似性。DeepCache[165]执行缓存密钥查找来解决此问题。具体来说,它将每个视频帧划分为细粒度区域,并在特定的视频运动启发式模式中从缓存的帧中搜索类似区域。对于同样的挑战,F oggyCache[166]首先将异构的原始输入数据嵌入到具有通用表示的特征向量中。然后,提出了自适应局部敏感哈希(A-LSH),这是LSH的一种变体,通常用于索引高维数据,以对这些向量进行索引,从而实现快速准确的查找。最后,基于kNN实现了均匀化kNN,利用缓存的值来去除异常值,并确保最初选择的k个记录中有一个主导簇,以确定a-LSH查找的记录的重用输出。
与共享推理结果不同,Mainstream[167]提出在并发视频处理应用程序之间自适应地协调DNN主干共享(几个专用DL模型的公共部分)。通过利用通用DNN主干中通过TL训练的应用程序之间的专用模型的计算共享,可以显著减少每帧的聚合计算时间。尽管更专业化的DL模型意味着更高的模型精度和更少的共享DNN主干,但随着使用不太专业化的DL-模型,模型精度下降缓慢(除非专业化模型的比例非常小)。因此,该特性使得DL模型的大部分可以在主流中以低精度损失共享。
DL服务的广泛部署,尤其是移动DL,需要边缘计算的支持。这种支持不仅仅是在网络架构级别,边缘硬件和软件的设计、调整和优化同样重要。具体而言,1)定制的边缘硬件和相应的优化软件框架和库可以帮助DL更有效地执行;2) 边缘计算架构可以实现DL计算的卸载;3) 精心设计的边缘计算框架可以更好地维护DL服务在边缘上运行;4) 用于评估Edge DL性能的公平平台有助于进一步发展上述实现。
1) 移动CPU和GPU:如果直接在活动地点附近的轻量级边缘设备(如手机、可穿戴设备和监控摄像头)上启用DL应用程序,则DL应用程序更有价值。低功耗物联网边缘设备可以用于进行轻量级DL计算,从而避免与云通信,但它仍然需要面对有限的计算资源、内存占用和能耗。为了突破这些瓶颈,在[143]中,作者专注于ARM Cortex-M微控制器,并开发了CMSIS-NN,一个高效的NN内核集合。通过CMSIS-NN,可以最大限度地减少ARM CortexM处理器核上NN的内存占用,然后将DL模型嵌入物联网设备,同时实现正常的性能和能效。
关于在移动GPU上运行CNN层时的瓶颈,DeepMon[164]分解CNN层中使用的矩阵,以加速高维矩阵之间的乘法运算。通过这种方式,CNN层中的高维矩阵运算(特别是乘法运算)在移动GPU中可用,并且可以被加速。鉴于这项工作,已经部署在边缘设备中的各种移动GPU可以通过特定的DL模型进行潜在的探索,并在实现边缘DL方面发挥更重要的作用。
除了DL推断[143],[164],[168]中讨论了影响移动CPU和GPU上DL训练性能的重要因素。由于常用的DL模型,如VGG[169],对于主流边缘设备的内存大小来说太大,因此采用相对较小的Mentee网络[170]来评估DL训练。评估结果指出,DL模型的大小对训练性能至关重要,移动CPU和GPU的有效融合对加速训练过程至关重要。
2) 基于FPGA的解决方案:尽管GPU解决方案在云计算中被广泛用于DL训练和推理,但受边缘强大的功率和成本预算的限制,这些解决方案可能不可用。此外,边缘节点应该能够一次服务于多个DL计算请求,这使得简单地使用轻量级CPU和GPU变得不切实际。因此,对基于现场可编程门阵列(FPGA)的边缘硬件进行了探索,以研究其用于边缘DL的可行性。
基于FPGA的边缘设备可以通过任意大小的卷积和可重新配置池[143]实现CNN加速,并且在基于RNN的语音识别应用中,它们的性能比最先进的CPU和GPU实现[145]更快,同时实现更高的能效。在[52]中,开发了一个基于FPGA的边缘平台的设计和设置,以允许从移动设备卸载DL计算。在实现基于FPGA的边缘平台时,将无线路由器和FPGA板结合在一起。通过将该初步系统与典型的视觉应用程序进行测试,基于FPGA的边缘平台显示了其在能耗和硬件成本方面优于基于GPU(或CPU)的边缘平台的优势。
然而,如表IV所示,确定FPGA还是GPU/CPU更适合边缘计算仍有待确定。[171]中进行了详细的实验,以研究FPGA相对于GPU的优势:1)能够提供对工作负载不敏感的吞吐量;2) 保证高并发DL计算的一致高性能;3) 更好的能源效率。然而,FPGA的缺点在于,在FPGA上开发高效的DL算法对大多数程序员来说是陌生的。尽管Xilinx SDSoC等工具可以大大降低难度[52],但至少目前,仍需要额外的工作将为GPU编程的最先进的DL模型移植到FPGA平台中。
尽管如第五节所示,设备上的DL计算可以满足轻量级DL服务的需要。然而,独立的终端设备仍然负担不起密集的DL计算任务。边缘计算的概念可以通过将DL计算从终端设备卸载到边缘或(和)云来潜在地应对这种困境。伴随着边缘架构,以DL为中心的边缘节点可以成为云计算基础设施的重要扩展,以处理大量的DL任务。在本节中,我们对Edge DL计算的四种模式进行了分类,如图16所示。
1) 整体卸载:DL计算卸载的最自然模式类似于现有的“端云”计算,即终端设备向云发送其计算请求以获得DL推理结果(如图16(a)所示)。这种卸载是直接的,因为它摆脱了DL任务分解和资源优化的组合问题,这可能会带来额外的计算成本和调度延迟,因此实现简单。在[172]中,所提出的分布式基础设施DeepDecision将功能强大的边缘节点与功能较弱的终端设备联系在一起。在DeepDecision中,DL推理可以根据推理精度、推理延迟、DL模型大小、电池级别和网络条件之间的权衡,在端部或边缘执行。对于每个DL任务,终端设备决定是本地处理还是将其卸载到边缘节点。
此外,在卸载问题中,不应忽视边缘节点之间的工作负载优化,因为与云相比,边缘节点通常受到资源限制。为了满足在有限的边缘资源下完成DL任务的延迟和能量需求,可以采用在边缘提供具有不同模型大小和性能的DL模型来完成一种任务。因此,可以在边缘节点上部署多个分别承担不同DL模型的VM或容器来处理DL请求。具体地,当具有较低复杂度的DL模型能够满足要求时,将其选择为服务模型。例如,通过优化虚拟机的工作负载分配权重和计算能力,MASM[173]可以在保证DL推理准确性的同时降低能量成本和延迟。
2) 部分卸载:将DL任务部分卸载到边缘也是可行的(如图16(b)所示)。可以开发卸载系统来实现DL任务的在线细粒度划分,并确定如何将这些划分的任务分配给终端设备和边缘节点。如[178]所示,能够自适应地划分通用计算机程序的MAUI可以在网络约束下通过优化任务分配策略来节省一个数量级的能量。更重要的是,该解决方案可以在运行时分解整个程序,而不是在程序部署之前手动对程序员进行分区。
此外,特别是对于DL计算,DeepWear[174]将DL模型抽象为有向无循环图(DAG),其中每个节点表示一个层,每个边表示这些层之间的数据流。为了有效地确定部分卸载决策,DeepWear首先通过只保留计算密集型节点来修剪DAG,然后对重复的子DAG进行分组。以这种方式,复杂的DAG可以被转换为线性的且简单得多的DAG,从而实现用于选择要卸载的最优分区的线性复杂性解决方案。
然而,将DL模型的一部分上传到边缘节点仍然可能严重延迟卸载DL计算的整个过程。为了应对这一挑战,[175]中提出了一种增量卸载系统IONN。与打包整个DL模型进行上传不同,IONN将准备上传的DL模型划分为多个分区,并依次上传到边缘节点。接收分区模型的边缘节点在每个分区模型到达时递增地构建DL模型,同时即使在上传整个DL模型之前也能够执行卸载的部分DL计算。因此,关键在于确定DL模型的最佳分区和上传顺序。接收分区模型的边缘节点在每个分区模型到达时递增地构建DL模型,同时即使在上传整个DL模型之前也能够执行卸载的部分DL计算。因此,关键在于确定DL模型的最佳分区和上传顺序。具体来说,一方面,优先上传性能优势和上传开销分别较高和较低的DNN层,从而使边缘节点快速构建部分DNN,以达到预期的最佳查询性能。另一方面,不必要的DNN层不会带来任何性能提高,因此避免了卸载。
3) 垂直协作:如第VI-B1节和第VI-B2节所述,“端边缘”架构之间的预期卸载策略对于支持计算量较小的DL服务和小规模并发DL查询是可行的。然而,当一次需要处理大量DL查询时,单个边缘节点肯定是不够的。
协作的一个自然选择是,当DL任务被卸载时,边缘执行数据预处理和初步学习。然后,中间数据,即边缘架构的输出,被传输到云,用于进一步的DL计算[176]。然而,DNN的层次结构可以进一步挖掘,以适应垂直协作。在[12]中,根据数据和计算特性,在终端设备和边缘节点上对DNN的所有层进行了剖析,以生成性能预测模型。基于这些预测模型、无线条件和服务器负载水平,所提出的神经外科医生根据端到端延迟或移动能耗来评估每个候选点,并将DNN划分为最佳点。然后,它决定DNN分区的分配,即应该在端、边缘或云上部署哪个部分,同时实现端设备的最佳延迟和能耗。
通过利用EEoI(第V-C节),可以更适应垂直协作。DNN的分区可以映射到分布式计算层次结构(即末端、边缘和云)上,并可以使用多个早期退出点进行训练[161]。因此,末端和边缘可以对自己执行DL推断的一部分,而不是直接请求云。使用推断后的退出点,可以在不向云发送任何信息的情况下给出本地设备确信的DL任务的结果。为了提供更准确的DL推断,中间DNN输出将被发送到云,以便通过使用额外的DNN层进行进一步推断。然而,中间输出,例如高分辨率监控视频流,应该仔细设计比原始输入小得多,从而大大减少了端部和边缘(或边缘和云)之间所需的网络流量。
尽管垂直协作可以被认为是云计算的一种演变,即“端云”战略。与纯粹的“端缘”战略相比,垂直协作的过程可能会延迟,因为它需要与云进行额外的通信。然而,垂直协作也有其自身的优势。一方面,当边缘架构本身无法承受DL查询的泛滥时,云架构可以共享部分计算任务,从而确保为这些查询提供服务。另一方面,原始数据在传输到云之前必须在边缘进行预处理。如果这些操作可以在很大程度上减少中间数据的大小,从而减少网络流量,则可以减轻骨干网络的压力。
4) 横向协作:第VI-B3节讨论了纵向协作。然而,边缘或终端之间的设备也可以在没有云的情况下进行联合,以处理资源匮乏的DL应用程序,即水平协作。通过这种方式,训练的DNN模型或整个DL任务可以被分割并分配给多个终端设备或边缘节点,以通过减轻它们中的每一个的资源成本来加速DL计算。[177]中提出的MoDNN在无线局域网(WLAN)上的本地分布式移动计算系统中执行DL。DNN的每一层都被划分为多个切片,以提高并行性并减少内存占用,这些切片逐层执行。通过多个终端设备之间的执行并行性,可以显著加速DL计算。
关于特定的DNN结构,例如CNN,可以应用更精细的网格划分来最小化通信、同步和内存开销[130]。在[156]中,提出了一种融合瓦片分割(FTP)方法,该方法能够将每个CNN层划分为可独立分配的任务。与[12]中仅按层划分DNN不同,FTP可以融合层并以网格方式垂直划分它们,因此无论分区和设备的数量如何,都可以最大限度地减少参与的边缘设备所需的内存占用,同时降低通信和任务迁移成本。此外,为了支持FTP,分布式工作窃取运行时系统,即空闲边缘设备从具有活动工作项的其他设备窃取任务[156],可以自适应地分配FTP分区,以平衡协作边缘设备的工作负载。
尽管DL所需的计算复杂性和能效与边缘硬件的容量之间存在差距[179],但定制的边缘DL框架可以帮助有效地1)匹配边缘平台和DL模型;2) 在性能和功率方面开发底层硬件;3) 自动编排和维护DL服务。
首先,应该确定在边缘计算(蜂窝)网络中的何处部署DL服务。[180]中引入了部署在边缘节点的RAN控制器,以收集数据并运行DL服务,而放置在云中的网络控制器则协调RAN控制器的操作。以这种方式,在运行和馈送分析并将相关度量提取到DL模型之后,这些控制器可以向网络边缘的用户提供DL服务。
第二,由于DL模型的部署环境和要求可能与模型开发过程中的环境和要求有很大不同,因此在使用(Py)Torch、TensorFlow等开发DL模型时采用的定制运营商可能无法在边缘使用DL框架直接执行。为了弥合部署和开发之间的差距,[181]的作者建议使用部署工具指定开发中的DL模型,该工具具有部署在边缘的DL框架中的运算符库。此外,为了自动化DL模型的选择和优化,ALOHA[182]制定了一个工具流程:1)自动化模型设计。它通过考虑目标任务、约束集和目标体系结构来生成最优模型配置;2) 优化模型配置。它对DL模型进行分区,并相应地生成不同推理任务和可用资源之间的体系结构感知映射信息。3) 自动化模型移植。它将映射信息转换为对目标体系结构公开的计算和通信原语的适当调用。
第三,应该解决部署在边缘的DL模型的协调问题。OpenEI[183]将每个DL算法定义为四元元组“准确性、延迟、能量、内存占用”,以评估目标硬件平台的边缘DL能力。基于这样的元组,OpenEI可以在线方式基于不同的边缘DL能力为特定的边缘平台选择匹配的模型。Zoo[184]提供了一种简洁的领域特定语言(DSL),以实现DL服务的简单且类型安全的组合。此外,为了实现广泛的地理分布拓扑、分析引擎和DL服务,ECO[185]使用基于图的覆盖网络方法来1)建模和跟踪管道和依赖关系,然后2)将它们映射到地理分布的分析引擎,从基于边缘的小型引擎到强大的基于多节点云的引擎。通过这种方式,DL计算可以根据需要进行分布式,以管理成本和性能,同时还支持其他实际情况,如引擎异构性和不连续操作。
尽管如此,这些先驱工作还没有准备好原生地支持第VI-B节中讨论的有价值且具有挑战性的功能,例如计算卸载和协作,这仍然需要进一步的开发。
在选择适当的边缘硬件和相关软件堆栈以部署不同类型的边缘DL服务的整个过程中,有必要评估它们的性能。公正的评估方法可以为优化特定边缘硬件的软件堆栈指明可能的方向。在[186]中,首次通过在资源受限的边缘设备上执行DL推断来评估DL库的性能,该推断与延迟、内存占用和能量等指标有关。此外,特别是对于安卓智能手机,作为一种具有移动CPU或GPU的边缘设备,AI Benchmark[54]广泛评估了各种设备配置的DL计算能力。实验结果表明,没有一个DL库或硬件平台能完全优于其他平台,加载DL模型可能需要比执行它更多的时间。这些发现表明,边缘硬件、边缘软件堆栈和DL库的融合仍有机会进一步优化。
尽管如此,边缘DL的标准测试台仍然缺失,这阻碍了对DL边缘架构的研究。为了评估边缘DL服务的端到端性能,不仅要建立边缘计算架构,还要建立其与终端设备和云的组合,例如openLEON[187]和CA VBench[188],特别是对于车辆场景。此外,管理DL服务的控制面板的模拟仍然没有涉及。一个由无线链路和网络模型、服务请求模拟、边缘计算平台、云架构等组成的集成试验台,对于促进“DL边缘计算”的发展是有意义的。
云数据中心中现有的DL训练(分布式或非分布式),即云训练或云边缘训练[50],即训练数据在边缘进行预处理,然后传输到云,并不适用于所有类型的DL服务,尤其是需要局部性和持久性训练的DL模型。此外,如果需要从分布式终端设备或边缘节点向云连续传输大量数据,将消耗大量的通信资源,从而加剧无线和骨干网络。例如,对于集成了物体检测和目标跟踪的监控应用,如果终端设备直接将大量实时监控数据发送到云端进行持久训练,将带来高昂的网络成本。此外,将所有数据合并到云中可能会违反隐私问题。所有这些挑战都提出了针对现有云训练的新颖训练方案的需求。
自然,边缘体系结构由大量具有适度计算资源的边缘节点组成,可以通过处理数据或自行训练来缓解网络压力。在边缘或潜在的“端边缘云”中进行训练,将边缘视为训练的核心架构,称为“边缘DL训练”。这种DL训练可能需要大量资源来消化分布式数据并交换更新。尽管如此,FL正在崛起,并承诺将解决这些问题。我们在表VI中总结了关于FL的精选工作。
边缘的分布式训练可以追溯到[189]的工作,其中为边缘计算网络提出了一种分散随机梯度下降(SGD)方法来解决大型线性回归问题。然而,所提出的方法是为地震成像应用而设计的,并且不能推广用于未来的DL训练,因为训练大规模DL模型的通信成本极高。在[190]中,针对边缘计算环境提出了两种不同的分布式学习解决方案。如图17所示,一种解决方案是每个终端设备基于本地数据训练一个模型,然后在边缘节点聚合这些模型更新。另一种是边缘节点训练自己的局部模型,并交换和细化它们的模型更新,以构建全局模型。尽管在边缘进行大规模分布式训练可以避免将庞大的原始数据集传输到云端,但不可避免地会引入边缘设备之间梯度交换的通信成本。此外,在实践中,边缘设备可能遭受更高的延迟、更低的传输速率和间歇性连接,因此进一步阻碍了属于不同边缘设备的DL模型之间的梯度交换。
大多数梯度交换是冗余的,因此可以压缩更新的梯度以降低通信成本,同时保持训练精度(例如[191]中的 DGC )首先,DGC规定只交换重要的梯度,即只传输大于启发式给定阈值的梯度。为了避免信息丢失,剩余的梯度被局部累积,直到它们超过阈值。需要注意的是,无论是立即发送的还是为以后的交换而积累的梯度都将被编码和压缩,从而节省通信成本。其次,考虑到梯度的稀疏更新可能会损害DL训练的收敛性,采用动量校正和局部梯度裁剪来减轻潜在的风险。通过动量校正,稀疏更新可以近似等于密集更新。在将当前梯度局部添加到每个边缘设备上的先前累积之前,执行梯度裁剪以避免梯度累积可能引入的爆炸性梯度问题。当然,由于部分梯度被延迟更新,这可能会减慢收敛速度。因此,最后,为了防止陈旧的动量危及训练性能,停止延迟梯度的动量,并在训练开始时采用较低的攻击性学习率和梯度稀疏性,以减少被延迟的极端梯度的数量。
为了降低分布式训练期间同步梯度和参数的通信成本,可以将两种机制组合在一起[192]。第一种是利用稀疏训练梯度仅传输重要梯度[193]。保留隐藏权重以记录梯度坐标参与梯度同步的次数,隐藏权重值较大的梯度坐标被视为重要梯度,更有可能在下一轮训练中被选中。另一方面,如果直接忽略残差梯度坐标(即不太重要的梯度),则训练收敛性将受到极大损害,因此,在每一轮训练中,都会累积较小的梯度值。然后,为了避免这些过时的梯度对训练的影响很小,应用动量校正,即设置贴现因子来校正残余梯度累积。
特别地,当训练大型DL模型时,交换对应的模型更新可能消耗更多的资源。
使用KD的在线版本可以降低此类通信成本[194]。换句话说,模型输出,而不是交换每个设备上更新的模型参数,使得训练大型局部模型成为可能。除了通信成本,隐私问题也要关心。例如,在[195]中,可以通过利用经过训练的分类器的隐私泄露,从训练数据中有意获得个人信息。[196]研究了边缘训练数据集的隐私保护。与[190]–[192]不同,在[196]的场景中,训练数据在边缘节点进行训练,并上传到云中进行进一步的数据分析。因此,将拉普拉斯噪声[197]添加到这些可能暴露的训练数据中,以增强训练数据的隐私保证。
在第VII-A节中,整体网络架构被明确分离,特别是,训练被独立地限制在终端设备或边缘节点,而不是两者之间。当然,通过这种方式,协调训练过程很简单,因为不需要处理终端和边缘之间的异构计算能力和网络环境。尽管如此,DL训练和DL推理应该是普遍存在的。联邦学习(FL)[198],[199]是一种在终端、边缘和云之间的实用DL训练机制。虽然在原生FL的框架下,现代移动设备被视为执行本地培训的客户端。当然,这些设备可以在边缘计算中得到更广泛的扩展[200],[201]。云中的终端设备、边缘节点和服务器可以等效地视为FL中的客户端。假设这些客户端能够处理不同级别的DL训练任务,并因此为全局DL模型提供更新。在本节中,将讨论FL的基本原理。
在不需要上传数据进行中央云训练的情况下,FL[198]、[199]可以允许边缘设备使用自己收集的数据训练其本地DL模型,并只上传更新的模型。如图18所示,FL迭代地请求一组随机的边缘设备:1)从聚合服务器下载全局DL模型(在下面使用“服务器”),2)用它们自己的数据在下载的全局模型上训练它们的本地模型,3)只将更新的模型上传到服务器进行模型平均。通过将训练数据限制在设备端,可以显著降低隐私和安全风险,从而避免将训练数据上传到云端时出现[195]中的隐私问题。此外,FL引入了FederatedAverage,将每个设备上的本地SGD与执行模型平均的服务器相结合。实验结果证实,FederatedAvering对不平衡和非IID数据具有鲁棒性,并且可以促进训练过程,即减少训练DL模型所需的通信次数。
总之,FL可以应对边缘计算网络中的几个关键挑战:1)非IID训练数据。每个设备上的训练数据由其自身感测和收集。因此,设备的任何单独训练数据都不能代表全局训练数据。在FL中,联邦平均法可以满足这一要求;2) 有限的沟通。设备可能处于离线状态或处于较差的通信环境中。然而,在资源充足的设备上执行更多的训练计算可以减少全局模型训练所需的通信轮次。除此之外,FL一轮只选择一部分设备上传更新,从而成功处理了设备不可预测离线的情况;3) 贡献不平衡。它可以通过FederatedAverage来解决,特别是,一些设备的FL可用资源可能较少,导致设备之间的训练数据量和训练能力不同;4) 隐私和安全。FL中需要上传的数据只是更新后的DL模型。此外,安全聚合和差分隐私[197]在避免本地更新中包含的隐私敏感数据泄露方面很有用,可以自然应用。
在FL中,不需要上传原始训练数据,从而大大降低了通信成本。然而,FL仍然需要将本地更新的模型传输到中央服务器。假设DL模型大小足够大,从边缘设备向中央服务器上传更新(例如模型权重)也可能消耗不合格的通信资源。为了满足这一点,我们可以让FL客户端定期(相当连续)与中央服务器通信,以寻求对共享DL模型的共识[202]。此外,当客户端将更新上传到服务器时,结构化更新、草图更新也有助于提高通信效率。结构化更新是指将模型更新限制另一方面,对于sketched update,将保留完整的模型更新。但在上传它们进行模型聚合之前,将执行子采样、概率量化和结构化随机旋转的组合操作,以压缩完整更新[203]。FedPAQ[204]同时结合了这些特征,并为强凸和非凸损失函数提供了接近最优的理论保证,同时实证证明了通信计算的折衷。为具有预先指定的结构,具体地,1)低秩矩阵;或者2)稀疏矩阵[202]、[203]。
与仅研究降低上行链路上的通信成本不同,[205]同时考虑了服务器到设备(下行链路)和设备到服务器(上行链路)的通信。对于下行链路,全局DL模型的权重被重塑为向量,然后应用子采样和量化[203]。自然,这种模型压缩是有损耗的,并且与上行链路不同(多个边缘设备正在上传它们的模型以进行平均),不能通过在下行链路上进行平均来减轻损耗。Kashin的表示[206]可以在二次采样之前用作基变换,以减轻后续压缩操作产生的误差。此外,对于上行链路,每个边缘设备不需要在本地训练基于整个全局模型的模型,而只需要训练较小的子模型或修剪模型[207]。由于子模型和修剪后的模型比全局模型更轻,因此更新上传中的数据量减少了。
与云相比,边缘设备的计算资源是稀缺的。为了提高通信效率,还应考虑其他挑战:1)计算资源是异构的,并且在边缘设备上是有限的;2) 边缘设备上的训练数据可能分布不均匀[208]-[210]。对于更强大的边缘设备,ADSP[211]允许它们继续训练,同时以战略决定的间隔提交模型聚合。对于一般情况,基于推导出的非IID数据分布的分布式学习的收敛界,在给定资源预算下,所有参与设备之间的聚合频率可以在理论保证的情况下进行优化[208]。Astrea[212]通过设计基于中介的多客户端重新调度策略,减少了92%的通信流量。一方面,Astrea利用数据扩充[5]来缓解非均匀分布训练数据的缺陷。另一方面,Astrea为基于中介的重新安排设计了一种贪婪的策略,以便将客户分配给中介。每个中介遍历所有未分配客户端的数据分布,以选择适当的参与客户端,旨在使中介的数据分布最接近均匀分布,即最小化中介的数据分配和均匀分布之间的KullbackLeibler分歧[213]。当中介达到最大分配客户端限制时,中央服务器将创建一个新的中介并重复该过程,直到所有客户端都被分配了培训任务。
为了加速FL中的全局聚合,[214]利用了空中计算[215]-[217],其原理是探索无线多址信道的叠加特性,通过多个边缘设备的并发传输来计算所需函数。无线信道的干扰可以被利用,而不仅仅是克服它们。在传输过程中,来自边缘设备的并发模拟信号可以自然地通过信道系数进行加权。然后,服务器只需要将这些重新整形的权重叠加为聚合结果,而不需要其他聚合操作。
当FL将相同的神经网络模型部署到异构边缘设备时,计算能力较弱的设备(掉队者)可能会大大延迟全局模型聚合。尽管训练模型可以进行优化以加速掉队者,但由于异构设备的资源有限,优化后的模型通常会导致结构发散,严重缺陷协同收敛性。ELFISH[218]首先从时间成本、内存使用和计算工作量的角度分析了模型训练的计算消耗。在模型分析的指导下,可以确定每层中需要屏蔽哪些神经元,以确保模型训练的计算消耗满足特定的资源约束。其次,与生成具有发散结构的确定优化模型不同,不同的神经元集将在每个训练周期中被动态屏蔽,并在随后的聚合周期中恢复和更新,从而确保随着时间的推移进行全面的模型更新。值得注意的是,尽管ELFISH通过资源优化将训练速度提高了2倍,但ELFISH的想法是使所有掉队者同步工作,其同步聚合可能无法处理极端情况。
当FL部署在移动边缘计算场景中时,FL的wall-clock time将主要取决于客户端的数量及其计算能力。具体地,FL的总wall-clock time不仅包括计算时间,还包括所有客户端的通信时间。一方面,客户端的计算时间取决于客户端的计算能力和本地数据大小。另一方面,通信时间与客户端的信道增益、传输功率和本地数据大小相关。因此,为了最大限度地减少FL的wall-clock training time ,FL的适当资源分配不仅需要考虑FL参数,例如计算通信权衡的准确度水平,还需要考虑客户端的资源分配,例如功率和CPU周期。
然而,最小化客户端的能量消耗和FLwall-clock time 是冲突的。例如,客户端可以通过始终将其CPU保持在低频率来节省能量,但这肯定会增加训练时间。因此,为了在能量成本和训练时间之间取得平衡,[219]的作者首先为每个客户端设计了一个新的FL算法FEDL,以近似地解决其局部问题,直到达到局部精度水平。因此,为了在能量成本和训练时间之间取得平衡,[219]的作者首先为每个客户端设计了一个新的FL算法FEDL,以近似地解决其局部问题,直到达到局部精度水平。然后,通过使用Pareto效率模型[224],他们为无线网络上的FEDL制定了一个非凸资源分配问题,以捕捉客户端的能源成本和FLwall-clock time之间的权衡)。最后,通过利用该问题的特殊结构,他们将其分解为三个子问题,并相应地导出闭合形式的解,并表征Pareto有效控制旋钮对最优解的影响。
由于用于传输模型更新的上行链路带宽是有限的,BS必须优化其资源分配,而用户必须优化其发射功率分配,以降低每个用户的分组错误率,从而提高FL性能。为此,[220]的作者将FL的资源分配和用户选择公式化为一个联合优化问题,其目标是在满足延迟和能耗要求的同时最小化FL损失函数的值。为了解决这个问题,他们首先推导出FL的预期收敛率的闭合形式表达式,以便在分组错误率和FL性能之间建立显式关系。基于这种关系,优化问题可以归结为混合整数非线性规划问题,然后求解如下:首先,在给定的用户选择和资源块分配下,找到最优发射功率;然后,将原来的优化问题转化为二进制匹配问题;最后,使用匈牙利算法[225]找到最佳的用户选择和资源块分配策略。
FL中涉及的设备数量通常很大,从数亿到数百万不等。在这样一个大型网络中,简单地最小化平均损耗可能不适合某些设备上所需的模型性能。事实上,尽管香草FL下的平均精度很高,但可能无法保证单个设备所需的模型精度。为此,基于无线网络中公平资源分配中使用的效用函数α-公平性[226],[221]的作者定义了用于联合资源优化的面向公平的目标q-FFL。q-FFL最小化由q参数化的总重新加权损耗,使得具有较高损耗的设备被赋予较高的相对权重,从而鼓励精度分布中的较小方差(即,更公平)。自适应最小化q-FFL避免了手工制作公平约束的负担,并且可以根据所需的公平性动态调整目标,达到减少特定设备之间精度分布方差的效果。
在vanilla FL中,在每个边缘设备上处理本地数据样本。这样的方式可以防止设备向服务器泄露私人数据。然而,服务器也不应该完全信任边缘设备,因为具有异常行为的设备可能会伪造或破坏其训练数据,从而导致毫无价值的模型更新,从而损害全局模型。为了使FL能够容忍在中毒数据集上训练的少量设备,鲁棒联合优化[201]定义了修剪平均操作。通过过滤掉中毒设备产生的值,还过滤掉正常设备中的自然异常值,实现了保护全局模型免受数据中毒影响的鲁棒聚合。
除故意攻击外,还应关注不可预测的网络条件和计算能力对安全性带来的被动不利影响。FL必须对边缘设备的意外退出具有鲁棒性,否则一旦设备失去连接,FL在一轮中的同步将失败。为了解决这个问题,[222]中提出了安全聚合协议,以实现容忍多达三分之一的设备无法及时处理本地训练或上传更新的鲁棒性。
反过来,FL中聚合服务器的故障可能导致不准确的全局模型更新,从而扭曲所有本地模型更新。此外,边缘设备(具有较大数量的数据样本)可能不太愿意与其他设备(贡献较小)一起参与FL。因此,在[223]中,提出将区块链和FL结合为BlockFL,以实现1)在每个边缘设备而不是特定服务器上进行局部全局模型更新,确保设备故障在更新全局模型时不会影响其他局部更新;2) 用于刺激边缘设备参与FL的适当奖励机制。
DNN(通用DL模型)可以提取潜在的数据特征,而DRL可以通过与环境交互来学习处理决策问题。边缘节点的计算和存储能力,以及云的协作,使使用DL优化边缘计算网络和系统成为可能。关于各种边缘管理问题,如边缘缓存、卸载、通信、安全保护等,1)DNN可以处理网络中的用户信息和数据度量,以及感知无线环境和边缘节点的状态,并基于这些信息2)DRL可以用于学习长期最优的资源管理和任务调度策略,从而实现对边缘的智能管理,即智能边缘,如表VII所示。
从内容交付网络(CDN)[227]到在蜂窝网络中缓存内容,多年来,人们一直在研究网络中的缓存,以应对对多媒体服务激增的需求[228]。边缘缓存[229]与将内容推送到用户附近的概念相一致,被认为是一种很有前途的解决方案,可以进一步减少冗余数据传输,缓解云数据中心的压力,提高QoE。
边缘缓存面临两个挑战:1)边缘节点覆盖范围内的内容流行度分布很难估计,因为它可能不同,并随着时空变化而变化[230];2) 鉴于边缘计算环境中的大量异构设备,分层缓存架构和复杂的网络特性进一步困扰着内容缓存策略的设计[231]。具体来说,只有当内容流行度分布已知时,才能推导出最佳边缘缓存策略。然而,用户对内容的偏好实际上是未知的,因为他们的移动性、个人偏好和连接性可能一直在变化。在本节中,讨论了用于确定边缘缓存策略的DL,如图19所示。
1) DNN的使用案例:传统的缓存方法通常具有较高的计算复杂性,因为它们需要大量的在线优化迭代来确定1)用户和内容的特征,以及2)内容放置和交付的策略。
出于第一个目的,DL可以用于处理从用户的移动设备收集的原始数据,并因此提取用户和内容的特征作为基于特征的内容流行度矩阵。通过这种方式,通过对流行度矩阵应用基于特征的协同过滤来估计核心网络上的流行内容[232]。
第二个目的是,当使用DNN来优化边缘缓存策略时,可以通过离线训练来避免在线重计算迭代。DNN由用于数据正则化的编码器和随后的隐藏层组成,可以使用最优或启发式算法生成的解决方案进行训练,并部署来确定缓存策略[233],从而避免在线优化迭代。类似地,在[234]中,受关于部分缓存刷新的优化问题的输出具有一些模式这一事实的启发,MLP被训练为接受当前内容流行度和上次内容放置概率作为输入,以生成缓存刷新策略。
如[233][234]所示,优化算法的复杂性可以转移到DNN的训练中,从而打破了使用它们的实际限制。在这种情况下,DL用于学习输入解的关系,并且只有当存在针对原始缓存问题的优化算法时,基于DNN的方法才可用。因此,基于DNN的方法的性能受固定优化算法的限制,并且不是自适应的。
MLP(多层感知器)
此外,DL可以用于定制的边缘缓存。例如,为了最大限度地减少自动驾驶汽车中的内容下载延迟,在云中部署了一个MLP来预测要请求的内容的流行程度,然后将MLP的输出传递到边缘节点(即[235]中RSU处的MEC服务器)。根据这些输出,每个边缘节点缓存最有可能被请求的内容。在自动驾驶汽车方面,CNN被用来预测车主的年龄和性别。一旦识别出车主的这些特征,就使用k-means聚类[236]和二进制分类算法来确定哪些已经缓存在边缘节点中的内容应该进一步从边缘节点下载并缓存到汽车。此外,关于充分利用用户的特征,[237]指出,用户在不同环境中访问内容的意愿是不同的。受此启发,RNN被用于预测用户的轨迹。基于这些预测,用户感兴趣的所有内容然后被预先预取并缓存在每个预测位置的边缘节点。
2) DRL的用例:第VIII-A1节中描述的DNN的功能可以被视为整个边缘缓存解决方案的一部分,即DNN本身并不处理整个优化问题。与这些基于DNNs的边缘缓存不同,DRL可以利用用户和网络的上下文,并将最大化长期缓存性能的自适应策略[238]作为优化方法的主体。传统的RL算法受到手工制作特征的要求以及难以处理高维观测数据和动作的缺陷的限制[239]。与传统的与DL无关的RL(如Q学习[240]和多臂带(MAB)学习[230])相比,DRL的优势在于DNN可以从原始观测数据中学习关键特征。结合RL和DL的集成DRL代理可以直接从高维观测数据中优化边缘计算网络中的缓存管理策略。
在[241]中,DDPG(深层决定性政策梯度)用于训练DRL代理,以最大化长期缓存命中率,从而做出正确的缓存替换决策。这项工作考虑了一个具有单个BS的场景,其中DRL代理决定是缓存请求的内容还是替换缓存的内容。在训练DRL代理时,奖励被设计为缓存命中率。此外,Wolpertinger体系结构[242]用于应对大动作空间的挑战。详细地说,首先为DRL代理设置一个主要动作集,然后使用kNN将实际动作输入映射到该集合中的一个。通过这种方式,在不错过最佳缓存策略的情况下,故意缩小了操作空间。与基于DQL的搜索整个动作空间的算法相比,采用DDPG和Wolpartinger架构训练的DRL代理能够在降低运行时间的同时实现有竞争力的缓存命中率。
边缘计算允许边缘设备在能量、延迟、计算能力等约束下,将部分计算任务卸载到边缘节点[243]。如图20所示,这些约束提出了识别以下方面的挑战:1)哪些边缘节点应该接收任务,2)边缘设备应该卸载多大比例的任务,以及3)应该为这些任务分配多少资源。解决这种任务卸载问题是NP困难的[244],因为至少需要通信和计算资源的组合优化以及边缘设备的竞争。特别是,优化应同时考虑时变无线环境(如变化的信道质量)和任务卸载请求,因此应注意使用学习方法[245]-[255]。在所有这些与基于学习的优化方法相关的工作中,当多个边缘节点和无线电信道可用于计算卸载时,基于DL的方法比其他方法具有优势。在这种背景下,整个卸载问题中的大状态和动作空间使得传统的学习算法[245][256][247]实际上是不可行的。
1) DNN的用例:在[249]中,计算卸载问题被公式化为多标签分类问题。通过以离线的方式详尽地搜索解,所获得的最优解可以用于训练以边缘计算网络的复合状态为输入、以卸载决策为输出的DNN。通过这种方式,最优解可能不需要在线求解,避免了延迟的卸载决策,并且计算复杂性可以转移到DL训练中。
此外,[252]中对区块链的特定卸载场景进行了研究。边缘设备上挖掘任务的计算和能源消耗可能会限制区块链在边缘计算网络中的实际应用。自然,这些挖掘任务可以从边缘设备卸载到边缘节点,但这可能会导致不公平的边缘资源分配。因此,所有可用资源都以拍卖的形式进行分配,以最大限度地提高边缘计算服务提供商(ECSP)的收入。基于最优拍卖的分析解决方案,可以构建[252]MLP,并使用矿工(即边缘设备)的估值进行训练,以最大化ECSP的预期收入。
2) DRL的使用案例:尽管将计算任务卸载到边缘节点可以提高计算任务的处理效率,但由于无线环境的潜在低质量,卸载的可靠性受到影响。在[248]中,为了最大限度地提高卸载效用,作者首先量化了各种通信模式对任务卸载性能的影响,并因此提出应用DQL(深度Q学习)在线选择最佳目标边缘节点和传输模式。为了优化总卸载成本,修改Dueling和Double DQL[263]的DRL代理可以为终端设备分配边缘计算和带宽资源。
此外,还应考虑卸载的可靠性。传输数据的编码率对于使卸载满足所需的可靠性水平至关重要。因此,在[250]中,研究了编码块长度的影响,并制定了与资源分配有关的MDP,然后通过DQL求解,以提高平均卸载可靠性。在[257]中进一步探讨了对边缘设备的细粒度计算资源的调度,Double-DQL [89] 用于确定最佳动态电压和频率缩放(DVFS)算法。实验结果表明,与DQL相比,Double-DQL可以节省更多的能量,达到更高的训练效率。尽管如此,基于DQL的方法的动作空间可能随着边缘设备的增加而快速增加。在这种情况下,可以在学习[253]之前执行预分类步骤,以缩小动作空间。
[251]、[254]研究了由能量采集(EH)提供动力的物联网边缘环境。在EH环境中,能量采集使卸载问题更加复杂,因为物联网边缘设备可以从环境射频信号中采集能量。因此,CNN用于在学习过程中压缩状态空间[254]。此外,在[251]中,受奖励函数的加性结构的启发,将Q函数分解应用于Double DQL,并改进了传统的Double DQL。然而,基于价值的DRL只能处理离散的动作空间。为了对本地执行和任务卸载执行更细粒度的功率控制,应该考虑基于策略梯度的DRL。例如,与基于DQL的离散功率控制策略相比,DDPG可以自适应地分配粒度更细的边缘设备的功率[255]。
自由地让DRL代理接管整个计算卸载过程可能会导致巨大的计算复杂性。因此,仅使用DNN来进行部分决策可以在很大程度上降低复杂性。例如,在[258]中,将加权和计算率最大化的问题分解为两个子问题,即卸载决策和资源分配。通过仅使用DRL来处理NP硬卸载决策问题,而不是同时使用两者,DRL代理的动作空间变窄,并且由于资源分配问题得到了最优解决,因此卸载性能也没有受到损害。
边缘DL服务设想部署在蜂窝网络中的BS上,如[264]中所实现的。因此,边缘管理和维护需要从多个角度(包括通信角度)进行优化。许多工作集中在DL在无线通信中的应用[265]-[267]。然而,边缘的管理和维护应该考虑更多方面。
1) 边缘通信:当边缘节点为移动设备(用户)提供服务时,应解决边缘计算网络中的移动性问题。可以使用基于DL的方法来帮助设备和边缘节点之间的连接的平滑过渡。为了最小化每比特的能量消耗,在[268]中,最优设备关联策略由DNN近似。同时,在中央服务器上建立了一个网络环境的数字孪生,用于离线训练该DNN。为了最大限度地减少移动设备在整个移动轨迹中从边缘节点移动到下一个边缘节点的中断,MLP可用于预测给定位置和时间的可用边缘节点[259]。此外,确定移动设备应该与之关联的最佳边缘节点仍然需要评估移动设备与每个边缘节点之间的交互的成本(服务请求的延迟)。尽管如此,对这些交互的成本进行建模需要一个更有能力的学习模型。因此,实现了具有LSTM单元的两层堆叠RNN来对交互成本进行建模。最后,基于预测可用边缘节点的能力以及相应的潜在成本,移动设备可以与最佳边缘节点相关联,从而将中断的可能性降至最低。
为了在具有多种模式(服务于各种物联网服务)的通信场景中最大限度地减少长期系统功耗,即云无线电接入网络(CRAN)模式、设备到设备(D2D)模式和雾无线电接入点(FAP)模式,DQL可用于在整个通信过程中控制边缘设备的通信模式和处理器的开关状态[260]。在确定了给定边缘设备的通信模式和处理器的开关状态后,整个问题可以退化为远程无线电头(RRH)传输功率最小化问题并得到解决。此外,TL与DQL集成,以减少DQL训练过程中所需的与环境的交互,同时在没有TL的情况下保持类似的性能。
2) 边缘安全:由于边缘设备通常配备有限的计算、能量和无线电资源,与云计算相比,它们与边缘节点之间的传输更容易受到各种攻击,如干扰攻击和分布式拒绝服务(DDoS)攻击。因此,应该加强边缘计算系统的安全性。首先,系统应该能够主动检测未知攻击,例如,使用DL技术提取窃听和干扰攻击的特征[269]。根据检测到的攻击模式,系统确定安全防护策略。当然,安全保护通常需要额外的能量消耗以及计算和通信的开销。因此,每个边缘设备都应优化其防御策略,即在不违反其资源限制的情况下选择发射功率、信道和时间。由于难以估计边缘计算网络的攻击模型和动态模型,因此优化具有挑战性。
基于DRL的安全解决方案可以提供安全卸载(从边缘设备到边缘节点),以抵御干扰攻击[261]或保护用户位置隐私和使用模式隐私[270]。边缘设备观察边缘节点的状态和攻击特征,然后确定安全协议中的防御级别和关键参数。通过将奖励设置为抗干扰通信效率,如信号的信干噪比、接收消息的误码率和保护开销,可以训练基于DQL的安全代理来应对各种类型的攻击。
3) 联合边缘优化:边缘计算可以满足智能设备的快速增长以及大规模计算密集型和数据消耗型应用的出现。尽管如此,它也使未来网络的运营更加复杂[271]。在综合资源优化[16]方面管理复杂网络具有挑战性,特别是在考虑未来网络的关键推动者的前提下,包括软件定义网络(SDN)[272]、IoT、车联网(IoV)。
通常,SDN被设计用于将控制平面与数据平面分离,从而允许以全局视图在整个网络上进行操作。与边缘计算网络的分布式性质相比,SDN是一种集中式方法,将SDN直接应用于边缘计算网络具有挑战性。在[273]中,研究了一种面向智能城市的SDNenabled边缘计算网络。为了提高该原型网络的服务性能,DQL被部署在其控制平面中,以协调网络、缓存和计算资源。
边缘计算可以为物联网系统提供更密集的计算和延迟敏感的服务,但也给存储、计算和通信资源的高效管理和协同带来了挑战。为了最小化平均端到端服务延迟,基于策略梯度的DRL与AC架构相结合,可以处理边缘节点的分配、是否存储请求内容的决策、执行计算任务的边缘节点的选择和计算资源的分配[262]。
IoV是IoT的一个特例,主要关注联网车辆。与[262]中集成网络、缓存和计算的考虑类似,具有更稳健性能的双重DQL(即将双重DQL和双重DQL相结合)可用于协调可用资源,以提高未来IoV的性能[110]。此外,考虑到IoV中车辆的机动性,硬服务截止日期限制可能很容易被打破,而且由于高度复杂性,这一挑战往往被忽视或解决不足。为了应对移动性挑战,在[112]中,首先将车辆的移动性建模为离散随机跳跃,并将时间维度划分为时期,每个时期包括几个时隙。然后,根据精心设计的即时奖励函数,设计了一个关于时隙粒度的小时间尺度DQL模型,以纳入车辆机动性的影响。最后,针对每个时间历元提出了一个大尺度DQL模型。通过使用这种多时间尺度DRL,解决了移动性的直接影响和资源分配优化中难以承受的大动作空间的问题。
为了识别现有的挑战并规避潜在的误导性方向,我们简要介绍了“DL在边缘上的应用”的潜在场景,并分别讨论了与我们关注的四种使能技术相关的开放问题,即“边缘中的DL推理”、“DL的边缘计算”、“边缘的DL训练”和“优化边缘的DL”。
如果DL和edge能够很好地集成,它们可以为创新应用的开发提供巨大的潜力。为运营商、供应商和第三方提供新的商业机会和收入来源,仍有许多领域有待探索。
例如,随着越来越多的DL技术普遍嵌入这些新兴的应用程序中,引入的处理延迟和额外的计算成本使云游戏架构难以满足延迟要求。靠近用户的边缘计算架构可以与云一起形成混合游戏架构。此外,智能驾驶涉及语音识别、图像识别、智能决策等。智能驾驶中的各种DL应用,如碰撞警告,都需要边缘计算平台来确保毫秒级的交互延迟。此外,边缘感知更有利于分析车辆周围的交通环境,从而提高驾驶安全性。
在边缘设备中部署DL时,有必要通过模型优化来加速DL推理。在本节中,讨论了“边缘DL推理”在模型压缩、模型分割和用于优化DL模型的EEoI方面的经验教训和未来方向。
1) 不明确的性能指标:对于特定任务的边缘DL服务,通常有一系列候选DL模型可以完成该任务。然而,服务提供商很难为每个服务选择正确的DL模型。由于边缘计算网络的不确定性特征(变化的无线信道质量、不可预测的并发服务请求等),常用的标准性能指标(如top-k精度[138]或平均精度[164])无法反映DL模型推理在边缘的运行时性能。对于Edge DL服务,除了模型准确性之外,推理延迟、资源消耗和服务收入也是关键指标。因此,我们需要确定Edge DL的关键性能指标,定量分析影响这些指标的因素,并探索这些指标之间的权衡,以帮助提高Edge DL的部署效率。
2) EEoI的推广:目前,EEoI可以应用于DL[160]中的分类问题,但对于更广泛的DL应用,还没有推广的解决方案。此外,为了构建智能边缘并支持边缘智能,不仅应该探索DL,还应该探索将EEoI应用于DRL的可能性,因为如第八节所述,将DRL应用于边缘的实时资源管理需要严格的响应速度。
3) 混合模型修改:应考虑模型优化、模型分割和EEoI方面的协调问题。这些定制的DL模型通常独立使用,以实现“端边缘云”协作。在末端和边缘可能需要模型优化,如模型量化和修剪,但由于有足够的计算资源,云不需要冒模型准确性的风险来使用这些优化。因此,如何设计一种混合精度方案,即有效地将边缘中的简化DL模型与云中的原始DL模型相结合,是很重要的。
4) 训练和推理之间的协调:修剪、量化EEoI并将其引入训练的原始DL模型需要重新训练,以获得所需的推理性能。通常,自定义模型可以在云中离线训练。然而,边缘计算的优势在于它的响应速度,并且可能由于延迟的DL训练而被抵消。此外,由于边缘和动态网络环境中存在大量异构设备,DL模型的定制要求并不单调。那么,这种持续的模型训练要求是否合理,是否会影响模型推理的及时性?如何设计一种机制来避免这些副作用?
边缘智能和智能边缘需要一个完整的系统框架,涵盖数据采集、服务部署和任务处理。在本节中,我们将讨论“DL边缘计算”在构建完整的DL边缘计算框架方面面临的挑战。
1) 用于数据处理的边缘:如果没有数据采集,就无法实现在边缘上广泛部署的DL服务和用于优化边缘的DL算法。边缘架构应该能够有效地获取和处理边缘设备感测或收集的原始数据,然后将其提供给DL模型。
自适应地在边缘获取数据,然后将其传输到云(如[7]所述)是减轻边缘设备工作负载和减少潜在资源开销的自然方法。此外,最好进一步压缩数据,这可以缓解网络的带宽压力,同时可以减少传输延迟,以提供更好的QoS。现有的大多数工作只关注视觉应用[102]。然而,各种基于DL的服务的异构数据结构和特性还没有得到很好的解决。因此,为各种DL服务开发一种异构、并行和协作的边缘数据处理架构将是有帮助的。
2) 边缘DL服务的微服务:边缘和云服务最近开始从单片实体向数百个松散耦合微服务的图形进行重大转变[274]。执行DL计算可能需要一系列软件依赖性,并且需要一种在共享资源上隔离不同DL服务的解决方案。目前,部署在边缘用于托管DL服务的微服务框架还处于萌芽阶段[275],这是由于以下几个关键挑战:1)灵活处理DL部署和管理;2) 实现微服务的实时迁移,以减少迁移时间和用户移动性导致的DL服务不可用;3) 在云和分布式边缘基础设施之间协调资源以实现更好的性能,如第VI-B3节所示。
3) DL的激励和可信卸载机制:资源有限的终端设备上的大量DL计算可以卸载到附近的边缘节点(第VI-B节)。然而,仍然存在几个问题,1)应该建立激励机制来激励边缘节点接管DL计算;2) 应保证安全性,以避免来自匿名边缘节点的风险[276]。
区块链作为一个分散的公共数据库,存储参与设备之间的交易记录,可以避免篡改记录的风险[277]。通过利用这些特性,可以潜在地解决与计算卸载有关的激励和信任问题。具体来说,所有终端设备和边缘节点都必须首先向区块链存款才能参与。终端设备请求边缘节点的帮助进行DL计算,同时向区块链发送“需要”交易并获得奖励。一旦边缘节点完成计算,它就会将结果返回给终端设备,并向区块链发送“完整”的交易。一段时间后,其他参与的边缘节点也执行卸载的任务,并验证先前记录的结果。最后,对于激励,首先记录的边缘节点赢得游戏并获得奖励[278]。然而,这种关于区块链边缘的想法仍处于初级阶段。以太坊[279]等现有区块链不支持执行复杂的DL计算,这就提出了调整区块链结构和协议以打破这一限制的挑战。
4) 与“优化边缘的DL”集成:边缘计算网络中的终端设备、边缘节点和基站有望在未来运行各种DL模型并部署相应的服务。为了充分利用边缘计算的去中心化资源,并与现有的云计算基础设施建立连接,将计算密集型DL模型划分为子任务,并在边缘设备之间有效地卸载这些任务以进行协作至关重要。由于边缘DL的部署环境通常是高度动态的,边缘计算框架需要出色的在线资源编排和参数配置来支持大量的DL服务。异构计算资源、通信和缓存资源的实时联合优化以及高维系统参数配置至关重要。我们在第八节中介绍了使用DL技术优化边缘计算框架(网络)的各种理论方法。尽管如此,目前还没有相关的工作来深入研究在实际边缘计算网络或测试平台中部署和使用这些DL技术进行长期在线资源编排的性能分析。我们认为,“DL的边缘计算”应该继续关注如何将“DL优化边缘”集成到边缘计算框架中,以实现上述愿景。
与边缘的DL推理相比,边缘的DL训练目前主要受到边缘设备性能较弱以及大多数边缘DL框架或库仍然不支持训练的限制。目前,大多数研究都处于理论层面,即在边缘模拟DL训练的过程。在本节中,我们指出了“边缘DL培训”中的经验教训和挑战。
1) 数据并行性与模型并行性:DL模型是计算和内存密集型的。当他们
随着深度的加深和规模的扩大,用单一的设备获取它们的推理结果或对它们进行良好的训练是不可行的。因此,在数据并行性、模型并行性或它们的组合方面,在数千个CPU或GPU核上以分布式方式训练大型DL模型(第III-C节)。然而,与在云中通过总线或交换机连接的CPU或GPU进行并行训练不同,在分布式边缘设备上执行模型训练应进一步考虑无线环境、设备配置、隐私等。
目前,FL只将整个DL模型复制到每个参与的边缘设备,即以数据并行的方式。因此,考虑到边缘设备的有限计算能力(至少目前),划分大规模DL模型并将这些分段分配给不同的边缘设备进行训练可能是一个更可行和实用的解决方案。当然,这并不意味着放弃FL的本地数据并行性,相反,这对混合数据并行性和模型并行性提出了挑战,特别是对于在边缘训练DL模型,如图21所示。
2) 训练数据来自哪里?:目前,大多数边缘的DL训练框架都是针对监督学习任务的,并用完整的数据集测试它们的性能。然而,在实际场景中,我们不能假设边缘计算网络中的所有数据都被标记并有正确性保证。对于DRL等无监督学习任务,我们当然不需要过于关注训练数据的生成。例如,DRL所需的训练数据由观察到的状态向量和通过与环境交互获得的奖励组成。这些训练数据可以在系统运行时自动生成。但是,对于更广泛的监督学习任务,边缘节点和设备如何找到用于模型训练的确切训练数据?普通FL的应用是使用RNN进行下一个单词预测[199],其中训练数据可以与用户的日常输入一起获得。尽管如此,对于涉及视频分析的广泛边缘DL服务,它们的训练数据来自哪里。如果所有训练数据都被手动标记并上传到云数据中心,然后由云分发到边缘设备,那么显然违背了FL的初衷。一种可能的解决方案是使边缘设备能够通过相互学习“标记数据”来构建其标记数据。我们认为,未来应该首先明确训练数据的产生和DL模型在边缘训练的应用场景,并讨论在边缘训练DL模型的必要性和可行性。
3) 边缘的异步FL:现有的FL方法[198]、[199]专注于同步训练,只能并行处理数百个设备。然而,这种同步更新模式可能无法很好地扩展,并且鉴于FL的两个关键特性,特别是1)不频繁的训练任务,这种模式是低效和不灵活的,因为边缘设备通常具有较弱的计算能力和有限的电池续航能力,因此无法承担密集的训练任务;2) 与典型的云中分布式训练相比,边缘设备之间的通信有限且不确定。
因此,无论何时全局模型正在更新,服务器都被限制为从可用边缘设备的子集中进行选择以触发训练任务。此外,由于计算能力和电池续航能力有限,任务调度因设备而异,因此很难在每个历元结束时同步选定的设备。某些设备在应该同步时可能不再可用,因此服务器必须确定超时阈值才能丢弃落后的设备。如果存活设备的数量太少,服务器必须丢弃包括所有接收到的更新在内的整个epoch。FL中的这些瓶颈可以通过异步训练机制[280]-[282]来解决。在资源有限的情况下,在每个培训期充分选择客户也可能有所帮助。通过为客户端设置下载、更新和上传DL模型的特定截止日期,中央服务器可以确定哪些客户端执行本地训练,以便在每个周期内聚合尽可能多的客户端更新,从而允许服务器加速DL模型的性能改进[283]。
4) 基于迁移学习的训练:由于资源限制,在手机等边缘设备上训练和部署计算密集型DL模型具有挑战性。为了便于在这种资源受限的边缘设备上进行学习,可以利用TL。例如,为了减少训练数据量并加快训练过程,可以采用使用未标记数据在边缘设备之间传递知识[284]。通过在不同传感模态的边缘设备学习中使用跨模态转移,可以分别大大减少和加速所需的标记数据和训练过程。
此外,KD作为TL的一种方法,也可以被利用,这要归功于几个优点[136]:1)使用来自训练有素的大型DL模型(教师)的信息来帮助轻量级DL模型(学生)更快地收敛,这些模型有望部署在边缘设备上;2) 提高学生的准确性;3) 帮助学生变得更全面,而不是被某组数据过度拟合。尽管[136]、[284]的结果显示了一些前景,但还需要进一步的研究来将基于TL的训练方法扩展到具有不同类型感知数据的DL应用。
已经有许多尝试使用DL来优化和调度边缘计算网络中的资源。在这方面,有许多潜在的领域可以应用DL,包括在线内容流[285]、路由和流量控制[286][287]等。然而,由于DL解决方案并不完全依赖于网络和设备的精确建模,因此找到可以应用DL的场景并不是最重要的问题。此外,如果应用DL来优化实时边缘计算网络,DL模型或DRL算法的训练和推理可能会带来一定的副作用,例如训练数据传输所消耗的额外带宽和DL推理的延迟。
现有工作在高层主要关注“DL优化边缘”的解决方案,而在底层却忽视了实际可行性。尽管DL表现出其理论性能,但应仔细考虑DNN/DRL的部署问题(如图22所示):
通过这种方式,每个代理根据其局部不完全观测来训练自己的策略,并且所有参与的代理协同工作来优化边缘计算网络。此外,跨端、边缘和云的边缘计算网络的结构实际上是一个巨大的图,它包括大量潜在的结构信息,例如设备之间的连接和带宽。为了更好地理解边缘计算网络,GNN可能是一种很有前途的方法,它专注于从图结构中提取特征,而不是从二维网格和一维序列中提取特征。
DL作为人工智能的关键技术,与边缘计算有望相互促进。本次调查全面介绍和讨论了边缘智能和智能边缘的各种应用场景和基本赋能技术。总之,将DL从云扩展到网络边缘的关键问题是:在网络、通信、计算能力和能耗的多重约束下,如何设计和开发边缘计算架构,以实现DL训练和推理的最佳性能。
随着边缘计算能力的提高,边缘智能将变得普遍,智能边缘将对提高边缘智能的性能起到重要的支撑作用。我们希望这项调查将增加对DL/Edge集成的讨论和研究,从而推动未来的通信应用和服务。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。