Deep Learning推論用デバイスその2 NVIDIA Jetson Nano

はじめに

この記事はDeepLearning推論用デバイスまとめ記事の第二弾です。第二弾ではNVIDIAが提供しているJetson Nanoについて紹介します。他のデバイスに関しては下記にまとめられています。

NVIDIA Jetson Nano


(引用:https://developer.nvidia.com/sites/default/files/akamai/embedded/images/jetsonNano/Jetson-Nano_3QTR-Front_Left_trimmed.jpg)
JetsonシリーズはNVIDIAが提供しているGPUバイスの一つで、DeepLearningモデルの学習ではなく推論に特化したハードウェアです。Jetsonは以前紹介したIntel Nural Compute Stick2とは異なり推論プロセッサのみをUSBで接続するのではなく、開発ボード全体をデバイスとして提供しています。以下がスペック表です。

要素 Spec
GPU 128-core Maxwell
CPU Quad-core ARM A57 @ 1.43 GHz
Memory 4 GB 64-bit LPDDR4 25.6 GB/s
Storage microSD (not included)
Video Encode 4K @ 30 | 4x 1080p @ 30 | 9x 720p @ 30 (H.264/H.265)
Video Decode 4K @ 60 | 2x 4K @ 30 | 8x 1080p @ 30 | 18x 720p @ 30 (H.264/H.265)
Camera 1x MIPI CSI-2 DPHY lanes
Connectivity Gigabit Ethernet, M.2 Key E
Display HDMI 2.0 and eDP 1.4
USB 4x USB 3.0, USB 2.0 Micro-B
Others GPIO, I2C, I2S, SPI, UART
Mechanical 100 mm x 80 mm x 29 mm

(引用:https://developer.nvidia.com/embedded/jetson-nano-developer-kit

気になる点について紹介していきます。

128-core Maxwell

MaxwellとはNVIDIA GPUのマイクロアーキテクチャのコードネームです。Tesla, Fermi, Kepler, Maxwell, Pascal, Voltaと世代ごとに名付けられていて、Jetson NanoではMaxwellマイクロアーキテクチャ仕様のCUDAコアが128個搭載されています。同じJetsonシリーズで以前から発売されているJetson TX系統は256-core Pascalが搭載されているのでその部分で見ると、Jetson Nanoは性能を落としています。価格と必要なスペックによってTXとNanoを選択する形になります。

Memory

Jetson NanoにはGPUだけでなく、CPUも搭載されております。また、Memoryに関しては4GB積まれておりこのRAMをCPU・GPUともに共有して利用します。

その他周辺環境について紹介していきます。

NVIDIA Jetpack

JetpackとはJetsonシリーズのデバイス向けのSDKです。NVIDIA製のGPUをDeepLearningの学習などで利用するためにはCUDAやCUDNNなどといったライブラリが必要でした。それらのライブラリをJetsonシリーズ向けにまとめられているのがJetpackです。なおJetpackの中に推論をNVIDIA GPUに最適化するためのライブラリであるTensorRTが入っています

推論速度

JetsonNanoの推論速度の評価に関してはNVIDIA社の技術ブログで紹介されています。 こちらがJetsonNano上でTensorRTを利用したモデルに対してのFPSを計測したヒストグラムです。 (引用:https://devblogs.nvidia.com/wp-content/uploads/2019/03/imageLikeEmbed-1024x510.png) SSD-MobileNet-v2: 39FPS、Inception V4: 11FPS 達成しているそうです。また記事の後半にはGoogleが提供しているデバイスであるEdgeTPUとの性能評価が掲載されています。画像分類タスクにおけるMobile-Netv2や物体検出のSSD-Mobile-Netv2などを見るとEdgeTPUのほうがFPSが勝っています。ただ、多くのモデルについてはそもそもEdgeTPUで推論することができないものが多くDNR(did not run)と評価されています。この結果を見ると推論速度のみの観点ではEdgeTPUに載せられるモデルはEdgeTPU、載せられない場合はJetson Nanoという順番になりそうです。

参考文献