AI学習の新定番「NVIDIA Jetson Nano 2GB 開発者キット」実機レビュー、話題のJetson AI認定制度も解説

2020年10月5日、NVIDIAからJetsonシリーズの新製品「Jetson Nano 2GB 開発者キット」(以下Jetson Nano 2GB)が発表され、59ドルの価格(日本国内販売はワイヤレスモジュール非同梱の54ドル版)とともに大きな話題になりました。「Jetson Nano 2GB」は、2019年3月に発表された「NVIDIA Jetson Nano 開発者キット」(4GB)と比べてメモリ容量が少なくなった代わりに価格を抑えた廉価版で、主に学生や教育者向けに位置づけられた製品です。


製品の発表のほかに、もうひとつ重要なトピックとして、NVIDIAが認定する「Jetson AI Certification」というAI認定制度がスタートすることも発表になりました。これからAI学習をはじめる人にとっては、まずは目指す目標のひとつとして、ビジネスでAIに関わっている人は修得するスキルのひとつとして注目すべき制度になりそうです。

そこで、ロボスタでは今回、AI学習の新入門機ともいえる「Jetson Nano 2GB」の実機を使った解説と、NVIDIAの「Jetson AI Certification」について解ってきた情報をお届けしたいと思います。


新AI入門機「NVIDIA Jetson Nano 2GB」開発者キットが到着!

「Jetson Nano 2GB」の製品出荷は10月末頃からグローバルに順次行われていて、日本でも予約した人にそろそろデバイスが到着してる頃ではないでしょうか。価格は54ドル(日本国内販売価格6,820円〜)と、買いやすい価格に設定されています。日本では菱洋エレクトロ、マクニカ、ネクスティ エレクトロニクスから発売されています。
ロボスタ編集部にも届いたので早速、実機を見てみましょう。

「Jetson Nano 2GB」のパッケージ

Jetson Nano 2GBの変更点

2019年に発表された「NVIDIA Jetson Nano 開発者キット」(4GB版)とハードウェアのサイズは同じです。その一方で、メインメモリが4GBから2GBに変更、そのほかにもハードウェアとソフトウェアの変更点が多少ありますので確認していきましょう。

サイズは「Jetson Nano 4GB」版と同じサイズ
1. ハードウェアの変更点

まずはハードウェアの変更点ですが、搭載している外部インターフェイスが変更になっています。そのひとつが給電、インタフェースが「USB type C」に変更され、これは個人的にはとても嬉しい変更点です。

【「Jetson Nano 2GB」のハードウェアスペック表】

GPU 128-core Maxwell
CPU Quad-core ARM A57 @ 1.43 GHz
メモリ 2 GB 64-bit LPDDR4 25.6 GB/s
ストレージ microSD (not included)
ビデオエンコード 4K @ 30 | 4x 1080p @ 30 | 9x 720p @ 30 (H.264/H.265)
ビデオデコード 4K @ 60 | 2x 4K @ 30 | 8x 1080p @ 30 | 18x 720p @ 30|(H.264/H.265)
カメラ 1×MIPI CSI-2 camera connector
コネクティビティー Gigabit Ethernet
ディスプレイ HDMI (not included)
USB 1x USB 3.0 Type A, 2x USB 2.0 Type A, 1x USB 2.0 Micro-B
その他 I2C, I2S, SPI, UART, SD/SDIO, GPIO
サイズ 100 mm x 80 mm x 29 mm


【ハードウェアの主な変更点】

・メインメモリは4GBから2GBに
・カメラインターフェイスは2個から1個に
・USB type Aポートは4個から3個に
・電源供給がDCコネクタからUSB type Cポートに変更
 (従来のmicro USBでの給電は廃止)
・DPポートの廃止
・M2.Key Eインターフェイスの廃止
・USB無線アダプタ搭載(日本モデルは付属しないので$54にディスカウント)



カメラのインタフェースが2個から1個に。M2.Key Eインターフェイスは廃止された。上「Jetson Nano 4GB」、下「Jetson Nano 2GB」

USB type Aポートは4個から3個に、DPポートは廃止、電源供給がDCコネクタからUSB type Cポートに変更になった。上「Jetson Nano 4GB」、下「Jetson Nano 2GB」

Wi-Fiモジュールは標準搭載されなかったものの、ユーザーが別途市販品を購入したWi-FiドングルをUSBポートに装着することで無線LANが使用できる(画像出典:株式会社FaBo)

■ ラズパイやCoralとのパフォーマンス比較
全体の印象としては「Raspberry Pi」(ラズパイ)を意識した仕様が採用されていると感じます。ラズパイとピン互換なこと、国内販売価格は6,820円~、給電I/FをUSB type Cにしたことなど「Raspberry Pi 42GBモデル」(実売5,600円程度)に近い構成です。

