要約
超低電力マイクロコントローラーユニット (MCU) のオンデバイス学習 (ODL) を有効にすることは、将来の TinyML アプリケーションにおけるディープ ニューラル ネットワーク (DNN) モデルの展開後の適応と微調整のための重要なステップです。
この文書では、ベクトル化された 16 ビット浮動小数点 (FP16) シングルのサポートを備えた RISC-V RV32 アーキテクチャの最先端の進歩を活用して、MCU クラスのデバイス上の ODL プリミティブに対する新しい低精度最適化手法を導入することで、この課題に取り組みます。
-命令複数データ (SIMD) 操作。
バックプロパゲーション トレーニング アルゴリズムの前方ステップと後方ステップに対する当社のアプローチは、特殊な形状変換演算子と行列乗算 (MM) カーネルで構成され、並列化とループ展開によって高速化されます。
2D 畳み込み層の単一トレーニング ステップで評価すると、SIMD に最適化された FP16 プリミティブは、RISC-V ベースの 8+1 コア MCU 上の FP32 ベースラインよりも最大 1.72$\times$ 高速になります。
画像分類とキーワード スポッティングの ResNet8 と DS-CNN のエンドツーエンド トレーニング タスクでは、クロック サイクルあたり 3.11 の乗算および累積演算 (MAC/clk) と 0.81 MAC/clk の平均計算効率が測定されています。
— 単一サンプルのトレーニング ステップを計算するには、ターゲット プラットフォームで 17.1 ミリ秒と 6.4 ミリ秒が必要です。
全体として、私たちのアプローチは、シングルコア MCU 向けの既存の ODL ソフトウェア フレームワークよりも 2 桁以上高速であり、継続学習セットアップでの以前の FP32 並列実装の 1.6 $\times$ のパフォーマンスを上回ります。
要約(オリジナル)
Enabling On-Device Learning (ODL) for Ultra-Low-Power Micro-Controller Units (MCUs) is a key step for post-deployment adaptation and fine-tuning of Deep Neural Network (DNN) models in future TinyML applications. This paper tackles this challenge by introducing a novel reduced precision optimization technique for ODL primitives on MCU-class devices, leveraging the State-of-Art advancements in RISC-V RV32 architectures with support for vectorized 16-bit floating-point (FP16) Single-Instruction Multiple-Data (SIMD) operations. Our approach for the Forward and Backward steps of the Back-Propagation training algorithm is composed of specialized shape transform operators and Matrix Multiplication (MM) kernels, accelerated with parallelization and loop unrolling. When evaluated on a single training step of a 2D Convolution layer, the SIMD-optimized FP16 primitives result up to 1.72$\times$ faster than the FP32 baseline on a RISC-V-based 8+1-core MCU. An average computing efficiency of 3.11 Multiply and Accumulate operations per clock cycle (MAC/clk) and 0.81 MAC/clk is measured for the end-to-end training tasks of a ResNet8 and a DS-CNN for Image Classification and Keyword Spotting, respectively — requiring 17.1 ms and 6.4 ms on the target platform to compute a training step on a single sample. Overall, our approach results more than two orders of magnitude faster than existing ODL software frameworks for single-core MCUs and outperforms by 1.6 $\times$ previous FP32 parallel implementations on a Continual Learning setup.
arxiv情報
著者 | Davide Nadalini,Manuele Rusci,Luca Benini,Francesco Conti |
発行日 | 2023-05-30 16:14:16+00:00 |
arxivサイト | arxiv_id(pdf) |
提供元, 利用サービス
arxiv.jp, Google