Slide 1

Slide 1 text

NVIDIA Jetson × Deep Learning ABEJA Cloud AI Night 2018/02/05 ABEJA, Inc Toshiya Kawasaki

Slide 2

Slide 2 text

河崎 敏弥 @toshitanian ABEJA, Inc. Platform Division Lead Engineer •創業1年の時にABEJAに参画 •バックエンドエンジニア •クラウド上でシステム構築 •IoTデバイスとのシステム連携 •コンテナ •エッジコンピューティング •安価なIoTカメラ上でソフトを書いたり…

Slide 3

Slide 3 text

社名 株式会社ABEJA 設立 2012年9月10日 住所 東京都港区虎ノ門4-1-20 田中山ビル10F 資本金 (資本準備金含む) 1,148,518,043円 企業理念 イノベーションで世界を変える 事業内容 ディープラーニングを活用した 産業構造変革

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

• エンジニア・デザイナが色々な話を書いてます • ML/DL • AWS・インフラ • IoT • デザイン ABEJA Tech Blog 5 http://tech-blog.abeja.asia/

Slide 6

Slide 6 text

•Edge computing •NVIDIA Jetson •Overview •Softwares •Running deep learning application Agenda 6

Slide 7

Slide 7 text

Edge computing

Slide 8

Slide 8 text

エッジコンピューティングとは 8 “データ・ソースの近く、ネットワークのエッジでデータ処理を実行する ことによって、クラウドコンピューティングシステムを最適化する方法” (Wikipedia調べ) 本資料ではエッジサイドでの動画・画像等へのDeep Learningの適 用を対象としています

Slide 9

Slide 9 text

•Latency •低レイテンシ/固定レイテンシでデータの処理をする必要がある •インターネット経由のAPIリクエストのターンアラウンドを許容できない場合がある •Connectivity •インターネットに常時接続できない環境でも処理は継続的に実行される必要がある •Security •セキュリティ上の利用でデータの事前処理してクラウドに送る必要がある •もしくは、一切のデータをクラウドに送らずにエッジ側でアクションまで行う必要がある •Data Size •データ量が大きすぎて、ネットワーク帯域の問題でクラウドに送れない •クラウド側で集中処理するにはデータ量が多すぎる 何故エッジコンピューティングをやりたいか 9

Slide 10

Slide 10 text

エッジとクラウドの連携 10 引用: https://devblogs.nvidia.com/parallelforall/category/features/page/3/ クラウド: ハイパフォーマンスでスケーラブルな計算リソースを利用して学習 エッジ : 高スループット・低レイテンシな推論処理

Slide 11

Slide 11 text

Jetson Overview

Slide 12

Slide 12 text

•この資料はNVIDIA様公式の資料ではありません •情報が間違っている・古くなっている可能性があります •気になった方は公式ドキュメントを参照ください Disclaimer 12

Slide 13

Slide 13 text

•“クレジットカードサイズで驚異的な性能を誇るAIスーパーコンピューター” •GPU搭載 •ARM CPU NVIDIA Jetson 13 TX2 TX1 GPU NVIDIA Pascal™, 256 CUDA cores NVIDIA Maxwell ™, 256 CUDA cores CPU HMP Dual Denver 2/2 MB L2 + Quad ARM® A57/2 MB L2 Quad ARM® A57/2 MB L2 Video 4K x 2K 60 Hz Encode (HEVC) 4K x 2K 60 Hz Decode (12-Bit Support) 4K x 2K 30 Hz Encode (HEVC) 4K x 2K 60 Hz Decode (10-Bit Support) Memory 8 GB 128 bit LPDDR4 59.7 GB/s 4 GB 64 bit LPDDR4 25.6 GB/s Display 2x DSI, 2x DP 1.2 / HDMI 2.0 / eDP 1.4 2x DSI, 1x eDP 1.4 / DP 1.2 / HDMI CSI Up to 6 Cameras (2 Lane) CSI2 D-PHY 1.2 (2.5 Gbps/Lane) Up to 6 Cameras (2 Lane) CSI2 D-PHY 1.1 (1.5 Gbps/Lane) 引用: https://www.nvidia.com/en-us/autonomous-machines/embedded-systems-dev-kits-modules/

Slide 14

Slide 14 text

クラウディアン様 AI Box (LTE通信機能付) 14

Slide 15

Slide 15 text

•OS Image (L4T 28.1) •Ubuntu16.04 / Kernel 4.4 •Libraries •CUDA 8.0 / cuDNN 6.0 •OpenCV4Tegra 2.4.13 / etc… •TensorRT 2.1 •Developer Kit •Tegra Graphics Debugger 2.4 / Tegra System Profiler 3.7 •※Jetpack 3.1時点 Jetpack SDK 15 引用: https://developer.nvidia.com/embedded/jetpack-notes

Slide 16

Slide 16 text

•現在はDeveloper Preview •OS Image •L4T 28.1 → L4T 28.2 •Kernel is pre-configured to support Docker •Libraries •cuDNN 6.0 → cuDNN v7.0.5 RC •CUDA 8.0 → CUDA 9.0 •OpenCV4Tegra 2.4.13 → OpenCV 3.3.1 •TensorRT 2.1 → TensorRT 3.0 •etc… Jetpack 3.2 16 引用: https://developer.nvidia.com/embedded/jetpack-notes

Slide 17

Slide 17 text

Jetson Softwares

Slide 18

Slide 18 text

•トレーニング済みのネットワークから、ターゲットGPU向けに推論エンジンを最適化 •Jetson TX2向けの最適化 •FP32からINT8への変換も自動でしてくれる •キャリブレーションの情報、データセットを指定すると可能 •通常のフレームワーク利用と比較して高スループットを得る事が可能 TensorRT 18 引用:https://developer.nvidia.com/tensorrt

Slide 19

Slide 19 text

•DNNのためのメディア・ストリーム処理フレームワーク •GStreamer のプラグインとして提供 •提供されているelement (一部) •GST-nvcaffeGIE - caffeのモデルを走らせるためのelement •GST-nvtracker - object tracking API •GST-nvosd - camera等の入力にoverlayで画面を構成する DeepStream SDK on Jetson 19 引用: https://developer.nvidia.com/deepstream-jetson

Slide 20

Slide 20 text

Running deep learning application on Jetson

Slide 21

Slide 21 text

•Deep Stream SDK on Jetson のExample App(車両認識) •30 fps Deep learning example on Jetson (1) 21 引用: NVIDIA DeepStream SDK on Jetson Development Guideより

Slide 22

Slide 22 text

•Realtime object detection •SSD (Single Shot MultiBox Detector) •Based on mxnet example •inception-v3 with 512x512 •python •mxnet-jetson-tx2 (0.12.0) •1 camera / batch size: 1 •Result: 5 fps Deep learning example on Jetson (2) 22 github incubator-mxnet/example/ssd/

Slide 23

Slide 23 text

•学習用データ(実環境に近いもの)の収集 •クラウドで学習したモデルのエッジデバイスへの適用 •デバイス自体のモニタリング •実環境でのモデルのモニタリング •デバイス・アクセラレータ毎の最適化 •etc… クラウドとエッジ連携での課題 23