工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial Internet of Things >> 埋め込み

マイクロコントローラーは、エッジAIで成長する役割を担っています

ほんの数年前は、機械学習(ML)、さらにはディープラーニング(DL)も、ゲートウェイ、エッジサーバー、またはデータによって実行されるエッジでのトレーニングと推論により、ハイエンドハードウェアでのみ実行できると想定されていました。センター。クラウドとエッジの間で計算リソースを分散する傾向が初期段階にあったため、それは当時の有効な仮定でした。しかし、このシナリオは、産業界と学界による集中的な研究開発努力のおかげで劇的に変化しました。

その結果、今日では、毎秒数兆回の操作(TOPS)を実行できるプロセッサーは、MLを実行する必要がありません。ますます多くのケースで、最新のマイクロコントローラーは、MLアクセラレーターが組み込まれているものもあり、MLをエッジデバイスにもたらすことができます。

これらのデバイスはMLを実行できるだけでなく、非常に低い消費電力で、低コストで、絶対に必要な場合にのみクラウドに接続して、MLを実行できます。つまり、MLアクセラレータが統合されたマイクロコントローラは、マイク、カメラ、環境条件を監視するセンサーなどのセンサーにコンピューティングをもたらし、IoTのすべてのメリットを実現するデータを生成する次のステップを表しています。

エッジの深さはどれくらいですか?

エッジは、IoTネットワークの最も遠いポイントと広く見なされていますが、一般に、高度なゲートウェイまたはエッジサーバーと見なされています。ただし、それはエッジが実際に終了する場所ではありません。ユーザーの近くのセンサーで終了します。できるだけ多くの分析能力をユーザーの近くに配置することが論理的になります。これは、マイクロコントローラーが理想的に適しているタスクです。


さまざまな幅の乗数のMobileNetV1モデルの例は、パラメーターの数、計算、および精度に劇的な影響を与えています。ただし、幅の乗数を1.0から0.75に変更するだけでは、TOP-1の精度には最小限の影響がありますが、パラメーターと計算の数には大きな影響があります(画像:NXP)

シングルボードコンピューターは、卓越したパフォーマンスを発揮し、クラスター内では小型のスーパーコンピューターに匹敵する可能性があるため、エッジ処理にも使用できる場合があります。しかし、それらは依然として大きすぎてコストがかかりすぎて、大規模なアプリケーションで必要とされる数百または数千に展開できません。また、外部のDC電源が必要な場合もありますが、MCUはミリワットしか消費せず、コイン型電池や数個の太陽電池で電力を供給できる場合もあります。

したがって、エッジでMLを実行するためのマイクロコントローラーへの関心が非常に注目されている開発分野になっているのは当然のことです。 TinyMLという名前もあります。 TinyMLの目標は、大規模なプラットフォームやクラウドではなく、リソースに制約のある小型の低電力デバイス、特にマイクロコントローラーで推論、最終的にはトレーニングを実行できるようにすることです。これには、機能と精度を大幅に低下させることなく、これらのデバイスの比較的控えめな処理、ストレージ、および帯域幅のリソースに対応するために、ニューラルネットワークモデルのサイズを縮小する必要があります。

これらのリソース最適化スキームにより、デバイスは、精度を微調整し、リソース要件を削減しながら、目的を果たすのに十分なセンサーデータを取り込むことができます。したがって、データはまだクラウドに送信される可能性がありますが(または、最初にエッジゲートウェイに送信され、次にクラウドに送信される可能性があります)、かなりの分析がすでに実行されているため、データははるかに少なくなります。

TinyMLの動作の一般的な例は、カメラベースのオブジェクト検出システムです。これは、高解像度の画像をキャプチャできますが、ストレージが限られており、画像の解像度を下げる必要があります。ただし、カメラにデバイス上の分析が含まれている場合は、シーン全体ではなく対象のオブジェクトのみがキャプチャされ、関連する画像が少ないため、より高い解像度を維持できます。この機能は通常、より大きく、より強力なデバイスに関連付けられていますが、小さなMLテクノロジーにより、マイクロコントローラーでそれを実現できます。

小さいけれど強力

TinyMLは比較的新しいパラダイムですが、精度の低下を最小限に抑えながら、推論(比較的控えめなマイクロコントローラーでも)とトレーニング(より強力なマイクロコントローラー)で驚くべき結果をすでに生み出しています。最近の例には、音声と顔の認識、音声コマンド、自然言語処理、さらにはいくつかの複雑な視覚アルゴリズムを並行して実行することが含まれます。

実際には、これは、500MHzのArmCortex-M7コアと28Kバイトから128Kバイトのメモリを備えた2ドル未満のマイクロコントローラーが、センサーを真にインテリジェントにするために必要なパフォーマンスを提供できることを意味します。

