分享自:

AIFES:新一代边缘人工智能框架

期刊:ieee transactions on pattern analysis and machine intelligenceDOI:10.1109/tpami.2024.3355495

关于AIFES下一代边缘人工智能框架的学术研究报告

本文旨在介绍一篇发表于《IEEE Transactions on Pattern Analysis and Machine Intelligence》期刊2024年6月第46卷第6期上的原创性研究论文。该论文的标题为“AIFES: A Next-Generation Edge AI Framework”。其主要作者包括Lars Wulfert、Johannes Kühnel、Lukas Krupp、Justus Viga、Christian Wiede、Pierre Gembaczka和Anton Grabmaier。这些作者主要来自德国的弗劳恩霍夫微电子电路与系统研究所,其中Justus Viga来自亚琛工业大学。这项研究系统地提出并评估了一个名为“嵌入式人工智能框架”(Artificial Intelligence for Embedded Systems, AIFES)的新型边缘人工智能(Edge AI)框架,旨在解决当前边缘AI领域在资源受限设备上实现机器学习(ML),特别是设备端训练所面临的挑战。

一、 研究的学术背景

本研究的核心科学领域是边缘人工智能(Edge AI),具体聚焦于微控制器单元(MCU)等资源极度受限的嵌入式设备上的机器学习,也称为TinyML。近年来,机器学习已成为工程与科学应用创新的主要驱动力之一。随着全球嵌入式设备数量激增,将ML能力部署到数据源附近——即边缘侧——的需求日益迫切。与云端AI解决方案相比,TinyML在数据保护、处理延迟、能耗以及对网络连接的依赖性方面具有显著优势。典型的应用包括智能传感器系统中的状态监测、图像或语音处理等,其目标是在传感器本地直接检测异常或进行推理,从而减少需要传输的数据量,节省能源并实现即时响应。

然而,将复杂的ML模型部署到资源受限的设备上面临诸多挑战。传统的高性能ML框架(如PyTorch、TensorFlow)无法直接在MCU上运行。因此,出现了专门用于边缘推理的框架,如TensorFlow Lite for Microcontrollers(TFLM)。但这些传统边缘AI框架存在一些重要缺陷:1) 灵活性不足:通常与特定硬件平台绑定,对自定义硬件加速器集成的支持有限;2) 功能局限:主要专注于预训练模型的推理优化,难以支持直接在设备上进行模型训练(On-Device Training)。尽管近期出现了一些关于在MCU上进行支持向量机(SVM)、决策树或全连接神经网络(FCNN)训练的研究,但对于更复杂的模型如卷积神经网络(CNN)的训练,仍被认为极具挑战性。同时,现有的解决方案大多缺乏开放的模块化软件架构,使得用户难以集成自定义函数(如激活函数)或利用定制硬件加速器来提升性能。因此,本研究的目标是填补这一空白,开发一个硬件无关、软件模块化、同时支持高效推理和设备端训练的新一代边缘AI框架——AIFES。

二、 研究工作的详细流程

本研究的主要流程可分为三个核心部分:AIFES框架的设计与架构阐述、与现有框架的对比性能评估(基准测试)、以及设备端训练可行性的验证。研究流程并非线性实验步骤,而是围绕框架本身的构建、验证和展示展开的系统性工程与评估工作。

第一部分:AIFES框架的设计原则与架构实现 本部分详细阐述了AIFES的设计哲学和内部架构,这是研究的核心创新点。 1. 研究目标与设计理念:AIFES旨在成为一个可在从8位到32位各种MCU上运行的开源框架,支持FCNN和CNN的推理和设备端训练。其核心设计原则包括:硬件无关性、软件模块化、内存高效管理以及运行时间优化。 2. 模块化立方体架构:AIFES采用了一种创新的模块化立方体结构,由三个核心模块构成:ailayer(神经网络层)、ailoss(损失函数)和aiopti(优化器)。每个模块又包含三个层次:type(功能类型,如密集层、卷积层)、implementation(实现方式,如使用硬件加速器)和data type(数据类型,如float32、int8)。这种结构允许用户像使用Keras或PyTorch一样直观地构建模型(选择层、损失、优化器),同时提供了极大的灵活性来选择或定制底层实现。 3. 层次化模块结构与硬件集成:框架采用分层结构,高层模块(类别)定义通用属性和函数指针,中层模块(类型)实现特定操作(如密集层的前向传播),底层模块(实现与数据类型)绑定具体的数学函数实现。关键创新在于,数学函数被抽象为可通过函数指针调用的独立模块。这使得集成自定义硬件加速器变得异常简单:硬件开发者只需为特定的数学运算(如矩阵乘法)提供加速实现,并在相应的implementation层中替换函数指针即可,无需了解整个神经网络框架的细节。论文以集成自定义SIMD指令和CMSIS(针对ARM Cortex-M的DSP库)为例说明了这一过程。 4. 内存管理策略:针对嵌入式设备内存有限的特点,AIFES摒弃了动态内存分配。它提供了调度器函数,可在运行前根据网络结构精确计算推理和训练所需的内存总量(包括参数、梯度、中间结果、量化参数等),并静态分配一块连续内存。这避免了内存碎片和运行时内存不足的风险,尤其适用于安全关键应用。 5. 运行时间优化:AIFES实施了多种优化以降低运行时间:a) 为激活函数(如指数函数)提供了优化实现和分段线性近似(PLA)选项,在精度和速度间取得平衡;b) 为反向传播提供了两种工作流:传统工作流和轻量级随机梯度下降(L-SGD)工作流。L-SGD在训练时只保留相邻两层的必要信息,显著降低了深层网络训练时的峰值内存消耗,并已扩展支持Adam等优化器;c) 支持量化(如Q7, Q31),允许模型以低精度整数运行,在没有浮点运算单元(FPU)的8位MCU上提升速度。

