「field programmable array」は何を指すのか

正式名称はField Programmable Gate Array(FPGA)で、書き換え可能な論理回路を実装するデバイスです。FPGAが構成可能なデジタル論理を実現するのに対し、NPUは対応するニューラルネットワーク演算を高速化します。選択は実際の信号経路に依存します。並列インターフェースや厳しいタイミングでのデータ取得にはFPGAが有用で、対応する推論処理にはNPUが実装を簡素化できる場合があります。

FPGA開発ボードからカスタム製品へ

FPGAボードで確認できるのはシステムの一部です。カスタム設計には電源投入シーケンス、クロック、メモリインターフェース、熱設計、再現可能な試験方法も必要です。FPGAの設計・検証工数を、MPUやSoC FPGA構成と比較します。コストにはチップだけでなく、設計作業、ツール、基板の複雑さ、量産検査も含まれます。

AI MPU とは何ですか?

AI 対応の MPU プラットフォームは、アプリケーション マイクロプロセッサと、機械学習ワークロードに必要なソフトウェアおよびアクセラレーション リソースを組み合わせています。まず、どのタスクが CPU に属し、どのタスクがサポートされているアクセラレータの恩恵を受けるかを特定します。

MPU (アプリケーション マイクロプロセッサ) は、通常、組み込み Linux システムのソフトウェア センターです。 「AI MPU」は、NPU、GPU、DSP、FPGA などのアクセラレーション リソースを含む、または密接に連携する MPU プラットフォームほど別個のプロセッサ カテゴリではありません。 MPU は、Linux、ネットワーキング、ストレージ、セキュリティ サービス、アプリケーション ロジック、および AI ワークロードを調整するランタイムをホストします。

MPU 機械学習の場合、実際的な問題は CPU 速度だけではありません。メモリ帯域幅、アクセラレータのサポート、カメラと高速 I/O、Linux BSP の品質、長期可用性、熱設計、モデル ツールチェーンの成熟度は、多くの場合、見出しの TOPS 値よりも重要です。

MPU が優れた人工知能プラットフォームとなる理由は何ですか?

人工知能に最適な MPU はワークロード固有です。ビジョン ゲートウェイは、MIPI CSI、ハードウェア ビデオ パイプライン、および NPU を優先する場合があります。堅牢なミッション コンピューターには、PCIe、複数の Ethernet ポート、確定的なコンパニオン コア、および強力なセキュリティ機能が必要な場合があります。産業用プラットフォームは、長い製品寿命、TSN、CAN-FD、安定した Linux エコシステムを重視する場合があります。

実際のモデルをベンチマークし、前処理チェーンを完了します。宣伝されているアクセラレータの数値が低いプラットフォームでも、メモリのコピーを回避し、必要な演算子をサポートし、センサーから結果へのパスの効率を維持できれば、勝つことができます。

NPU: デバイス上でローカルに効率的なニューラル推論

エッジ NPU は、畳み込み、行列演算、一般的なアクティベーション関数などのニューラル ネットワーク オペレーターを高速化します。電力と持続的な推論スループットが重要な場合、これは通常、サポートされる検出、分類、セグメンテーション、および特徴抽出モデルにとって最も効率的な場所です。

NPU のパフォーマンスは、コンパイルとオペレーターのカバレッジによって異なります。サポートされていないレイヤーは、CPU または別のアクセラレータにフォールバックする可能性があります。量子化要件、テンソル レイアウト、入力解像度、メモリの移動によっても、現実世界のパフォーマンスが劇的に変化する可能性があります。理論上の TOPS だけに依存するのではなく、常に運用グラフのベンチマークを行ってください。

FPGA: 柔軟性が重要な決定論的パイプラインと AI 推論

FPGA は、確定的なデータ移動、カスタム インターフェイス、および超並列パイプラインに優れています。ローカル処理用のシステムでは、センサーの逆シリアル化、タイムスタンプの調整、データのフィルター処理、対象領域の生成、画像の前処理の実行、予測可能な遅延でアクセラレータに供給することができます。 FPGA AI 推論は、モデルが利用可能な DSP、メモリ、ベンダー アクセラレーション スタックに適切にマッピングされている場合にも可能です。

