こちらの記事について、内容・翻訳・視点・長さなど、皆様のご意見をお送りください。今後の記事製作の参考にしたいと思います。
Thank you! Your feedback has been received.
There was a problem submitting your feedback, please try again later.
こちらの記事の感想をお聞かせください。
NVIDIAのエッジAI用の開発ボードのフラグシップモデルとエントリーモデルの2製品を比較するシリーズ記事の第二弾
私のオリジナルのJetson Nanoについての過去記事(「ベーシックモデルのハンズオン」「人追跡ショッピングカートの開発」)やJetson AGX Orinというパワーハウス(「Jetson AGX Orinのご紹介」と「基本的なセットアップ」)も参照してください。
この2パートシリーズでは、トップエンドのJetson AGX Orin用の開発者キットと、小型でコストがかなり低いJetson Orin Nanoを比較及び対比します。パート1では、それぞれの機能と仕様を検討し始めました。2つ目となる本記事では、いくつかのサンプルのワークロードを実行し、2つのプラットフォームの相対的なパフォーマンスを比較します。
Orin Nanoセットアップ
以前、AGX Orin (253-9662) の基本的なセットアップを紹介しましたが、Orin Nano (264-7384) のセットアップについても少し触れておきます。AGX Orinには、イメージがプリインストールされているはんだ付けされたeMMCフラッシュがありますが、Orin Nanoは持続的なストレージなしで提供されるため、これを提供する必要があります。例えば、Micro SDカード又はNVMe SSDです。
SDカードに書き出せるイメージファイルが付属していますが、これを使うと、Orin Nanoが正しく起動していないことがわかりました。NVIDIAロゴが表示され、直接起動しようとするメッセージが表示されました。その後、ディスプレイが空になり、ファンが回転しなくなりました。フォーラムを検索すると、SDK Manager メソッドを使用することを提案された投稿が見つかりました。
SDKマネージャを使用することで、カスタムインストールを試してNVMe SSDをターゲットにすることもできました。このプロセスについては、「SDK Managerを使ったNVIDIA Jetsonのセットアップ」の記事を参照してください。
Aレベルプレイングフィールド
AGX Orinボードは、eMMCに工場で事前にインストールされたイメージを介してセットアップされたことを念頭に置く一方、Orin Nanoは最近、SDK Managerを使用して構成されたため、さまざまなソフトウェアリリースを実行していた可能性があります。リリースがあまり離れていない場合は、これが大きな違いをもたらすことは期待できませんが、パフォーマンス比較を行う際には、両方のソフトウェアをできるだけ同じソフトウェア環境に近づけることが妥当です。
Orin Nanoで次のコマンドを実行する場合:
$ cat /etc/nv_tegra_release
上の画像の出力は、Jetson Linux 35.4.1を実行していることを示しています。
AGX Orinシステムで同じコマンドを実行すると、このデバイスキットがJetson Linux 35.2.1 (少し古いリリース)を実行していることを示す上記の出力を受け取りました。
両システムのファイル /etc/apt/sources.list.d/nvidia-l4t-apt-source.list
を比較すると、Orin Nano のパッケージリポジトリが r35.4 リリース用に構成されていることがわかりました。 AGX Orin システムで同じファイルを調べると、リリース r35.2 に設定されていることがわかりました。
Orin AGXシステムをOrin Nanoと同じレベルにアップグレードするには、上記のファイルで指定されたリリースをアップグレードし、APTアップグレードとディストアップグレードを実行して、再起動を行いました。
$ sudo apt update && sudo apt dist-upgrade && sudo reboot
その後、パッケージはアップグレードされ、エラーなしで完了したようです。
再起動時に、コンソールディスプレイはさらなる更新が行われていることを示しました。
AGX Orinでコマンドを再実行すると、Jetson Linux 35.4.1にアップグレードされたことがわかりました。
この時点で、開発者のドキュメントにJetPackがインストールされている場合は、このような「OTAアップデート」を実行せず、ドキュメントを参照するように警告されています。その後、AGX OrinにJetPackが実際にインストールされていることが確認されましたが、Orin Nanoはインストールされていません。
ただし、JetPackアップグレードドキュメントを参照すると、破損したパッケージを修復するために必要な追加ステップが1つしかなかったように見えました。このステップの実行には効果がなかったようです。
Orin NanoにはJetPackがないと警告されていたため、以下の機能でインストールされています。
$ sudo apt install nvidia-jetpack
この時点では、両方の開発キットに同じソフトウェア環境を備える必要があります。
Quick Test
CUDA経由でGPUにアクセスできることを確認し、いくつかのヘッドライン機能を報告するための簡単な最初のチェックのために、以前の「NVIDIA Jetson AGX Orin基本セットアップ」の記事で取り上げたdeviceQueryのサンプルをビルドして実行することができます。上記のOrin Nano出力のフラグメント。
ここでは、AGX Orinで同じサンプルを実行したときの出力を見ることができます。これにより、両システムのCUDAデバイス(GPU)にアクセスでき、同じドライバとランタイムバージョンを備えていることを確認します。また、AGX Orinのグローバルメモリが非常に多く、GPUの最大クロックレートがほぼ2倍になっていることもわかります。しかしながら、これはその違いの全体的な範囲を示すものではなく、AGX Orin は Orin Nano よりも多くの利点があります。例えば、合計 2048 個の CUDA コア (ここに示されている数値は異なります) と 32 個の Tensor コアの代わりに 64 個の Tensor コアがあります。
AIサンプル
各Jetsonデバイスキットで、以下の推論サンプル3つを実行し、接続されたUSBカメラからビデオを処理し、結果を比較します。
Hello AI Worldのサンプルを使用します。
- ResNet-18ネットワークを使用したカメラセグメントマルチヒューマン解析(MHP)
- U2-Netネットワークでの背景除去
- MobileNetSSDv2モデルでのカメラ検出
サンプルを初めて実行すると、モデルがダウンロードされ、セットアップされて、チューニングされるため、アプリケーションが開始されるまでに遅延が発生します。これは、Jetson Orinデバイスキットのいずれかでも完成するのに少し時間がかかる背景除去のサンプルで最も特徴的なケースです。
これらのテストでは、ライブカメラフィードを使用し、平均的な大きなパフォーマンス比較を検討しています。より科学的なテストは、各比較に使用されるビデオクリップを記録し、実行中のタイミング平均を計算するためにサンプルを変更することです。いずれにしても、ここで使用されるシンプルな方法は、比較性能を示すのに十分です。
カメラセグメント
ここでは、フレーム内の人間を認識させようとしています。上記のビデオでは、Jetson Orin NanoとAGX Orinで実行されているサンプルを比較することができます。実際には、AGX Orinでフレームレートが高かったにもかかわらず、どちらでも同じように動作します。
タイミングレポートを比較すると、Orin NanoでのGPU処理時間はわずか4 msで、AGX Orinでの処理時間はわずか3 msです。これはかなり高速で、GPUにも明らかにストレスがかかりません。また、CPU処理時間も見ることができます。予想通り、これらの時間は非常に似ており、GPUはここでがすべての重労働をこなしています
背景の除去
このサンプル、一見かなり単純そうに聞こえるかもしれませんが、実際には前のサンプルよりも多くの処理が必要です。上記では、これが両方のデバイスキットで実行されていることがわかります。また、両方のプラットフォームがすばらしく対応しています。この点で注目すべきことの1つは、カメラのセットアップは理想的ではなく、ターゲットオブジェクトの後ろにあるウィンドウから多くの明るい光が入ってきたことです。 写真と同じように、それは何らかの課題となります。
今回のタイミングレポートを比較すると、Orin Nanoの合計GPU処理時間は約52ms、AGX Orinの合計GPU処理時間は約17msで、パフォーマンスは3倍になります。
両方の開発キットで達成されたフレームレートを比較すると、上記のスクリーンショットをキャプチャした時点で、AGX Orinの60 FPSに対してOrin Nanoの約30 FPSとなり、パフォーマンスの大幅な向上が確認できます。これらの数値は、タイミングレポートと同様、シーンが変わると多少前後するため、あくまで参考値であることに注意してください。
カメラ検出
最後のサンプルでは、オブジェクトの検出と分類を行います。再び、エントリレベルとフラッグシップのJetson Orinデバイスキットの両方で優れた性能を発揮します。
タイミングレポートによると、AGX Orinは明らかに高い性能を発揮しますが、最初のサンプルと同様に、全体のGPU処理時間は非常に短く、性能の差は背景除去サンプルと同じくらい大きくはありません。
まとめ
Jetson Orin Nanoで素晴らしいパフォーマンスを得られている場合、AGX Orinにアップグレードしてもパフォーマンスが大幅に向上することはないでしょう。実際、GPUへのデータの出し入れを可能な限り高速化したり、ボトルネックがカメラやデータ収集システムなど別の場所にある可能性もあります。
AIやより広範なCUDAアクセラレーション・アプリケーションの可能性については、まだ表面しか見ていませんが、GPUに対してより極端な要求をする場合、AGX Jetsonが提供する処理能力のゆとりの恩恵は明らかです。このことは、背景除去のサンプルで双方のプラットフォームで遜色なく動作する傍ら AGX OrinのパフォーマンスがOrin Nanoの2~3倍であったことからもおわかり頂けるでしょう。したがって、この性能差は、40TOPSのOrin Nanoと275TOPSのAGX Orinで実行される特に負荷の高いアプリケーションで大きくなると考えるのが妥当でしょう。
最後に
このシリーズのパート1では、Orin Nano及びAGX OrinのSoM仕様と、ビデオエンコード / デコード機能、カメラ、PCIeなどの接続機能を比較しました。また、フォームファクタ、SoM / メインボードインターフェイス、及び電力要件もあります。2つのプラットフォームを選択する際に、GPU / AIパフォーマンスとともに考慮すべきさまざまな要因があることにご注意ください。
コメント