Skip to main content
QUICK REVIEW

[論文レビュー] DNN is not all you need: Parallelizing Non-Neural ML Algorithms on Ultra-Low-Power IoT Processors

Enrico Tabanelli, Giuseppe Tagliavini|arXiv (Cornell University)|Jul 16, 2021
Advanced Memory and Neural Computing被引用数 7
ひとこと要約

本論文は、GAP8およびPULP-OPENという超低消費電力のPULPベースのIoTプロセッサ上で、ガウス型ナイーブベイズ、ロジスティック回帰、ランダムフォレストといった非ニューラル機械学習アルゴリズムの効率的な並列化を提案している。メモリアクセスの最適化、細粒度並列性の活用、ターゲット最適化された浮動小数点エミュレーションライブラリの使用により、オクタコアプラットフォームで最大7.04倍のスループット向上と、遅延と消費電力の87%削減を達成。ARM Cortex-M4よりも12.87倍のスループット向上と98%のエネルギー効率向上を実現した。

ABSTRACT

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.

研究の動機と目的

  • リソース制限が厳しい超低消費電力のIoTプロセッサ上で、非ニューラル機械学習アルゴリズムの効率的実行を可能にすること。
  • 極めて厳しいエネルギー制限およびメモリ制限下におけるエッジ推論において、DNNと非ニューラルMLカーネルの性能ギャップを是正すること。
  • RISC-VベースのPULPプラットフォーム(GAP8およびPULP-OPEN)上で、6つの主要な非ニューラルMLアルゴリズムの並列実行を最適化すること。
  • 浮動小数点エミュレーションライブラリとネイティブFPUサポートの実行時およびエネルギー効率への影響を評価すること。
  • PULPプラットフォームと広く採用されているARM Cortex-M4 MCUのエッジMLワークロードにおける性能を比較すること。

提案手法

  • オクタコアPULPプラットフォーム向けに、ガウス型ナイーブベイズ、ロジスティック回帰、線形SVM、ランダムフォレスト、k-NN、GEMMベースのカーネルを含む6つの非ニューラルMLカーネルの並列実装を設計・最適化した。
  • コア間のデータ再利用と負荷分散を最大化するため、メモリアクセスパターンとスレッドレベルの並列性を細かく分析した。
  • FPUを搭載しないGAP8上で、標準のlibgccとターゲット最適化されたRVfplibライブラリの2種類の浮動小数点エミュレーションライブラリを実装・比較した。
  • PULP-OPENではネイティブFPUサポートを活用し、高精度かつ低遅延な浮動小数点演算を実現した。
  • サイクルカウントを削減するため、ループアンローリング、ハードウェアループサポート、およびファーザド乗算加算(FMA)命令を含むコンパイラ最適化を適用した。
  • GAP8およびPULP-OPENの両方でサイクル単位のプロファイリングを実施し、直列実行および並列実行構成における性能とエネルギー効率を測定した。

実験結果

リサーチクエスチョン

  • RQ1非ニューラルMLアルゴリズムは、DNNと比較して、超低消費電力のPULP IoTプロセッサ上で競争力のある性能とエネルギー効率を達成できるか?
  • RQ2FPUを搭載しないPULPプラットフォームにおいて、浮動小数点エミュレーションライブラリの選択が実行時間および消費電力に与える影響は何か?
  • RQ3オクタコアPULPアーキテクチャ上で非ニューラルMLカーネルを最適化することで、どの程度の並列スループット向上が達成できるか?
  • RQ4PULP-OPENのエッジML推論ワークロードにおける性能は、広く導入されているARM Cortex-M4と比較してどうか?
  • RQ5PULPベースのシステムにおけるスループット向上の制限要因となるアーキテクチャ的要因は何か。また、アルゴリズムおよびコンパイラレベルの最適化によってそれらをどのように緩和できるか?

主な発見

  • GAP8のターゲット最適化されたRVfplib浮動小数点エミュレーションライブラリは、標準のlibgccライブラリと比較して平均1.61倍のスループット向上と37%のエネルギー削減を達成した。
  • PULP-OPENのネイティブFPUサポートは、libgccエミュレーションと比較して最大32.09倍のスループット向上と99%のエネルギー削減を実現した。
  • PULP-OPENの8コアクラスタ上で並列実行を実施したところ、平均7.04倍のスループット向上が得られ、遅延と消費電力は最大87%削減された。
  • PULP-OPENは、ARM Cortex-M4 MCUと比較して、12.87倍のスループット向上と98%のエネルギー効率向上を達成した。これはシングルコアモードでも同様に成立した。
  • PULP-OPENにおける直列実行は、Cortex-M4と比較して1.36倍から2.39倍の高速化が得られ、GEMMベースのカーネルで最も顕著な向上が見られた。
  • シングルサイクルロード命令、ハードウェアループサポート、パイipelダライズドFMA命令といったアーキテクチャ的要因が、性能向上に大きく寄与した。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。