The growing number of low-power smart devices in the Internet of Things is coupled with the concept of "Edge Computing", that is moving some of the intelligence, especially machine learning, towards the edge of the network. Enabling machine learning algorithms to run on resource-constrained hardware, typically on low-power smart devices, is challenging in terms of hardware (optimized and energy-efficient integrated circuits), algorithmic and firmware implementations. This paper presents FANN-on-MCU, an open-source toolkit built upon the Fast Artificial Neural Network (FANN) library to run lightweight and energy-efficient neural networks on microcontrollers based on both the ARM Cortex-M series and the novel RISC-V-based Parallel Ultra-Low-Power (PULP) platform. The toolkit takes multi-layer perceptrons trained with FANN and generates code targeted at execution on low-power microcontrollers either with a floating-point unit (i.e., ARM Cortex-M4F and M7F) or without (i.e., ARM Cortex M0-M3 or PULP-based processors). This paper also provides an architectural performance evaluation of neural networks on the most popular ARM Cortex-M family and the parallel RISC-V processor called Mr. Wolf. The evaluation includes experimental results for three different applications using a self-sustainable wearable multi-sensor bracelet. Experimental results show a measured latency in the order of only a few microseconds and a power consumption of few milliwatts while keeping the memory requirements below the limitations of the targeted microcontrollers. In particular, the parallel implementation on the octa-core RISC-V platform reaches a speedup of 22x and a 69% reduction in energy consumption with respect to a single-core implementation on Cortex-M4 for continuous real-time classification.
翻译:互联网“ 事物” 中越来越多的低功率智能设备与“ 电子计算” 概念相伴而生,它正在将一些智能,特别是机器学习,推向网络的边缘。 使机器学习算法能够在资源限制的硬件上运行,通常是在低功率智能设备上运行,这在硬件(优化和节能集成电路)、算法和固态软件实施方面具有挑战性。 本文展示了FANN-on-MCU(一个基于快速人工神经网络(FANN)图书馆)的开放源工具包,该工具将一些智能和节能神经网络的轻量和节能神经网络运行在基于ARM C-M系列的微控制器上运行轻量和节能。 该工具工具在硬件(ARC-V) 平行软性电磁力操作中运行的多级透力透力- 。 工具工具工具在低功率微节能微控制器操作上生成一个软性电压单位(i. AR- M4F) 和M7F(i) 的软体智能智能操作操作中运行一个软性软体化的软体内, 运行运行流程中也提供了一个直径的软体- 的软化的软体- 运行的软化的软化的软化系统- 运行的软化电压- 运行, 运行的软化电压- 。