トレードオフはエンジニアリングの労力です。 RTL または HLS の設計、シミュレーション、タイミング クロージャ、検証、および更新戦略を計画する必要があります。 FPGA を選択する必要があるのは、単純に演算を実行できるためではなく、決定論的な動作またはカスタム並列処理によってシステム価値が生み出されるためです。

Edge AI の NPU 対 FPGA

NPU 対 FPGA の決定は、多くの場合、誤ったバイナリです。一般に、サポートされているニューラル ネットワークとワットあたりのパフォーマンスが優れている場合は、NPU の方が簡単な選択です。 FPGA は、システムがカスタム センサー インターフェイス、決定論的な前処理、珍しいデータ形式、または推論の前後に厳密に制御されたパイプラインを必要とする場合に強力です。

一般的なアーキテクチャでは、センサーの取り込みと前処理に FPGA、ニューラル ネットワークに NPU、Linux オーケストレーションに MPU の両方が使用されます。これにより、1 つのプロセッサに強制される不規則な作業の量が削減されます。

リソース最適なワークロード主な制約
FPGA決定論的パイプライン、カスタム I/O、タイムスタンプ、前処理、特殊なアクセラレーションRTL/HLS の取り組み、検証、デバイス リソース
NPU優れたワットあたりのパフォーマンスを備えたニューラル推論をサポート演算子サポート、コンパイラ/ランタイム、量子化、メモリ移動
MPULinuxアプリケーション、ネットワーク、ストレージ、サイバーセキュリティ、オーケストラーション決定論的な実行が少なく、汎用オーバーヘッド
MCU/RTコア制御ループ,安全監視,電力シーケンシング,決定論的I/O制限されたメモリと高レベル計算
FPGAI/O
NPUAI
MPULinux · I/O

エッジコンピューティング

  1. 期限を設定して開始: どの信号がタイミングが必要か 最大のセンサから動作への遅延を特定する
  2. データ転送量を整理する: センサースループット 中間テンソルサイズ 最悪の場合のメモリトラフィックを計算します
  3. インターフェースに近い決定論的なインジェクトを保持する: FPGA,DMAエンジン,リアルタイムコアがよく適している。
  4. 支援するニューラルモデルを NPU に置く: 対応する演算子の範囲と、コンパイル後の実際の性能を検証します。
  5. システムの MPU を使う: ネットワーク、ストレージ、アップデート、ログ、API、アプリケーションポリシーは Linuxに自然に属します。
  6. リアルタイム制御のリソースを確保する: 必要な場合は,MCUまたは決定的コアが,時間的に重要なアクチュエーションとプラットフォームの健康状態を監視する。

多くの場合、メモリ帯域幅が隠れたボトルネックになります

多くのエッジAI設計は計算ピークに焦点を当て,後にコピー,色変換,テンソル再構成,共有DDRが遅延を支配することを発見する。 ゼロコピーまたは低コピーパス,DMAトポロジー,キャッシュ挙動,加速器メモリアクセスは早期に評価すべきである。 熱的ストールは強いベンチマークを弱い持続性能に変える。

これは,複数のカメラ,レーダ,イベントセンサ,高速イーサネットストリームが同じメモリサブシステムを共有する場合に特に重要である。

リファレンスアーキテクチャの例

ビジョン/イベントセンサパイプライン

センサ→FPGA入力とタイムスタンプ→NPU推論→MPU決定サービス→CAN‐FDまたはイーサネット出力。 これは低遅延知覚に対する強いパターンであり,我々の知覚の理論に直接結びついている。 .

組み込み型AIコンピュータ

高速I/O→DMA/アクセラレータ経路→NPUまたはGPU推論→Linuxアプリケーションサービス→ストレージおよびネットワークAPI。 うる 組み込みコンピュータモジュール そして ローカル処理用の頑丈なコンピューター 製品クラスは、このタイプのパーティショニングを中心に構築されています。

産業用決定論的ゲートウェイ

