边缘智能:边缘计算驱动实时深度学习

边缘智能

作为人工智能领域的当红炸子鸡,深度学习技术近年来得到了学术界与产业界的大力追捧。目前,深度学习技术已在计算机视觉、自然语言处理以及语音识别等领域大放异彩,相关产品正如雨后春笋般涌现。由于深度学习模型需要进行大量的计算,因此基于深度学习的智能通常只存在于具有强大计算能力的云计算数据中心。考虑到当下移动终端设备的高度普及,如何将深度学习模型高效地部署在资源受限的终端设备,从而使得智能更加贴近用户这一问题以及引起了学术界与工业界的高度关注。针对这一难题,边缘智能Edge Intelligence, EI)技术通过协同终端设备与边缘服务器,来整合二者的计算本地性与强计算能力的互补性优势,从而达到显著降低深度学习模型推理的延迟与能耗的目的。

边缘智能:基于终端设备与边缘服务器协同的深度学习推理
边缘智能的核心研究问题在于如何在资源受限的边缘端高效部署深度学习模型,其中包括边缘设备深度学习模型优化,深度学习计算迁移,边缘服务器与终端设备间的协同调度等问题。

边缘计算驱动实时深度学习

作为人工智能领域的主流技术之一,深度学习近年来得到了学术界与产业界的大力追捧。由于深度学习模型需要进行大量的计算,因此基于深度学习的智能算法通常存在于具有强大计算能力的云计算数据中心。随着移动终端和物联网设备的高速发展与普及,如何突破终端设备资源限制,从而将深度学习模型高效地运行在资源受限的终端设备这一问题已经引发了大量关注。为解决这一难题,可考虑边缘计算赋能人工智能的思路,利用边缘计算就近实时计算的特性,降低深度学习模型推理的时延与能耗。
边缘计算模型部署
综合运用上述模型切分和模型精简两种方法调整深度学习模型推断时间的优化手段,并小心权衡由此引发的性能与精度之间的折中关系,本文定义如下研究问题:对于给定时延需求的深度学习任务,如何联合优化模型切分和模型精简这种方法,使得在不违反时延需求的同时最大化深度学习模型的精确度。

模型切分

对于常见的常见的深度学习模型,如深度卷积神经网络CNN,是由多层神经网络相互叠加而成。由于不同网络层的计算资源需求以及输出数据量都具有显著的差异性,那么一个直观的想法是将整个深度学习模型切分成两部分,其中计算量大的一部分卸载到边缘端服务器进行计算,而计算量小的一部分则保留在终端设备本地计算,如图2所示。显然,上述终端设备与边缘服务器协同推断的方法能有效降低深度学习模型的推断时延。然而,选择不同的模型切分点降导致不同的计算时间,我们需要选择最佳的模型切分点从而最大化发挥终端与边缘协同的优势。
模型切分
深度神经网络模型多具有良好的内部结构,如图 4 所示,按照模型的内部结构可通过纵切、横切及混切等方式将模型切分成不同粒度且具有相互依赖关系的模型切片[45],之后将切片按照依赖关系分别部署在云及边缘端. 如采用纵切方式的 DeepThings[46-47],横切方式的 Neurosurgeon[34]、MoDNN[48]、Cogent[49].
在这里插入图片描述

混切方式的 DeepX[50]、AOFL[51]、CRIME[52]、 DeepSlicing[53],以模型切割为主压缩等其他轻量化方法为辅的Edgent[54], ADCNN[55] 等,通过优化资源(能耗、通信或计算等)的代价函数对模型内部的切割点进行枚举,以寻找满足用户或系统需求的切割方案.

