2. “NVIDIA REINVENTS ITSELF EVERY SINGLE YEAR. WE
ARE GOING TO CALL NVIDIA ‘THE GOAT,’ THAT IS, THE
GREATEST OF ALL TIME.”
MAD MONEY
NVIDIA pioneered accelerated computing to tackle challenges ordinary computers
cannot. We make computers for the da Vincis and Einsteins
of our time so that they can see and create the future.
3. CUDA: NVIDIA’S COMPUTING PLATFORM
様々なユースケース
AI Training & Inference
Speech Visual Search
Video Analysis
Robotics
Gaming Science
Media & Entertainment
http://developer.nvidia.com/cuda-downloads
6. NVIDIA IS A FULL STACK COMPUTING PLATFORM
多くのイノベーションと NVIDIA エコシステムの拡大
30M
CUDA Downloads
2,500
GPU-Accelerated Applications
9,000
AI Startups
AI DRIVE
METRO ISAAC
CLARA
RAPIDS
AERIAL
5G
RTX HPC
MAGNUM IO
CUDA
CUDA-X-AI
3M
Developers
150
SDKs
COMPLETE SOFTWARE STACK GROWING ECOSYSTEM
1B
CUDA GPUs
CHIPS
SYSTEMS
SDK & ENGINES
APPLICATIONS
ECOSYSTEM
FULL STACK INNOVATION
65 updates from last GTC
9. PYTHON から CUDA を叩く場合の典型的な構造
Cython 経由で CUDA C/C++ が呼び出される
CUDA
Each library Python Interface
GPU
Cython
Each library C/C++
CUDA libraries
JIT/NVRTC
10. PYTHON から GPU を利用するには
さまざまな階層のライブラリ
• CUDA の公式 low-level binding
github.com/NVIDIA/cuda-python
CUDA Python
• GPU 向け NumPy 互換 API
github.com/cupy/cupy
CuPy
• 大規模にスケールする目的の NumPy
互換 API
developer.nvidia.com/cunumeric
cuNumeric
• 主にディープラーニング用の API
• 拡張ツールなどが豊富
github.com/tensorflow/tensorflow
github.com/pytorch/pytorch
Deep Learning frameworks
(TensorFlow/PyTorch/etc)
• GPU 版 pandas / sklearn /
NetworkX / etc といったライブラリ群
rapids.ai
RAPIDS
• 大規模テーブルデータ向けの特徴量
エンジニアリング&前処理ライブラリ
developer.nvidia.com/nvidia-merlin
NVTabular
など。他にも多数のライブラリなどが存在。
11. AI INFERENCE IS HARD
AI INFERENCE
MODELS FRAMEWORKS
MIDDLEWARE
PROCESSORS
Real Time
V100 GPU x86 CPU
A30 GPU A100 GPU Arm CPU
Cloud
Batch Streaming
APP
CONSTRAINTS
DEPLOYMENT
Data Center Embedded
Edge
Azure
Machine
Learning
Google
Vertex AI
Amazon
SageMaker
CNNs TRANSFORMERS RNNs
GNN DECISION TREES
15. TORCH-TensorRT
Torch-TensorRT に nn.Module を渡す
必要に応じて引数を設定
C++ APIs も利用可能
TorchScript での利用も可能
Python QuickStart
import torch
import torch_tensorrt as torchtrt
# SET trained model to evaluation mode
model = model.eval()
# COMPILE TRT module using Torch-TensorRT
trt_module = torchtrt.compile(model, inputs=[example_input]
enabled_precisions={torch.half})
# RUN optimized inference with Torch-TensorRT
trt_module(x)
16. import tensorflow as tf
from tf.python.compiler.tensorrt import trt_convert as tftrt
# COMPILE TRT module using TensorFlow-TensorRT
trt_module = tftrt.TrtGraphConverterV2(saved_model_pth).convert()
# RUN optimized inference with TensorFlow-TensorRT
trt_module(x)
TENSORFLOW-TensorRT
TensorFlow-TensorRT に SavedModel を渡す
必要に応じて引数を設定
C++ APIs も利用可能
Python QuickStart
18. TRITON: モダンなデータセンターにおけるコンピュートエンジン
数百万のアプリケーション | 数十億のユーザ | 数兆のクエリ
Batching & Scheduling
Real time | Batch | Stateful Stream | Ensemble
Multiple Framework Backends
Custom C++, Python
Triton 上で動作する
マイクロサービス
Triton Inference
Server
NLP Recommender
Image
Classify
TTS
Image
segment
ASR
マイクロサービスベースの
アプリケーション
App App
App
…
すべてのプロセッサに対する
最適化
クエリとレスポンス
X86 CPU V100 GPU
A100 MIG
A30 GPU A100 GPU ARM CPU
19. TRITON INFERENCE SERVER
スケーラブルでシンプルな推論サービング オープンソース ソフトウェア
Kubernetes,
Prometheus
Metrics
標準的な
HTTP/gRPC
Or
C API
(クライアント
アプリケーションへの
直接組み込み)
CPU
Dynamic Batching
(リアルタイム、バッチ、
ストリーム)
モデルごとの
スケジューラー キュー
…
柔軟なモデルロード
(全体一括、選択的)
複数の GPU & CPU
バックエンド
Custom
Backends
Utilization, Throughput, Latency Metrics
GPU
モデル
リポジトリ
Query
Result
複数の
クライアント
アプリケーション
Python/C++
Client Library
Query
Result
Python/C++
Client Library
Query
Result
Python/C++
Client Library
多くの
アクティブ
なモデル
月次アップデートは、docker コンテナ形式で GitHub と NGC から入手できます
20. TRITON INFERENCE SERVER の使い方
models/
└── resnet
├── 1
│ └── model.savedmodel
│ ├── saved_model.pb
│ └── variables
│ ├── variables.data-00000-of-00001
│ └── variables.index
└── config.pbtxt
:
規定に従いモデルを配置、
設定を記述し、
$ docker run --gpus=all --rm
-p8000:8000 -p8001:8001 -p8002:8002
-v ./models:/models
nvcr.io/nvidia/tritonserver:21.11-py3
tritonserver --model-repository=/models
...
I1207 06:26:28.710564 1 grpc_server.cc:3979]
Started GRPCInferenceService at 0.0.0.0:8001
I1207 06:26:28.710986 1 http_server.cc:2717]
Started HTTPService at 0.0.0.0:8000
I1207 06:26:28.753317 1 http_server.cc:2736]
Started Metrics Service at 0.0.0.0:8002
コンテナを起動
https://github.com/triton-inference-server/server/
21. TRITON INFERENCE SERVER の使い方
https://github.com/triton-inference-server/client
クライアント側の API (例):
https://github.com/triton-inference-server/python_backend
Python バックエンドの API:
:
22. AI により実現されるエンタープライズ トランスフォーメーション
エンドツーエンドのアプリケーション フレームワーク
デスクトップ環境 スーパーコンピューター GPU アクセラレーテッド クラウド
データセンター ソリューション アクセラレーテッド エッジ
Riva
対話型
AI
Metropolis
スマートシティ
Clara
ヘルスケア
Isaac
ロボティクス
Drive
自動運転
Aerial
テレコム
Merlin
推薦システム
サイバー
セキュリティ
Morpheus
NeMo
大規模
言語モデル
23. ▪ DL ベースの会話&言語理解モデル
▪ Correct-by-Construction アーキテクチャのための、セマンティクス チェックを含む
▪ 複数言語をサポート:
▪ 8 for ASR
▪ 5 for NLU
▪ オープンソース
▪ PyTorch および PyTorch Lightning との統合
▪ 使いやすい API
▪ 最適化された学習パフォーマンス
▪ GPU に最適化された 100 以上の学習済みチェックポイント
▪ 1000 GPU クラスにスケール可能
https://ngc.nvidia.com/catalog/containers/nvidia:nemo
https://github.com/NVIDIA/NeMo
NOTE: ASR – Automatic Speech Recognition | NLU – Natural Language Understanding
最先端の対話モデルを作成するためのツールキット
NVIDIA NEMO
24. World Record
Accuracy
2.96% Gap on
Gehring and Homberger
Scalable to 1,000s
of Locations
3 Seconds
vs
5 Minutes
to Route 1,000
Packages
ANNOUNCING
NVIDIA REOPT
Re-Optimize Logistics and
Supply Chain in Real-Time
Accelerated Solver for Vehicle Route,
Warehouse Picking, Fleet-Mix Optimization
Massively Parallel Algorithm Generates
Thousands of Solution Candidates and
Refinements
Dynamic Rerouting Reduces Travel Time,
Saving Billions for a $10 Trillion Logistics
Industry
Available Now
nvidia.com/reopt
29. 最先端のアプリケーション
Core Omniverse Apps
FOR 3D DEEP LEARNING RESEARCHERS
FOR DESIGNERS, CREATORS, ENGINEERS
FOR GAME DEVELOPERS, ANIMATORS
FOR RTX CREATORS FOR REVIEWERS, PROJECT MANAGERS FOR ROBOTICISTS
30. OMNIVERSE AUDIO2FACE
› Powered by NVIDIA AI
› 容易に利用できる、リアルで自然な表情の自動生成
› 声質、性別や言語間の変換
› 会話や歌の音声を利用
› 推奨スペック: GeForce RTX 3070, NVIDIA RTX A4000 or
higher
AI による音声からの表情生成
31. Omniverse Kaolin App
NVIDIA KAOLIN
3D を加速するディープラーニング研究のためのツールキット
https://developer.nvidia.com/nvidia-kaolin | https://github.com/NVIDIAGameWorks/kaolin
Render Synthetic Data
Visualize Model Training Inspect 3D Datasets
Kaolin Library
Modular Differentiable Renderer 3D Data Loading GPU Optimized 3D Operations 3D Checkpoints