CAN-FD / シリアル / Ethernet インターフェイス → FPGA または MCU タイムスタンプとプロトコル処理 → MPU サービス → オプションの NPU 分析。ここでは、決定論的な I/O と長期的なソフトウェアの保守性が、最大の AI スループットよりも重要になる可能性があります。

FPGA、NPU、MPU の選択方法

プロセッサーのラベルではなく、完全なワークロードから選択します。主な問題がニューラル推論である場合は、NPU の互換性から始めてください。カスタム I/O と決定論的前処理が優勢な場合は、FPGA リソースを評価します。 Linux サービス、ネットワーキング、およびアプリケーション ソフトウェアが大半を占める場合は、MPU 機能から始めます。ローカル処理用の高性能プラットフォームのほとんどは、これらのリソースのうち少なくとも 2 つを組み合わせます。

ハードウェアをコミットする前に、対象のソフトウェア スタックを通じて代表的なストリームを実行し、エンドツーエンドの遅延、電力、メモリ帯域幅、および熱を測定します。その証拠は、一般的なアクセラレータのランキングよりも価値があります。

実用的な例: 4 台のカメラと共有メモリ割り当て

1 秒あたり 30 フレームで 4 つの 1280 × 720 ストリームを使用する計画例を考えてみましょう。画像変換後、チャネルごとに 1 バイトの RGB として表されます。それらを組み合わせた論理イメージ ペイロードは次のとおりです。 4 × 1280 × 720 × 30 × 3 = 331,776,000 バイト/秒、10 進数単位で約 332 MB/秒。これは、ALVEXIS 製品のカメラリンク ビットレートや測定されたパフォーマンスではありません。

追加のフルフレーム コピーでは、そのペイロードの読み取りと書き込みが行われ、キャッシュ動作やその他の操作を考慮する前に、約 664 MB/秒のメモリ トラフィックが追加されます。モデル テンソル、色変換、ロギング、および同時サービスは、独自のトラフィックを追加します。これは、ヘッドライン アクセラレータの定格が十分であるように見えても、データの移動によって設計が制約される理由を説明しています。

場所まで働く出発点犯行前の証拠
カメラの取り込みと同期サポートされている SoC インターフェイス (必要に応じて FPGA またはコンパニオン デバイスを使用)同時ストリームキャプチャ、タイムスタンプの動作、負荷時の損失
神経推論NPU (選択したグラフと精度がサポートされている場合)変換精度と継続的なオンデバイスアプリケーション測定
Linux サービスと録音MPU リソースと明示的に予算が設定されたストレージ パス推論がアクティブなときの CPU、メモリ、および I/O の動作
タイムクリティカルな外部制御適切なリアルタイム コントローラーまたは検証済みの決定論的実装関連する最悪のワークロードにおける応答時間の証拠

パーティショニングの目的は、各タイミングとリソース要件を明確にすることです。すべての設計に 4 つの異なるプロセッサが必要であるという意味ではありません。要件を満たす最も単純なアーキテクチャから始めて、測定またはインターフェイスの制約が正当化されるリソースを追加します。

プロセッサーの組み合わせを選択するための検証計画

  1. センサー、データ形式、モデル、解像度、動作条件などの入力契約を凍結します。
  2. アクセラレータのスループットを比較する前に、モデルのサポートと出力品質を確認してください。
  3. 取得、前処理、推論、配信を個別に測定してから、完全なパスを測定します。
  4. 記録、ネットワーク、および対象となるすべてのセンサーをアクティブにして、持続的な熱負荷の下で繰り返します。
  5. キューの経過時間、入力の損失、テール レイテンシを記録するため、平均レートが高くても断続的な遅延が隠れることはありません。

ボードのリビジョン、ソフトウェア イメージ、ツールチェーンのバージョン、およびテスト入力を結果とともに保管します。 Rockchip 実装の場合、 RK3588 モデル展開ガイド このワークフローを開発します。イベントカメラデータの場合は、 ソフトウェア統合ガイド 推論パスを選択する前にタイムスタンプと表現を定義します。

ワークロードの特性を評価した後、 SoM および SBC 統合オプション。この決定により、コンピューティング アーキテクチャがコネクタ、電源、エンクロージャ、実稼働作業に接続されます。

