こちらの記事について、内容・翻訳・視点・長さなど、皆様のご意見をお送りください。今後の記事製作の参考にしたいと思います。
Thank you! Your feedback has been received.
There was a problem submitting your feedback, please try again later.
こちらの記事の感想をお聞かせください。
Jetsonプラットフォームのフラグシップモデルでは、組み込みAIなどで優れた性能を発揮します。
この記事では、最新・最強のGPUとTensorコアにより構成された組み込みアプリケーション向けシステムオンモジュール(SoM)、NVIDIA Jetson AGX Orinをご紹介します。Jetson Orin、特にAGXシリーズについて話す前に、NVIDIA Jetsonファミリーの長年の歴史について簡単に振り返ります。また、いくつかのアーキテクチャについて、考えてみましょう。
初めてのJetson
低コストのJetson Nanoを使用して構築された、AI駆動の人追跡カート
NVIDIA Jetsonは、組み込みコンピューティング用のSoMファミリです。数値計算ワークロードを高速化するために、汎用処理用であるArm CPUと、Graphics Processing Unit(GPU)を組み合わせています。さらに、カメラやディスプレイ、PCIe周辺機器といったインターフェイス用の高性能I/Oや、低速デバイス用の汎用I/Oを備えています。
GPUは現在、グラフィック処理以外の多くの高性能コンピューティング(HPC: High-Performance Computing)で使用されており、近年のAIの大きな進歩を実現するために必要不可欠です。AIモデルは、フルサイズのPCIe GPUを備えた大規模なサーバークラスタを使用すれば学習可能ですが、そのモデルをスマートな製品で実行する、つまり「推論」するためには、よりコンパクトで省エネ、かつ組み込み用途に合わせてカスタマイズされたものが必要です。ここにJetsonを推奨します。
最初のJetsonボードが出荷されたのは、10年前の2014年です。それ以来、数多くの次世代機が発表され、それぞれにおいて大幅にパフォーマンスが向上、改善された機能の提供が行われました。 Jetson Nano は、導入の障壁を下げ、AIアプリケーションを最小限の費用で利用できるようにすることを目的として発表され、同時に、AI駆動の人追跡カートのような、あらゆる種類の新しいアプリケーションの実現を可能にしました。
しかし、次に示すように、Jetson OrinはJetson Nanoよりもはるかに強力で、特にAGXにおいては、より高度な用途をターゲットにしています。また、AIが重要なアプリケーションであり、AIに対してほとんどフォーカスが向いていますが、JetsonプラットフォームとGPUプラットフォームは一般的に、高度な並列計算による恩恵を受ける、多くのアプリケーションで使用されることが考えられます。
Jetsonの歴史
NVIDIA Jetson AGX Orin 開発者キットとOrin NXモジュール
では、過去から現在のJetsonファミリーを並べ、GPUのパフォーマンスを比較してみましょう。
- Jetson TK1 (2014): 326 GFLOPS
- Jetson TX1 (2015): 1 TFLOP
- Jetson TX2 (2017): 1.33 TFLOPS
- Jetson AGX Xavier (2018): 32 TOPS
- Jetson Nano (2019): 472 GFLOPS
- Jetson Xavier NX (2020): 21 TOPS
- Jetson Orin Nano: (2023): 20-40 TOPS
- Jetson Orin NX (2023): 70-100 TOPS
- Jetson AGX Orin (2023: 200-275 TOPS
2018年のAGX Xavierの登場により、性能の数値が大幅に増加していることがわかりますが、単位がTera / Giga FLoating OPeration(T/GFLOPS)ではなく、Tera Operations Per Second (TOPS)(整数または浮動小数点など)として表現されているため、注意が必要です。パフォーマンスが大幅に向上していると仮定するのは問題ありませんが、Orinの登場により、NX及びAGXとの比較で数値が大幅に向上していることが再び確認できます。
オリジナルのJetson NanoやJetson Orin Nanoは、ハイエンドのJetson SoMよりもパワーに欠けますが、特定の価格や性能レベルのニーズに対応するため重要な存在です。
ここでは、CPUのパフォーマンスやRAM、インターフェイスなどの変化を同時に考慮していないため、非常に簡素な比較となっています。ただし、Orinについては、適切な時期にこの点も含めて比較します。
アーキテクチャ
Jetsonの事前学習済みモデルを使ったベンチマーク
1秒あたりの動作等、簡単なベンチマークにより相対的な性能を良く示すことができますが、GPUのマイクロアーキテクチャを考慮することが重要です。各ディスクリートGPUとJetsonプラットフォーム(CPU+GPUの組み合わせ)は、特定のNVIDIA GPUアーキテクチャを使用して実装されています。また、オプションとしていくつかのTensorコアも実装されています。例えば、Jetson AGX Orinは、最大2048コアのAmpere archtecture GPUと64個のTensorコアを備えています。
アプリケーションの全体的な性能は、作業負荷の性質、GPUのアーキテクチャとコア数、Tensorコアの数などによって変わってきます。
ありがたいことにNVIDIA社は、MLPerfと学習済みモデルのベンチマーク両方を使用した JetsonファミリのAIベンチマークを提供しています。ここでは、AGX XavierからAGX Orin 64GBにアップグレードすると、通常、性能が3倍以上向上することがわかります。
その他の考慮事項
GPUプラットフォームを活用したアプリケーションは、NVIDIA社のCUDAツールキットを使用して開発されています。お考えの通り、SDKは時間の経過とともに更新され、新しい機能を導入していきます。中でも一部の機能は、最新のGPUアーキテクチャでのみ使用でき、また、新しいリリースでは、古いアーキテクチャへのサポートも縮小されていきます。例えば、CUDA 12.0リリースノートには、KeplerアーキテクチャであるCompute Capabilityバージョン3.5、3.7のハードウェアに対するサポートが廃止されたと記載されています。
そのため、それぞれのJetson製品ファミリーが、どのCUDA Compute CapabilityバージョンとGPUアーキテクチャを実装しているのか、見てみましょう。
- Nano: v5.3 (Maxwell)
- TX2: v6.2 (Pascal)
- Xavier AGX & NX: v7.2 (Volta)
- Orin AGX, NX & Nano: v8.7 (Ampere)
各製品には、特定のCompute Capabilityに沿ったバージョンが実装されています。これにより、どのCUDA SDK機能がサポートされているのか、どの程度の期間にCUDAサポートが提供されるか決まります。Compute Capabilityバージョンが高いほど、ハードウェアがサポートされる期間が長くなります。
さらに、CUDAベースの一部のフレームワークやアプリケーションでは、最小限の Compute CapabilityバージョンやGPUアーキテクチャが動作要件として指定されています。そのため、アプリケーションを新しいハードウェアに移行すれば、性能を向上させることが可能なはずですが、特定のソフトウェアでは、新しいハードウェアでのみ利用できる機能を必要とする場合があります。
Jetson AGX Orin
Orin SoCブロック図
Jetson AGX Orinでは、RAMが32GB、64GBといった2つのバージョンが用意されています。ただし、違いはRAM容量だけではなく、64GBバージョンはSoCもアップグレードされています。
上の図は、AGX Orin 64GBのブロック図です。このブロック図では、次の処理機能が示されています。
- 12コアArm Cortex-A78 (4コアのクラスタ x 3)
- Ampere GPUに加えて、
- 2つのグラフィック処理クラスタ(GPC: Graphics Processing Cluster)
- 8つのテクスチャ処理クラスタ(TPC: Texture Processing Cluster)
- 最大105 INT8 TOPSのディープラーニングアクセラレータ(DLA: Deep Learning Accelerator)
一方、32 GBモデルは、8コアArm CPU(クラスタ x 2)を備え、GPUはTPCが7つと64GBモデルよりわずかに少なく、DLAは最大92 INT8 TOPSの性能を備えています。そのため、64GBモデルのArmコアが50%多いことを除けば、大きな違いはありません。しかし、CPU性能にしばられるアプリケーションや、GPUの処理能力を余すことなく必要とするアプリケーションでは、64GBモデルにアップグレードする価値があるかもしれません。
Jetson AGX Orin SoM
Jetson AGX Orinモジュールは、強力なSoCをベースに、上記のような豊富なインターフェイスを持っています。2つのUSB 3.2ポート、22レーンのPCIe、HDMI、DisplayPort、カメラ接続に便利な16レーンのCSIが備えられています。つまり、8台のMIPI CSI カメラ接続可能で、ビデオ入力(VI: Video Imput)エンジンは最大 6つの同時ストリームが可能です。これは大半のアプリケーションで十分な数です!
ネットワーキングに関しては、AGX Orinには10Gポートと1Gポートが1つずつ備えられています。用途によっては、10Gインターフェイスがローカルのネットワークセンサに使用される場合があり、1Gはアップリンク等に使用されます。
また、USB 2.0ポート x 4、UART x 4、SPI x 3、I2C x 2、CANバス x 2、GPIOといった低速I/Oも充実しています。周辺機器やシンプルなセンサ、アクチュエータ、ディスプレイ、ボタンなどを接続する際に最適です。
AGX Orinモジュールは、以前のJetson AGX Xavierと同じフォームファクタとコネクタを使用し、多少のの制限はあるものの、ピンの互換性があります。また、言わずもがな、Orinと前世代のNano/NXモジュールの両方で使用されているSO-DIMMフォームファクタよりも大きなモジュールです。
Jetson AGX Orin開発者キット
最後に、Jetson AGX Orin開発者キットについて紹介します。これは、 64 GB RAMを搭載し、より強力なSoCを備えた最上位モデルになります。
パッケージ内容
しっかりとしたパッケージで、第一印象は開発者向けのキットというより、コンシューマー向け製品のように感じられます。SoMとキャリアボードは質感がよく、洗練されたケースに収納され、作業机やリビングに置いても違和感がありません。このキットには、PSUと一般的な電源コードも同梱されています。
キャリアボードのI/O
ケースの片側には、USB-Cとバレルジャックの両方の電源入力があり、付属のPSUではUSB-Cを使用します。加えて、10 Gイーサネットポート、USB 3.2ポート x 2、DisplayPortがあり、右側には、デバッグ用UARTにアクセスするためのUSB Micro-Bポートがあります。
もう片側には、電源ボタン、強制回復ボタン、リセットボタン、Micro SDカードスロット、エッジマウントされていないコネクタへ配線するための窓があります。
40ピンコネクタを下から見た図
次に、別の側面を見てみると、低速I/Oを接続するための40ピンコネクタ、追加のUSB 3.2ポート x 2、USB-Cポート(UFPとDFP、USB 3.2 Gen 2)があります。
最後の側面には洗練された磁気カバーが付いています。このカバーを外すと、Gen4のフルサイズPCIeスロットが8つ見えます。
キットを再び裏返すと、WLANアダプタが付属していることがわかります。
MIPI CSIカメラインターフェイス用の高速コネクタも付属しています。
他にも、NVMe SSD用のM.2 M-keyスロットや、HDオーディオ用コネクター、オートメーション用コネクター、JTAG用コネクター、RTCバックアップバッテリー用コネクターなどがあります。
特筆すべき点として、ベースカバーがないため、側面に露出していないコネクタに簡単にアクセスできること、また、ボタン下の開口部からケーブルを引き出すことが可能な点が挙げられます。
まとめ
AGX Orin 64GBは現在、Jetsonファミリの最高峰に位置しています。AIベンチマークによると、事前に学習されたモデルでは、通常、前世代のAGX Xavierの約3倍のパフォーマンスが期待できます。オリジナルのJetson Nanoと比較すると、Jetson AGX Orin 64GBは、DashCamNetモデルの実行で200倍近い性能を実現しています。
Jetson AGX Orin SoMは、高速I/Oと低速I/Oの両方を統合し、また、開発者キットでは、プラットフォームを評価し、開発を容易にする方法を提供します。今後の記事では、開発者キットを設定し、提供されている例をいくつか実行することで、動作を検証していきます。
コメント