边缘计算与人工智能场景有机结合,催生出边缘智能
以深度神经网络为代表的深度学习算法在诸多人工智能相关的应用中取得了很好的效果,随着边缘计算的发展,人工智能应用越来越多地迁移到边缘进行。
云计算和边缘计算在处理人工智能任务的分工有较大的不同,边缘计算智能模式下,边缘除了数据采集之外,还将执行模型的预测任务,输出模型处理的结果,此时,云更多地是进行智能模型的训练,并将训练后的模型参数更新到边缘
边缘智能的发展对边缘计算和人工智能计算有双向共赢优势:一方面,边缘数据可以借助智能算法释放潜力,提高更高的可用性;另一方面,边缘计算能提供给智能算法更多地数据和应用场景
IEC:将边缘智能定义为数据在边缘上以机器学习算法被获取、存储和处理的过程,认为利用多种信息科技推进数据向边缘移动,能够解决实时网络、安全、个性化等问题。
本文:边缘智能是使能边缘设备执行智能算法的能力
边缘智能的能力包含四个元素:准确率(边缘智能的可用性)、延迟(实时性)、功耗(整体可持续性)、内存(内存资源的占有量)
相关研究要从减少算法所需的计算量出发——(1)深度模型压缩方法,其将目前在云端表现良好的算法通过压缩技术减少计算量,从而能在边缘端运行。(2)原生边缘智能算法,即直接针对受限的边缘计算设备进行算法设计
深度模型压缩方法可分为三类:参数量化,共享与剪枝,低秩逼近方法和知识迁移方法
网络剪枝的想法是删除冗余的参数,以提高网络的泛化能力,使用三步方法来修剪冗余连接:首先判断连接的重要性,然后修剪不重要的连接,最后对网络进行重新训练,以微调其余连接权重,最后该工作使神经网络的存储需求减少为原来的1/49——1/35,而没有牺牲准确性。Facebook的QNNPACK(量化神经网络包),其针对移动设备进行优化,包括量化等技术
是指重构低秩的密集矩阵取代高秩矩阵,以减少深度学习模型的计算量。Denton使用奇异值分解重建所有连接层的权重,将CPU和GPU上的卷积层的速度提高了三倍,精度损失控制在1%
Denil用低秩逼近法压缩不同层的权重并减少动态参数的数量
Sainath在DNN的最终权重层中用低秩矩阵分解进行声学建模
师生训练。用预先训练的网络为同一任务训练紧凑型网络。使用经过训练的网络模型来标记一些未标记的仿真数据,并复制原始较大网络输出。
原生边缘智能算法设计直接基于边缘设备资源受限的特点进行轻量级的算法设计
SqueezeNet,MobileNets,Inception模型
计算框架分为两种:一种可以执行训练和预测任务:Pytorch,TensorFlow;另一种只能执行预测任务,其获取已经训练好的模型,进行预
测优化
Paddle Lite是Paddle面向移动端和边缘的轻量级版本,其支持深度学习预测任务,支持ARMCPU,Mali CPU 、Adreno GPU、NPU、FPGA
EdgeXFoundary 是一个开源的边缘数据处理软件平台,EdgeX支持多种智能应用
华为云发布的智能边缘平台(intelligent edge fabric)满足对边缘计算资源的远程管控、数据处理、分析决策、智能化的诉求,为用户提供完整的边缘和云协同的一体化服务。
为了在边缘侧运行运行深度学习任务,操作系统需要做专门定制化设计以满足轻量级需求。边缘计算操作系统向下需要管理异构的计算资源,向上需要处理大量的异构数据以及多种应用负载,其需要负责将复杂的计算任务在边缘计算节点上部署。
边缘计算操作系统是更倾向对数据、计算任务和计算资源进行管理的框架
1.基于轻量级CPU的硬件:Armv8.10-M架构,为基于COrtex-M系列处理器的边缘设备提供信号处理和机器学习的功能,以增强其在边缘智能场景下的计算能力
2.基于GPU的硬件:云端GPU主要承担神经网络训练任务,而在边缘计算场景下,轻量级GPU能够低能耗、低延迟地执行边缘人工智能任务。
3.基于ASIC的硬件:为深度学习应用而专门设计的处理器。
4.基于FPGA的硬件:针对不同的计算场景做结构定制,具有应用在边缘智能场景的优势。
智能摄像头,智能手机,无人机
边缘与云的协同是目前应用较多的、较为成熟的模式。华为Connect2018大会发布智能边缘平台IEF,以满足边缘计算资源管理、设备接入、智能化等需求。IEF中的一个核心概念就是实现边云协同一体化。
边缘计算与云计算是相依而生、协同运作的。在具体的协同分工中,边缘端负责本地的数据计算和存储,云端负责大数据的分析和算法更新。
边缘和边缘相互协同是目前的研究热点,两个优势——一是提升系统整体的能力,解决单个边缘能力有限的问题,例如:单个边缘激素啊能力不能满足神经网络的训练算力要求,也容易由于数据量的限制使模型过拟合,因此需要多个边缘共同贡献算力和数据,已完成协同训练。二是解决数据孤岛的问题,边缘的数据来源具有较强的局部性,需要和其他边缘协同完成更大范围、更多功能的任务。
边物协同中的“物”指代以物联网设备以代表的数字化物理世界,包括传感器设备、智能可穿戴设备。物联网设备室物理世界数据的生产者,但是数据处理能力较弱,更多的承担数据采集和上传能力,边缘作为计算能力相对强的设备,初步吃力物联网设备产生的数据,减少了数据上传晕的设备,降低了云计算中心的压力。
边物协同能够增强边缘节点的能力,该协同在物联网尤其是智能家居和工业物联网中的应用十分广泛。边物协同下,物端负责采集数据并发送到边缘,同时接受边缘的指令进行具体的操作执行;边缘负责多路传感器数据的集中分析、处理和控制,同时对外提供服务。由于物联网设备与用户结合得更紧密,因此边物协同被认为是人工智能应用落地的关键一环。如何选择模型是重要模型,AdaDeep是一个模型选择计算框架,其探讨了性能与资源约束之间的关系,从跟根据实际场景需求找到最佳的模型匹配。实验结果表明,AdaDeep能在精度损失忽略不计的情况下实现9.8%的延迟降低
云边物协同为利用整个链路上的计算资源,包括云、边缘和物联网设备等,以发挥不同设备的计算、存储优势并最小化通信开销。云边物系统分为以下两种分工方式:
开发的挑战:
为了在资源要限的边缘设备上运行智能算法,压缩深度学习模·型以降低其资源需求是常用的技术之一,但准确率会有所损失。该方法在实际部署时存在问题:由于开发者独立开发自己的应用,压缩模型的资源-准确率权衡在应用开发就被预先确定了,在应用部署后仍然保持不变。然而,边缘计算系统的可用运行时资源是动态变化的。因此,如果可用运行时资源无法满足压缩模型的资源需求,这些同时运行的应用就会互相争夺资源,导致流视频的处理帧率降低。另外,在有额外的运行时资源时,压缩模型也无法用这些额外资源修复准确率损失。
为了解决以上问题,一种基于动态分配多任务资源移动端深度学习框架 NesDNN 被提出,它将运行时资源的动态变化纳人考量,生成一种资源感知的多重租赁设备端深度学习移动视觉系统。NestDNN 用灵活的资源-准确权衡代替了固定的资源-准确率权衡。在运行时方面,该框架为每个深度学习模型动态选择最优资源-准确率权衡,以满足模型对系统运行时资源的需求。采用这种方法NestDNN 可以高效利用移动视觉系统中的有限资源,最大化所有并行应用程序的性能与不考虑资源的现有方法相比,NestDNN 的推断准确率提高了 4.2%,视频处理速提高了 1倍,能耗降低了 40%。
2018 年提出的 AdaDeep从模型选择的角度探讨了性能与资源约束之间的关系,根据用户指定的需求进行理想的权衡。具体来说,该工作设计了一个用户需求驱动的择框架,可以自动选择不同的 DNN 压缩技术组合,从而在用户指定的性能目标和资约束之间实现最佳平衡。
用户(如 DNN 应用开发人员)向 AdaDeep 提交其系统性能求和目标平台的资源约束。然后,AdaDeep 自动生成一个 DNN 模型,以平衡这些要和约束。
实验结果表明,通过对5个公共数据集和12个移动设备进行广泛评估AdaDecp可实现高达 9.8%的延迟降低、4.3%能效提高和 38%存储降低 DNN,其精度损失可包不计。
美国理海大学的 Lil提出一种基于深度学习的自适应移动目标识别框架 (简称 DeepCham),是一种边缘主机服务器与移动边缘终端协同框架,主要区用于移动环境中。边缘主服务器与所参与的边缘终端协同地执行一种区域感知的适应训模型,与区域受限深度模型相结合,可提高目标识别的精度。
DeepCham 从实时移动照片中生成用于自适应的高质量区域感知训练实例,具体而言,主要包括两个过程:
1.采用一种分布式算法在参与的移动边缘中找到一张质量最高的图像,并用于实例训练;
2.用户标记例程根据一种通用深度模型所产生的参考信息,从高质量图像中再识别出目标。使用一天内在不同地点、时间、设备上收集智能手机上的新图像,DeepCham 可将移动标识别的准确性提高1倍以上
为了更有效地将深度神经网络应用到边缘端设备,同时利用云端的计算能力,实现边缘智能,美国哈佛大学的Surat Teerapittayanon团队提出一种基于云端、边缘端及用户端的分布式神经网络框架(distributed deep newral networks,DDNN)例,实现三者之的协同处理。
该框架不仅可以实现在云端进行深度神经网络推理,还可以在边缘和用户端完成深度神经网络的部分推理。
DDNN 支持可伸缩的分布式计算架构,其神经网络的规模可以按照跨区城进行划分。由于其本身的分布式特点,DDNN架构可以提高传感融合系统内应用执行的容错性和隐私数据保护。DDNN 处理过程将传统的 DNN 任务进行切片划分,并将分片任务分布到云端、边缘以及用户终端执行。通过三者之间协同的方式执行深度神经网络的训练,尽量减少三者之间不必要的数据传输,同时提高神经网络训练的准确性,提高整个系统中资源的最大使用效率。