Skip to main content
QUICK REVIEW

[論文レビュー] TinyML: Analysis of Xtensa LX6 microprocessor for Neural Network Applications by ESP32 SoC

Md Ziaul Haque Zim|arXiv (Cornell University)|Jun 20, 2021
CCD and CMOS Imaging Sensors参考文献 31被引用数 13
ひとこと要約

本論文は、ESP32およびESP32-CAMデバイスに搭載されたXtensa LX6マイクロプロセッサのtinyML応用における推論速度を評価し、入力サイズ(9〜576)が異なる1層または2層の隠れ層を持つ順伝播型ニューラルネットワークに注目している。研究では、デュアルコア32ビットのLX6プロセッサが小規模から中規模のモデルに対してリアルタイム推論を達成できることを示しており、低消費電力の組み込みシステムにおけるエッジAIの実現可能性を裏付けている。

ABSTRACT

In recent decades, Machine Learning (ML) has become extremely important for many computing applications. The pervasiveness of ultra-low-power embedded devices such as ESP32 or ESP32 Cam with tiny Machine Learning (tinyML) applications will enable the mass proliferation of Artificial Intelligent powered Embedded IoT Devices. In the last few years, the microcontroller device (Espressif ESP32) became powerful enough to be used for small/tiny machine learning (tinyML) tasks. The ease of use of platforms like Arduino IDE, MicroPython and TensorFlow Lite (TF) with tinyML application make it an indispensable topic of research for mobile robotics, modern computer science and electrical engineering. The goal of this paper is to analyze the speed of the Xtensa dual core 32-bit LX6 microprocessor by running a neural network application. The different number of inputs (9, 36, 144 and 576) inputted through the different number of neurons in neural networks with one and two hidden layers. Xtensa LX6 microprocessor has been analyzed because it comes inside with Espressif ESP32 and ESP32 Cam which are very easy to use, plug and play IoT device. In this paper speed of the Xtensa LX6 microprocessor in feed-forward mode has been analyzed.

研究の動機と目的

  • Xtensa LX6マイクロプロセッサをESP32およびESP32-CAMプラットフォームに統合し、tinyMLワークロードに適したニューラルネットワークの実装可能性を評価すること。
  • 入力次元や隠れ層の数を変化させたさまざまなニューラルネットワーク構成におけるLX6プロセッサの推論速度を評価すること。
  • リソース制限のある組み込みシステムにおいて、リアルタイム推論の実用的限界を特定すること。
  • 低消費電力のIoTデバイスにおけるエッジAIアプリケーションを標的とする研究者や開発者に、実証的な性能データを提供すること。

提案手法

  • TensorFlow Lite for Microcontrollers (TFLite Micro) を用いて、ESP32上に1層または2層の隠れ層を持つ順伝播型ニューラルネットワークを実装。
  • LX6プロセッサにおけるスケーラビリティと性能への影響を評価するため、入力サイズ(9, 36, 144, 576ニューロン)を体系的に変更。
  • ESP32の組み込みタイマー関数を用いて推論時間を測定し、実行遅延(ミリ秒単位)を記録。
  • Arduino IDEおよびMicroPython環境を用いて、実機ハードウェア上にモデルをデプロイし、ベンチマークを実施。
  • ESP32やESP32-CAMなど広く使われているIoTデバイスに統合されていることから、ターゲットプラットフォームとしてXtensa LX6デュアルコア32ビットプロセッサを選定。
  • さまざまなネットワークアーキテクチャを用いたベンチマークにより、処理効率とリアルタイム能力を評価。

実験結果

リサーチクエスチョン

  • RQ1ESP32プラットフォーム上で小規模なニューラルネットワークを実行する際、Xtensa LX6マイクロプロセッサの推論遅延はどの程度か?
  • RQ2LX6プロセッサ上で、さまざまなニューラルネットワークアーキテクチャにおいて、入力サイズの変化が推論速度に与える影響は何か?
  • RQ3LX6マイクロプロセッサを搭載したESP32は、tinyML応用においてリアルタイム推論を達成できるか?
  • RQ41層または2層の隠れ層を持つニューラルネットワークにおいて、LX6プロセッサの性能の上限は、入力次元数やモデルの複雑さの観点からどの程度か?

主な発見

  • 入力が最大576までのニューラルネットワークに対して、Xtensa LX6マイクロプロセッサは100ms未満の推論時間を達成しており、小規模から中規模のモデルにおいてリアルタイム性能を示している。
  • 推論遅延は入力サイズに比例して増加するが、エッジAI応用において許容可能な範囲内に保たれている。
  • LX6のデュアルコア32ビットアーキテクチャは、1000パラメータ未満のモデルに対して、効率的なニューラルネットワーク推論実行を可能にしている。
  • LX6を搭載するESP32プラットフォームは、TensorFlow Lite Microなどのハイレベルフレームワークを用いたtinyMLモデルの実用的デプロイを可能としている。
  • 本研究では、低消費電力と推論タスクに十分な処理能力を備えたことから、ESP32がエッジAIワークロードに適したプラットフォームであることが確認された。

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

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

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

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