<?php the_title_rss(); ?>

写真拡大 (全6枚)

「Jetson Xavier NX」のレビュー連載、第2回目は皆さん気になる「ベンチマーク計測」をしてみたいと思います。単体の計測だけはなく、「Jetson AGX Xavier」、「Jetson Nano」との比較もお届けします!(いずれもJetsonシリーズは開発者キットです)
なお、連載の第1回をお見逃しの方はこちらもどうぞ ↓。

【Jetson Xavier NX レビュー(1)】高性能なミドルレンジモデルのAIコンピュータボード 開封の儀&デモ詳細 BERTにも挑戦:

https://robotstart.info/2020/05/15/jetson-xavier-nx-review-01.html

●基本性能の比較

●UnixBenchでの計測
まずは基本性能の比較ということでUnixBenchでの計測をしてみます。Jetsonシリーズの3機種だけでなく、「Raspberry Pi4 Model B」や筆者所有のゲーミングノートPC(インテルCore i7搭載、Ubuntu20.04インストール済)も合わせて比較計測しました。
今回UnixBenchで計測したマシンの一覧は以下の通りです。

UnixBench計測マシンリスト

Jetsonの3機種とラズパイ、ノートパソコンでまずは基本性能を比較
簡単に解説しますと「UnixBench」はレガシーなベンチマーク測定ツールです。GPUの処理は含まれないCPUやファイルIOなどのシステムベンチマークツールなので、GPU機能を使用してないときの基本性能の目安として見ていただければと思います。

UnixBench整数演算処理および浮動小数点演算処理のベンチマーク値
表を見てまずわかるのは、基本性能では「Jetson Xavier NX」が「Jetson AGX Xavier」の半分くらいの高速性能となっています。また「Jetson Nano」と比較した場合、「Jetson Nano」は「Jetson Xavier NX」の36〜44%程度なので、「Jetson Xavier NX」は最上位モデルの「Jetson AGX Xavier」寄りの性能が出ているといえそうです。
また今回の主旨とは少し異なりますが、ちょっと面白いところでは「Jetson Nano」と「Raspberry Pi4 Model B」の差です。
「Dhrystone2 using register variables」と「Double-Precision Whetstone」はそれぞれCPUの整数演算処理と浮動小数点演算処理のベンチマークテストになります。「Dhrystone2〜」では「Jetson Nano」の方が高速ですが、「Double-Precision〜」では「Raspberry Pi4 Model B」が「Jetson Nano」を上回って、わずかに速い結果になっています。これはそれぞれ搭載しているCPUの違いが表れているのかもしれません。「Jetson Nano」のCPUはARM Cortex-A57に対し「Raspberry Pi4 Model B」はその後継のARM Cortex-A72を搭載していて、その差が出ていることが考えられます。

●Jetson 3機種での基本性能の比較
続いて、Jetson 3機種でのベンチマーク値を詳細に確認してみましょう。Jetsonを比較する場合、「パワーモード」を考慮して比べるコツが重要です。

●パワーモード別比較
Jetsonシリーズはロボット、ドローン、カメラなど、エッジデバイスに組み込む用途で活用されるAIコンピュータボードです。そのため、パワーの差だけでなく、省電力という要素はとても重要です。Jetsonシリーズには「PowerMode」という設定があり、消費電力量や使用CPUコア数を設定変更することにより、省電力化を行ったりフルパワーで動かしたりすることが可能です。ここでもGPUパワーは特に使っていません。
以下Jetsonシリーズの各モデルでPowerModeがどのように変化するかを見ていきたいと思います。

