Skip to main content
QUICK REVIEW

[论文解读] Enabling Large Neural Networks on Tiny Microcontrollers with Swapping

Miao Hong-yu, Felix Xiaozhu Lin|arXiv (Cornell University)|Jan 14, 2021
Advanced Memory and Neural Computing参考文献 28被引用 11
一句话总结

本文提出 SwapNN,一种系统级解决方案,使微控制器(MCU)能够通过在片上SRAM与外部闪存之间动态交换数据块,运行远超其片上SRAM容量的大型神经网络(NN)。通过利用I/O/计算并行性并结合MCU硬件特性,该方法在性能、能效和安全性方面均实现近乎零开销的全精度推理,使MCU能够运行最大达其SRAM容量1000倍的模型。

ABSTRACT

Running neural networks (NNs) on microcontroller units (MCUs) is becoming increasingly important, but is very difficult due to the tiny SRAM size of MCU. Prior work proposes many algorithm-level techniques to reduce NN memory footprints, but all at the cost of sacrificing accuracy and generality, which disqualifies MCUs for many important use cases. We investigate a system solution for MCUs to execute NNs out of core: dynamically swapping NN data chunks between an MCU's tiny SRAM and its large, low-cost external flash. Out-of-core NNs on MCUs raise multiple concerns: execution slowdown, storage wear out, energy consumption, and data security. We present a study showing that none is a showstopper; the key benefit -- MCUs being able to run large NNs with full accuracy and generality -- triumphs the overheads. Our findings suggest that MCUs can play a much greater role in edge intelligence.

研究动机与目标

  • 解决在仅拥有数十至数百KB SRAM的内存受限微控制器(MCU)上运行大型高精度神经网络这一关键挑战。
  • 克服现有模型压缩与量化技术为适配MCU内存而牺牲精度与通用性的局限。
  • 证明在MCU上实现外存执行——即动态在SRAM与外部闪存之间交换神经网络层——是可行的,尽管存在I/O开销、磨损、能耗与安全性的担忧。
  • 设计一种调度器(SwapNN),通过高效重叠I/O与计算操作,最小化性能下降并最大化硬件利用率。
  • 确立MCU现在可原生运行大型、未经修改的神经网络,实现全精度与全通用性,从而拓展其在边缘智能中的角色。

提出的方法

  • 设计基于数据块的外存执行模型,将每个神经网络层划分为小而可管理的数据块(即数据块),使其可容纳于MCU的SRAM中。
  • 实现一个并行调度器(SwapNN),在多个粒度上重叠I/O操作(加载/存储数据块)与计算:层内(数据块级)、层间(层级)以及跨数据帧(流水线级)。
  • 利用大多数神经网络层(尤其是卷积层)为计算密集型的特性,使较长的计算时间自然隐藏I/O延迟。
  • 利用硬件加速加密(如AES)与基于哈希的完整性校验,保障外存数据的安全性,确保机密性与对静默数据损坏的可检测性。
  • 利用MCU级硬件特性,如DMA、加密加速器以及SD卡的过量配置耐久性,降低能耗与磨损担忧。
  • 作为透明扩展集成至现有推理框架(如TensorFlow Lite Micro、CMSIS-NN),无需修改神经网络架构即可支持大型模型。

实验结果

研究问题

  • RQ1尽管MCU的SRAM有限且依赖于较慢的外部闪存存储,外存神经网络推理是否可在MCU上实现实用化?
  • RQ2在SRAM与外部闪存之间交换数据所导致的I/O开销是否会显著降低推理速度,还是可通过有效的任务调度实现隐藏?
  • RQ3频繁的I/O操作对SD卡耐久性有何影响?是否可通过硬件过量配置与间歇性访问模式加以缓解?
  • RQ4在本已高负载的MCU上,增加I/O操作是否会显著提升能耗?是否可将能耗增加降至最低?
  • RQ5当神经网络权重与特征图存储于不受信的外部存储(如SD卡)时,能否保障数据安全与完整性?

主要发现

  • 外存推理与数据交换在MCU上是可行的:系统可执行大型神经网络(如VGG16、MobileNet、AlexNet),在最高340 KB SRAM下运行,支持的模型最大可达SRAM容量的1000倍。
  • I/O开销极低,因为大多数层(尤其是卷积层)为计算密集型,I/O延迟可被较长的计算时间自然隐藏,尤其在低时钟频率MCU上更为显著。
  • SD卡磨损并非问题,因I/O访问为间歇性——仅在计算密集型层之间激活——结合硬件过量配置,即使在高负载下也能实现超过10年的写入耐久性。
  • I/O带来的能耗增加微乎其微,因为MCU在计算期间已处于高功耗状态;激活SD卡仅增加少量增量能耗。
  • 通过硬件加速加密与完整性校验(如AES、SHA)可实现数据安全,性能影响可忽略不计——与最慢的神经网络操作相当。
  • 系统实现了全模型精度与通用性,优于依赖压缩的方案(后者为节省内存而牺牲精度),从而支持新型用例,如设备端迁移学习与模型性能分析。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。