【Jetson Orin Nano レビュー(2)】Orin Nano対AGX Orin/AGX Xavierベンチマーク対決 実務でのAI演算能力でも実用性を測る!

写真拡大 (全17枚)

さて、前回記事の「Jetson Orin Nanoレビュー(1) 開封の儀」はいかがだったでしょうか?おかげさまでロボスタの週間ランキングで2位に輝きました〜!ありがとうございます!
今回の第2回は「Jetson Orin Nano」のAI演算の実力に迫ります。ひとつは恒例の「ベンチマーク計測」で、他のJetsonシリーズと比較、「Jetson Orin Nano」の実力とポテンシャルを確かめてみたいと思います。また後半では、昨年、AIを使った実際の案件で作成した、ちょうどよい負荷のプログラムがあるので、それを「Jetson Orin Nano」で動作させるとどうなるか、つまり、実務での実用性をシビアに検証してみたいと思います。
●その前にSDK ManagerでJetPack5.1.1をインストール
ベンチマークを計測する前に、「NVIDIA Jetson AGX Orin開発者キット」と「NVIDIA Jetson AGX Xavier 開発者キット」も最新の「JetPack5.1.1」にしてから、ベンチマークの計測を行います。「Jetson Nano」は「JetPack5.1.1」のアップデートがありませんのでJetPackは4.6のままです。

SDK Manager1.9.2でJetPack5.1.1へのインストールが可能。「SDK Manager」とは、Linux上でインストールホストPCからJetsonデバイスに対してOSイメージやSDKをインストールできるツールで、今回は最新版の「JetPack5.1.1」に対応したバージョンもリリースされましたのでそれを使います。ホストPCで「SDK Manager」を起動した状態で、各Jetsonデバイスも起動し、アカウントを使ってログインした状態で、前面のUSB type-CでホストPCに接続するとJetsonデバイスを認識してくれるので、インストールパッケージを転送します。 「NVIDIA Jetson AGX Xavier 開発者キット」は無事アップデートできたのですが、「NVIDIA Jetson AGX Orin開発者キット」の方はアップデートできずに途中で切れてしまうトラブルが発生しました。内容を確認するとOSのインストールまではうまくいました。そこで、SDKなどソフトウェアのインストールをWi-Fi経由で行い、なんとか事なきを得たので作業続行です。

「NVIDIA Jetson AGX Orin開発者キット」の2回目のインストール、「Jetson Linux」部分はチェックを外している。これで同じ条件で3台、JetPack4.6でJetson Nanoの計4台で計測していきます。

【ベンチマークするJetsonシリーズ開発キット】:
NVIDIA Jetson AGX Orin (JetPack5.1.1)NVIDIA Jetson AGX Xavier (JetPack5.1.1)NVIDIA Jetson Orin Nano (JetPack5.1.1)NVIDIA Jetson Nano (JetPack4.6)
●まずは恒例UnixBenchから
ベンチマーク「UnixBench」を行う前に、各Jetsonのパフォーマンスを最大にするため2つのコマンドを事前に入力します。

$sudo nvpmodel-m 0$sudo jetson_clocks
それでは計測値をじっくり見ていきましょう。
●意外と差がない?UnixBench計測結果

【表1】UnixBenchのrunning 1 parallel copy of tests。CPU1コア当たりの整数演算と浮動小数点演算のスピードを計測。上の表1はrunning 1 parallel copy of testsのINDEX値で整数演算と浮動小数点演算のスピードを比較したものです。左から、「NVIDIA Jetson Orin Nano開発者キット」、「NVIDIA Jetson AGX Orin開発者キット」、「NVIDIA Jetson AGX Xavier 開発者キット」、「NVIDIA Jetson Nano開発者キット」と並んでいます。「NVIDIA Jetson Nano開発者キット」との比較は置いておいて、左3台の差が3〜4割ほどでそれほど差を感じないのは意外でした。
●それもそのはず「1コアのみの計測」
それもそのはずCPUは「ARMv8.2 64bit」を使っており、今回は1コアのみの計測なので、左3台の差はCPUの周波数の差になると思います。
●全コア使うベンチ計測だと差が歴然

【表2】UnixBenchのrunning n parallel copy of tests。持っているコアを全部使っての整数演算と浮動小数点演算のスピードを計測。しかし【表2】のように全コア使うベンチ計測となると、その差は歴然としてきました。並びは最初と同じですので差は大きく変わってきます。下の図を見てもらえばわかるようにそれぞれCPUコアの数が異なるのです。特に「NVIDIA Jetson AGX Orin開発者キット」と「NVIDIA Jetson Orin Nano開発者キット」ではコアの数が2倍も違います。