一方でパフォーマンスはラズパイを圧倒しています。NVIDIAが発表したベンチマークテストによれば、Inception v4やVGG-19、OpenPoseなど、深層学習や畳み込みニューラルネットワークでは特に、ラズパイはもちろん、GoogleのEdge TPUデバイス「Coral」と比較しても優れた性能を発揮しています。

Raspberry Pi4, Coral とのパフォーマンス比較


2. ソフトウェアの変更点

JetsonシリーズはOSのイメージデータが用意されており、マイクロSDに予め書き込んでおいて、転送する方法でセットアップを行います。Jetson Nano 2GB用にも同様に用意されていて、更にはJetson Nano 2GB用に最適化されています。
実際にセットアップを行い確認できた変更点は以下の通りです。

■ ubuntuでセットアップシーケンスでスワップファイルの設定画面が追加

スワップファイルの設定画面。機械学習のプログラムを動作させる際、メモリ不足になる可能性があるため事前に4GBのスワップファイルの設定を推奨してくれる。

Jetson Nano 2GB用のOSイメージをマイクロSDに書き込んだ際、初回起動時にはubuntuのセットアップ画面が表示されるのですが、スワップファイル設定の確認画面が増えました。メインメモリが4GBから2GBに減った分、OSのスワップ領域を設定することでメモリ不足を解消させるよう初期設定に盛り込まれたようです。

デスクトップ環境を軽量化することにより通常使用メモリ量を抑える効果がある。

■ デスクトップ環境がLXDEがデフォルトになり、軽量化

デフォルトのデスクトップ環境が軽量なデスクトップ環境のLXDE(Lightweight X11 Desktop Environemnt)に変更されています。おそらくメインメモリが減ったための最適化と思われますが、日本語も使えますので英語の苦手な日本のユーザでも問題なく使えるかと思います。


実機での動作確認

Jetson Nano 2GBは、他のJetsonシリーズ同様ラズパイ互換の拡張ピンインターフェイスが用意されていますが、PWM(Pulse Width Modulation:電子工作でよく使うサーボなどの制御用インターフェイス)での制御などをするときにはターミナル画面での設定が必要です。
ターミナル画面から、
$sudo /opt/nvidia/jetson-io/jetson-io.py
と入力すると、拡張ピンインターフェイスを有効にできるプログラムが起動します。

jetson-io.pyの動作の様子。pwm0,pwm2を有効にする。

せっかく実機があるので、今回はまず手始めに、ラズパイで動かしていた「電王手さん」のプラモを改造して、1軸のサーボを組み込んで音に反応して動くというpythonプログラムを「Jetson Nano 2GB」でも同様に動作するか検証してみました。
pwm0(32),pwm2(33)をチェックして再起動かけるとSG90のようにPWMインターフェイスを使うサーボもRaspberry Pi同様動作します。




AI開発認定コース「Jetson AI Certification」とは

前述のとおり、NVIDIA主催のAI開発認定コース・プログラムが「Jetson AI Certification」です。「Jetson Nano 2GB」と同時に発表されました。
このプログラムは学生など、これからAI学習をはじめる人向けにJetsonのAI開発者の裾野を広げるべくNVIDIAがはじめる無料のAI認定コースです。



認定コースを申請する手順としては、まず、Jetsonシリーズ製品を購入すること(Jetsonシリーズなら製品種別は問わず)、「Jetson AI ファンダメンタルズ コース」(日本語字幕)をオンラインで受講(無料)、Jetsonを使って開発した「AIのプロジェクト」を提出することで、審査が行われます。

Jetson製品の購入、ビデオトレーニングの「JetsonAIファンダメンタルコース」を受講する(Jetsonを使ったセットアップから、実際のAIを使ったサンプルプロジェクトを動かす3つのセクションで構成)、「JetsonAIファンダメンタルコース」受講後に実際にプロジェクトを開発してみて、4つの基準で評価(審査)される「プロジェクトベースでの評価」で構成

「Jetson AI ファンダメンタルズ コース」はNVIDIAが提供している無料のオンライン・トレーニング教材です。3つのセクションで構成され、Jetson NanoでAIを始める「Deep Learning institute」、Jetson Nanoを使った自動運転ロボット「JetBot」(オプション)、そしてAI開発の基礎を学ぶ「Hello AI World」です。

Jetson AI ファンダメンタルコースは、ビデオテキストでのトレーニング。Jetsonの準備からAIのプログラム動作を学べる。

「プロジェクトベースでの評価」は応募したプログラムをNVIDIAが4つの基準で審査して評価されます。




「Jetson AI Specialist」と「Jetson AI Ambassador」

「JetsonAIファンダメンタルコース」の受講と「プロジェクトベースでの評価」をクリアすると「Jetson AI Specialist」、または教育者向けには「Jetson AI Ambassador」(面接あり)に認定されます。

