DeepSwarm——一种新型边缘群体智能感知-计算耦合框架(通过数据采集和计算的双向优化实现群体深度学习)
Organization:Northwestern Polytechnical University
Author:Sicong Liu, Bin Guo, Ziqi Wang, Lehao Wang, Zimu Zhou, Xiaochen Li, Zhiwen Yu
To appear at FCS 2024
Sicong LIU, Bin GUO, Ziqi WANG, Lehao WANG, Zimu ZHOU, Xiaochen LI, Zhiwen YU. DeepSwarm: Towards Swarm Deep Learning with Bidirectional Optimization of Data Acquisition and Processing. Front. Comput. Sci., https://doi.org/10.1007/s11704-024-40465-z
在资源受限的移动设备(mobile device)和嵌入式设备(embedded device)中,设备端深度学习(on-device deep learning)的兴起激发了各种应用。然而,现有的设备上深度学习主要依赖于预定义的处理模式来对特定的输入数据做出响应,从而导致准确性和资源效率瓶颈。在这项工作中,作者主张向Swarm Deep Learning的范式转变,其灵感来自在群体中观察到的集体智慧,其中个体的主动行动实现了更好的全局性能。利用物联网场景中物理相邻的移动和嵌入式设备形成的集群的潜力,作者提出 DeepSwarm,这是一个旨在突破 on-device DL 性能边界的闭环系统框架。特别是,DeepSwarm将主动数据采集和处理与双向优化相结合,以最大限度地减少冗余并提高资源效率。它通过深度学习反馈及时解决数据限制和冗余问题,利用数据的互补性和异步性进行可扩展的处理。最后,作者讨论了提高DeepSwarm性能的研究挑战和机遇,并展示了两个初始实例(群体深度学习自适应、群体联邦学习),以展示其优势。
DeepSwarm主要解决了移动和嵌入式物联网设备上设备端深度学习(on-device DL)的系统精度和资源效率之间实现完美的权衡的问题。传统的设备端DL系统依赖于预定义的处理模式,这导致在处理数据冗余和缺乏数据采集与处理阶段之间的实时反馈,从而导致准确性和资源效率瓶颈。
嵌入式深度学习(Embedded deep learning, Embedded DL)系统将深度学习部署在资源受限的边缘设备上,这在智能物联网 (Artificial Intelligence of Things,AIoT) 中发挥着关键作用。直接在智能物联网终端设备上执行先进深度学习模型,使其能够收集、处理和解释本地传感器数据,不仅提高了数据隐私安全和终端设备响应能力,还节省了网络带宽。然而,使深度学习模型适应动态变化的可用存算资源和多源异构传感器数据并非易事,尤其是在资源有限的智能物联网边端设备上,努力满足智能物联网应用程序的实时性和成本效益需求非常困难。为此,资源高效的嵌入式深度学习为各种智能物联网应用领域开辟了新的可能性,包括医疗保健、智能家居、自动驾驶、工业自动化等领域。
尽管研究者们之前已经做了一些工作,但智能物联网系统仍存在两大主要问题,使得在系统精度和资源效率之间实现完美的权衡仍然具有挑战性:
l 由于智能物联网终端设备资源限制,为提高资源利用效率而压缩的深度学习模型在进行推理任务时面临精度受限的问题。
l 虽然采集丰富感知数据的传感器数量和类型(例如摄像头、激光雷达和高光谱成像仪等)激增,但来自单个终端设备的实时感知数据通常有限,导致在低分辨率、小尺寸和运动模糊等具有挑战性的高质量数据需求的场景中,存在感知和推理精度显著下降等问题。
DeepSwarm的动机是利用物联网设备中的群体智能,旨在从被动系统转向主动系统,通过双向优化实现更好的数据采集与处理。这种方法旨在最大限度地减少数据冗余,提高资源效率,从而解决当前设备端DL系统的局限性。
为了进一步增强深度学习和智能物联网系统之间的协同作用,以提高单个终端设备以外集群的整体性能,作者创新性提出了一种从嵌入式深度学习到感知-计算耦合集群系统的范式转变,称为集群深度学习 (swarm deep learning, swarm DL)系统。swarm DL系统将嵌入式深度学习,即单个智能物联网终端设备上资源高效的模型扩展到具有群体智能概念的协作环境中。swarm DL系统以嵌入式数据挖掘为基础,通过对传感器数据采集和处理之间的相互反馈的集成与优化,提高智能物联网系统应对复杂环境和集群自适应协同能力。
特别地,在传统物联网系统中(如图所示),嵌入式深度学习在单个设备上一般依据预定义的感知资源与计算资源的方式高效处理本地传感器数据,存在模式固化、适应能力不足等问题,难以实现高动态场景中感知与计算的有效联动。与传统的物联网系统不同,swarm DL系统在水平方向上与多个分布式设备高效协作,在垂直方向上采用传感器数据采集和传感器数据处理模块的协同设计的方式,可以实现高动态场景中感知与计算的有效联动,充分利用单一设备局部感知能力和有限计算资源,增强系统协作感知与计算能力,提高智能物联网系统的适用性与鲁棒性。同时,swarm DL系统致力于构建一个多智能体网络,主动收集来自多个数据源的传感器数据,实现全面和精确的目标或情境感知,以优化系统运行效率,并使整个系统适应复杂动态协作环境中设备内和设备间的动态相互作用。这种感知-计算耦合范式不仅提高了单个设备的性能,而且为分散和弹性可伸缩的智能物联网系统铺平了道路。
Swarm DL以设备上的深度学习为基础,主动扩展数据采集和处理,并为用户提供双向优化反馈,形成闭环。这种范式旨在最大限度地提高隐式互补性,并最大限度地减少群体内数据采集和处理的冗余,从而促进更高效和可扩展的物联网系统。具体而言,Swarm DL通过利用配备先进传感器和深度学习计算能力的物联网设备作为proactive agents来实现群体智能,体现了以下愿景:
l Proactive Data Acquisition for DL:与传统的传感器数据采集先于固定的数据处理完成范式不同,Swarm DL使每个物联网设备都能利用基于DL的数据处理的运行时反馈,尽快解决数据采集过程中数据缺失和冗余的问题。每个设备都主动地在本地运行,利用全球数据分布的本地代理和有限的资源,以自组织的方式提高协作性能,并促进更准确和高效的数据采集。
l Proactive Data Processing by DL:为了利用采集数据的互补性和异步性,即系统问题,Swarm DL主动扩大/缩小设备上的 DL 模型子结构和底层系统配置。这种本地适应优化了全局性能(例如,准确性、延迟、能源成本、内存使用),同时了解群体上的动态资源可用性。此外,与单独执行设备上的深度学习不同,主动群体设备对非静止移动环境具有更大的适应性,这些环境通过主动学习实现数据漂移。
在目前的研究中,有很多相关概念容易引起与Swarm DL的混淆,如群体智能(Swarm Intelligence)、设备上深度学习(On-device DL)、分布式深度学习卸载(Distributed DL offloading)、联邦学习(Federated Learning)、群体感知(Crowd Sensing)等。但是,Swarm DL在本质上与这些概念有很大不同。如图所示,将 Swarm DL 与其他概念进行比较,突出了其独特的特性:
l Swarm DL vs. Swarm Intelligence。Swarm DL 系统代表了群体智能概念的具体实例化。特别地,群体智能指定了swarm DL中所需的特征,包括:自组织,自适应和自主演化。Swarm DL 系统使用深度学习赋能的智能物联网设备作为群体中的智能体来实现群体智能在很大程度上尚未探索。同时,联合优化分布式边缘设备感知配置、深度学习模型、硬件资源等,以增强群体智能系统的性能、可扩展性和鲁棒性方面存在独特的挑战。
l Swarm DL vs. On-device DL:在传统的设备端深度学习系统中,推理是主要功能,设备上的适应性很小或可以忽略不计,特别是当嵌入式设备是为特定的推理任务定制时。例如,有研究者提出了一个系统,该系统可以在256kb的内存限制下运行DL模型。然而,模型的这种压缩和修改被设备被动接受。相比之下,Swarm DL 中的每个智能体都表现出更高的主动性,参与设备上的 DL 推理和适应,其中专门用于适应的比例更高。因此,在这种新背景下,平衡深度学习推理和适应的资源分配成为一个新的挑战。
l Swarm DL vs. Distributed DL offloading: 分布式深度学习卸载主要涉及自上而下的任务分区和卸载到多个设备,正如现有文献所强调的。Swarm DL强调设备之间集体行为的自下而上的出现。换言之,在Swarm DL中,每个智能体通过主动启动本地操作和调整,而不是集中分析来进行数据采集和处理,从而实现全局系统性能和资源效率的动态优化。
l Swarm DL vs. Federated Learning:联邦学习(Federal Learning,FL)是一种数据处理范式。在给定输入数据的情况下,嵌入式设备上的联邦学习可以提高数据驱动的深度学习训练/适应效率。Swarm DL 专注于跨越数据采集和处理的联合优化。
l Swarm DL vs. Crowd Sensing:群智感知将任务分配给众多用户,并使用它们贡献的数据来融合有关特定环境或情境的信息[8]。但是,它们没有从数据融合到任务分配阶段的进行及时反馈。此外,Swarm DL系统强调设备协作进行数据采集和处理,而群智感知仅依靠用户生成的数据进行集群数据采集。
l Swarm DL vs. Distributed multi-modal data fusion: 分布式多模态数据融合主要是将来自不同感知源的数据进行融合,提高融合数据的整体质量,是一种多对一的单向数据融合模式。而swarm DL系统则主要关注每个设备的数据生成和融合的需求,采用多对多交互的双向聚合方案
尽管先前工作对设备上的深度学习推理和自适应进行了广泛的研究,但将其扩展到包含数据采集和处理的群体双向优化仍存在两个复杂性的挑战:
l 从数据采集和处理的独立优化到双向优化。它要求在对每个设备准确执行数据处理之前,对模态和样本中的数据重要性进行在线分析。它涉及在群体中动态整合实时数据。具体而言,现有的设备端数据重要性评估方法仅通过分布或熵比较来评估显性影响。它们无法处理隐含的互补性,受到分布式和动态因素的影响,如数据异步性、跨模态互信息可传递性以及相关的融合延迟成本。
l 从被动数据处理到主动数据采集和处理。尽管之前在数据反应式设备端 DL 算法-系统协同设计方面做出了努力,但主动集群设备的优化范围需要改进。分散的约束,例如从部分信息和分布式资源进行处理,加剧了swarm DL的优化难度。此外,单个 IoT 设备之间的协作为swarm DL中的数据采集关联和计算优化带来了新的挑战。在分布式设置中,数据采集(生产者)和数据处理(消费者)的最佳匹配使优化范围进一步复杂化。
为了实现swarm DL的愿景,作者提出了一个通用的系统框架,名为DeepSwarm(如图所示)。它与异构 AIoT 硬件(例如,CPU、GPU 或配备 MCU 的嵌入式设备)一起运行,适应动态应用环境(即,数据分布漂移和运行时资源可用性),并推广到各种 AIoT 应用(例如,移动健康、智能家居、自动驾驶汽车、工业自动化)。
DeepSwarm采用模块化设计,将swarm DL的需求分解为两个功能模块:用于 DL 的主动集群数据采集和基于 DL 的主动 Swarm 数据处理。这两个模块与双向反馈协同工作,以优化系统性能(例如,准确性、延迟)和资源效率(能源效率、内存碎片)。下面我们简要说明两个模块的范围和特点:
l Proactive data acquisition module:利用丰富传感器、资源受限的AIoT设备作为智能体,形成自组织集群,实现高效的数据采集,显著提升感知性能,并减少连接智能体之间的冗余信息。DeepSwarm中的数据采集应自主选择和关联AIoT设备和传感器模式,并配置传感参数。例如,根据数据处理反馈,采样率以最小的开销(例如通信和能源成本)最大限度地提高融合数据质量。
l Proactive data processing module:以深度学习任务的形式高效处理获取的数据,包括推理、训练和适应(微调、演化),以实现自适应和自演化的群体系统。DeepSwarm中的数据处理预计将按需、实时地扩展,并具有高资源效率。
该模块从群体智能中汲取灵感,协调分布式设备和传感器的自组织。每个智能体通过分析从跨模态、跨任务和跨时钟传感器数据中提取的信息,积极参与数据重采样、感知参数调整以及与其他智能体的关联,旨在最大限度地提高数据融合质量并减少智能体数据冗余。此外,它旨在实现早期的互补增强,解决模态信息丢失、时钟异步和异构数据移位等挑战。前期是指数据生成、预处理、流出和处理的初始阶段。这样可以尽早降低后续的资源成本(例如,采样、计算、传输带宽)。
具体来说,我们强调同时评估数据在运行时对后续数据处理任务性能的显性和隐性重要性。
l Explicit data importance: 可以使用数据/特征级信息比较和历史拟合等技术来实现分析。
l Implicit data importance:分析依赖于其在整个群体系统中数据采集阶段的互补性以及后续处理任务的特性。这包括异步特征解缠、生成和组合、慢数据重用、异构数据分布聚类以及时空数据重用。
显性数据重要性估计是数据驱动的,已有丰富的研究成果。虽然隐含的数据互补性分析是系统驱动的,而且是不平凡的,需要全面考虑动态系统因素。我们指定了实现这种群体数据采集所必需的三个主要要求:
l Automated Association of Heterogeneous, Asynchronous, and Asymmetric Sensing Sources(异构、异步和不对称传感源的自动关联)低功耗、数据丰富的传感器(如摄像机、麦克风、激光雷达和射频成像仪)的分布式协作,跨越不同的感知设备,促进了在复杂环境中的感知精度,如在角落、穿过墙壁、在微光下和树叶下的监测。为了优化资源受限的智能物联网感知设备的整体感知灵敏度和覆盖范围,采用最小化数据信息冗余的思想,并利用跨传感器不同模态间数据和设备的早期关联性,实现跨设备高效协同感知。
l Context-adaptive Data Sampling(上下文自适应数据采样)在众多智能体中,根据传感任务的动态性和多样性调整选定传感器的采样策略对于在没有数据冗余的情况下捕获必要信息至关重要。观察结果表明,只有少数类别对处理部分缺失的数据敏感。例如,在优化深度学习模型适应任务时,用于后向传播的主动样本识别策略应考虑两个标准:(1)识别可靠的适应样本和(2)确保非冗余,特别是跨模态和多任务。对于深度学习推理,分布式群传感器的占空比采样通过从长程依赖性角度预测全局信息融合后的潜在相关性来延长电池寿命。这涉及到本地执行的采样,然后在空闲期间关闭传感器,或者根据互补性和环境复杂性降低采样率。
l Feedback-aware Data Acquisition(反馈感知数据采集)自适应感知源关联和采样应根据数据处理的实时反馈,在不依赖全局数据知识或精确处理结果的情况下利用局部信息。这些配置必须快速调整以适应不断变化的传感器数据流和应用环境。实时性能估计反馈是优化数据采集流水线的关键。然而,在没有精确执行的情况下,验证这些策略对后续处理任务的适用性具有挑战性。一种方法,如在测试时自适应调整,涉及一个附加的“再向前”模块,它跟随向前和向后传递。其核心挑战在于准确、及时地预测数据采集性能,而无需重新执行整个数据处理阶段。
该模块包含数据处理任务,包括DL推理和自适应。传统的设备上深度学习系统主要专注于推理,很少有设备上的适配,特别是在为特定任务定制的嵌入式设备中。相比之下,Swarm DL智能体表现出更高的主动性,参与推理和自适应,甚至更强调自适应。因此,平衡深度学习推理和自适应的资源分配在这种背景下提出了一个新的挑战。具体来说,swarm DL的主要目标是以自适应和自进化的方式执行数据处理任务,类似于一般的群体智能。与专注于优化深度学习算法的方法不同,DeepSwarm还解决了资源竞争中的系统异步问题,代理之间不同的资源可用性,管理峰值内存使用,以及优化系统延迟和准确性之间的权衡。我们强调此模块的以下关键需求:
l Self-adaptive DL Inference为了在低资源预算和动态资源预算下实时处理传感器数据,必须自适应地压缩和划分深度学习推理工作负载,平衡精度和资源效率。需要创新地集成模型压缩、分区和卸载技术,以在算子、通道、分支和层级别上精细地向上/向下扩展深度学习推理工作负载。尽管深度学习模型的压缩或分割在算法上有了进步,但它们很难解决现实世界部署的动态性。识别和适应这些变化是至关重要的,因为不同的性能需求会受到时变的资源可用性、推理频率和来自其他应用程序的资源争用的影响。自适应深度学习推理过程必须操作免再训练和跨层跨越的深度学习模型、计算图、算子和内存分配,以匹配动态上下文。
l Self-evolutionary DL Adaptation在真实的AIoT应用中,实时数据漂移通常会挑战预训练深度学习模型建立的精度-资源效率的平衡。积极地从新数据中学习,并使用来自本地和边缘设备的有限本地计算资源自适应部署的深度学习模型的参数是至关重要的。为了最大化高精度深度学习推理时间在所有智能体整个生命周期(包括推理和适应时间)中的比例,需要一种高效的机制来支持资源有限的智能体处理深度学习适应任务。为了实现这一点,智能体必须在没有真实标签的情况下准确和快速地估计局部深度学习模型的精度下降,以控制再训练数据的大小并决定何时触发模型演化。同时,DeepSwarm还需要平衡设备之间有限的计算和内存资源,并以分散的方式解决不同设备发起的异步任务之间的竞争。此外,解决特定嵌入式SoC上的深度学习训练的算子支持问题也是至关重要的。
DeepSwarm依赖于高度自动化和闭环的双向优化,强调环境、异构系统组件和设计堆栈之间的交互。如图所示,与专注于数据采集和处理单独优化的传统研究不同,这些组件的双向优化克服了性能限制,平衡了准确性和资源效率。通过共同优化群体数据采集和处理,可以准确收集和处理数据,最大限度地提高系统性能,同时最小化冗余和资源成本。在物联网场景中,每个智能体既是主动数据生产者,又是消费者,导致它们之间产生错综复杂的动态匹配关系。新的数据处理任务层出不穷,争夺集群设备的计算/内存资源,需要不断进行数据再分配,并调整深度学习模型结构和资源分配,以满足精度、时延、资源效率等多样化的应用需求。秉承这一协同设计原则,作者确定了以下挑战和机遇:
为了在推理精度和效率之间取得平衡,在数据采集和处理中增强互补性并最大限度地减少冗余至关重要。
为了确定最低限度的数据要求和非冗余的数据相关性,常用的方法涉及统计分析或距离度量,例如相关性、互信息、方差和相对重要性,以评估每种模态与目标变量之间的关系。然而,旨在确保预测精度的现有方法通常非常耗时,或者依赖于完整的全局数据分布分析。对于具有多个分布式设备的实时和去中心化物联网场景,进一步调整这些方法至关重要。在分布式 AIoT 场景中,不同的设备可能会带来异构数据进行非阻塞模型推理,此外,物联网场景中感知任务的动态性质增加了复杂性。具体而言,确定最低限度的数据要求需要考虑基于具体任务的不同模式的不同相关性。自适应方法对于动态调整任务依赖性是必要的。
针对这些挑战,作者提供了一些见解:
l 并非每个传感器数据样本都对后续模型处理精度有统一的贡献,对数据贡献进行细粒度的任务感知估计至关重要。
l 在深度学习训练任务中,错误处理不可靠的数据样本会对准确性产生负面影响。
l 在瞬息万变的感知环境中,数据传输中的滞后问题也会对计算精度造成干扰。具体来说,在异步分布式深度学习中,这种增加的数据过时性会导致深度学习模型更新期间出现更严重的参数错误。
l 排除不可靠的数据样本会留下潜在的冗余,建立一个旨在识别可靠和非冗余样本的主动样本选择标准是必要的,但也具有挑战性。
根据不同设备的贡献和数据处理效率调整每个传感器的采样率和开或关是一项艰巨的任务。这一挑战的出现是由于任务的动态性质以及传感器与不同活动的不同相关性,而每个传感器的贡献可能会根据本地的各种系统因素而波动,这一事实使其难度更加复杂。这进一步使得预先确定1-for-all采样率和用法变得令人望而却步,因此需要一种实时自适应方法 。然而,挑战在于目前的研究无法准确评估每个传感器的贡献,并根据不断变化的环境需求做出明智的运行时适应决策,确保最佳的平衡。不同场景和任务下的数据准确性与处理效率之间的关系。传感器噪声、异常值或意外事件等因素可能会给算法设计带来复杂性,因此需要在多样化和动态场景中表现良好的稳健解决方案。
此外,在涉及多个智能体和不同传感器的场景中,尽管进行了一些初步研究工作,但挑战在于实现实时采样率适应的协调和协作。目前的研究总是在探索数据自适应抽样与单一设备模型自适应之间的关系,缺乏一个统一的框架来指导它跨越协作的群体设备和多样化的任务。
分布式多模态数据流的实时和精确处理对于各种 AIoT 应用至关重要。为了实现这一目标,研究能够使用来自不同设备的部分、延迟、不完整或缺失的数据流执行深度学习推理的高效推理框架至关重要。虽然分布式多模态传感数据有可能通过立体多视角视图提高感知准确性和覆盖范围,如在车辆网络和无人机集群中观察到的那样,它们协同感知小型、遮挡或弱光目标,但这些挑战在实际应用中很常见。这需要对以下几项关键技术进行探索:
l 估计和插补实时数据流的缺失值和不确定性,例如采用生成模型或插值技术,使模型能够在没有完整信息的情况下做出明智的预测。这使模型能够根据可用数据生成推测性推断,即使只有部分信息,也能做出准确的预测。然而,确定插补缺失的数据点是否能够保持底层模式的准确性,尤其是在没有标签的情况下,这是一个挑战。
l 将不确定性估计(例如概率模型或贝叶斯模型)集成到深度学习模型中,以量化与在不完整数据上做出的预测相关的不确定性。采用自适应特征选择机制,从完整数据中优先考虑和利用最有用的特征,优化融合过程。
l 开发用于准确同步和对齐多模态数据流的预处理技术对于准确融合和深度学习推理至关重要。然而,由于不同传感器或数据源之间的数据到达率、延迟和时钟同步不同,上述技术将面临挑战。此外,传感环境是动态的,数据流的特性可能会随着时间的推移而变化。构建能够持续适应动态条件的自适应模型对于异步数据流中推测推理的鲁棒性至关重要。
l 执行上述复杂计算,特别是在生成和预测模型的轻量化和加速实现中,对于具有资源受限移动设备的实时系统至关重要。
Swarm DL模型的上下文感知规范考虑了输入传感器数据、所需的应用程序性能结果以及可用硬件资源的约束。它对特定任务具有双重适应性,并且经过精心设计,对硬件资源友好。具体来说,推理、训练和适应任务中的情境感知 DL 模型应该是动态可扩展的、可分割的和可组合的。
l 深度学习模型(包括结构和参数大小)必须以不同的压缩程度进行放大或缩小,以满足动态资源约束(内存、计算和电池)和指定的性能要求(精度、延迟、能源成本)。设计不佳的深度学习模型可能会导致精度波动。
l 当前的算法-系统协同设计方法,它们缺乏基于运行时资源可用性的获取数据感知深度学习模型计算和系统部署的协同优化。去中心化的计算约束,特别是从部分信息进行计算,使协同设计的群体深度学习系统中的优化挑战进一步复杂化。此外,将运行时硬件资源可用性和系统执行反馈传播到数据处理算法设计仍然是一个具有挑战性的方面。
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!