模型切割技术在保证模型推理精度不变的前提下,能更好的适应边缘计算. 但由于边缘计算中涉及资源分布广泛、性能不一,尤其是在动态场景下资源地理分布范围广,造成所面临的环境时刻发生变化且不唯一;网络规模变大造成网络拓扑变化;边缘计算场景中计算资源不集中,靠近用户侧,资源发散;应用、网络、设备的异构性等边缘计算资源类型多;由于同一节点运行多种类型服务的情况,资源分配困难使得网络拥堵,服务器波动大;故障频率高、性能波动大、节点协调困难、服务调整趋于被动,存在滞后性并需要分布式思维解决等问题.切割技术中需要引起关注的是切割的整体过程,其中包括切割的执行者、切割时的参考依据如何获取、切片的依赖关系映射、切片更新时间及频率等,这决定了切割的方案在边缘计算环境中的适用性及稳定性,表 1 给出了不同方法的模型切割过程中涉及的关键步骤的比较.
在这里插入图片描述

模型压缩

模型早推出

除了对模型进行切分(DNN partitioning),加速深度学习模型推断的另一手段为模型精简(DNN right-sizing),即选择完成时间更快的“小模型”,而非对资源需求更高的“大模型”。如图3所示,对于任意深度学习任务,我们可以离线训练具有多个退出点的分支网络,其中,退出点越靠后,模型越“大”, 准确率也越高但相应地推断时延越大。因此,当深度学习任务的完成时间比较紧迫时,我们可以选择适当地牺牲模型的精确度来换取更优的性能(即时延)。值得注意的是,此时我们需要谨慎权衡性能与精度之间的折衷关系(tradeoff)。

模型早推出
由于边缘节点内存、计算能力、能耗等有限,模型的鲁棒性、稀疏性等允许我们通过张量分解方法对张量降秩处理;通过剪枝剔除影响小的参数对模型进行压缩;通过量化方法降低权重和中间计算结果的位宽,进一步降低模型在内存与计算量上的需求。

在软件优化方面,除了与训练过程结合生成低稀疏性的紧致模型外,还包括对已有模型的处理,处理技术主要包含剪枝量化 2 种技术.

剪枝

对剪枝而言,从模型的结构出发,可分别对滤波器(filter)、通道(channel)、神经元 等分别或混合进行压缩处理. 在剪枝粒度上,主要包含非结构化剪枝结构化剪枝 2 种.
非结构化剪枝删除任意位置的权重,其特点是粒度细、压缩率高,如在多次迭代过程中删除冗余参数的知识蒸馏方法. 但非结构化剪枝并不能显著降低计算量且因存在的稀疏性带来额外开销,需要定制化加速器才能完成计算加速.
结构化剪枝中剪枝粒度大,具有良好的加速效果,如通过后继层对前驱层的重要性反馈删除影响小的通道,但此类方法压缩率相对较低. 这促进了对混合粒度的剪枝方法研究,如满足一定结构规则性的基于模式的剪枝方案对卷积内核进行修剪以满足特定模式.

剪枝操作通常会给推理精度带来不利影响,目前主流方法多采用重新训练的方式解决这个问题,但对重新训练而言,由于计算代价大,重新训练比较适用于精度及效率具有重要意义的场景,即需要评估模型部署后所带来的收益与重新训练的代价后才考虑是否选择重新训练.

量化

对量化而言,由于模型的参数量巨大,低位宽的数据表示方法可以极大压缩模型尺寸,提升推理速度. 根据取值范围,可将量化分为 2 值量化、3 值量化、线性量化、非线性量化,其本质是多对一的映射问题. 2 值量化方法中,主要是将权重映射为1 和−1,将激活值映射为 1 和 0;3 值量化主要是在 2 值量化基础上引入额外的 0 来增强所能表达的状态空间;线性量化则主要将原始权重数据量化为连续的对硬件友好的定点;非线性量化通常没有特定的映射规则,也有学者称其为参数共享,如使用不同的哈希映射对网络每一层进行压缩;使用 k-means 聚类实现相近参数的压缩,将最近邻居量化到相同位宽等. 由于数据表示的精度上存在损失,因此,量化方法会对推理精度带来一定影响.

边缘协同推理在动态场景下的挑战与展望

