Running neural network (NN) on microcontroller unites (MCU) 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.
翻译:关于微控制器联合体(MCU)的运行中神经网络(NN)正变得越来越重要,但由于MSCU规模小,因此非常困难。先前的工作提出许多算法级技术来减少NC的记忆脚印,但代价却是牺牲了准确性和一般性,使MCU无法用于许多重要的用途案例。我们调查了MCU将NCN从核心中执行的系统解决方案:将NCU的微小SRAM数据块动态地交换在一个微小的SRAM与其巨大、低成本的外部闪光之间。MCU的核非NN提出多种关切:执行减速、存储耗竭、能源消耗和数据安全。我们提出一项研究,表明没有一个是展示的;关键的好处是 -- MCUs能够以完全准确性和一般性的方式运行大型NCWs。我们的研究结果表明,MCU可以在边缘情报中发挥更大的作用。