認定書の発行は2種類。一般の「Jetson AI Specialist」と教育者向けの「Jetson AI Ambassador」がある。「Jetson AI Ambassador」には面接がある

NVIDIAの担当者が引用した「AIのプロジェクト」の例を紹介すると、スーパーマーケットの店内などに設置したカメラ映像から人を検知し、ソーシャルディスタンス(人と人との距離)を測定して近すぎると検知するAIシステムなどがあげられる、とのことです。

「Jetson AI Certification」への申請のための「AIのプロジェクト」の例

「Jetson AI Certification」については、更に詳しい情報を収集し、ロホスタ編集部がAI認定を申請する体験レポート記事をお届けする予定なのでお楽しみに。


Jetson開発者は70万人規模に

もともとNVIDIA Jetsonシリーズは、AIのエッジデバイスという位置づけで、ハードおよびSDKを含む「JetPack」ともに改良を重ね、開発者を支援し続けてきました。有料/無料のAIトレーニングコースも用意され、開発者への手厚いサポートもあって、2020年10月現在、全世界のJetson開発者は70万人に増え、コミュニティ活動も10倍に増加、とても活発化しています。

全世界のJetsonシリーズの開発者数は2020年で70万人に。

「Jetson AI Certification」では、それらのトレーニング内容とノウハウを再構成して、以前のJetsonシリーズで紹介した「Hello AI World」のトレーニングコンテンツもC++用だけでなくPytorch用も追加されるなど最新の開発環境に合わせて進化し、NVIDIAの本気度が伝わってきます。


どうやって勉強したらいいの?

日本国内では「Jetson Education Partner」として、株式会社FaBoと株式会社アールティが、有料のJetson向けトレーニングコースを提供することも発表されました。

Faboは入門用の自動運転車「JetBot」、ラジコンカーのように高速な自動運転に挑戦できる「JetRacer」のキットなどが用意されています。プログラミングやAI学習の講習もあります。

株式会社FaBoのAIロボットカーキット

アールティはこれまでも教材用キットを数多くリリースしてきましたが、今回は「Jetson Nano」を使った新しい教材「Jetson Nano Mouse」(NVIDIA Jetson Nano 開発者キット B01対応)を製品化、Jetson Nano Mouseで画像処理や機械学習用ソフトウェアを実行する方法を紹介するセミナーを2020年11月25日に開催します。Pythonを用いたソフトウェア開発経験および画像処理や機械学習を用いたソフトウェア開発経験がある人が対象となります。

株式会社アールティのセミナー情報 特設ページ:https://rt-net.jp/service/seminar-jnmouse/


Jetsonを使ったAI開発の今後

NVIDIAはJetsonシリーズでdockerを正式採用しており、NGC catalogと呼ばれる、GPUに 最適化されたソフトウェアのハブでもJetsonシリーズのコンテナイメージが複数提供されています。

NGC catalogのJetson用dockerコンテナ一覧画面


dockerコンテナとは

dockerコンテナについて、できるだけ簡単に解説すると「アプリケーションのインストールや設定、実行などの一連の動作をパッケージ化したもの」になります。

仮想マシンのようにOSイメージ全体まで含めなくてよいので軽量なこと、dockerエンジン上で動かすことにより煩わしい手順を飛ばして動かすことができるため簡単かつ再現性の高い環境構築が可能です。

Jetsonでのdocker動作イメージ



資産の再利用性

ソフトウェアの開発ライフサイクルで重要なのは「資産の再利用」です。同じような用途での開発であれば過去の試算を最大限活用することが開発期間の短縮および品質の向上への近道なのですが、dockerを使うことにより変更部分の開発のみに時間をかけることが可能です。

ソフトウェア資産の再利用による効率化のイメージ

また時間のかかる学習モデルの分散開発にも対応できるのでエッジ側の開発と学習モデルの開発を並行開発することが可能です。
このようにNVIDIAは実際のJetsonのAIシステムを学習向けやホビーユース以外にも、ITシステム開発のライフサイクルに安価で適応できる仕組みを準備してきています。次は何を発表するのか?先日Armの買収発表を行ったNVIDIAからしばらく目が離せません!

次回は実際にJetson Nano 2GBを使って「Jetson AI Certification」のコースの受講をした体験談を書こうと思っています。

「Jetson Nano 2GB 開発者キット」販売サイト
菱洋エレクトロ
マクニカ
ネクスティ エレクトロニクス

ABOUT THE AUTHOR / 

高橋一行

Forex Robotics株式会社 代表取締役。AI、機械学習、ロボット、IoTなどのシステム開発を行いながら、コミュニティ活動やLTにも精力的に活動。 参加コミュニティ: 「ソフトバンクロボティクス公認コミュニティーリーダー」「 Creator's NIGHT eXtreme」 2020年のロボット業界を考える飲み会 共同主催 他

PR

連載・コラム