そして、ここだけ見てみても「NVIDIA Jetson Orin Nano開発者キット」と「Jetson Nano開発者キット」の性能差は3〜4倍ということになります。初見の「安定している感じ」はこの辺からもきているのではないのでしょうか?
●お待たせしましたGPUベンチマーキング
はい!ここからが本番のGPUベンチマーキングです。今回はJetPack5.1.1にバージョンを合わせた「NVIDIA Jetson AGX Orin開発者キット」、「NVIDIA Jetson Orin Nano開発者キット」、「NVIDIA Jetson AGX Xavier 開発者キット」の3台で比較を行います。
NVIDAのAIベンマークツールの項目。代表なAIモデルが使われており、より実運用に近い部分での測定ができる使うベンチマークツールはNVIDIA社提供のベンツマークツールで上記のモデル群を使ってAIのパフォーマンスを測れるようになっています。
●気になるAIの実測結果は?
気になる実測結果はこちらです!
【表3】GPUのベンチマーク結果。「NVIDIA Jetson AGX Orin開発者キット」が圧倒的だが「NVIDIA Jetson Orin Nano開発者キット」が「NVIDIA Jetson AGX Xavier 開発者キット」と比較して善戦しているのが良くわかる。
【表4】GPUベンチマーク比較結果。青部分はベンチマーク測定値。緑は各Jetson開発者キットでの測定値比較。オレンジは価格になる。まず言えるのは、「NVIDIA Jetson AGX Orin開発者キット」の圧倒的な性能差です。「NVIDIA Jetson Orin Nano開発者キット」と比べると5倍弱〜4倍強の性能差、「NVIDIA Jetson AGX Xavier 開発者キット」と比較すると3倍前後の性能差になります。
●コストパフォーマンスの高さに驚き
そして次に驚いたのは「NVIDIA Jetson Orin Nano開発者キット」と「NVIDIA Jetson AGX Xavier 開発者キット」の性能差です。性能差が1.6〜1.2倍しかない。発売当初$1999の「NVIDIA Jetson AGX Xavier 開発者キット」の25%の価格でこの性能差の「NVIDIA Jetson Orin Nano開発者キット」が手に入るとは、さすがAmpere GPUアーキテクチャ恐るべし。一応「NVIDIA Jetson Nano開発者キット」と「NVIDIA Jetson Orin Nano開発者キット」との比較も載せておきます。ただし「NVIDIA Jetson Nano開発者キット」はJetPack4.6なので参考値としてみてください。
【表5】「NVIDIA Jetson Nano開発者キット」と「NVIDIA Jetson Orin Nano開発者キット」のGPUベンチマーク比較。JetPackのバージョンが違うので参考値としてみてほしい。比較しておいてなんですが、58.9倍〜11.7倍とちょっと比較にならないですね。「NVIDIA Jetson Nano開発者キット」はAI学習のエントリ用として割り切って考えたほうがよさそうです。
●【番外編】実務にどれくらい耐えられるかテスト
ここからはいつもとちょっと趣向を変えて、弊社で実際に行ったAI案件でJetson達がどれくらい働けるかを確認してみたいと思います!実は筆者の会社は栃木県から「未来技術企業」という認定支援を受けて、農林水産業やほかの栃木県のDX化などのお手伝いをしています。その一つに、圃場(ほじょう)の可視化の研究連携を栃木県畜産酪農研究センターと一緒に行っている案件があります。

栃木県とForex Robotics社の研究連携例。AIを利用したほ場の可視化。内容はドローンで連続撮影した大きなトウモロコシの圃場の画像をAIが解析し、苗の育成状態をヒートマップで見える化するというものです。今回、栃木県畜産酪農研究センターに快諾いただき、実際に研究連携で使用したほ場データを使ってNVIDIA Jetson開発者キットにAI処理をさせてみます。簡単そうに聞こえますが、元データの画像サイズは1枚で429MBあり、それを開くだけでも結構なメモリ量になりますし、それをJetsonでAI判定するとなるといつメモリがなくなるかドキドキです。本来なら位置づけ的にサーバで処理してもおかしくないほどの処理を、果たしてAIエッジデバイスであるNVIDIA Jetsonシリーズを使って可視化データが作れるのでしょうか?ちなみに実務ではNVIDIA RTX搭載のMSIのWindowsノートで行い、35分程度の処理時間でした。
●まずは「NVIDIA Jetson AGX Orin開発者キット」の挑戦!
まずは最も高性能で、成功の可能性が一番高い「NVIDIA Jetson AGX Orin開発者キット」から挑戦してみます。ちなみに今回はtensorflowを使うので、下記サイトのPDFにある手順に従い、JetPack5.1.1に直接インストールしております。https://docs.nvidia.com/deeplearning/frameworks/install-tf-jetson-platform/index.html
動作確認をして、いざテスト開始!テスト中はこんな感じです。
だいたい1つの推論に、40〜50msでしょうか?順調に進み、見事36分2秒でフィニッシュしました!さすが最上位機種。途中、特に危なげもなく「NVIDIA Jetson AGX Orin開発者キット」の底力を目の当たりにしました!!
「NVIDIA Jetson Orin Nano開発者キット」で出力した画像。実物は269MBある。
●次に「NVIDIA Jetson AGX Xavier 開発者キット」の挑戦、しかし・・・
次に「NVIDIA Jetson AGX Xavier 開発者キット」で挑戦してみます。パフォーマンス的には2番手なので、これもいけるかと思っていたら思わぬ暗雲が立ち込めます。

