United Statesからアクセスのようです。言語設定をEnglishに切り替えますか?
Switch to English site
Skip to main content

Jetson Nano 2GB が AI をより一層身近に

Main50_f64d40c994e65b691869668f4db382014b22cb5d.jpg

 NVIDIAが新たに発売した開発者キットは、 CUDAを使った機械学習やロボティクスといったアプリケーションの開発の敷居を大きく下げます。

NVIDIAによる初代Jetson Nanoの発売は、クアッドコア ARM プロセッサーと 128 コア GPU との組み合わせに加え、4GB RAM、ギガビットイーサネットおよび USB 3.0 をほかの機能と併せて搭載し、また、驚くべき価格帯で提供したことで、大変な話題となりました。ですが、このJetson nanoファミリーの最新版 (204-9969) は、初代の nano の半額近くまでコストの削減、これにより、この高性能なキットを用いた開発に取り掛かる際のハードルを、さらに下げることができました。

名前からわかるように、新たな Jetson nano 開発者キットは、4GBでなく2GB RAMを搭載しています。また、RAM以外にも、オリジナルのnanoと異なる点があります。しかし、後で分かると思いますが、Jetson Nano 2GB は様々なアプリケーションに適しており、これだけ低価格化されると、AIや、その他の CUDA で加速された実践的なプロジェクトが増えるでしょうし、あらゆる種類の、より価格重視型プロジェクトにも、この技術が組み込まれることになるでしょう。

2GB版と4GB版の比較

SideBySide_38310a15cfa3e985bea0fbeaadcdc729754b48f2.jpg

上の画像では、Jetson Nano 2GB と4GB 開発者キットを並べています。この時点で注意すべきなのが、後者がA02バージョンであって、アップデートされた B01キットではないという点です。明らかな相違点として、現在の 4GB キットには CSI-2 カメラインターフェースが 2 つ搭載されていることが挙げられます。そのため、初期 4GB キットのように、Jetson Nano 2GB は単一の CSI-2 カメラコネクターしかありません。多くのアプリケーションにとって、これで十分すぎるくらいですが、もちろん、 USB 経由でカメラを接続することも可能です。

PortDetail_31a30d2408b93206e7e2ee8687e337b679853de4.jpg

もう一つの大きな相違点としては、4GB キットには USB 3.0 ポートが4 つ備わっているのに対し、2GB キットは USB 2.0 ポート2 つと、USB 3.0 ポート 1つ です。これもまた、多くのアプリケーションにとって十分であり、学習環境でこのキットを使用するとしても、ひとつか、さもなければふたつの USB ポートが、単にキーボードとマウスに使用される程度でしょう。またワークステーションとしての使用を考えると、4GB キットにはHDMI と DisplayPort の両方のインターフェースが搭載されているのに対し、2GB版は HDMI のみが用意されています。

USB-C_51833693c567e288b2a2083af46f8d7962ab5fc9.jpg

開発ボードに DC 同軸コネクターがあるのは珍しいことではなく、4GB キットには 5.5/2.1mm コネクターが給電用に装備されています。ですが、2GB キットはこれを USB-C コネクターで置き換えることで、最大消費電流を 4A から 3A に削減し、USB-C 経由の規格内である5V収めています。

Power_9eb9b7a34a9d06725ffd4eb336cc43aadf59ee5d.jpg

これはたいしたことではないように思えますが、USB-C での給電は、容易に利用が可能であり、おそらくこれは、技術を可能な限り利用しやすくしようとするためのものであると考えられます。

M2_ad530106ef30dee8a5bef6080209d4f4733eb729.jpg

ぱっと見てわからない相違点としては、4GB キットには 、Jetson System-on-Module (SoM) の下にM.2 コネクターがありますが、 2GB キットには搭載されていないということです。ただし、M.2スロット周辺の、非常に制限されたスペースを考慮すると、スロットは Key-E タイプで、SSD 用ではなく、ノートパソコン式の WLAN アダプターなどを使用するためのものです。2GBキットにおいてWi-Fi が必要な場所では 、USB アダプターを使用可能です。

4GB キットと 2GB キットのどちらにも 、Micro SD スロットが SoM に装備されていて、通常ストレージ用に使用されますが、これの他に、USB ドライブを取り付けることも可能です。また、2GB キットには、4GBキットと同じ、 40 ピン拡張ヘッダーが搭載されており、電源ボタン、リセットおよび UART 等のための接続を備えたピンヘッダーも備わっています。同様に、4GB キットと 2GB キットのどちらもギガビットイーサネットを備えています。

Expansion_2439e5cc8387dba04cfa72d163aedddbcf6bc8ae.jpg

