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


開封の儀

新型コロナウィルスの影響がなければ、例年通り米サンノゼで開催が予定されていたGPUの世界最大級のイベント「GTC2020」。そこではおそらく世界最小サイズのAIコンピュータボード「Jetson Xavier NX 開発者キット」の出荷が発表され、イベント会場で即日販売開始されていたはず(予想)。

「GTC2020 基調講演」は14日の夜、YouTubeでオンライン配信されましたが、同様にGTC2020で発表されるはずだった「Jetson Xavier NX 開発者キット」の発売も同時刻に明らかになりました。更にはいち早く実機に触れるチャンスが来ましたので、今回から数回に分けてレビューしたいと思います!
連載レビューの1回目は「開封の儀」とインタラクティブなデモの解説をします。


NIVIDA Jetson Xavier NXとは

「Jetson Xavier NX」は組み込みデバイス向けに製品化されているGPU推論用のAIコンピューティングボード「Jetson」シリーズの最新版、性能的にはミドルレンジに位置する製品になります。

すでに様々な分野で利用されているNVIDIA Jetsonシリーズ

実はJetsonシリーズには「TX2」というミドルレンジモデルが従来からあるのですが、最上位モデルの「Jetson AGX Xavier」と同様のアーキテクチャを使った「Jetson Xavier NX」はTX2と比較して10~15倍高速と言われているため、実質的にはミドルレンジモデルでTX2をリプレイスする製品にもなりそうです。

JetsonシリーズのミドルレンジポジションであるNVIDIA Jetson Xavier NX

「Jetson Xavier NX」の製品発表自体は、2019年の11月にすでに行われており、開発キットの販売開始は前述のように「GTC2020」に合わせると思われてきました。

製品発表に関してはロボスタでもニュースにしていますので、以下の記事を参照してください。


「Jetson Xavier NX 開発者キット」パッケージの内容

それでは早速開封の儀をお届けします。

パッケージは「Jetson Nano 開発者キット」と同様にいつものNVIDIAグリーンのパッケージデザインですが、「Jetson Nano 開発者キット」と比べるとだいぶ大きい箱です。

Jetson Nano 開発者キットに引き続き緑のパッケージ

サイズは25cm X 16cm程度

内容物は、「Jetson Xavier NX 開発者キット」の本体(右上の黒い袋)、マニュアル、QUICK START/SUPPORT GUIDE、ACアダプタの計3点。内容物は非常にシンプルです。

内容物は本体、スタートアップガイド、ACアダプタとシンプル。

「Jetson Xavier NX 開発者キット」を袋から取り出すとこんな感じ。製品発表時にアナウンスされていた通り「Jetson Nano 開発者キット」と同じ基板サイズです!

「Jetson Xavier NX 開発者キット」本体。


コネクタやインタフェースの配置は「Jetson Nano 開発者キット」とほぼ同じ

「Jetson Xavier NX 開発者キット」本体の基盤上面から見てみましょう。インターフェイス構成は「Jetson Nano 開発者キット」Rev.Bとほぼ同じ構成でサイズも同じです。

どういうことかというと、大きな特徴としてCamera Serial Interface2(CSI-2)インターフェイスが2基ついています。OSイメージは別途micro SDカードへの書き込む形でこちらも「Jetson Nano 開発者キット」シリーズと同様です。

また今回同梱されている電源はACアダプタですが、マイクロUSBポートも「Jetson Nano 開発者キット」と同様に実装されています。

左:Jetson NANO Rev.B, 右: Jetson Xavier NX。同一サイズで上面基盤のパーツ構成がほぼ同じ。


異なる点や改良された点

「Jetson Nano 開発者キット」との違いは基板の外側にプラスティックの枠が取り付けられており、直置きしても平面なら背面基盤が接触しないように考慮されています。また標準でCPU/GPUのカイザーカード上に冷却ファンが乗っています。

続いて背面部で特徴的なのはM.2KeyE側に無線LANカードが実装されています。

「Jetson AGX Xavier 開発者キット」や「Jetson Nano 開発者キット」では、無線LANカードを用意しないといけなかったのでこれはありがたいです!

またそれとは別にM.2Key Mインターフェイスがあります。これはSSDなど外部拡張ストレージが実装できるようで、これまた至れり尽くせりな感じです!

M.2Keyインターフェイスが基板背面に移動したことによって、取り付けしやすくなった。


開発者向けソフトウェア「JetPack」のダウンロードとセットアップ

NVIDIAの開発者向けサイトで最新のPreview of JetPack4.4が公開されています。URLは以下です。

関連サイト
JetPack SDK

このページから「micro SDのイメージ」をダウンロードして、micro SDに書き込みした後、「Jetson Xavier NX 開発者キット」に挿入して電源を入れれば「Jetson Xavier NX 開発者キット」用ubuntu18.04LTSが自動的にインストールされ起動します。セットアップガイドに従って言語選択、ネットワーク選択、など進めていくとセットアップが完了します。

JetPackのOSイメージにはすでに「CUDA」などのライブラリ類はセットアップ済なのですぐに使うことが可能です。

ベースOSはubuntu18.04 LTS


「Jetson Xavier NX 開発者キット」でのマルチコンテナデモ

