边缘智能数据处理和模型优化
边缘智能通过在边缘节点应用人工智能算法进行部分训练和推理决策。移动终端等设备通过将深度学习模型的推理或训练任务卸载到临近的边缘算力节点,以完成终端设备的本地计算与边缘服务器强计算能力的协同互补,进而降低终端设备自身资源消耗和任务推理的时延或模型训练的能耗,保证良好的用户体验。
同时,将人工智能模型部署在边缘设备上,可以为用户提供更加实时的智能应用服务。此外,依托远端的云计算服务,根据设备类型和场景需求,可以进行近端边缘设备的大规模安全配置、部署和管理以及服务资源的智能分配,从而让智能能力在云端和边缘之间按需流动。
边缘智能是边缘算力的重要使能技术,涉及到系统部署、数据处理、模型优化、边缘训练、边缘推理等关键问题。
系统部署
边缘算力设备异构性强、计算资源受限,软件部署框架对在不同环境中实现和运行边缘智能起着至关重要的保障作用。边缘智能系统部署不仅包括了主流的裸机、容器、无服务器计算(Serverless)等隔离部署方式,也涵盖了各种智能应用部署软件框架。这些环境和技术的选择对系统的性能、可靠性和可扩展性有着直接影响。
裸机部署是直接在物理服务器上运行应用程序的部署方式,避免了虚拟化带来的性能开销,从而提供了较高的计算性能和快速响应能力。该方式使得应用能够充分利用处理器、内存和存储等硬件资源,提供优异的计算性能和响应速度。
但其缺点在于其灵活性较低,硬件资源必须事先分配和配置,可能导致资源闲置同时扩展和维护通常需要物理访问服务器,复杂且成本高,大规模部署可能需要更多的时间和专业人员。因此在实际系统中,通常采用容器化方式进行快速部署,能够提供轻量级、可移植和可扩展的方式来打包、部署和运行应用程序及其依赖项。无服务器计算提供了比容器更加便捷的边缘智能模型部署方式,开发者可以专注于代码的功能开发而无需关心底层硬件的管理,平台自动管理应用的扩展需求,根据实际使用来动态分配资源,不仅提高了资源的利用率,还可能降低运营成本。无服务器计算极大简化了部署和维护的过程,加速了开发和应用的迭代周期,尤其适合于处理边缘端间歇性或不连续的工作负载,例如基于事件的触发器、轻量级微服务等场景,能够灵活响应业务需求的变化。除上述基础部署框架外,机器学习领域还有如 TVM、PyTorch、TensorFlow、ONNX 和 PaddlePaddle 等一系列的智能应用框架,支持从模型训练到部署的全过程,使开发者能够针对不同硬件环境实现高效的运行,有效提升应用的开发与执行的效率、可扩展性和最终的性能。
数据处理
边缘智能以分布式方法实现人工智能训练和推理,对分布式的数据处理存在较高要求,技术上需要对数采协议、数据脱敏、数据清洗、特征工程等进行深入研究。
-
数采协议
在边缘智能场景中,随着网络自动化、通感和网络分析等 5G 应用的兴起,人工智能和机器学习的使用愈加频繁,带来了高频率和海量的数据交互,具有巨大的通信开销。面对高频次、大流量的数据交互需求,需要对现有的服务化接口增强优化,以便在用户面、核心网或无线侧的会话级或设备级的数据交互场景中更高效的汇集所有数据。例如,采用 UDP 协议替代 HTTP+TCP 协议,可降低数倍CPU 开销。这些增强型协议未来也可用于模型交互和模型分发等应用场景,在多节点间完成更低消耗、更高效率的数据交换和任务协调,以确保数据可以在最短时间内被处理和响应,并保障数据传输的可靠性和可扩展性。3GPP R19 已开展智能数采协议的相关研究。
-
数据脱敏
数据脱敏是一种通过数据变形等方式处理敏感数据,从而降低敏感数据暴露风险的数据处理技术。在边缘智能场景中,大量数据在边缘侧产生并部分传输至中心服务器进行处理。这些数据中可能包含个人隐私信息或企业敏感数据,需进行数据脱敏处理,有效防止隐私数据在采集、传输、使用等环节中暴露。边缘数据脱敏需在边缘数据传输到云服务器之前,在保留数据原本特性的基础上,根据不同的数据脱敏规则和算法,对特定敏感信息进行模糊化、无效化、替换、乱序、加密或掩码处理,并且保证脱敏后的数据依旧存在可用性,满足后续 AI 分析、机器学习、关联分析等应用场景的使用需求。
-
数据清洗
数据清洗是对数据进行去重、填补缺失值、处理异常值和转换格式等操作,以去除或修复数据集中存在的错误、不一致、不完整和冗余等现象,以确保数据质量和准确性的技术。在边缘智能场景中,边缘侧收集的大量数据往往具有噪声或异常值,直接分析未经清洗处理的数据会影响效率和准确性。在实际应用中,一些工具和技术如 Pandas、NumPy 和 OpenRefine 可用于数据清洗,消除错误数据和干扰噪声,从而提高智能分析和建模精度。例如,在工业互联网场景中,传感器数据易受到工业现场恶劣环境的干扰或设备故障影响,而数据清洗可过滤掉无效数据,确保后续数据分析的可靠性和高效性。
-
特征工程
特征工程是数据科学和机器学习中的关键步骤之一,是从原始数据中提取、选择、转换和创建对预测模型有用的特征,以提高模型性能和效果的技术。首先,特征提取是特征工程的重要部分之一,指从原始数据中抽取有效的信息。例如,在图像处理任务中,边缘设备采集的原始图像数据包含成千上万的像素值。通过特征提取,可将像素值转化为诸如边缘、纹理或形状等更具代表性的特征,以便后续模型训练或推理时可以更高效地理解图像内容。其次,特征选择也是特征工程的关键步骤。边缘侧数据集通常具备大量数据特征,但并非所有特征都与分析任务存在直接关联。特征选择技术可以筛选出对模型的训练和推理最具贡献的典型特征,减少冗余和相关性低的特征,防止模型过拟合。在实际应用中,常见的特征选择方法包括过滤法(如方差阈值)、包裹法(如递归特征消除)以及嵌入法(如 L1 正则化)等。特征变换是特征工程的另一核心环节,需对现有边缘数据特征进行数学或统计变换,以提升特征的表现力。例如,可通过数据的标准化和归一化调整特征的范围或分布,从而使模型更快收敛。在边缘侧进行特征工程,从原始数据中提取、转换和选择有意义的特征,使模型更好地理解数据的内在模式,从而可以显著提升模型的准确性、鲁棒性和泛化能力。
模型优化
在边缘智能场景中,模型的优化处理直接影响到应用的性能和效率。目前有主流优化技术包括轻量化设计、模型压缩、模型分割等,旨在解决边缘设备的资源限制问题,通过智能的算法和策略,优化数据处理过程,降低延迟,节省内存资源和能耗。
-
轻量化设计
模型轻量化设计是指通过一系列技术和方法,对原始的大型 AI 模型进行优化和压缩,减少深度神经网络的参数和计算量,以减少其所需的计算资源、存储空间和运行时间,同时保持或提升模型的预测精度和泛化能力,特别是在边缘设备、移动设备或资源受限的环境中。如 MobileNet、ShuffleNet 和 EfficientNet等更小、更高效的网络架构,通过引入深度可分离卷积、组卷积和通道分组等技术,大幅减少计算量和参数数量。在此基础上衍生出了神经架构搜索(NAS)等自动模型轻量化方法,通过优化搜索和评估过程,自动生成高性能的神经网络架构,从而提高模型的性能并减少人工设计的精力,使其更易于在实际应用中推广和使用。
-
模型压缩
模型压缩指的是通过减少模型的参数量来减小模型的体积和计算量,从而使得复杂的深度学习模型能够在资源受限的边缘设备上运行,这对于计算资源相对受限的边缘设备来说非常重要。按照压缩过程对网络结构的破坏程度,一般将模型压缩技术分为“前端压缩”和“后端压缩”两部分。前端压缩,是指在不改变原网络结构的压缩技术,主要包括知识蒸馏、轻量级网络(紧凑的模型结构设计)以及滤波器层面的剪枝(结构化剪枝)等;后端压缩,是指包括低秩近似、未加限制的剪枝(非结构化剪枝/稀疏)、参数量化以及二值网络等,目标在于尽可能减少模型大小,会对原始网络结构造成极大程度的改造。
-
模型分割
模型分割通常指的是将一个大型或复杂的机器学习模型(尤其是深度神经网络)拆分成多个部分,这些部分可以在不同的硬件或设备上独立运行。模型分割的主要目的是优化计算资源的使用,优化目标主要在于时延最小化、内存最小化和能耗最小化,以改善性能表现、减少延迟、降低运行成本。在许多实时应用和移动设备中,由于资源限制,模型分割变得尤为重要。在多个设备或处理单元之间智能地分配计算任务,可以最大化硬件的使用效率,尤其是在异构计算环境中,不同的硬件可能对不同类型的计算任务有不同的优化和加速,从而使得任务可以更好的完成。根据分割的维度,可分为将不同神经网络层级切分的流水线并行、将一层分配到不同设备上的数据并行等策略。在松耦合的边缘侧,也即通信开销较大的节点间,通常使用流水线并行策略,降低层内数据的传输开销;在紧耦合的边缘数据中心,可考虑采用数据并行与流水线并行混合的策略,更好的利用计算资源。同时,模型分割可以提高模型的伸缩性,通过和其余设备共享计算的结果,一些计算资源受限的设备上也可以完成复杂的计算。在决策延迟方面,模型分割可以帮助将关键的决策计算前置到本地执行,从而减少了响应时间。模型分割的实现通常涉及多个步骤,包括模型的结构分析、计算瓶颈的识别、计算任务的划分以及跨多个平台的同步与通信优化。