表左の色分けはそれぞれの機種を示しています。黄色部分は「Jetson AGX Xavier」、7つの設定可能なパワーモードがあることを表しています。「AGX MAXN」が8コアを使ってフルパワーで動作させたときの値です。オレンジは「Jetson Xavier NX」で、設定可能なパワーモードは5つです。ブルーは「Jetson Nano」のパワーモードは2つです。
「Jetson Xavier NX」は5種類のパワーモードがありますが、表内の値に対しても「Jetson AGX Xavier」に性能が近いものを黄色で、「Jetson Nano」に性能が近いものをブルーでそれぞれ色分けしてあります。
まず「Jetson Xavier NX」MODE15W 6CORE(※1)と「Jetson AGX Xavier」MODE30W ALL(※1a)がCPUだけみると同じように見えますが、後述するGPU込みのパフォーマンスだと「Jetson Xavier NX」は「Jetson AGX Xavier」約50%の性能なので、全体的な性能では「Jetson AGX Xavier」MODE15W(※1b)と同程度の性能と思われます。
両者のCPU性能で言うと「Jetson AGX Xavier」はCarmelというARM8ベースの独自チップの8コアが搭載されているのに対し「Jetson Xavier NX」は同Carmelの6コアになります。
ただし「Jetson AGX Xavier」のMODE15Wは4コア動作なので、15W動作時のパフォーマンスは「Jetson Xavier NX」の方が良さそうです。
また「Jetson Nano」MAXNモード(※2)との比較だと、「Jetson Xavier NX」でCPU的に近い動作モードはMODE15W 2CORE(※2a)なのですが、後述のGPUパフォーマンスが圧倒的に「Jetson Xavier NX」の方が良いのと、同じ10W駆動なのでMODE10W 2CORE(※2b)の方が消費電力も含めた全体的なパフォーマンスが良いと思われます。
以上のように、現場の電力要件に合わせて動作モードを変更することで、上位にも下位にも対応できる可能性をもつミドルレンジモデルだと感じました。

●GPU機能をベンチマーク「Jetson_benchmarks」
2本目は、Jetsonシリーズのコア機能ともいえる機械学習系のベンチマークです。これは8つの機械学習のモデルを使ったベンチマークとなっており、Jetsonシリーズ共通で使えます。
以下githubで公開されています。
https://github.com/NVIDIA-AI-IOT/jetson_benchmarks

画像処理系の学習モデルが多くなっていますが、モデルごとの傾向は以下の通りになります。

全体の傾向としていえるのは、
・「Jetson Xavier NX」は「Jetson AGX Xavier」の約1/2のパフォーマンス。
・「Jetson Xavier NX」は「Jetson Nano」の約10~20倍のパフォーマンス。
というところでしょう。
「Jetson Nano」はローコストでAIコンピュータボードを導入できるので入門用としては最適です。JetBotなどのAIカーでディープラーニングを勉強するのにも適しています。「Jetson Xavier NX」は性能的にとても優れていて、価格差を考慮したコストパフォーマンスで見ると最強の選択になりそうです。「Jetson Xavier NX」と「Jetson AGX Xavier」との差は44%と妥当なのに対し、「Jetson Nano」とは約4倍の価格差で性能比は10倍となっています(あくまで今回の計測値での比較ですが)。

Jetsonシリーズの価格:参考:
Jetson AGX Xavier 88,440円
Jetson Xavier NX 50,490円
Jetson Nano 12,540円
(スイッチサイエンス社の販売価格を参考表示)

●まとめ
以上、UnixBenchでのベンチマーク測定とjetson_benchmarksでの測定結果をお送りしました。
全体的な傾向として「Jetson Xavier NX」は「Jetson AGX Xavier」寄りのハイパフォーマンスなミドルレンジモデル、かつ「Jetson Nano」よりも高コストパフォーマンスのAIエッジデバイスといえると思います。
また豊富なパワーモードで「Jetson AGX Xavier」ではオーバースペックだと感じるものの、「Jetson Nano」では若干パワーが足りないという現場でも最良の選択肢になりうるのではないでしょうか?
次回は実際に「Jetson Xavier NX」を使ってAI機能を実装した開発を行ってみようと思いますのでお楽しみに!

(高橋一行)