強力なエッジAIアプリケーションをより簡単に構築する方法
モノのインターネット(IoT)向けにシンプルなセンサベースのデバイスを設計することは、これまでで最も困難なことではありませんが、エッジで機械学習(ML)を処理できるコネクテッドデバイスを構築するのは、まったく別の話です。NXP Semiconductorsのプロセッサファミリ、開発ボード、関連ソフトウェアは、機能、性能、開発における主要な課題を克服するように設計されており、産業用およびIoTアプリケーションにおける高度なエッジAI(人工知能)機能の迅速な導入を可能にします。
設計者はすでに、クラウドベースのリソースに依存することなく、低消費電力デバイスでML推論を実行できるエッジAIソリューションの活用をすでに始めています。ウェイクワード検出、センサデータのパターン解析、基本的な物体検出などの機能は、通常、モデル最適化ツールやフレームワークで構築されたMLモデルを実行するエネルギー効率の高いプロセッサで処理できます。問題は、プロセッサリソースを拡張して、より複雑な問題、特にリアルタイムまたはそれに近い応答を必要とする問題に対処しようとする場合に発生します。
マルチコアプロセッサによるML推論を大幅に高速化する方法
NXP Semiconductorsは、i.MX 93アプリケーションプロセッサファミリ(図1)により、これらの新しいリアルタイムエッジAI設計の機能と性能の課題に対応しています。
図1: i.MX 93アプリケーションプロセッサは、プロセッシングリソース、セキュリティシステム、メモリ、および包括的なクロック、タイマ、コネクティビティオプション、インターフェースの組み合わせにより、エッジAI設計の基盤を提供します。(画像提供:NXP Semiconductors)
これらのデバイスは、マルチメディア、メモリ、インターフェース、コネクティビティオプションなどの豊富な機能を統合し、魅力的なプロセッシングリソースの組み合わせを特徴としています。
- Linuxベースのアプリケーション処理用に最大2つの高性能ArmCortex-A55アプリケーションプロセッサコア
- 低レイテンシリアルタイム制御処理用の超低消費電力Arm Cortex-M33プラットフォーム
- 効率的なML推論実行のためのArm Ethos-U65 microNPUニューラルプロセッシングユニット(NPU)
- NXPの統合EdgeLockセキュアエンクレーブ(ESE)は、セキュアなブートとキー管理のための信頼の基盤、オンザフライ暗号機能、およびエッジアプリケーションを保護するために必要なその他の機能を提供
これらのプロセッサを使用すると、大規模なエッジAIアプリケーションを管理しやすい要素に分割することができます。Cortex-A55コア上で実行されるアプリケーションコードからサイクルを奪うのではなく、NPUが計算負荷の高いニューラルネットワークアルゴリズムを実行します。これとは別に、Cortex-M33はセンサデータ取得やプロセス制御などの低レイテンシが要求されるタスクに専念し、ESEはシステム、ソフトウェアコード、重要なデータのセキュリティを維持します。後述するように、NPUがCortex-A55コアからML推論をオフロードする能力は、ほぼリアルタイムの応答性を要するエッジAIアプリケーションにとって重要な実現要因です。
ハードウェアボードとソフトウェアがアプリケーション開発を加速する仕組み
プロセッサの機能と性能は重要な要素ですが、エッジAIアプリケーションの開発を効果的に進めるには、プロセッサの機能を迅速に習得し、効果的なソフトウェアを迅速に構築する能力が必要です。NXPのFRDM-IMX93開発ボード(図2)と関連するソフトウェア開発リソースを組み合わせることで、アプリケーションの作成に必要なものがすべて揃います。
図2:FRDM-IMX93開発ボードは、i.MX 93アプリケーションプロセッサと複数のサポートチップを統合し、開発用の完全なシステムを提供します。(画像提供:NXP Semiconductors)
FRDM-IMX93ボードは、i.MX 93プロセッサファミリ使用するアプリケーションの開発を容易に行えるように設計されています。わずか105 × 65ミリメートル(mm)のボードには、2ギガバイト(Gバイト)の低消費電力ダブルデータレート4X(LPDDR4X)ダイナミックランダムアクセスメモリ(DRAM)、32Gバイトの組み込みマルチメディアカード5.1(eMMC5.1)、および電源管理集積回路(PMIC)、Wi-Fi 6、Bluetooth 5.4、802.15.4ワイヤレスパーソナルネットワークを提供するワイヤレストランシーバモジュール、およびその他の必要なサポートチップが搭載されています。ボードのヘッダ、コネクタ、デバッグインターフェースにより、システムをデバッグするための拡張ボードを簡単に追加できます。
ボードにはいくつかの設定オプションがありますが、デフォルトモードでそのまま使用できます。ディスプレイとマウスを接続し、付属のUSBケーブルでボードに電源を供給すると、ボードはNXP Linuxのバイナリデモイメージがあらかじめ書き込まれたeMMCから起動します。
プリビルドアプリケーションがエッジAIの導入を加速
FRDM-IMX 93開発ボードの真の強みは、付属ソフトウェアと関連ツールにあります。デフォルトのデモイメージに含まれているNXPのi.MXアプリケーションプロセッサ用GoPointソフトウェアパッケージは、GoPointグラフィカルユーザーインターフェース(GUI)経由でアクセス可能な一連のサンプルアプリケーションを提供します。アプリケーションを起動すると、GoPointがカメラのビデオソースの指定など、必要な設定手順をガイドします。
おそらく多くのユーザーにとって同様に興味深い点としては、NXPのサンプルアプリケーションレポジトリに、各GoPointアプリケーションの完全なPythonソースコードが含まれていることです。さらに、各アプリケーションのドキュメントには、ソフトウェアアーキテクチャ、使用されたMLモデル、および起動セットアップの説明が含まれています。たとえば、GoPointi.MX 93低消費電力機械学習アプリケーションのドキュメントでは、Cortex-A55コアとCortex-M33コアの間の実行フローを説明し、Cortex-M33がウェイクワード検出の主要な処理を実行し、最終的にCortex-A33上のLinuxを起動してユーザーに通知するまでの流れが示されてます。
NXPのGoPointドライバー監視システム(DMS)アプリケーションは、もう1つの重要な概念を示しています。それは、複数のモデルの実行を組み合わせて、より複雑なアプリケーションで複数の異なる状態を検出する方法です。このアプリケーションを起動した後、カメラソースと推論プロセッサ(アプリケーションプロセッサやNPUなど)を選択して実行します。実行すると、カメラの対象(ドライバー)の現在の状態が表示され、対象が注意散漫、眠気、あくび、喫煙、携帯電話の使用のいずれの状態にあるかが示されます(図3)。
図3:i.MX 93アプリケーションプロセッサ上で実行されるサンプルGoPointアプリケーションは、複数のMLモデルで推論を実行し、わずか数ミリ秒の遅延でさまざまなドライバーの状態を検出します。(画像提供:NXP Semiconductors)
各アプリケーションのリポジトリにある重要な情報の1つは、NPUがより効果的なエッジAIアプリケーションを実現する能力を示す性能データです。たとえば、DMSアプリケーションにおいて、NXPは、CPUベースの喫煙/通話検出推論を1スレッドで実行した場合、407.963ミリ秒(ms)かかることを確認しました。2つのスレッドで実行した場合、推論時間は303.159ミリ秒に短縮されますが、真のメリットはNPUの採用にあります。NPUでの推論時間はわずか23.008msです。
まとめ
低消費電力のi.MX 93アプリケーションプロセッサが、ほぼリアルタイムの遅延で大規模な推論タスクを実行できることは、産業用およびIoTアプリケーションにおけるエッジAIソリューションに数多くの可能性をもたらします。関連する開発ボードとソフトウェアを使用することで、これらのアプリケーションを迅速かつ効果的に構築することができます。
Have questions or comments? Continue the conversation on TechForum, Digi-Key's online community and technical resource.
Visit TechForum