開封の儀も無事終わり、以降では「Jetson Xavier NX 開発者キット」でのマルチコンテナデモを解説していきます。セットアップした後はすぐにでも使ってみたいですよね。まず今回、NVIDIAがあらかじめ用意したデモの動画をお見せします。

これは「Jetson Xavier NX 開発者キット」上にdockerというコンテナ型仮想環境を使って4つの異なるAIデモプログラムが入ったコンテナを同時に動かすというものです。

4つのデモそれぞれを説明すると、

・左上:人物検知コンテナ

NVIDIA Deep StreamによるAIでの人物検知デモ。4つのカメラ(デモでは動画のループ)で人物が検知されるとリアルタイムで緑のボックスで上書きしてます。



・右上:自然言語処理コンテナ

BERTというAIによる自然言語処理を使った対話デモ。用意したコンテンツに対してマイク入力で質問すると音声認識後にBERTによる回答テキストが表示される。詳細は後述。



・左下:姿勢推定コンテナ

カメラ動画(デモでは動画のループ)で検知した人物の姿勢を格子上の点と線でリアルタイムに上書きします。



・右下:視線推定コンテナ

カメラ動画(デモでは動画のループ)で検知した人物と視線が合ったら緑色の四角形枠で目の部分を上書きしています。





「Jetson Xavier NX 開発者キット」だとリアルタイムでスムースに動いていることがわかるとともに、これがロボット内の処理だとして人の検知、対象人物の姿勢や目線を検知しながらインタラクティブに会話することが可能となっています


最近注目の「BERT」をやってみた


BERTとは

BERTについて聞きなれない読者向けに少し掘り下げて説明します。

BERTは2018年にGoogleが作成・公開した自然言語処理(NLP)の事前トレーニングモデルで、GLUE、SQuAD、SWAGなどの自然言語理解タスクでの高いパフォーマンスで注目されました。主にチャットボットなどの対話や、論文などの長い文章の要点抜粋などに利用されており、Googleはすでに70か国以上のgoogle検索エンジンにBERTを利用しています。
Tensorflowで動くBERTコードがあるgithub上(https://github.com/google-research/bert)の説明によると、BERTの名前の由来は、
“ Bidirectional Encoder Representations from Transformers”(トランスフォーマーからの双方向エンコーダー表現)と書かれており、学習モデルの構造から来ています。

構造を見ると双方向リンクされているのがわかります。

BERTの構造比較。https://arxiv.org/abs/1810.04805 から引用。

BERTの良いところは事前トレーニング時に大量のテキストデータを学習させる必要があるのですが、その学習データにラベルを付けなくともよい(=プレーンテキストコーパス)点です。この手軽さで、質疑応答の精度が高いのが最大の魅力なのだと思います。


NVIDIAのBERTデモ詳細

実際にNVIDIAで提供されているBERTデモの詳細を見てみましょう。

このデモの流れは、

1. 対話したい学習済のテキストを選択。
2. スペースキー押下中にマイクに質問文を発話。
3. 音声認識エンジンでテキスト化。
4. 対話用のBERTに質問文を送り、回答をテキスト表示。

の繰り返しになります。

筆者の発音問題があったり音声認識による質問文はかなり厳しいですが(笑)、BERTによる回答は的確なように感じます。少なくともword2vecでありがちな意味不明瞭な回答にならないのでテキストベースならかなり使えるのではないでしょうか?

ちなみに音声認識の方は、QuartzNet-15×5 というBERTとは別のAIモデルが使われているそうです。QuartzNetは、昨年NVIDIAが発表したAIモデルで、高精度・低パラメータ数が特徴だそうですが、デモのAIはネイティブの音声で6000時間程度、学習したものを使用しているそうです。

Develop Smaller Speech Recognition Models with NVIDIA’s NeMo Framework(英語)
https://devblogs.nvidia.com/develop-smaller-speech-recognition-models-with-nvidias-nemo-framework/



まとめ

今回はNVIDIA 「Jetson Xavier NX 開発者キット」の開封の儀とデモをお届けしましたが、いかがでしたでしょうか?

個人的には、サイズやSDカードなどでの取り扱いの良さはJetson Nano 開発者キット譲り、性能はJetson AGX Xavier 開発者キット譲りの良いとこどりのミドルレンジモデルになっていると思います。
また無線LANカードのデフォルト実装などのユーザのかゆいところに手が届いているパッケージになっており、NVIDIAがAIエッジデバイスの普及に本気で取り組んでいるなと感じました!

デモに関してはBERTの対話デモ部分を日本語のコンテナでやりたかったなーというのが正直な感想ですが、音声対話デモなど着実に進んでいると感じます。

次回のレビュー2回目は「Jetson Xavier NX 開発者キット」のベンチマークを計測してみたいと思います。実際に「Jetson Nano 開発者キット」, 「Jetson AGX Xavier 開発者キット」との性能比較を予定していますので、そちらもお楽しみに!

【速報】オンラインセミナー開催
「Jetson Xavier NX」開発キットのオンラインセミナーをNVIDIAとマクニカが緊急開催
5月19日 17時から(約40分) 詳細は下記の記事で
https://robotstart.info/2020/05/15/jetson-nx-semm.html

ABOUT THE AUTHOR / 

高橋一行

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

PR

連載・コラム