この価格とパフォーマンスレベルでも、これらのマイクロコントローラーは、AES-128、複数の外部メモリタイプ、イーサネット、USB、およびSPIのサポートを含む複数のセキュリティ機能を備えており、Bluetoothだけでなく、さまざまなタイプのセンサーを含むかサポートします。 Wi-Fi、SPDIFおよびI 2 Cオーディオインターフェース。もう少し使うと、デバイスには通常、1 GHz Arm Cortex-M7、400 MHz Cortex-M4、2 MバイトのRAM、およびグラフィックスアクセラレーションが搭載されます。消費電力は通常、3.3VDC電源から数ミリアンペア以下です。


機械学習のユースケース(画像:NXP)

TOPSについて一言

単一のメトリックを使用してパフォーマンスを定義する場合、消費者だけではありません。デザイナーは常にそれを行い、マーケティング部門はそれを気に入っています。これは、見出しの仕様により、デバイス間の区別が簡単になるためです。古典的な例はCPUで、これは長年にわたってクロックレートによって定義されていました。デザイナーと消費者の両方にとって幸いなことに、これはもはや当てはまりません。 CPUを評価するために1つのメトリックを使用することは、エンジンのレッドラインによって車のパフォーマンスを評価することに似ています。それは無意味ではありませんが、他の多くの要因が一緒になってこれらの特性を決定するため、エンジンがどれほど強力であるか、または車がどれだけうまく機能するかとはほとんど関係ありません。

残念ながら、同じことがニューラルネットワークアクセラレータにもますます当てはまります。これには、1秒あたり数十億または数兆の操作で指定される高性能MPUまたはマイクロコントローラ内のものも含まれます。これも覚えやすい数値だからです。しかし実際には、GOPSとTOPSだけでは比較的意味のないメトリックであり、実際の動作環境を表すのではなく、ラボで行われた測定値(間違いなく最良のもの)を表します。たとえば、TOPSは、メモリ帯域幅の制限、必要なCPUオーバーヘッド、前処理と後処理、およびその他の要因を考慮していません。実際の運用で特定のボードで使用した場合のパフォーマンスなど、これらすべてを考慮すると、システムレベルのパフォーマンスはデータシートのTOPS値の50%または60%になる可能性があります。

これらの数値はすべて、ハードウェア内の計算要素の数にクロック速度を掛けたものであり、機能する必要があるときにデータを利用できる頻度ではありません。データが常にすぐに利用可能であり、消費電力が問題ではなく、メモリの制約が存在せず、アルゴリズムがハードウェアにシームレスにマッピングされている場合、それらはより意味のあるものになります。しかし、現実の世界にはそのような理想的な環境はありません。

マイクロコントローラーのMLアクセラレーターに適用すると、メトリックの価値はさらに低くなります。これらの小さなデバイスは通常、1〜3 TOPSの値を持ちますが、それでも多くのMLアプリケーションで必要な推論機能を提供できます。これらのデバイスは、低電力MLアプリケーション用に特別に設計されたArmCortexプロセッサにも依存しています。整数演算と浮動演算の両方、およびマイクロコントローラーの他の多くの機能のサポートに加えて、TOPSまたはその他の単一のメトリックでは、単独またはシステムでパフォーマンスを適切に定義できないことが明らかになります。

結論

IoTドメインがエッジで可能な限り多くの処理を実行するようになるにつれ、スチルカメラやビデオカメラなどのセンサーに直接または接続されたマイクロコントローラーで推論を実行したいという要望が高まっています。とはいえ、マイクロコントローラー内でのアプリケーションプロセッサーとニューラルネットワークアクセラレーターの開発のペースは速く、より熟練したソリューションが頻繁に登場しています。トレンドは、消費電力やサイズを劇的に増加させることなく、ニューラルネットワーク処理などのAI中心の機能をマイクロコントローラーのアプリケーションプロセッサと統合する傾向にあります。

現在、モデルはより強力なCPUまたはGPUでトレーニングし、TensorFlow Liteなどの推論エンジンを使用してマイクロコントローラーに実装して、マイクロコントローラーのリソース要件を満たすようにサイズを縮小することができます。より大きなML要件に対応するために、スケーリングを簡単に実行できます。間もなく、推論だけでなくトレーニングも実行できるようになるはずです。 これらのデバイスでは、マイクロコントローラーをより大規模でより高価なコンピューティングソリューションに対するさらに強力な競争相手にすることができます。

>>この記事はもともと姉妹サイトのEETimes。


埋め込み

  1. インテリジェンスにおけるクラウドコンピューティングの役割
  2. 自動車における組み込みシステムの役割
  3. エッジコンピューティングのエッジはどこにありますか?
  4. ベイパーチャンバーの冷却は、高温の製品でますます重要な役割を果たしています
  5. RFエネルギーハーベスティングは、AI主導のアプリケーションでますます重要な役割を果たしています
  6. USB-Cは、ウェアラブルおよびモバイル製品での役割が拡大していることを発見しました
  7. 小さなAIモジュールはGoogleEdgeTPU上に構築されています
  8. スマートセンサーボードがエッジAI開発をスピードアップ
  9. スマートカメラはターンキーエッジマシンビジョンエッジAIを提供します
  10. ロボットはインダストリー4.0で役割を果たす
  11. 商用IoT展開におけるエッジコンピューティングの役割