主な相違点のまとめ:4GB でなく 2GB RAM、単一の CSI-2 インターフェース、USB 3.0 ポートの数が少ない (外付けハブ使用可能)、DisplayPort なし (大半のモニターには HDMI 入力がある)、 M.2 スロットなし (USB Wi-Fi アダプター使用可能)。ですが、クアッドコア CPU および 128 コア GPU、並びにほかの優れた SoC 機能は同じ。それでいてほぼ半額。

他のプラットフォームとの比較

機能 Jetson Nano 開発キット Raspberry Pi 4 Coral (Beta) 開発者用ボード
CPU Quad-core ARM A57 Quad-core ARM  A72 Quad-core ARM A53
GPU 472 GFLOPS (FP16) - 64 GFLOPS (FP16)
Memory 4GB 64 bit
LPDDR4 1600MHz
25.6 GB/s
2GB, 4GB or 8GB 64 bit
LPDDR4 3200 MHz SDRAM
(モデルによって異なる)
1GB 32 bit
LPDDR4 1600MHz
12.8 GB/s
DL HW CUDA GPU CPU TPU
DL SW

人気のフレームワークをすべてサポート

- TensorFLow
- PyTorch
- Caffe
- MxNet

各種のモデルを幅広くサポート

フレームワークをサポート

- TensorFLow
- PyTorch
- Caffe
- MxNet

各種のモデルを幅広くサポート

簡素化されたフレームワークのみをサポート

- TensorFlow Lite

いくつかの限られたモデルのみをサポート

Codec HW

4K60 | 8x 1080p30 HEVC Decode

4K30 | 4x 1080p30 HEVC Encode

4K60 HEVC Decode
1080P60 AVC Decode
1080P AVC Encode
4K60 HEVC Decode
エンコードサポートなし

WiFi/ BT

USB Ports

外付け WiFi ドングルをバンドル (日本版は現状なし)

1x USB 3.0
2x USB 2.0
1x USB 2.0 Micro-B

内蔵WiFi

2x USB 3.0
2x USB 2.0

内蔵WiFi

1x USB 3.0 

NVIDIA による比較表

価格帯を考えると、よりよい比較を行うとしたら、対象は Raspberry Pi 4 です。こちらは実際、 GPU を搭載してはいるものの、現時点では、ほぼグラフィックにしか使用されていません。つまりこれは、AI のワークロードがすべて CPU で実行されているという意味で、よって性能は、 Jetson Nano で達成できるものには遠く及びません。事実、NVIDIA によると、 2GB 開発者キットは最大で、 Raspberry Pi 4 の200 倍の性能を提供できると示唆しています。ですが、Pi 4 はより強力な ARM CPU を備えており、バリアントは最大 8GB までの RAM で利用可能です。なので、これは多くの非 AI/並列処理ワークロードにおいてより良い選択肢であり続けそうです。

Google Coral も同様で、これは、テンソル・プロセシング・ユニット (TPU) を加速 AI ワークロードに対して統合するものですが、本来の GFLOPS 性能は Jetson Nano GPU が提供するものよりも低いということがわかり、さらには、半分の RAM 、メモリ帯域幅も半分です。これに加え、AI フレームワークサポートは Coral で大きく制限されており、これでは明らかに、より幅広い、非 AI ワークロードに向けたソフトウェアをもつ、 CUDA エコシステムを有効的に利用することができません。したがって、ベンチマーキングでは、特定のモデルを Coral 上で 、Tensorflow Lite 介して実行することによって、性能が向上することがわかりました。これに加え、Coral プラットフォームは開発ボードを介して利用可能なだけでなく、 USB アクセラレーター、SoM および M.2/Mini-PCIe ボードとしても利用可能です。

もちろん、利用可能な、より基礎部分に組み込まれるソリューションの数も増えていますが、これは、マイクロコントローラーで実行される、軽量化された、オーダーメイドの AI フレームワークを基盤としている傾向があります。これらは、超低消費電力で動作する場合かつ、ハードウェアがこのクラスに該当する時には最適です。例えば、ベーシックな人物検知機能付きスマートセキュリティーカメラなどが挙げられます。ですが、このようなソリューションは、数多くある、要求が高いアプリケーションに対しては、適さない場合が多くあります。

もうひとつの注目すべき点は、Jetson では推論とトレーニングを、同じハードウェア上で、同時に実行することができることです。推論よりもトレーニングの方が、はるかに計算負荷が高いことを考慮すると、これをわざわざ CPU で行おうと試すことすら、理にかなっているとは思えません。ですから、Raspberry Pi または uC ベースのプラットフォームで実行する際には、トレーニングを別のパソコンで行う必要があります。(ここでのパソコンとは、多くの場合デスクトップ、サーバーまたは NVIDIA GPU が備わっているクラウドシステムになります。)