本文从边缘智能出发,简要描述了其发展过程.着重从边缘协同角度对模型推理阶段涉及到的关键技术进行了归纳总结,并从动态场景的角度分别进行了分析. 截至目前,边缘协同智能依然处于快速发展阶段,其大体分为 2 类:一类是基于原有的智能化方法与边缘计算资源特点不断结合(如深度神经网络架构实现搜索、混合精度量化);另一类是直接从边缘计算产生的方法(或称边缘原生方法,如模型选择)结合边缘计算资源的特点(地理分布、异构性、动态性等).目前还存在诸多挑战,下面介绍几个值关注与讨论的方向:

1)推理模型与动态性的适应问题. 以往优化算法较适用于云计算中同质化资源,其资源状态变化不大,一般按需分配、按需扩展,利于结合业务对负载实时调控.然而,在应对具有一定规模的呈地理分布的边缘节点时,由于边缘节点相对于云计算节点的可控性不强,且存在资源异构性及动态性,使当前边缘协同推理智能化的主流方法中还存在一些值得进一步关注的问题,如模型切割技术的整体或部分更新问题;模型压缩技术在不同节点间的可移植性及再训练问题;模型选择/早期退出在面对资源变化时的不同模型问题;分支切换灵活性及资源分配粒度问题. 同时,如 2.2 节所述,尽管目前已经呈现出不同技术的融合态势,但在协同环境下,边缘协同推理智能化方法依旧面临许多共性问题,如已部署模型的更新替换频率及兼容性问题、动态资源变化与所运行模型(或部分)资源需求的匹配问题、额外的中心调度或部署代价问题等.

2)在边缘协同推理验证方面,动态场景建模将促进协同推理相关方法的良性发展. 动态场景下的边缘计算普遍存在硬件故障、系统及软件的负载变化、人为与环境因素的影响、地理分布广泛以及服务状态复杂多变易受影响等特点,运维成为一大挑战.纵观已有研究,在验证思路时多数通过实际的生产场景,或较为简单的代价评估模型模拟,缺乏动态场景特点上的考虑. 造成这种现状的原因,一是生产场景对于广泛的研究人员并不容易可及,二是模拟场景考虑的影响因素不够全面,在边缘协同推理的有效性评估上还存在困难,给边缘协同智能的落地带来一定阻碍. 除此之外,边缘协同推理作为完整应用,还涉及各种网络、计算中间件的运行,这些中间件无一不需要大量的资源来维护. 因此,提供一个可信的动态仿真场景值得研究.

3)在边缘原生方法方面,在线学习与边缘计算的结合或可为边缘协同智能提供更广阔的适用场景.目前多数研究或工作将训练与推理分开,界线清晰,较适合于资源丰富且动态性不强的场景. 但对于涉及计算、网络等资源存在限制且动态的场景,单独的训练过程并不适用,如何利用有限的资源对推理模型进行在线更新值得研究,相关研究领域或可参考感知计算、触觉网络等。

结语

边缘协同推理具有极大的应用价值,目前,正处于快速发展期,但清晰而又统一的处理方法尚未形成,值得我们重点研究. 本文对边缘协同智能的发展历史进行了简要回顾,对推理过程中涉及到的关键技术进行了归纳整理. 通过对不同关键技术的纵向总结、适用场景分析以及技术间的对比等,重点从动态场景角度提出了边缘协同推理存在的挑战与值得发展的方向. 整体来看,边缘协同推理目前还有极大的发展空间,我们未来的研究工作重点将放在动态场景建模以及动态场景下的边缘协同推理可靠性保障方面。

