[论文解读] DNN is not all you need: Parallelizing Non-Neural ML Algorithms on Ultra-Low-Power IoT Processors
本文提出在超低功耗PULP物联网处理器(GAP8和PULP-OPEN)上对非神经网络机器学习算法(如高斯朴素贝叶斯、逻辑回归和随机森林)实现高效的并行化。通过优化内存访问、利用细粒度并行性,并采用目标平台优化的浮点数仿真库,作者在八核平台上实现了最高7.04倍的加速,延迟和能耗分别降低87%;与ARM Cortex-M4相比,速度提升12.87倍,能效提升98%。
Machine Learning (ML) functions are becoming ubiquitous in latency- and privacy-sensitive IoT applications, prompting a shift toward near-sensor processing at the extreme edge and the consequent increasing adoption of Parallel Ultra-Low Power (PULP) IoT processors. These compute- and memory-constrained parallel architectures need to run efficiently a wide range of algorithms, including key Non-Neural ML kernels that compete favorably with Deep Neural Networks (DNNs) in terms of accuracy under severe resource constraints. In this paper, we focus on enabling efficient parallel execution of Non-Neural ML algorithms on two RISCV-based PULP platforms, namely GAP8, a commercial chip, and PULP-OPEN, a research platform running on an FPGA emulator. We optimized the parallel algorithms through a fine-grained analysis and intensive optimization to maximize the speedup, considering two alternative Floating-Point (FP) emulation libraries on GAP8 and the native FPU support on PULP-OPEN. Experimental results show that a target-optimized emulation library can lead to an average 1.61x runtime improvement and 37% energy reduction compared to a standard emulation library, while the native FPU support reaches up to 32.09x and 99%, respectively. In terms of parallel speedup, our design improves the sequential execution by 7.04x on average on the targeted octa-core platforms leading to energy and latency decrease up to 87%. Lastly, we present a comparison with the ARM Cortex-M4 microcontroller (MCU), a widely adopted commercial solution for edge deployments, which is 12.87x slower and 98% less energy-efficient than PULP-OPEN.
研究动机与目标
- 在资源受限、超低功耗的物联网处理器上实现非神经网络机器学习算法的高效执行。
- 解决在严格能效与内存约束下,边缘推理中深度神经网络(DNNs)与非神经网络机器学习内核之间的性能差距。
- 针对基于RISC-V的PULP平台(GAP8和PULP-OPEN)优化六种关键非神经网络机器学习算法的并行执行。
- 评估浮点数仿真库与原生FPU支持对运行时性能和能效的影响。
- 将PULP平台的性能与广泛使用的ARM Cortex-M4微控制器在边缘机器学习工作负载中的表现进行对比。
提出的方法
- 为八核PULP平台设计并优化了六种非神经网络机器学习内核(高斯朴素贝叶斯、逻辑回归、线性SVM、随机森林、k-NN以及基于GEMM的内核)的并行实现。
- 对内存访问模式和线程级并行性进行了细粒度分析,以最大化数据重用并实现核心间负载均衡。
- 在无FPU的GAP8上实现并对比了两种浮点数仿真库:标准libgcc与目标优化的RVfplib库。
- 在PULP-OPEN上利用原生FPU支持,实现高精度、低延迟的浮点运算。
- 应用编译器优化技术,包括循环展开、硬件循环支持以及融合乘加(FMA)指令,以减少周期数。
- 在GAP8和PULP-OPEN上使用周期精确的性能分析,测量顺序与并行配置下的性能与能效。
实验结果
研究问题
- RQ1与DNN相比,非神经网络机器学习算法在超低功耗PULP物联网处理器上能否实现具有竞争力的性能与能效?
- RQ2在无FPU的PULP平台上,浮点数仿真库的选择如何影响运行时间和能耗?
- RQ3通过优化非神经网络机器学习内核,在八核PULP架构上可实现多高的并行加速比?
- RQ4PULP-OPEN在边缘机器学习推理工作负载中的性能与广泛部署的ARM Cortex-M4相比如何?
- RQ5哪些架构因素限制了PULP系统中的加速比?可通过算法级与编译器级优化如何缓解?
主要发现
- 在GAP8上,目标优化的RVfplib浮点数仿真库相比标准libgcc库,平均实现1.61倍加速和37%能耗降低。
- 在PULP-OPEN上,原生FPU支持相比libgcc仿真实现最高32.09倍加速和99%能耗降低。
- 在PULP-OPEN的八核集群上实现并行执行,平均获得7.04倍加速,延迟和能耗最高降低87%。
- PULP-OPEN在单核模式下相比ARM Cortex-M4 MCU,速度提升12.87倍,能效提升98%。
- PULP-OPEN上的顺序执行比Cortex-M4快1.36至2.39倍,其中基于GEMM的内核提升最为显著。
- 单周期加载操作、硬件循环支持以及流水线FMA指令等架构特性对性能提升贡献显著。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。