《边缘计算》第2版——第三章边缘智能

第3章 边缘智能

边缘计算与人工智能场景有机结合,催生出边缘智能

3.1 边缘智能的定义

3.1.1 背景

以深度神经网络为代表的深度学习算法在诸多人工智能相关的应用中取得了很好的效果,随着边缘计算的发展,人工智能应用越来越多地迁移到边缘进行。
云计算和边缘计算在处理人工智能任务的分工有较大的不同,边缘计算智能模式下,边缘除了数据采集之外,还将执行模型的预测任务,输出模型处理的结果,此时,云更多地是进行智能模型的训练,并将训练后的模型参数更新到边缘

边缘智能的发展对边缘计算和人工智能计算有双向共赢优势:一方面,边缘数据可以借助智能算法释放潜力,提高更高的可用性;另一方面,边缘计算能提供给智能算法更多地数据和应用场景

3.1.2 定义

IEC:将边缘智能定义为数据在边缘上以机器学习算法被获取、存储和处理的过程,认为利用多种信息科技推进数据向边缘移动,能够解决实时网络、安全、个性化等问题。
本文:边缘智能是使能边缘设备执行智能算法的能力
边缘智能的能力包含四个元素:准确率(边缘智能的可用性)、延迟(实时性)、功耗(整体可持续性)、内存(内存资源的占有量)

3.2 边缘智能的技术栈

《边缘计算》第2版——第三章边缘智能_第1张图片

3.2.1 边缘智能算法

相关研究要从减少算法所需的计算量出发——(1)深度模型压缩方法,其将目前在云端表现良好的算法通过压缩技术减少计算量,从而能在边缘端运行。(2)原生边缘智能算法,即直接针对受限的边缘计算设备进行算法设计

深度模型压缩方法可分为三类:参数量化,共享与剪枝,低秩逼近方法和知识迁移方法

参数量化、共享

    • 通过减少对性能不明感的参数数量或者参数位数控制和存储成本,Courbariaux提出了一个二进制神经网络量化权重,将神经网络参数设置为-1/1来限制网络计算量,并且简化了专用于深度学习的硬件设计。
  • Gong 用k-means聚类算法对全连接层的参数进行量化,可以实现高达24倍的网络压缩
  • Chen提出一种基于HashedNets的权重共享的方法,通过使用低成本Hash函数将连接权重随机分组到Hash桶中,其中每个Hash桶的所有连接都有相同值,并用标准反向传播方法调整参数的值

网络剪枝

网络剪枝的想法是删除冗余的参数,以提高网络的泛化能力,使用三步方法来修剪冗余连接:首先判断连接的重要性,然后修剪不重要的连接,最后对网络进行重新训练,以微调其余连接权重,最后该工作使神经网络的存储需求减少为原来的1/49——1/35,而没有牺牲准确性。Facebook的QNNPACK(量化神经网络包),其针对移动设备进行优化,包括量化等技术

低秩逼近

是指重构低秩的密集矩阵取代高秩矩阵,以减少深度学习模型的计算量。Denton使用奇异值分解重建所有连接层的权重,将CPU和GPU上的卷积层的速度提高了三倍,精度损失控制在1%
Denil用低秩逼近法压缩不同层的权重并减少动态参数的数量
Sainath在DNN的最终权重层中用低秩矩阵分解进行声学建模

知识迁移

师生训练。用预先训练的网络为同一任务训练紧凑型网络。使用经过训练的网络模型来标记一些未标记的仿真数据,并复制原始较大网络输出。
《边缘计算》第2版——第三章边缘智能_第2张图片
原生边缘智能算法设计直接基于边缘设备资源受限的特点进行轻量级的算法设计
SqueezeNet,MobileNets,Inception模型

3.2.2 边缘智能编程库

计算框架分为两种:一种可以执行训练和预测任务:Pytorch,TensorFlow;另一种只能执行预测任务,其获取已经训练好的模型,进行预
测优化
Paddle Lite是Paddle面向移动端和边缘的轻量级版本,其支持深度学习预测任务,支持ARMCPU,Mali CPU 、Adreno GPU、NPU、FPGA

3.2.3 边缘智能数据处理平台

EdgeXFoundary 是一个开源的边缘数据处理软件平台,EdgeX支持多种智能应用
华为云发布的智能边缘平台(intelligent edge fabric)满足对边缘计算资源的远程管控、数据处理、分析决策、智能化的诉求,为用户提供完整的边缘和云协同的一体化服务。