「NVIDIA Jetson AGX Xavier 開発者キット」の挑戦。だんだんAI推論時間が長くなり1回に2〜3秒かかるように。そして、この後さらに推論時間が分単位で長くなりシステムが落ちてしまう。途中から1推論当たりにかかる時間が長すぎるのです。前者の40〜50msに対して2〜3secかかっています。100倍遅い。と思っていたら、途中で電源が落ちてしまいました、リタイヤです!これは悔しい!結果を分析したのですが、後述するメモリ対策をおこなっても結果はNGでしたので、JetPack5.1.1に内在する「NVIDIA Jetson AGX Xavier 開発者キット」との固有の問題なのかもしれません。
この問題に関して現在NVIDIA社と問題解決すべく情報共有を進めております。原因解明出来たら本記事の更新を含めて追加情報を出す予定ですので、AGX Xavierユーザの方はがっかりせずに続報をお待ちください!
●最後は「NVIDIA Jetson Orin Nano開発者キット」の挑戦
最後に「NVIDIA Jetson Orin Nano開発者キット」で挑戦です。「NVIDIA Jetson AGX Xavier 開発者キット」のリタイアの件があったので、練習走行させていたら案の定システムから「Low Memory Warning」の警告が!

「NVIDIA Jetson Orin Nano開発者キット」の練習風景。上部にLow Memory Warningの文字が!本番前にスワップメモリの設定をして再度、挑みました。
結果は2時間35分33秒!いや、でもよく頑張りました!時間がかかっているのはAI推論部分かと思いきや、そこは40〜50msしかかかっていない。

時間はかかったが最後まで完走!問題はスワップメモリでした。Jetson AGX Orin に搭載されているメモリサイズが64GBであるのに対し、Jetson Orin Nano のメモリサイズは8GB。今回のテストでは、このメモリにデータが入りきらず、microSDのスワップメモリへの読み書きが発生し、AI推論以外の部分で時間がかかってしまったようです。スワップメモリはメモリといってもファイルにメモリの情報を一時保管しているに過ぎないため、SDカードの「NVIDIA Jetson Orin Nano開発者キット」は圧倒的に不利です。今度SSDを入れて再挑戦してみたいと思っています。
また今回は、Jetsonに負荷をかけたテストを行う主旨でしたが、本来Jetsonで大規模なデータを処理する場合Jetsonに最適化した構成にする必要があります。例えばデータを分割して処理するなど8GBのメモリに収まるようにプログラムを工夫したり、推論エンジンをtensrflowからTensorRTに変更してメモリ使用量の低下と高速化の両方を狙う方法などです。Jetsonでもかなりの負荷には耐えられることが分かったので、今後スムースに動く構成も含め改良を検討したいと思います。
「NVIDIA Jetson Orin Nano開発者キット」の出力結果。時間はかかったがちゃんと出力できた。
●番外編の総括
今回は非常に挑戦的かつシステムリソースが限られるAIエッジデバイス単体では不利な試みではあったが、「NVIDIA Jetson AGX Orin開発者キット」および「NVIDIA Jetson Orin Nano開発者キット」が頑張ってくれました。特に「NVIDIA Jetson Orin Nano開発者キット」にNVMe SSDを換装させたときの可能性を考えると、いてもたってもいられず、思わずSSDをポチってしまいました。(笑)
いかがだったでしょうか?ここまで見てきて筆者はもう「NVIDIA Jetson Orin Nano開発者キット」を今年度は業務で使い倒す気満々です!
次回はいよいよ!Isaac Simと「NVIDIA Jetson Orin Nano開発者キット」の連携で、何ができるかを中心にお届けしようと思いますのでお楽しみに!
【Jetson Orin Nano レビュー】関連記事:
(1)予約販売開始!新時代のAIエッジデバイスを最速で「開封の儀」 (2)Orin Nano対AGX Orin/AGX Xavierベンチマーク対決 実務でのAI演算能力でも実用性を測る! (3)ロボット開発シミュレータ「Isacc Sim」を「Jetson Orin Nano」で使ってみた!(近日公開)