第二部分:推理性能基准测试 本研究设计了全面的基准测试,将AIFES与当前主流框架TFLM在ARM Cortex-M4平台(nRF52840 DK)上进行比较。 1. 研究对象与设置:测试平台为Nordic Semiconductor的nRF52840 DK(Cortex-M4,64 MHz)。使用PlatformIO IDE和GCC编译器(-O3优化)进行开发。通过逻辑分析仪测量执行时间,通过编译报告获取RAM和Flash内存消耗。模型参数和输入数据均存放在Flash中。 2. 实验设计(流程): * FCNN推理测试:采用了来自现有TinyML基准测试的模型架构,涵盖不同输入特征数(4到784)的数据集(如Iris, Breast Cancer, MNIST)。测试了标准实现和启用CMSIS加速的实现,并比较了float32 (f32) 和8位量化 (q7) 两种数据类型。 * CNN推理测试:在MNIST、CIFAR-10和Visual Wake Words数据集上测试了具有两个卷积层的2D-CNN架构。由于AIFES的CNN CMSIS支持尚未完成,仅比较了原生实现。 3. 数据处理与分析方法:对每个模型架构,分别测量AIFES和TFLM的单次推理执行时间(平均值)、RAM占用和Flash内存占用。通过计算速度提升因子和内存节省百分比来进行对比分析。

第三部分:设备端训练可行性验证 此部分旨在证明AIFES支持在资源受限设备上训练模型的能力。 1. 研究对象与设置:使用与推理测试相同的硬件平台。 2. 实验设计(流程): * FCNN训练测试:使用与推理测试中实验1-3相同的FCNN架构,在设备上使用Adam优化器进行训练。测量每个epoch的训练时间(按batch数归一化)以及训练过程中的内存消耗。 * CNN训练测试:使用与推理测试中类似的CNN架构(增加了批归一化层),在MNIST、CIFAR-10和VWW数据集上进行训练。同样测量训练时间和内存消耗。 * 近似精度测试:为了评估AIFES中使用的函数近似(如PLA)对精度的影响,研究使用了一个深度自编码器模型。在PC上分别运行TensorFlow(作为参考)、TensorFlow Lite和AIFES的模型,计算输出与输入重构的均方误差,并比较AIFES与TensorFlow Lite相对于TensorFlow参考值的平均相对误差。

三、 研究的主要结果

第一部分:AIFES框架本身的设计成果:成功实现了一个具有模块化立方体架构、静态内存管理、支持硬件加速器集成和设备端训练的完整边缘AI框架。其代码采用C语言编写,具备高度可移植性。

第二部分:推理基准测试结果 1. FCNN推理性能: * 执行时间:在不使用CMSIS的情况下,AIFES在大多数情况下比TFLM更快,速度提升最高达2.2倍。个别参数较多的FCNN模型上,AIFES f32版本略慢(在17%以内)。在启用CMSIS后,AIFES在所有测试案例中都超越了TFLM,f32和q7版本的速度提升最高分别达2.4倍和2.3倍。这表明AIFES能更有效地利用硬件加速库。 * 内存消耗:AIFES在所有FCNN测试中所需的总体内存(尤其是Flash内存)均显著低于TFLM,节省幅度最高达3.9倍(平均约2.7倍)。RAM消耗两者相近。Flash内存的巨大优势源于AIFES更高效的代码和常量数据实现。 2. CNN推理性能: * 执行时间:由于AIFES当前使用简单的直接卷积实现,而TFLM采用了优化的矩阵乘法,因此TFLM的CNN推理速度快于AIFES原生实现,最高达1.74倍。 * 内存消耗:与FCNN结果一致,AIFES在Flash内存占用上具有显著优势,比TFLM减少最多达54%(VWW数据集)。RAM占用上,TFLM更低,最多节省1.63倍。