3.2.4 边缘智能操作系统

为了在边缘侧运行运行深度学习任务,操作系统需要做专门定制化设计以满足轻量级需求。边缘计算操作系统向下需要管理异构的计算资源,向上需要处理大量的异构数据以及多种应用负载,其需要负责将复杂的计算任务在边缘计算节点上部署。
边缘计算操作系统是更倾向对数据、计算任务和计算资源进行管理的框架

3.2.5 边缘智能芯片

1.基于轻量级CPU的硬件:Armv8.10-M架构,为基于COrtex-M系列处理器的边缘设备提供信号处理和机器学习的功能,以增强其在边缘智能场景下的计算能力
2.基于GPU的硬件:云端GPU主要承担神经网络训练任务,而在边缘计算场景下,轻量级GPU能够低能耗、低延迟地执行边缘人工智能任务。
3.基于ASIC的硬件:为深度学习应用而专门设计的处理器。
4.基于FPGA的硬件:针对不同的计算场景做结构定制,具有应用在边缘智能场景的优势。

3.2.6边缘智能设备

智能摄像头,智能手机,无人机

3.3 边缘智能中的协同计算

协同模式包括:边云协同、边边协同、边物协同、云边物协同
《边缘计算》第2版——第三章边缘智能_第3张图片

3.3.1 边云协同

边缘与云的协同是目前应用较多的、较为成熟的模式。华为Connect2018大会发布智能边缘平台IEF,以满足边缘计算资源管理、设备接入、智能化等需求。IEF中的一个核心概念就是实现边云协同一体化。
边缘计算与云计算是相依而生、协同运作的。在具体的协同分工中,边缘端负责本地的数据计算和存储,云端负责大数据的分析和算法更新。

  • 训练-预测边云协同:云负责设计、训练模型,并且不定期省级模型,数据来自边缘设备采集或者云端数据库,边缘负责采集实时数据进行预测,同时根据云模型进行定时更新。TensorFlow Lite 框架安装在智能手机上
  • 云端导向边云协同:云端承担模型的训练工作和一部分的预测工作,此时的模型规模一般较大,边缘难以完成全部的预测任务,或者模型具有细腰性,即云端的执行能够极大地减少通信带宽和边缘的压力,即云端的执行能够极大地减少通信带宽和通信的压力。具体而言,神经网络模型将会被分割成两部分,一部分在云端执行,云承担模型前端的计算任务,然后将中间结果传输给边缘;一部分在边缘端执行,因此要找到合理的拆分点,以尽量将计算复杂的工作留在云端,实现计算量和通信量之间的权衡,基于回归的方法来估计DNN模型中每一层的延迟,然后返回最优的分割点以达到延迟目标或能耗目标
  • 边缘导向边云协同:云端训练初始智能模型,然后下载到边缘上,边缘完成实时预测,同时边缘基于本身采集到的数据再次训练,以更好地利用数据的局部性,满足应用的个性化需求。迁移学习是边缘导向的的边云协同的代表性工作。迁移学习的初衷是节省人工标注的时间,让模型在已有标记数据向未标记数据迁移。

3.3.2 边边协同

边缘和边缘相互协同是目前的研究热点,两个优势——一是提升系统整体的能力,解决单个边缘能力有限的问题,例如:单个边缘激素啊能力不能满足神经网络的训练算力要求,也容易由于数据量的限制使模型过拟合,因此需要多个边缘共同贡献算力和数据,已完成协同训练。二是解决数据孤岛的问题,边缘的数据来源具有较强的局部性,需要和其他边缘协同完成更大范围、更多功能的任务。

  • 边边预测协同:边缘承担全部的预测工作,整体任务的分配标准与边缘设备的算力相匹配,以减少每个边缘的计算压力同时充分利用边缘计算资源。这种边缘协同方式一般适用于手机、手环、智能物联网设备等计算能力十分受限的边缘之间。MoDONN是一个本地分布式移动计算框架,它将一个已经训练好的模型拆分到多个移动设备上执行,移动设备间通过无线连接以建成小规模计算集群。边缘之间模型的分割点的确定需要针对不同的边缘资源及其动态性确定,分割次数和分割点的位置更多样化。NestDNN考虑了运行时资源的动态变化,从而生成资源感知的深度学习移动视觉系统。
  • 边边分布式训练协同:每个边缘都承担智能模型的训练任务,边缘拥有整个模型或者部分模型,训练集来自边缘本身产生的数据。模型训练到一个阶段后,会将训练得到的模型参数更新到中心节点中,以得到完整数据。分布式训练在云计算中心的应用更广泛,边缘智能场景与云中心不同的是,云计算中心节点通信质量稳定,带宽高,且集群内同构性强,而边缘节点由于地理空间的限制,通信速度和带宽相对较差,同时边缘节点的异构性极强,因此设计边边分布式训练策略时,要考量通信质量、异构节点的计算能力等影响
  • 边边联邦训练协同:谷歌公司利用联邦学习进行移动设备在本地更新模型,以保护用户数据的安全隐私。这种方式下,某个边缘节点保存最优模型,每个边缘作为计算节点参与模型的训练,其他节点在不违背隐私法规的情况下向该节点更新菜蔬,最终把全部的数据聚合在一起形成最优模型。与分布式系统在设计目标上不同,联邦训练中模型的更新更加侧重于数据的隐私,而分布式训练协同更加侧重于充分利用边缘节点的闲置资源。