Jetson Nano は、最新の PCIe GPU 搭載パソコンと同等の性能は提供できませんが、非常に手頃な価格での導入手段を提供し、AI 初心者は、最小限の出費でトレーニングと推論の両方を試すことが可能になります。それに加え、例えばインタラクティブオンデバイストレーニングのような、ある種の興味深いアプリケーションへとつながる可能性があります。より多くのリソースや高速なトレーニングが必要な場合には、この製品は、CUDA ハードウェア全体のポータビリティーのおかげで、容易に機能を拡張できます。

内容をまとめると、Jetson Nano は AI 推論の実行において素晴らしい性能を発揮し、おまけに、トレーニングモデルとしても使用できるということです。しかし、結局はその作業に適したツールかどうかが重要であり、別のプラットフォームの方がより適している可能性を示すユースケースも出てくるでしょう。

ソフトウェアサポート

CUDA2_e8c416ee46451e6868c1192a12376dd9b6938464.jpg

前回の投稿で、元々の Jetson Nano 4GB を検証し、その内容の一部でソフトウェアスタックを取り上げました。要約すると、CUDA は並列計算プラットフォームであり、NVIDIA によって作成された API モデルで、 GPU へのアクセスを提供するために使用されます。これは、Jetson 製品ファミリーのような、組み込みプラットフォームに使用される製品から、非常に高性能なデータセンターソリューションまでのデバイスをサポートします。アクセラレーテッドライブラリのセットを、拡張したC/C++ に加えて提供し、また、FORTRAN (人気のハイパフォーマンスコンピューティング) 実装も提供しています。

Jetpack1_78d721f8c961e4fda89bb7dfc39d72f35a055ed4.jpg

JetPack SDK は CUDA をベースに構築し、OS 画像、ライブラリ、 API、サンプルおよび開発ツールを提供します。これに含まれるものは、Jetson Nano 用の Ubuntu ベース画像と並んで、ディープラーニングおよびコンピュータービジョンアプリ向けの高レベルアクセラレーテッドライブラリなどです。

PyRadio_53b780a7d2cb9842348a4683cb6fa81df81c67b7.jpg

前回お伝えしたように、CUDAは非 AI ワークロードの高速化にも使用可能で、例えば、デジタル信号処理およびそれのサポートにおいて NVIDIA は 、cuSignalというソフトウェアを提供しており、このソフトウェアは GPU アクセラレーテッド信号処理を、 Python アプリケーション内から可能にします。シンプルでありながら非常に効果的で、これを使用している例はPyRadioです。これは一組のソフトウェア無線 (SDR) スクリプトで、 デスクトップ GPU と併用した場合に、同時に 35 局以上の FM 放送ラジオ局を検波できます。

AI およびロボット工学のような関連分野は、おそらく GPU (すなわち並列)処理にとって最も重大な機会となるでしょうが、決してここで話は終わりません。この技術を、より多くの人が使用できるようになるにつれ、計算集中型非 AI ワークロード数の増加を加速させられるソフトウェアの成長が期待できるでしょう。

Jetson AI 認定

DLI-diagram2_696226520e86580bb612e2cd4c58400595290b0f.png

Jetson Nano 2GB の発表と同時に、 NVIDIA はJetson AI 認定も、Deep Learning Instituteを介して開始しました。これは、AI Specialist (AI スペシャリスト) および AI Ambassador (AI アンバサダー) 向けの認定トラックを提供し、教育者やインストラクターを対象としています。どちらも Linux および Python に関する基礎的な知識が求められ、 Ambassador認定では、候補者が先行の認定保持者、または、経験者であることが推奨されています。

体系化されたコースのコンテンツが NVIDIA によって提供されており AI Specialist 認定では次への参加が条件となっています。
「NVIDIA Jetson で、AI (マシンラーニングまたはディープラーニング) と、GPU アクセラレーションを用いて製作したオープンソースプロジェクトを、実行している様子の動画と併せて提出する。」
AI Ambassador 認定には追加の面接があります。

最後に

Jetson Nano 2GB は、様々な AI や、その他の CUDA アクセラレーテッド (並列処理)アプリケーションを導入することができる可能性を秘めています。低価格帯であることから、これまで優れた価格・性能を提供するにもかかわらず、たとえば、趣味の楽しい創作であれ、大規模リサーチプロジェクトの一部であれ、4GB モデルを使用する必要がなかった、多くのプロジェクトへの用途も見出されやすくなります。

アンドリュー・バック

Open source (hardware and software!) advocate, Treasurer and Director of the Free and Open Source Silicon Foundation, organiser of Wuthering Bytes technology festival and founder of the Open Source Hardware User Group.
DesignSpark Electrical Logolinkedin