第三部分:设备端训练验证结果 1. FCNN训练:成功在nRF52840上训练了所有测试的FCNN架构。训练时间在毫秒到秒级范围内。在最复杂的测试案例(MNIST 10x10)中,AIFES仅占用了15%的RAM和2%的Flash内存,证明其在训练时仍为系统其他任务留有充足资源。 2. CNN训练:成功在资源受限设备上训练了CNN,这是本研究的一个重要实证结果。例如,在CIFAR-10数据集上训练一个CNN,耗时2.61秒/批次,RAM消耗接近150 KB。这证实了在内存略高于100 KB RAM的设备上进行CNN训练是可行的,尽管训练时间和内存消耗相比FCNN有显著增加。 3. 近似精度:与TensorFlow相比,AIFES在使用了函数近似的自编码器测试中,平均相对误差为38.4283‰,而TensorFlow Lite的误差为1200.95588‰。这表明AIFES的近似实现引入了可忽略的精度损失,远低于对比框架的误差水平。

四、 研究的结论与价值

本研究成功设计、实现并评估了AIFES——一个开创性的下一代边缘AI框架。其核心结论是:AIFES通过其硬件无关、高度模块化的架构,有效克服了传统边缘AI框架在灵活性和功能上的局限,不仅能够在推理性能(尤其是FCNN)和内存效率上超越TFLM,更首次在一个统一的框架内实现了对资源受限设备上FCNN和CNN设备端训练的高效支持。

科学价值与应用价值: 1. 科学价值:推动了TinyML领域的发展,特别是设备端训练这一前沿方向。AIFES的模块化架构为学术界提供了一个可扩展、可定制的研究平台,便于探索新的网络层、优化算法、硬件加速器与机器学习框架的协同设计。 2. 应用价值:a) 降低开发门槛:类似Keras的API设计使得ML开发者能轻松将知识迁移到嵌入式领域。b) 赋能新型应用:支持设备端训练使得联邦学习(Federated Learning)、在线学习(Online Learning)在终端设备上成为可能,为开发自学习、自适应传感器系统打开了大门,进一步增强了数据隐私和系统自主性。c) 促进软硬件协同设计:清晰的硬件加速器集成接口鼓励硬件专家为ML运算开发专用加速单元,无需深入理解上层ML框架,加速了边缘AI专用硬件的发展。

五、 研究的亮点

  1. 架构创新性:提出的“模块化立方体结构”及分层抽象设计是核心亮点,首次在边缘AI框架中实现了硬件加速器与ML框架的模块化解耦集成,这具有方法论上的重要意义。
  2. 功能全面性:在一个框架内同时实现了高效的推理实用的设备端训练(包括CNN),这在发表时是同类工作中功能最为全面的。
  3. 性能优势:在FCNN推理任务中,在速度和内存(特别是Flash)消耗上均展现出对标杆框架TFLM的显著优势,这直接证明了其设计的高效性。
  4. 实证突破:通过严格的基准测试,实证了在内存仅约100+ KB RAM的MCU上进行CNN训练的可行性,突破了此前认为此类训练不切实际的认知。
  5. 开源与开放:作为开源项目发布,促进了研究透明度和社区协作,有利于领域的快速发展。

六、 其他有价值的内容

论文还对相关工作和背景进行了全面梳理(见表I),系统比较了近20篇关于设备端训练的研究,清晰定位了AIFES在支持算法类型、开源状态、模块化结构和硬件加速集成等方面的独特性和先进性。此外,论文附录中列举了AIFES当前支持的组件(层、损失函数、优化器等),并提供了一个深度自编码器的训练案例,进一步展示了框架处理复杂模型的能力。最后,作者坦诚指出了当前AIFES的局限性(如原生矩阵乘法实现不如TFLM优化),并展望了未来工作方向,包括集成更先进的矩阵乘法算法、支持Transformer等新架构、以及进一步开发联邦学习技术,体现了研究的严谨性和前瞻性。

上述解读依据用户上传的学术文献,如有不准确或可能侵权之处请联系本站站长:admin@fmread.com