プロセッサーの選択から構築可能な製品まで

プロセッサ候補リストは、完全な製品に適合する場合にのみ役立ちます。カスタム ボードを注文する前に、ワークロードを短いエンジニアリング ブリーフにまとめてください。

  • 入力: センサー数、インターフェース、サンプルレート、同期要件。
  • AI ワークロード: 実際のモデル、サポートされる精度、および許容可能な出力品質。
  • 物理的制約: 寸法、電源、冷却および動作環境。
  • 配達: プロトタイプの数量、生産量、ソフトウェアの所有権、および受け入れテスト。

検査ステーションの場合、カメラ パイプラインをライン トリガー、部品識別子、および結果インターフェイスに接続します。私たちの 産業用マシンビジョンおよび品質管理ソリューション これらの要件がどのようにパイロットになるのかを説明します。

MPU、NPU、FPGA Edge AI よくある質問

MPU AIとは何ですか?

MPU AI は、通常は Linux を使用し、多くの場合、NPU、GPU、FPGA などの統合アクセラレーションまたはコンパニオン アクセラレーションを使用して、組み込みマイクロプロセッサ プラットフォームにデプロイされた人工知能ワークロードを表します。 MPU は一般に、推論パイプライン周りのアプリケーション、ネットワーキング、ストレージ、セキュリティ、オーケストレーションを管理します。

MPU は機械学習を実行できますか?

はい。 MPU 機械学習ワークロードは、CPU コア上で実行することも、統合アクセラレータを使用することもできます。実稼働システムの場合、見出しの TOPS だけよりも、モデルのサポート、メモリ帯域幅、持続的なサーマル、エンドツーエンドのレイテンシの方が重要です。

NPU と FPGA: Edge AI にはどちらが適していますか?

通常、サポートされているニューラル ネットワーク推論では、ワットあたりの優れたパフォーマンスを備えた NPU がより簡単な選択肢となります。カスタム センサー インターフェイス、確定的前処理、珍しいデータ形式、または特殊なパイプラインが設計の中心となる場合は、FPGA が推奨されます。多くのシステムは両方を使用します。

NPU ワークロードを FPGA で実行できますか?

FPGA はニューラル ネットワーク アクセラレータまたは推​​論パイプラインを実装できますが、自動的に専用の NPU と同等になるわけではありません。この取引には、プログラマブル ロジック リソース、メモリ、ツールチェーンの成熟度、モデル サポート、検証の労力、および能力が関係します。

FPGA AI 推論が意味を持つのはいつですか?

FPGA AI 推論は、推論を決定論的前処理、カスタム インターフェイス、または特殊なデータ移動と密接に結合する必要がある場合に魅力的です。これは、標準の NPU ランタイムがセンサー パスまたは遅延の制約に適合しない場合に特に役立ちます。

TinyML がローカル コンピューティングに適合する場所

ローカル コンピューティングは、データ ソースの近くでの処理を表します。 Edge AI はそこに機械学習推論を適用します。 TinyML は、多くの場合、メモリと電力が限られたマイクロコントローラー上での、より制約のあるクラスの展開に対応します。したがって、小型の振動分類器とマルチカメラ認識パイプラインでは、両方が Edge AI であっても、非常に異なるハードウェア予算が必要になります。

マイクロコントローラー ターゲットの場合は、モデル サイズ、ランタイム メモリ、サポートされている演算子、取得オーバーヘッドを確認してください。 NPU または FPGA ベースのデザインの場合は、メモリの移動と、高速化された作業と非高速化された作業の間の分割も評価します。テクノロジーの頭字語だけから選択するのではなく、測定されたタスクとリカバリの要件を満たす最小のアーキテクチャを選択してください。

技術参考資料

帯域幅の例は明示的な計算であり、製品のベンチマークではありません。選択したアーキテクチャを意図したワークロードで検証します。

実際の Edge AI ワークロードをパーティション分割します。

センサー インターフェイス、モデル タイプ、データ レート、電力エンベロープ、展開上の制約を送信します。それらを MPU/NPU/FPGA アーキテクチャと適切な計算モジュール クラスにマップできます。