3.3.3 边物协同

边物协同中的“物”指代以物联网设备以代表的数字化物理世界,包括传感器设备、智能可穿戴设备。物联网设备室物理世界数据的生产者,但是数据处理能力较弱,更多的承担数据采集和上传能力,边缘作为计算能力相对强的设备,初步吃力物联网设备产生的数据,减少了数据上传晕的设备,降低了云计算中心的压力。
边物协同能够增强边缘节点的能力,该协同在物联网尤其是智能家居和工业物联网中的应用十分广泛。边物协同下,物端负责采集数据并发送到边缘,同时接受边缘的指令进行具体的操作执行;边缘负责多路传感器数据的集中分析、处理和控制,同时对外提供服务。由于物联网设备与用户结合得更紧密,因此边物协同被认为是人工智能应用落地的关键一环。如何选择模型是重要模型,AdaDeep是一个模型选择计算框架,其探讨了性能与资源约束之间的关系,从跟根据实际场景需求找到最佳的模型匹配。实验结果表明,AdaDeep能在精度损失忽略不计的情况下实现9.8%的延迟降低

3.3.4 云边物协同

云边物协同为利用整个链路上的计算资源,包括云、边缘和物联网设备等,以发挥不同设备的计算、存储优势并最小化通信开销。云边物系统分为以下两种分工方式:

  • 功能性协同:这种协同是基于不同设备出浴的地理空间、角色等不同而承担不同的功能,例如物端负责采集、边缘负责与处理、云端负责多路数据的处理和服务提供等。
  • 性能性协同:由于算力限制,不同的层级的计算设备承担不同算力需求的任务,包括人物的纵向切割和分配等。云边物协同所利用的技术涵盖了上面章节的介绍的各类技术包括轻量级模型的设计、模型的分割和选择、分布式训练、联邦学习和迁移学习,资源隔离、任务调度等技术。在硬件级别上该系统还包括专用芯片、硬件产品的设计和制造等;

3.4 支撑边缘智能的计算框架

3.4.1 OpenEI:面向边缘智能的开放数据处理框架

开发的挑战:

  • 算力限制
  • 数据共享与协作能力限制:云端数据可以比较容易地做批量处理和管理,然而边缘数据的多样性和边缘设备的异构性给数据共享带来障碍,从而影响功能共享
  • 算法、软件、硬件的组合爆炸问题:云端设备的计算能力相对一致,然而边缘设备的计算能力千差万别,与此同时,不同智能算法的计算需求也不相同。针对图像识别的智能算法的VGG的计算操作数从几兆到几万兆,而边缘计算资源也分布在树莓派等物联网设备到移动手机再到边缘服务器等不同平台上,因此需要研究如何在不同算力需求的算法和硬件平台上找到最佳匹配,在实现延迟等计算需求的同时达到准确度需求。
    OpenEI包括三部分:包管理器、模型选择器和开放库。
  • 包管理器为算法具体的执行环境,被安装在边缘平台的操作系统上,提供智能算法的运行环境。
  • 模型选择器包括多个优化后的模型和一个选择算法,模型经过压缩、剪枝后的模型,将在包管理器上运行,该模型同时针对包管理器做针对性优化,这两者经过联合优化后实现算法运行时的性能加速,解决算力限制的问题。选择算法首先评估边缘平台的资源承载能力,然后选择最合适的模型,满足准确率和资源占有率的要求,以解决算法和计算平台的资源承载能力。
  • 边缘设备中所有的资源,包括数据、计算资源和模型都被URL代表,libei提供一套完整的标准化Restful API。libei使得OpenEI及其所在的硬件设备可以被其他边缘设备访问到,提供数据共享和功能协作服务,以实现深度学习计算引擎在异构边缘设备上的共享。