参考文献:
[1]王睿,齐建鹏,陈亮,杨龙.面向边缘智能的协同推理综述[J].计算机研究与发展,2023,60(02):398-414.
[2] Shi Weisong, Zhang Xingzhou, Wang Yifan, et al. Edge computing:Status quo and prospect[J]. Journal of Computer Research and Development, 2019, 56(1): 69−89 (in Chinese)
[3]李恩,周知,陈旭.边缘智能:边缘计算驱动的深度学习加速技术[J].自动化博览,2019(01):48-52.
[4]周知,于帅,陈旭.边缘智能:边缘计算与人工智能融合的新范式[J].大数据,2019,5(02):53-63.
[5] Gao Han, Tian Yulong, Xu Fengyuan, et al. Overview of deep learning model compression and acceleration[J]. Journal of Software, 2021, 32(1): 68−92 (in Chinese)
[6] Wang Xiaofei. Smart edge computing: The bridge from the Internet of everything to the empowerment of everything[J]. People ’s Forum·Academic Frontiers, 2020(9): 6−17 (in Chinese)
等. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . … . . . . . .

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/30752.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Delta 一个新的 git diff 对比显示工具

目录 介绍git diff 介绍delta介绍 一、安装1.下载 Git2.下载 delta3.解压4.修改配置文件5. 修改主题6.其他配置和说明 二、对比命令1.在项目中 git diff 常用命令2.对比电脑上两个文件3.对比电脑上的两个文件夹 三、在Git 命令行中使用效果四、在idea 的Terminal命令行中使用效…

linux 内核版本和发行版本

当要明确自己的Linux系统的版本号时,大多数情况是用命令确定Linux内核版本的。不过这个还是要与CentOS的版本号(就是你使用的Linux系统的发行版本)区分开来,这两个不是一个东西。 一、发行版本号 比如当时安装CentOS时&#x…

MySQL是什么,如何整合SpringBoot,以及使用优势

目录 一、MySQL是什么 二、如何整合SpringBoot 三、MySQL使用优势 一、MySQL是什么 MySQL是一种开源的关系型数据库管理系统,采用客户机/服务器模式实现数据存储和管理。其最初由瑞典的MySQL AB公司开发,后来被Sun Microsystems收购,最终…

【Python 随练】寻找完数

题目: 一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如 61+2+3.编程找出 1000 以内的所有完数。 简介: 在本篇博客中,我们将解决一个数学问题:如何找出 1000 以内的所有…

AI绘画基于 Kaggle 10 分钟搭建 Stable Diffusion(保姆级教程)

AI绘画基于 Kaggle 10 分钟搭建 Stable Diffusion(保姆级教程) 一、引言二、安装教程1. 注册 Kaggle2. Edit My Copy3. 进行手机号的验证4. 打开 “internet off” 开关,并选择显卡5. 开启 session,运行脚本 三、主界面介绍四、注…

Windows提示“找不到rgss202j.dll”怎么办?

Rgss202j.dll文件是Windows操作系统最重要的系统文件之一,它包含了一组程序和驱动函数。如果此文件丢失或损坏,驱动程序将无法正常工作,并且相应的应用程序也将无法正常启动且运行。通常情况下,造成Rgss202j.dll文件无法找到的原因…

计算机的工作过程和主要性能指标

一、计算机的工作过程 为使计算机按预定要求工作,首先要编制程序。 程序是一个特定的指令序列,它告诉计算机要做哪些事,按什么步骤去做。 指令是一组二进制信息的代码,用来表示计算机所能完成的基本操作。 编制好的程序放在主存中…

redis 的基本介绍以及 五种 数据类型

一、redis是什么? 一句话:redis 是一个开源的、使用C语言编写的、支持网络交互,基于内存也可持久化的 key-value (非关系型)数据库 redis作者博客,有兴趣的小伙伴可以去逛一逛:http://github.…

Android 9 蓝牙协议初始化

先讲一下Application类的使用 要使用自定义的Application,首先就是要自己新建一个Application的子类,然后把它的名字写在manifest文件里面的application标签里的android:name属性就行,如我的Application子类名字是BaseApplication&#xff0c…

Selenium 环境配置

如果你做过 Web 测试的工作,那么你应该明白 Web 测试中最重要的一部分工作就是自动化测试。自动化测试,顾名思义就是让浏览器自动运行,而无需手动操作。这和我们爬虫工作原理有些相似,我们爬虫也需要让浏览器运行网址来获取我们需…

