论文地址《Distributed Artificial Intelligence Empowered by End-Edge-Cloud Computing: A Survey》
摘要
- 对端边缘云计算(end-edge-cloud computing,EECC)赋能的分布式人工智能(DAI)进行了全面的研究,其中端侧计算、边缘计算和云计算的异构能力被精心设计来满足由资源密集型和分布式人工智能计算提出多样化的需求。
- 首先介绍了几种主流计算范式以及EECC范式在支持分布式AI方面的好处,以及分布式AI的基础技术。
- 然后,我们对最先进的优化技术进行整体分类,这些技术由 EECC 授权,分别促进分布式训练和推理。
- 之后,我们指出了 DAI-EECC 架构中的安全和隐私威胁,并根据威胁回顾了每种启用防御技术的优点和缺点。
- 最后,我们介绍了 DAI-EECC 实现的一些有前景的应用,并强调了沉浸式性能采集的一些研究挑战和未解决的问题。
Ⅰ、引言
-
分布式人工智能(DAI)的必要性:自动驾驶、医疗对延迟和隐私的需要。
-
EECC
- 组成:终端设备+边缘服务器+中心云服务器
- 通过编排分布式异构计算资源,提供新的使能技术支持分布式AI,提供分布式、低时延、可靠的智能服务。
- 优势:1)强大的资源支持; 2)快速的服务响应; 3)按需分布式AI计算; 4)安全数据情报; 5)丰富的应用
-
EECC挑战
- 频繁的模型参数交换,引起高延迟、繁重的网络资源消耗和隐私问题。
- 终端设备因资源限制难以完成推理。
- EECC架构是一个开放系统,其中异构终端设备连接到边缘服务器和云数据中心。它在数据存储、计算、传输、系统管理等方面带来了多种安全和隐私威胁。
- 如何在丰富的应用中部署 DAI-EECC 辅助系统具有挑战性。
-
现有工作总结
- 大多数调查都集中在EECC编排或边缘云智能上,而对EECC支持的分布式人工智能的调查仍处于起步阶段。
- 分布式AI计算的基本原理尚未完善。
- 分布式AI赋能的EECC隐私和安全威胁并未全面总结。
- 大多数现有工作主要集中在两层架构的应用程序(cloudedge、edge-end),需要更多的研究工作来支持 EECC 赋能的应用程序。
Ⅱ、分布式人工智能的计算范式和基础知识
A.计算范式
- 云计算CC
- 边缘计算EC
- EC 利用网络边缘的分布式资源(例如路由器、网络网关和基站)来提供及时且上下文感知的服务,为 CC 提供补充,使其仅负责延迟不敏感、资源密集型或计算密集型服务。
- EC延伸出了cloudlet、fog computing、mobile edge computing、edge intelligence。
- 端边云计算EECC
- EECC架构如下图所示
- End Layer:终端设备不仅可以配备基本功能(例如感知和数据收集),还可以配备智能操作,例如数据预处理和局部深度神经网络(浅层DNN)推理。通过本地处理,只需将经过压缩处理的数据传输到上层计算设备。
- Edge Layer:边缘层主要负责认证、边缘推理、模型选择、请求转发等功能。
- Cloud Layer:云层一般负责数据存储、设备管理、控制、复杂模型训练等。
B.AI和DNN
介绍了常见的DL,以及训练和推理过程,略。
C.分布式学习算法
- 为什么分布式?
- 考虑到单个设备的计算能力、内存和存储等资源有限,数据样本或DNN模型在训练之前首先被分割成几个部分。
- 分布式训练定义
- 在分布式AI训练过程中,使用N台工作机负责计算随机梯度,然后将其发送到参数服务器j进行分布式随机优化。每个参数服务器 j 负责存储模型的子集 θ[j],并对 θ[j] 执行更新
- 所有工作机器都以并行方式计算。总的来说,并行技术主要有数据并行、模型并行、混合并行三种,将在第II-E节详细介绍。
- 下面介绍训练算法,包括Sync-SGD、Asyn-SGD和gossip SGD。
- Sync-SGD
- 训练过程中,所有计算节点等待其他节点完成每轮的梯度计算。然后参数服务器PS累积梯度并生成新的全局参数更新。最后,计算节点下载更新后的模型并开始下一次迭代。
- 缺点:Sync-SGD虽然可以保证收敛,但由于节点的紧耦合特性,计算速度会因落后者而减慢,导致收敛时间较长。
- Chen et al.[26]提出了一种分布式训练加速方案,称为使用备份工作者同步优化。
- 它在梯度聚合过程中仅聚合梯度的子集,以防止掉队者减慢整体计算效率,同时使用备份工作者来避免梯度过时。
- 然而,如果存在持久的掉队者,此方法效率不高,因为一部分数据将会丢失。
- Ferdinand et al. [28]固定了计算时期的持续时间,并根据每个时期结束时完成的工作量对每次更新进行加权。这项工作对于持久性和非持久性落后者都具有鲁棒性,并且与[26]相比,它具有更快的收敛速度。
- Asyn-SGD
- 可以通过消除节点之间的耦合关系、减少节点之间的依赖来提高分布式AI训练的迭代速度。
- 优点:与Sync-SGD相比,Asyn-SGD对单点故障的鲁棒性更强。
- 缺点:稳定性和准确性问题。由于更新全局模型参数时节点之间没有同步,某些节点可能会使用过时的全局模型权重来计算梯度,从而导致模型收敛缓慢且无法保证。
- Zhang et al.[29]提出Asyn-SGD 算法的一种变体,其中学习率根据梯度陈旧度进行调整。同时设计了延迟补偿Asyn-SGD,它利用了梯度函数的泰勒展开以及损失函数Hessian矩阵的高效逼近。
- gossip SGD
- 巨大的通信开销阻碍了大规模分布式训练的可扩展性[32]。一种基于随机gossip算法的通信效率更高的分布式训练方法可以加速分布式训练,称为Gossip SGD(GoSGD)。
- GoSGD 通过在多个线程之间以点对点的方式交换参数信息来训练 DNN 模型。
- GoSGD包括两个步骤:梯度更新和混合更新。
- 在每次迭代中,每个工作节点在梯度更新步骤中对其数据执行 SGD,然后在混合更新步骤中将其权重发送到其他随机选择的节点。
- 在 GoSGD 中,每个节点可以从多个节点接收信息,但只能发送一次更新。 GoSGD 通过用 gossip 聚合方法替代 Sync-SGD 的 all-reduce 集体操作。
- 进一步优化
- [36]实现了一种具有压缩通信的线性收敛Gossip算法。
- [32]在 GoSGD 中添加了周期性全局平均,以缓解分布式训练中收敛速度缓慢的问题。
- [37]将 GoSGD 与随机梯度更新相结合。该方法可以通过减少通信开销和减轻掉队者的影响来加速 DNN 的训练。
- Sync-SGD
D.分布式学习框架
- 表3总结了主流的分布式AI训练框架,包括Tensorflow、Pytorch、Keras等。这些框架集成了不同的并行机制。
E.分布式学习阶段
- 分为训练和推理两个阶段
1)训练
- 分布式训练的优点
- 多节点协作实现复杂模型的快速训练过程
- 强大的扩展能力,应对复杂场景
- 避免单点故障
- 下面我们介绍几种主要的并行技术
- 数据并行
- 将数据进行分区,并将每个批次分发到多个分布式计算节点。
- 通过数据并行,数据样本可以跨终端设备、边缘服务器和云服务器的三层架构分配,从而加快实时应用程序的计算速度。
- 模型并行
- 将模型拆分为多个子模型并将它们放置在多个节点(或 GPU)上的方法,其中每个节点负责模型训练的部分内容。
- 对于模型并行性,每个GPU无法独立更新,需要与其他节点配合。
- 根据神经网络的结构特点,模型并行方法可分为水平分层、垂直分层和随机模型划分。
- 水平分层:是指一个工作节点负责一层或多层的计算,节点之间形成计算模式管道,在神经网络各层之间传播误差和梯度下降。适用于多层神经网络。
- 垂直分层:同一层的神经元被分配到分布式工作节点,单个节点需要等待相邻节点完成计算并相互传播梯度更新。适用于单个神经网络层中有多个神经元的情况。
- 随机模型划分
- 对于大型神经网络来说,水平和垂直划分的通信成本非常高,这对训练加速造成严重的瓶颈。随机模型划分的提出就是为了尝试解决该问题。
- 核心思想:从原来的大规模网络中分割出小规模的子网络(称为骨架网络),然后在训练过程中根据模型性能更新骨架网络中的节点,直至收敛。
- 当以分布式方式训练深度学习模型时,节点之间频繁的梯度交换不可避免地消耗大量的网络资源。因此,梯度压缩可用于降低通信成本,即梯度稀疏化[58,59]和梯度量化[60,61,62]。
- 混合并行
- 顾名思义,将数据并行和模型并行结合。将数据划分输入不同的工作节点,每个工作节点又使用模型并行,由多个GPU并行组成。
- 例如,Geng et al.[65]结合了垂直数据并行化和水平模型并行化,提出了一种新颖的框架,为大规模分布式人工智能实现更高的性能和更好的可扩展性。
- 数据并行
2)推理
- 在本节中,我们讨论 EECC 驱动的分布式推理,包括模型推理模式、关键性能指标和几种使能技术。
- 根据推理的位置,分为以下几种
- End Inference
- 考虑到通信延迟和隐私问题,终端层的深度学习推理备受关注。然而,终端设备通常受到资源限制。
- 因此,需要通过模型压缩和加速来优化DNN模型,在计算资源消耗和模型性能之间做出权衡。在第Ⅲ-C节中,我们将介绍末端推理的优化技术。
- Edge Inference
- 在边缘推理中,设备将数据发送到边缘服务器,然后边缘服务器根据部署的DNN模型进行推理。
- 边缘推理可以保证实时应用程序可接受的延迟。然而,推理性能取决于设备与边缘服务器之间的网络状况以及边缘服务器的计算负载。
- End-Edge Co-Inference
- 端边协同推理,根据容量和能力进行DNN模型划分并执行局部模型推理。终端进行局部推理后,将中间结果和剩余推理卸载到边缘服务器,边缘服务器完成后再返回设备。
- 更加灵活,可以利用分布式资源进行计算。
- End-Edge-Cloud Co-Inference
- 与端边协同推理类似,添加了云端。如果边缘节点难以处理给定的任务输入,将转向部署在云端的更强大的深度学习模型。
- End Inference
Ⅲ、端边云分布式学习优化
- 第Ⅲ节主要介绍EECC赋能分布式学习优化性能的关键性能指标、对目前训练和推理SOTA优化方法的整体分类。
A.关键性能指标
- 准确率:指推理得到正确预测的输入样本数与输入样本总数的比值。受模型结构、样本数量和设备能力影响。
- 时延:指整个推理过程的时间消耗,包括预处理、模型推理、网络传输、后处理。一些实时智能移动应用通常具有严格的延迟要求。受到很多因素的影响,包括网络条件、推理模式、计算设备的能力等等。
- 能源成本:DNN模型推理的计算和通信带来大量的能量消耗。与边缘服务器和云数据中心相比,终端设备通常受到电池限制。受DNN模型大小和计算资源的影响。
- 通信成本:显著影响推理性能。有必要最大限度地减少DNN模型推理过程中的开销。通信成本主要取决于DNN模型的大小。
- 内存占用:高精度DNN模型包含数百万个参数,并且需要大量硬件资源。在移动设备中,CPU和GPU通常会争夺共享且稀缺的内存带宽。内存占用主要受原始DNN模型的大小和加载大量DNN参数(峰值内存) 的方式影响。
- 隐私:指对用户隐私信息的保护。分布式学习过程中的数据隐私保护程度也是重要的评价指标。
B.分布式训练优化技术
1)Splitting Computing
- SC将大型DNN分为Head头模型和Tail尾模型,分别在移动设备和边缘服务器或云服务器上执行。它可以通过在DNN训练中建立面向任务的压缩方案来减少数据传输延迟。
- 现有的 SC 方法包括两类:(1) SC without network modification 和 (2) SC with bottleneck injection。
- SC without network modification
- 没有网络修改,即划分时不改变网络的结构和参数,仅将其中一层作为划分点分裂。该类别主要关注图像分类等计算机视觉任务。
- 不可避免的问题是选择合适的分裂点,使得分布式DNN训练能够满足各种类型的成本要求。关于该问题有以下相关研究
- [71]提出将深度网络(例如 CNN 模型)拆分为子网络树,这可以实现跨多处理器的简单模型并行训练。
- [72]考虑了移动设备能耗约束、云服务器负载约束和服务质量要求下的DNN分裂策略。在层粒度上提供了前向和后向传播的优化公式,以实现高效的DNN协作计算。
- [73]设计了一种对分割DNN层的激活进行编码的技术,该技术适用于跨手机或边缘设备和云的对象检测和分类任务。
- 然而,关键问题是朴素的SC方法依赖于自然瓶颈的存在,即中间层的输出张量大小小于输入大小。 如果模型的早期层没有这种自然瓶颈,那么朴素的SC方法对大多数智能任务的性能提升失效。
- SC with bottleneck injection
- 为了解决上述问题,通过修改DNN模型的架构来引入人为瓶颈。
- 如上图中的b,模型由三个部分组成:M_E,M_D,M_T。M_E为头模型,M_D 和$M_T 的串联为尾模型。M_E和M_T$之间的层是注入瓶颈。
- [77]和[78]的作者首先提出通过在DNN模型的早期层设计相对较小的瓶颈来改变现有的DNN架构,而不是将压缩技术(例如量化和自动编码器)应用于模型。
- 根据这些研究,Matsubara 和 Levorato [79] 提出将DNN分为头模型和尾模型,他们在头部模型的早期层中引入了瓶颈层以实现网络内压缩。
- SC的局限性
- 一、SC方法仅针对计算机视觉任务进行讨论,而忽略了多个任务模型的组合。
- 二、少有研究考虑分布式训练的准确性和具体指标(如通信延迟和能耗)之间的权衡,这在实际场景中很重要,值得进一步研究。
2)Compression
- 压缩是模型训练过程中有效的优化技术,包括梯度稀疏、梯度量化、权重剪枝、模型量化、自动压缩和轻量级模型设计。可以认为前两个是基于梯度的压缩,后者是基于模型的压缩。
- 梯度稀疏GS
- 定义:通过再聚合时选择部分梯度来减少通信延迟,可以实现任意压缩比。
- 大梯度和耗时的计算限制了多节点训练的可扩展性。深度梯度压缩(DGC)[58]被进一步提出,通过使用两次Top-k稀疏化来减少通信带宽消耗。
- 然而,DGC在稀疏阈值选择时采用启发式方法,并且两次Top-k操作非常耗时。[59]改进了稀疏阈值选择策略。假设梯度服从高斯分布,然后根据一定的压缩比选择阈值。稀疏操作的耗时显著减小。
- 然而,梯度服从高斯分布的强先验条件可能不满足,从而导致实际压缩比与预定压缩比之间存在差异。Abdelmoniem[101]提出了基于稀疏分布的压缩,假设梯度对应于稀疏分布。然后提出了一种多阶段阈值估计方法以准确地获得阈值。
- 梯度量化GQ
- 定义:通过用低精度值替换浮点梯度来减少通信带宽。
- Wen[60]开发了TernGrad,它使用三元梯度量化,即三个数值级别-1、0、1来加速分布式深度学习。
- 受到随机量化和量化梯度无损代码的启发,Alistarh[61]引入了量化SGD,通过平滑地权衡通信带宽和收敛时间来压缩梯度更新。
- 在[62]中,作者在无线网络边缘的数字SGD中利用了二进制梯度量化来减少高维参数,使得梯度可以在有限的信道带宽下传输。
- 权重剪枝WP
- 定义:它通过删除冗余连接同时保持准确性。
- 我们可以根据不同的目标来确定剪枝级别。同时,剪枝标准包括绝对值、不同范数、线性判别分析(LDA)、余弦距离、熵[102]和相关矩阵。
- 模型量化MQ
- 定义:MQ是指用低位数字代替浮点数,从而显着减少内存占用并加速计算。
- 常见的二元量化和三元量化,但是往往会导致次优解。
- Oh[107]引入了数字抽象数据类型,并提出了DNN的自动量化框架。具体来说,该框架封装了数字的内部表示,然后重建该数字的新颖表示(类型、位宽和偏差)。与 32 位浮点数相比,它可以将参数大小减少多达 16 倍,同时精度损失 1%。
- 然而,由于硬件资源、延迟和能耗的限制,很难快速确定移动DL网络中各层的量化比特精度[95]。
- 协同设计和自动压缩
- 有时单一的压缩技术可能不足以满足不同的要求。因此,不同压缩技术的组合有助于为移动应用程序实现快速、准确的DNN模型。例如深度压缩[108]、Octave深度压缩[109]和联合剪枝和量化[110]。
- 同时,传统的模型压缩方法依赖于手工设计的启发式方法和基于规则的测量,这是次优且耗时的。因此部分工作聚焦于自动化模型压缩,超越了基于规则的模型压缩方法[96,111]。
- 腾讯设计了自动化深度学习模型压缩框架 PocketFlow [97],以支持模型剪枝和量化协同设计。
- 轻量化模型设计
- DNN 通常通过拓宽网络结构来提高 DL 网络性能。但它导致内存和CPU/GPU需求量大、推理速度慢、功耗高等问题,难以应用于实时场景和移动设备。轻量级神经网络是一种可行的解决方案,通过设计具有有限内存和计算复杂度的DNN模型,同时保证高精度。
- 有几种主流模型包括MobileNet V1 [112]、V2 [113]、V3 [114]、SqueezeNet [115]、ShuffleNet [116]、Xception [117]、GhostNet [118]和PP-LCNet [119]。通过采用最先进的技术,例如深度可分离卷积、逐点组卷积、通道重排和火模块,这些轻量级模型显着促进了设备上的高效推理[120]。
3)Federated Learning
略
4)Few-Shot Federated Learning
略
C.分布式推理优化技术
1)Model Acceleration
- 尽管模型压缩可以促进移动设备上的 DNN 推理,但当前在低功耗和资源受限的移动或边缘设备(例如智能手机)上部署 DNN 的解决方案仍然效率低下。为了应对这一挑战,模型加速被提出。
- 分为三种,基于硬件加速、基于软件加速和基于软硬件协同设计。
- 硬件加速HA
- HA是充分利用硬件计算能力来提高模型推理效率的底层优化机制。对于大多数移动设备来说,CPU 和 GPU 是用于模型加速的通用处理器。
- HA常见的例子有,Google开发的TPU[153]、海思神经处理单元NPU[154]、field-programmable gate array (FPGA)[155]。
- CPUs/GPUs:充分利用设备上的异构硬件资源可以大大降低DL模型推理的延迟和能耗。
- 移动CPUs上的深度学习推理存在两个问题:由于任务划分不当、任务分配不平衡以及对模型行为的不了解, 导致性能可扩展性差和能源效率低下。为了解决这些问题,作者提出了AsyMo[156],综合考虑了模型结构和CPU的硬件不对称特性。
- 移动GPUs也面临着由于计算工作负载划分不当而导致效率低下的问题。Jiang[157]提出了一种基于启发式的工作负载划分方法,考虑了移动设备上的模型性能和计算开销。
- 此外,移动GPUs还面临着巨大的内核启动开销[158]。为了最大限度地利用移动GPUs,并发执行异构算子[159]和利用激活稀疏性[160]是有效的方法。利用CPU和GPU的异构计算能力,可以在移动设备上部署实时多人姿势估计和移动动作识别[161]。
- FPGA
- 一些最先进的DNN被设计为采用网络稀疏性和紧凑数据类型,引入不规则并行性和自定义DNN结构。由于通用处理器[162]、[163]的冗余设计,在GPU上执行DNN模型变得困难。基于FPGA的硬件因其特定的可定制性而被证明非常适合DNN加速架构。
- FPGA在边缘计算中的吞吐量、并行性和能源效率方面优于 GPU,因为它支持任意卷积窗口大小的CNN加速 [164]。
- 研究人员为不同结构的 CNN 设计了定制的FPGA架构,包括ConvNet[165]、基于FPGA的轻量级 CNN 覆盖处理器(例如MobileNet、ShffleNet)[166]、基于FPGA的反卷积神经网络加速器。
- 软件加速SA
- 例如Lane[167]提出了DeepX,一种深度学习软件加速器。DeepX将DNN分解为各种类型的单元块,并将它们分配给本地设备处理器(例如GPU、LPU和CPU)。作者还设计了两种资源控制算法(即运行时层压缩和深度架构分解)来在移动平台上执行原则性的资源扩展,以最大限度地提高能源效率。
- 在[168]中,异构计算框架RenderScript和商用Android设备上的硬件相结合,以加速深度学习模型的执行。通过Renderscript,DeepAction[169]将图像匹配器执行卸载到 GPU 上以进行加速。
- 硬件/软件协同设计
- 依靠单一软硬件的设计很难在较高的模型性能要求和有限的硬件资源之间取得平衡。因此,为了高效的DNN推理,需要硬件和软件协同设计。
2)Model Partitioning
- 将原始数据上传到远程服务器会导致巨大的通信开销,为了减少端到端延迟并提高能源效率,可以将深度学习模型分割成多个分区,然后分配给分布式计算设备。
- 模型划分包括三种:服务器和设备间划分、设备间的水平和垂直划分。
- 模型划分的挑战在于如何选择神经网络层的最佳划分点。为了应对这一挑战,必须考虑几个关键因素:i) 边缘设备的资源容量; ii) 中间数据的大小。
- 相关研究
- Wang[181]寻找基于强化学习的模型划分策略以适应边缘平台的资源能力。
- 为了在保证模型精度的同时减少传输的中间数据的大小,可以利用知识蒸馏来压缩在边缘运行的DNN子集[182]。
- Banitalebi-Dehkordi[183]研究了联合优化问题,包括用于设备边缘协同推理的最佳模型放置和在线模型分割。
- 在[184]中,最优DNN分区被表述为有向无环图中的最小割问题,并且作者提出了一种执行延迟测量方法来估计推理延迟。
- 通过利用DNN中中间特征的强稀疏性和容错特性,BottleNet++[185]被提出来实现高压缩比。
3)Model Caching
- 模型缓存用于加速模型推理,即通过在终端设备上缓存预训练的低复杂度模型和在边缘或云服务器缓存高复杂度模型,在延迟和预测精度之间实现良好的权衡。
- 模型缓存不是拆分模型,而是依赖于完整模型,并根据本地、边缘和云计算节点的计算能力以及延迟要求在运行时决定缓存决策。
- 如何在每个边缘位置有效管理和利用深度学习模型以提供推理性能保证是一个挑战。
4)Model Early Exiting
- 模型早期退出提供了一种快速解决方案,通过将 DNN 的各个部分映射到具有多个输出节点的分布式计算层次结构上来满足不同的推理要求。只要满足目标精度阈值,本地设备或边缘设备上的模型就会返回结果,否则边缘会将剩余的推理任务卸载到云端。通过联合推理,模型提前退出可以最大限度地减少通信和资源使用。
- 相关研究
- 结合早退机制和模型划分可以显着加速端边 DNN 协同推理,同时实现高精度 [192]、[193]。结合早退机制和中间特征压缩还可以有效加速端边协同推理[194]。
- 然而,选择最佳退出点具有挑战性,因为无法提前知道每个点的延迟和准确性。
- Ju[195]使用multi-armed bandits来学习基于移动的 DNN 推理的最佳退出点。
- Wang[196]设计了基于动态规划的调度提前退出算法,以多项式计算复杂度制定最优计划。
- Autodidactic Neurosurgeon[197]基于上下文老虎机bandit学习算法,可以动态自动学习最佳分割点。
- 然而目前大部分研究关注的是CNNs,而其他模型的早退机制仍然有待探索。
5)Model Multi-Tenancy
-
随着基于深度学习的应用的普及,智能手机、无人机、智能驾驶汽车和增强现实耳机等移动设备可能会同时运行多个DNN模型。例如,增强现实头戴设备需要运行对象检测、语音识别和动作识别的DNN模型。这些模型会争夺有限的资源,因此,我们需要一种模型多租户技术来为这些并发应用程序动态分配资源。
-
通常,可以通过concurrent model executions (CME) and dynamic model placements (DMP) 来实现。
- DMP允许在边缘设备的GPU和TPU资源上部署DL模型,以实现AI多租户。
- CME支持多个深度学习模型的并发执行,以提高深度学习推理的整体效率。
-
相关研究
- NestDNN [200] 是一个用于连续移动视觉的资源感知多租户设备上深度学习框架。它考虑运行时资源的动态性,并为每个深度学习模型提供灵活的资源精度权衡,以使模型资源需求适应可用的运行时资源。
- HiveMind [201] 旨在优化多模型并发工作负载,在 GPU 上执行优化的有向无环图,并尝试运行并发工作负载。
- MainStream [202] 被提出来动态调整并发应用程序之间的工作共享程度。这种共享机制是通过从通用 DNN 模型迁移学习来实现的,从而减少了计算时间。
- 由于可穿戴设备和边缘设备的运行时内存有限,DeepEye [203] 使用了推理软件管道,将计算敏感的卷积层与全连接层的执行交错。除此之外,还可以通过内存缓存方案和模型压缩进一步最小化内存。
D.总结与经验教训
- 选择合适的优化指标:我们可能很难为每种服务质量选择完美的优化技术。因此,我们需要定量分析影响服务性能和资源约束的因素,探索不同指标之间的权衡,以帮助提高智能服务部署的效率。
- 不同优化策略的协调:大多数优化策略只能优化一项指标。对于一些复杂的任务,例如元界和自动驾驶,应该考虑不同优化策略的协调,以同时改进多个指标。
- 首选性能指标
Ⅳ、DAI-EECC 的安全和隐私
A.主要挑战
1)Data Storage
- 与强大的云数据中心相比,端层和边缘层对攻击的防御能力有限。
- 此外,EECC架构还面临着器件稳定性问题。具体来说,边缘节点很容易因不确定的外部因素而崩溃,导致数据丢失或篡改。
- 因此,保证云、边、端数据的完整性和可用性是一个挑战。
2)Computing
- 从纵向来看,EECC架构下不同层级的设备都有其独特的优势,例如边缘层的位置邻近优势和云层的弹性计算。
- 从横向来看,EECC系统可以提供高效、多场景协作的计算服务。
- 由于各级设备属于不同的利益相关者,协作计算的潜力由于不信任问题而无法充分发挥。因此,如何构建可信计算框架来提供可靠、安全的服务是一个迫切需要解决的问题。
3)Transmission
- EECC服务是由多个节点协作提供的,多方数据共享需要安全的访问控制机制来保证隐私和安全。然而,由于复杂网络环境下的各种攻击,数据传输的安全性无法得到保证。
- 需要探索安全可靠的数据传输策略,设计激励机制鼓励节点间数据共享,形成可信、活跃的数据共享环境。
4)System Management
- EECC架构是一个开放系统,异构终端设备连接到边缘服务器和云数据中心。
- 边缘环境中的设备管理(例如物联网设备的动态访问、离开和身份识别)需要安全的管理和审计方法。传统的中心化管理架构不可避免地面临中心节点故障的风险。
- 因此,设计安全可靠的系统监管和设备审核机制值得研究。
B.安全威胁
- 分布式场景比集中式学习具有更高的安全风险,因为大量计算和存储资源有限的分布式终端设备更容易受到攻击。
- 安全威胁存在于存储、计算、传输和管理各个阶段。
1)Data Security
- 数据中毒是指攻击者将恶意数据注入训练数据集中,使目标模型的效果降低[205]、[250](例如标签翻转)。
- 例如,攻击者用错误的标签替换了目标标签。在分布式训练中,攻击者可以相互串通,将恶意样本注入到其本地模型中,从而在云端或边缘端的全局模型聚合造成巨大灾难
- 此外,攻击者还可以通过GAN生成与目标数据相似的假样本。
2)Model Security
- 与数据中毒不同,模型中毒直接改变局部模型参数或梯度更新,使全局模型最大程度地偏离正确方向[208、215]。
- 模型中毒可以分为无目标攻击和有目标攻击。
-
无目标攻击:类似于Byzantine攻击,恶意者通过任意修改数据或模型参数来破坏全局模型。
-
有目标攻击:此类攻击也称为后门攻击,攻击者为具有某些特定属性或特征的样本设计针对性的标签,然后用这些后门数据集训练后门模型[214、216] 。经过训练的后门模型可以正确预测样本,但一旦遇到触发数据,就会输出错误的结果。
- 例如将所有绿色汽车识别为鸟类。
-
3)Network Security
- 分布式AI依靠网络层连接大量的终端设备和边缘设备。随着设备数量的不断增加,网络的规模和数量也随之增加,安全问题也变得更加严重。
- 常见的网络攻击包括physical attacks [218], distributed denial of service (DDoS) [219], and Man-in-the-Middle [220]。
- 在分布式环境中,由于大量设备地理分布密集且计算资源有限,这些攻击更容易实现。
4)Access Security
-
在传统的计算环境中,数据存储在中央服务器中,用户信息和访问服务都在企业的可信边界内。在分布式架构中,数据存储在大量分散的节点上。
-
外部对手可以通过网络钓鱼、密码猜测或跨站点脚本攻击轻松窃取其合法身份。此外,攻击者还可以渗透中央服务器来篡改访问控制机制。在中心化的分布式人工智能系统中,一旦中央服务器被攻破,系统就无法阻止非法访问。
-
系统必须具有可信赖的容错和防篡改的访问控制机制,以保证数据的机密性、完整性和可用性。
C.安全防御技术
1)Defenses for Data Poisoning
- 为了防御数据中毒,Xie[253]重点关注局部SGD的防御,即鲁棒聚合和移动平均。
-
- 鲁棒聚合使用修剪平均值来过滤掉中毒模型。
- 移动平均减少了由鲁棒聚合和数据中毒引起的额外方差/误差。
-
- 对于基于GAN的数据中毒,Zhang[252] 发现关键训练是 FL 环境中的潜在防御。该方法通过创建额外的预测模型来判别接收到的局部梯度,以推断某个梯度属于哪个参与者,从而防止异常行为并消除有毒局部更新的影响。
2)Defenses for Model Poisoning
- 鲁棒聚合是抵抗模型中毒攻击最有效的方法。
- 对于非目标投毒攻击,已经提出了几种拜占庭鲁棒聚合算法方法,例如Krum [209]、Bulyan [211]和Trimmed-mean [210]。
- 他们通过最小化所选局部模型之间的欧几里德距离,消除了拜占庭错误引起的不正确的局部更新。
- 然而,当系统中存在大量拜占庭对手时,这些方法的效果就不那么明显了。
- 对于目标投毒攻击,提出了一些基于行为的聚合方法,通过测量诚实和恶意工人之间的行为差异来消除潜在的恶意梯度并平均剩余的子集。
- Muñoz-González[213]提出了自适应联合平均(AFA),它计算局部梯度之间的余弦相似度,并丢弃相似度统计特征(即均值、中值和标准差)超出范围的梯度。
- Fang[207]计算每个梯度的分数并删除分数最低的梯度。
- 然而,Awan[212]发现这些方法在非独立同分布数据上表现不佳,因为诚实工人不同分布的梯度差异很大。为了解决这个问题,他们在non-IID 设置中扩展了 AFA。具体来说,他们发现任何两个恶意客户端之间的成对余弦相似度总是小于恶意客户端和诚实客户端之间以及任何两个诚实客户端之间的成对余弦相似度。也就是说,如果两个客户端具有高度相似性,则它们被怀疑是恶意的。
- 除了稳健的基于聚合的方法之外,规范裁剪和弱差分隐私[215]以及修剪和微调[217] 也可以减轻甚至消除中毒攻击。
3)Defenses for Cyber Attack
-
传统的网络攻击防御措施包括加密、身份验证、访问控制等。随着机器学习的发展,也有很多利用人工智能来保护网络免受攻击的研究。
-
[221]的作者分别使用CNN模型、RNN模型和CNN+LSTM混合模型来检测网络攻击,在CICIDS2017数据集上的最高检测准确率达到98.16%。
-
然而,这些方法都是被动防御,无法主动寻找攻击者。
- 主动防御机制之一是基于欺骗的防御,它会产生欺骗和网络配置中一些持续的不可预测的变化,从而困惑攻击者,或者引诱他们走向一些预先部署的蜜罐陷阱
4)Blockchain Technologies
-
最近,区块链技术被用来提高EECC架构的防御水平。
-
区块链具有以下几个优点:
- 数据不可篡改、可追溯、多方共同维护。因此,将区块链融入EECC架构可以保证协同计算过程中数据的完整性和可用性。
- 智能合约使基于区块链的EECC系统成为安全可信的计算服务平台,提供高效、安全的计算服务。
- 区块链作为数据交互和代币转移的平台,可以通过代币实现激励机制,促进多场景之间的数据共享,鼓励多方协作。
- 区块链的数据透明度和审计功能可用于管理设备访问并提高系统安全性。
D.隐私威胁
- 对于终端设备来说,他们可能将个人训练数据、属性和成员信息视为私人信息。对于云端或边缘来说,训练出来的模型是私有信息,因为训练过程通常会产生巨大的费用,而模型参数泄露给对手会导致严重的经济损失。
- 当攻击者能够将记录所有者链接到已发布数据表中的敏感属性时,就会出现隐私威胁。下面我们介绍几种隐私威胁。
1)Membership Inference
-
给定一个训练样本,成员推理攻击就是判断训练样本是否参与训练过程。如果一个实例被推断为训练数据,则数据所有者的隐私可能会被泄露。
- 例如,一名患者的临床记录用于训练心脏病预测模型,该患者很可能患有心脏病。
-
成员推理攻击可以分为黑盒推理和白盒推理。
- 黑盒推理攻击:通常假设攻击者只能获得模型的输出概率向量。Shokri[255]首先提出了这种攻击,分别构建了来自训练数据集和非训练数据集的大量样本。然后,他们使用训练数据集中的样本来训练影子模型,以模仿目标黑盒模型的性能。之后,他们使用训练数据集和非训练数据集的影子模型的输出来训练二元分类器来区分成员和非成员。
- 白盒推理攻击:这意味着攻击者可以获得模型中间层的参数和梯度。分布式环境中的成员推理攻击可以自然地被视为白盒,因为参与者、边缘和云都可以获得模型更新。[242]提出了梯度上升攻击,攻击者对目标数据样本进行梯度上升,观察其增加的损失是否可以在下一轮通信中大幅减少,如果可以,则该样本很可能在训练集中。
2)Attribute Inference
- Lyu 和 Chen [243] 证明,共享历元平均(shared epoch-averaged)局部模型梯度还可以揭示任何受害参与者的局部训练数据的敏感属性。
- 恶意服务器通过匹配受害参与者更新的原始梯度和在虚拟输入上计算的虚拟梯度来重建敏感属性。如果两个梯度之间的距离足够小,即使攻击者不知道原始输入中的属性,他/她仍然可以从虚拟输入中获得敏感属性。考虑到模型更新可能是匿名的,并且在聚合之前会被打乱以掩盖来源,因此属性攻击还可以与去匿名化攻击相结合以增强攻击效果。
- [244]的作者利用非独立同分布数据分布引起的不同模型更新之间的偏差误差信号来重新识别相应的参与者,并表明去匿名化可以作为属性推断的垫脚石,以提高攻击性能和进一步将恢复的属性与身份相关联。
3)Reconstruction Attack
- 重建攻击是指从聚合模型中重建目标设备的训练样本。
- 模型参数可以看作是训练样本的编码信息。因此,如果能够构建相应的解码器,则可以逆向恢复私有数据或统计数据。因为GAN模型可以生成与真实数据具有相同分布的数据,最近的作品经常将GAN作为解码器恢复训练数据。
- Hitaj[246]利用共享模型作为判别器来训练 GAN 并训练生成器模型以成功模仿训练样本。
- 为了减少攻击对训练过程的侵入,Wang[245]假设服务器是恶意的,它使用多任务 GAN 来生成训练输入。多任务判别器限制了生成器的训练,导致生成的样本针对特定客户,损害了客户级隐私。
4)Model Extraction
- 在模型提取攻击[248]、[256]中,对手使用生成模型生成输入数据,然后查询目标模型以获得输出。通过输入和输出,它可以训练克隆模型。
- 但这种攻击并不可行,因为它需要大量查询,很容易被异常检测检测到。考虑到这一挑战,[247]的作者提出了一种无数据模型提取攻击。对手使用计算精确梯度的解释来训练生成模型并减少查询数量。然而,它无法窃取完整的模型。
- Zhu[249]提出了Hermes攻击,通过访问主机和基于GPU的设备之间的PCIe总线,完全窃取了整个受害者模型,包括超参数、参数和架构。
F.隐私保护技术
- 上述隐私威胁共享一个底层属性,即攻击者从模型参数或更新中推断出隐私信息。因此,模型参数和更新的防御对于所有保护技术都是通用的。
- 我们重点介绍突出的防御方法: 差分隐私(differential privacy)和加密技术(encryption technologies)
1) 差分隐私(differential privacy)
-
DP的基本概念是将高斯或拉普拉斯噪声注入数据中,以保证对手无法以高置信度从噪声输出中推断出原始数据。
-
在基于DP的分布式学习设置中,假设中央服务器是可信的,并且可以将噪声注入聚合梯度中以防御外部对手。
-
隐私级别由隐私预算控制。更大的预算意味着更高的隐私损失,这将在每个训练周期中累积。当损失达到阈值时,训练就会停止。该方法保护了用户级隐私,即外部对手无法从聚合模型中获知用户是否参与训练。
-
中央服务器可能是诚实但好奇的,它可以从上传的梯度推断参与者的隐私。为了防御恶意服务器,一些工作提出了局部差分隐私(LDP)。
- LDP定义:在聚合之前在局部梯度上应用 DP。
- LDP保护记录级隐私,即对手无法知道特定样本参与者是否在训练中。 LDP 具有比 DP 更强的隐私保证,但它也遭受巨大的效用下降,尤其是在参与者数量众多的情况下。
- 为了填补这一空白,shuffling技术与DP相结合[233、234、259]。它在聚合之前匿名地打乱局部梯度以增强隐私。
2)加密技术(encryption technologies)
- 安全多方计算(MPC)
- MPC是涉及多方计算的分布式场景中最常用的保护数据隐私的方法。
- 同态加密(HE)通常用作MPC中的加密技术,它允许对密文执行加法或乘法运算,其解密对应于明文的代数运算[235]。
- 相关文献
- [236] 中的作者利用加法 HE方案来安全地计算聚合模型更新。因此,它防止了中央服务器上客户端的数据泄露。然而,如果客户端与聚合器串通,则不够安全,因为所有客户端共享相同的密钥。
- 为了解决这个问题,[261]、[262]的作者考虑了多密钥场景,其中每个客户端都有一个公钥-私钥对。多密钥设置不仅可以防御串通攻击,还可以增加系统的灵活性和可扩展性。
- HE可以防止恶意聚合者,但HE无法组织恶意参与者发起的推理攻击,防止获取参与者的隐私信息。因此,一些工作[237]、[238]、[263]将DP与加密技术相结合来解决这些问题,其中每个参与者在加密之前将噪声注入到本地更新中。
- 加密技术通常具有较高的通信和计算成本,这使得它们不适用于大规模分布式场景和资源有限的设备。如何在效率和隐私之间进行权衡仍然是一个棘手的问题。
3)Network Compression
- 压缩网络信息不仅可以提高传输效率,还可以减少暴露给对手的信息。
- 然而,压缩的梯度仍然会泄露敏感信息,因为它们保持自己的形式[264],因此压缩也经常与差分隐私或加密相结合以提高保护级别。
- 相关文献
- Li[239]提出了一种基于草图的分布式学习框架,通过草图传输消息,同时实现通信效率和可证明的隐私优势。
- Wang[240]使用自动编码器过滤敏感信息并降低特征维度,并将DP噪声注入到处理后的特征中以提供更强的保护。
- [241]的作者提出了一种端到端加密神经网络,将梯度本地编码到低维空间,并对聚合梯度进行整体解码,以防御不可信的中央服务器。
F.总结与经验教训
- 在本节中,我们讨论了两个问题,即安全和隐私。典型的攻击方法和防御技术总结如下表。
- 从安全和隐私防御技术中汲取的三个主要经验教训如下:
- 系统全面的安全框架:EECC赋能的分布式AI需要系统全面的安全框架。EECC赋能的分布式AI继承了AI容易受到数据和模型攻击的特点,同时分布式架构带来了新的挑战。现有的研究普遍集中于某种威胁,缺乏系统、全面的防御。
- 正确选择隐私技术:DP和加密是两种主要的隐私防御技术。DP重量轻,易于集成到系统中,但可能会降低模型的性能。与DP相比,加密技术具有更高水平的隐私保护,但较高的计算成本使其难以部署在资源有限的终端设备上。根据不同的应用需求进行选择。
- 安全和隐私方面的法律法规:法律法规的制定是解决隐私泄露现实的关键。受利益驱动,收集数据的组织可能会恶意利用这些数据来针对特定对象。法律法规是规范其遵守隐私原则的有效途径。
Ⅴ、DAI-EECC 中的应用
(第五节暂时不是我的学习重点,仅了解。)
- ADI-EECC应用很广泛,包括智能工业和制造业(控制和监视、预测和检测)、智能交通(自动驾驶、公共交通监视和调度)、智能电网、智慧医疗(健康监测、AI辅助医疗诊断)、实时视频分析(显着物体检测、视频查询)
Ⅵ、研究挑战和未解决的问题
- 尽管现有研究从各个方面对 DAI-EECC 进行了全面的研究,但该研究领域仍处于起步阶段,需要不断的研究工作来推动分布式人工智能应用的爆发。
- 在本节中,我们简要概述了一些未来的研究方向,以促进进一步的研究。
A.算力网络中的服务编排与资源管理
-
EECC的发展使得算力呈现分布式、普适化的趋势。为了充分释放分布式计算能力的潜力,算力网络是一项有前途的技术。算力网络是一种新型基础设施,可以根据业务需求在云端、边缘和终端设备之间灵活分配和调度计算、存储和通信资源。
-
当前,关于算力网络中的服务编排与资源管理,有许多开放性问题可以研究。例如:
- 一、通过计算能力的灵活跨层调度和编排,如何在不关注资源位置的情况下提供按需计算服务。
- 二、如何通过构建异构计算资源抽象模型来统一算力的测算。
- 三、如何提供统一的异构硬件开发工具,降低用户跨架构编程的成本。
B.DAI-EECC 中的自适应分布式学习
-
异构EECC的自适应分布式训练和推理机制尚未得到深入研究。当前,关于该方向存在下列问题可以研究:
- 一、如何根据异构设备的资源和计算能力,为不同的训练和推理设备设计定制的模型结构是一个关键挑战。
- 二、由于分布式数据的质量和模型参数的重要性不同,如何为异构模型设计高效的聚合方法,以及优化聚合效率和准确性值得进一步探索。
- 三、大多数现有研究都假设模型在训练过程中是静态的,无法根据设备的能力进行适应。
-
设计局部模型的微调方案,使其适应最优配置,实现全局模型的性能优化是另一个挑战。有一些潜在的解决方案:
- 采用模型剪枝策略,针对不同的训练设备定制模型结构。
- 考虑分布式数据的质量和模型参数的重要性,设计异构模型结构的高效聚合方法。
- 设计动态局部模型调整方法来优化全局模型的性能。
C.元宇宙端边云智能
D.先进的安全和隐私保护技术
-
尽管现有的工作有很多解决模型训练和推理过程中的安全和隐私威胁。我们仍然面临一些挑战。
- 一、在训练阶段,DP和加密技术通过牺牲效率或精度保护系统,这对于资源有限或小规模数据集的分布式学习来说是低效的。并且,现有防御方法的高计算成本导致模型在资源有限的终端设备上部署困难。
- 二、在推理阶段,训练好的模型会被发布到终端设备上进行推理任务,任何人都可以在未经许可的情况下使用该模型,这侵犯了模型所有者的知识产权。因此,模型授权是未来需要研究的方向。
- 三、可信执行环境(TEE) 是一项有用的技术,可以为用户提供机密性和完整性(例如人脸识别)。然而,TEE存在可扩展性低、性能差的缺点。如何提高TEE中AI模型训练和推理的性能也是值得研究的。
E.协处理器的协同计算
- 由于AI编译器无法支持多个协处理器协同工作的限制,AI模型的加速器在模型训练和推理过程中相互独立,造成计算资源的浪费。因此,设计能够兼容并发处理这些协处理器以支持人工智能训练和推理任务的人工智能编译器将是一个有吸引力的方向。
Ⅶ、总结
- 在人工智能和分布式计算范式蓬勃发展的推动下,迫切需要融合分布式人工智能和分层计算范式,以促进人工智能应用的快速发展,特别是在时延敏感的场景中。
- 本次调研,我们围绕DAI-EECC架构,全面介绍和讨论支持分布式人工智能的基础技术,以及当前最先进的优化技术,以及解决主要问题的安全和隐私保护技术。DAI-EECC中的挑战。此外,我们还回顾了一些新兴应用,并强调了DAI-EECC中剩余的研究挑战和未解决的问题。