3.4.2 NestDNN 动态分配多任务资源的移动端深度学习框架

为了在资源要限的边缘设备上运行智能算法,压缩深度学习模·型以降低其资源需求是常用的技术之一,但准确率会有所损失。该方法在实际部署时存在问题:由于开发者独立开发自己的应用,压缩模型的资源-准确率权衡在应用开发就被预先确定了,在应用部署后仍然保持不变。然而,边缘计算系统的可用运行时资源是动态变化的。因此,如果可用运行时资源无法满足压缩模型的资源需求,这些同时运行的应用就会互相争夺资源,导致流视频的处理帧率降低。另外,在有额外的运行时资源时,压缩模型也无法用这些额外资源修复准确率损失。
为了解决以上问题,一种基于动态分配多任务资源移动端深度学习框架 NesDNN 被提出,它将运行时资源的动态变化纳人考量,生成一种资源感知的多重租赁设备端深度学习移动视觉系统。NestDNN 用灵活的资源-准确权衡代替了固定的资源-准确率权衡。在运行时方面,该框架为每个深度学习模型动态选择最优资源-准确率权衡,以满足模型对系统运行时资源的需求。采用这种方法NestDNN 可以高效利用移动视觉系统中的有限资源,最大化所有并行应用程序的性能与不考虑资源的现有方法相比,NestDNN 的推断准确率提高了 4.2%,视频处理速提高了 1倍,能耗降低了 40%。

3.4.3 AdaDeep:应用驱动的模型选择框架

2018 年提出的 AdaDeep从模型选择的角度探讨了性能与资源约束之间的关系,根据用户指定的需求进行理想的权衡。具体来说,该工作设计了一个用户需求驱动的择框架,可以自动选择不同的 DNN 压缩技术组合,从而在用户指定的性能目标和资约束之间实现最佳平衡。
用户(如 DNN 应用开发人员)向 AdaDeep 提交其系统性能求和目标平台的资源约束。然后,AdaDeep 自动生成一个 DNN 模型,以平衡这些要和约束。
实验结果表明,通过对5个公共数据集和12个移动设备进行广泛评估AdaDecp可实现高达 9.8%的延迟降低、4.3%能效提高和 38%存储降低 DNN,其精度损失可包不计。

3.4.4 DeepCham:自适应移动目标识别框架

美国理海大学的 Lil提出一种基于深度学习的自适应移动目标识别框架 (简称 DeepCham),是一种边缘主机服务器与移动边缘终端协同框架,主要区用于移动环境中。边缘主服务器与所参与的边缘终端协同地执行一种区域感知的适应训模型,与区域受限深度模型相结合,可提高目标识别的精度。
DeepCham 从实时移动照片中生成用于自适应的高质量区域感知训练实例,具体而言,主要包括两个过程:
1.采用一种分布式算法在参与的移动边缘中找到一张质量最高的图像,并用于实例训练;
2.用户标记例程根据一种通用深度模型所产生的参考信息,从高质量图像中再识别出目标。使用一天内在不同地点、时间、设备上收集智能手机上的新图像,DeepCham 可将移动标识别的准确性提高1倍以上

3.4.5 DDNN:分布式神经网络框架

为了更有效地将深度神经网络应用到边缘端设备,同时利用云端的计算能力,实现边缘智能,美国哈佛大学的Surat Teerapittayanon团队提出一种基于云端、边缘端及用户端的分布式神经网络框架(distributed deep newral networks,DDNN)例,实现三者之的协同处理。
该框架不仅可以实现在云端进行深度神经网络推理,还可以在边缘和用户端完成深度神经网络的部分推理。
DDNN 支持可伸缩的分布式计算架构,其神经网络的规模可以按照跨区城进行划分。由于其本身的分布式特点,DDNN架构可以提高传感融合系统内应用执行的容错性和隐私数据保护。DDNN 处理过程将传统的 DNN 任务进行切片划分,并将分片任务分布到云端、边缘以及用户终端执行。通过三者之间协同的方式执行深度神经网络的训练,尽量减少三者之间不必要的数据传输,同时提高神经网络训练的准确性,提高整个系统中资源的最大使用效率。

你可能感兴趣的:(边缘计算,边缘计算,人工智能)