基于QFT的量子加法器的原理与实现-mindspore quantum

1 量子Fourier变换 离散Fourier变换以一一个复向量 x 0 , . . . , x N − 1 {x_0},...,{x_{N - 1}} x0​,...,xN−1​为输入,输出的数据是如下复向量 y 0 , . . . , y N − 1 {y_0},...,{y_{N - 1}} y0​,...,yN−1​: y k ≡ 1 N ∑ j 0 N − 1 x j …

Debian12.0.0更换系统语言中文到英文

6月10号,Debian12.0.0更新,想尝尝鲜,在虚拟机里安装好,想将中文改为英文,因为Terminal下输入命令,中文切换麻烦。 一、步骤如下 #1、查看当前语言环境 env | grep LANG #2、en表示语言,US表示…

ffmpeg capture decklink

确保decklink设备已经接入 lspci | grep Blackm02:00.0 Multimedia video controller: Blackmagic Design DeckLink SDI Micro 确保decklink驱动已经正确安装 lsmod | grep blackmagicblackmagic_io 2068480 2 确保ffmpeg已经启用decklink,如何配置之前的博文已经…

岩土工程监测案例:完整链条的振弦传感器、采集仪和在线监测系统

岩土工程监测案例:完整链条的振弦传感器、采集仪和在线监测系统 在岩土工程监测中,振弦传感器被广泛应用于测量土体或岩体的振动情况,以了解地震或其他振动事件对结构物或地基的影响。振弦传感器具有高精度、快速响应、易于安装和低成本等优…

C语言指针初阶+进阶(看这一篇就够了)

目录 本章重点 1. 指针是什么 2. 指针和指针类型 3. 野指针 4. 指针运算 5. 指针和数组 6. 二级指针 7. 指针数组 8. 字符指针 9.数组指针 10. 指针数组 11数组传参和指针传参 12. 函数指针 13. 函数指针数组 14. 指向函数指针数组的指针 15. 回调函数 16 指针和数组面试题的解…

c++lambda函数笔记

1、labmda函数用途: 用于简短功能函数的定义,并传递到std算法中。 2、一般函数与lambda函数比较示例 3、如何定义lambda 如下为lambda通用定义式子: [capture] (params) opt->ret{body;}; capture——捕获列表,[]为不捕获变量…

制造执行系统(MES)的核心功能是什么?

制造执行系统(MES)的核心功能是什么? 01 什么是MES 制造执行系统(MES)是一种用于监控、控制和优化制造过程的软件系统。它通过与企业资源计划(ERP)系统和自动化系统的集成,实现对生产过程的管…

基于MATLAB的无人机遥感数据预处理与农林植被性状估算

在新一轮互联网信息技术大发展的现今,无人机、大数据、人工智能、物联网等新兴技术在各行各业都处于大爆发的前夜。为了将人工智能方法引入农业生产领域。首先在种植、养护等生产作业环节,逐步摆脱人力依赖;在施肥灌溉环节构建智慧节能系统&a…

DBSyncer安装_配置postgresql和mysql_sqlserver_oracel全量增量同步---数据全量增量同步之DBSyncer001

国内做开源的大神做的,用了一下还可以,就是不能和Phoenix这种操作hbase等数据库一起用, https://gitee.com/ghi/dbsyncer#postgresql 这个是官网,下载安装非常简单,官网也有中文详细说明. 直接下载安装包: 然后解压到某个地方,主要要用unzip dbsyncer.zip -d /opt/module这样…

Docker中为RabbitMQ安装rabbitmq_delayed_message_exchange插件

Docker中为RabbitMQ安装rabbitmq_delayed_message_exchange插件 1、前言1、下载插件2、拷贝插件到RabbitMQ容器3、启用插件 1、前言 rabbitmq_delayed_message_exchange是一款向RabbitMQ添加延迟消息传递(或计划消息传递)的插件。 插件下载地址&#x…