Submit Search
ChainerRL の学習済みモデルを gRPC 経由で使ってみる試み (+アルファ)
1 like
3,176 views
NVIDIA Japan
2019年8月31日の Chainer Meetup #10 【強化学習】におけるエヌビディア山崎の発表資料です。
Technology
Read more
1 of 34
Download now
Downloaded 20 times
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
More Related Content
PDF
Chainer でのプロファイリングをちょっと楽にする話
NVIDIA Japan
PDF
Chainer on Azure 2 年の歴史
Hirono Jumpei
PDF
1000: 基調講演
NVIDIA Japan
PDF
研究を加速するChainerファミリー
Deep Learning Lab(ディープラーニング・ラボ)
PDF
GPU クラウド コンピューティング
NVIDIA Japan
PDF
NGC でインフラ環境整備の時間短縮!素早く始めるディープラーニング
NVIDIA Japan
PDF
Deep Learning Lab MeetUp 学習編 AzureインフラとBatch AI
喜智 大井
PDF
20170518 eureka dli
ManaMurakami1
Chainer でのプロファイリングをちょっと楽にする話
NVIDIA Japan
Chainer on Azure 2 年の歴史
Hirono Jumpei
1000: 基調講演
NVIDIA Japan
研究を加速するChainerファミリー
Deep Learning Lab(ディープラーニング・ラボ)
GPU クラウド コンピューティング
NVIDIA Japan
NGC でインフラ環境整備の時間短縮!素早く始めるディープラーニング
NVIDIA Japan
Deep Learning Lab MeetUp 学習編 AzureインフラとBatch AI
喜智 大井
20170518 eureka dli
ManaMurakami1
What's hot
(20)
PDF
エヌビディアが加速するディープラーニング~進化するニューラルネットワークとその開発方法について~
NVIDIA Japan
PDF
1018: ディープラーニング最新技術情報~cuDNN 3、DIGITS 2、CUDA 7.5のご紹介~
NVIDIA Japan
PPTX
機械学習 / Deep Learning 大全 (4) GPU編
Daiyu Hatakeyama
PDF
マイクロソフトが考えるAI活用のロードマップ
Deep Learning Lab(ディープラーニング・ラボ)
PDF
GTC 2018 で発表されたディープラーニング最新情報
NVIDIA Japan
PDF
Jetson Xavier NX クラウドネイティブをエッジに
NVIDIA Japan
PDF
[基調講演] DLL_RealtimeAI
Deep Learning Lab(ディープラーニング・ラボ)
PDF
Chainer で Tensor コア (fp16) を使いこなす
NVIDIA Japan
PDF
20161210 jawsai
ManaMurakami1
PDF
GTC 2016 基調講演からディープラーニング関連情報のご紹介
NVIDIA Japan
PPTX
コキュートスTfug
Natsutani Minoru
PDF
1070: CUDA プログラミング入門
NVIDIA Japan
PDF
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」
ManaMurakami1
PDF
NVIDIA GPU Cloud の紹介
NVIDIA Japan
PDF
ディープラーニングイメージで構築する快適・高速な機械学習環境
Yaboo Oyabu
PDF
機械学習プロジェクトにおける Cloud AI Platform の使い方 (2018-11-19)
Yaboo Oyabu
PDF
産総研AIクラウドでChainerMN
Hitoshi Sato
PDF
GPU スパコン最新情報
NVIDIA Japan
PDF
GTC Japan 2016 Rescaleセッション資料「クラウドHPC ではじめるDeep Learning」- Oct/5/2016 at GTC ...
Rescale Japan株式会社
PDF
20171128分散深層学習とChainerMNについて
Preferred Networks
エヌビディアが加速するディープラーニング~進化するニューラルネットワークとその開発方法について~
NVIDIA Japan
1018: ディープラーニング最新技術情報~cuDNN 3、DIGITS 2、CUDA 7.5のご紹介~
NVIDIA Japan
機械学習 / Deep Learning 大全 (4) GPU編
Daiyu Hatakeyama
マイクロソフトが考えるAI活用のロードマップ
Deep Learning Lab(ディープラーニング・ラボ)
GTC 2018 で発表されたディープラーニング最新情報
NVIDIA Japan
Jetson Xavier NX クラウドネイティブをエッジに
NVIDIA Japan
[基調講演] DLL_RealtimeAI
Deep Learning Lab(ディープラーニング・ラボ)
Chainer で Tensor コア (fp16) を使いこなす
NVIDIA Japan
20161210 jawsai
ManaMurakami1
GTC 2016 基調講演からディープラーニング関連情報のご紹介
NVIDIA Japan
コキュートスTfug
Natsutani Minoru
1070: CUDA プログラミング入門
NVIDIA Japan
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」
ManaMurakami1
NVIDIA GPU Cloud の紹介
NVIDIA Japan
ディープラーニングイメージで構築する快適・高速な機械学習環境
Yaboo Oyabu
機械学習プロジェクトにおける Cloud AI Platform の使い方 (2018-11-19)
Yaboo Oyabu
産総研AIクラウドでChainerMN
Hitoshi Sato
GPU スパコン最新情報
NVIDIA Japan
GTC Japan 2016 Rescaleセッション資料「クラウドHPC ではじめるDeep Learning」- Oct/5/2016 at GTC ...
Rescale Japan株式会社
20171128分散深層学習とChainerMNについて
Preferred Networks
Ad
Similar to ChainerRL の学習済みモデルを gRPC 経由で使ってみる試み (+アルファ)
(20)
PDF
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正前 typoあり)」
ManaMurakami1
PPTX
Shiva 〜Nextremerをscale upする機械学習環境〜
Kazuki Morozumi
PDF
Aws privte20110406 arai
awsadovantageseminar
PDF
Zynga
awsadvantageseminar
PDF
Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)
Kotaro Nakayama
PPTX
【JaSST'18 Tokai】アジャイルとテスト自動化導入の勘所
Kotaro Ogino
PDF
[GTCJ2018] Optimizing Deep Learning with Chainer PFN得居誠也
Preferred Networks
PDF
OHS#2 pythonでgreをつくってみる
祐理 大野
PDF
20160728 hyperscale #03
ManaMurakami1
PDF
俺のローカル開発環境 - MTDDC Meetup NAGOYA 2014
taiju higashi
PDF
[AI05] 目指せ、最先端 AI 技術の実活用!Deep Learning フレームワーク 「Microsoft Cognitive Toolkit 」...
de:code 2017
PDF
人工知能のコードをハックする会 #2
Ryohei Kamiya
PDF
Azure vm usacase and value.1.0.20.0618
Ayumu Inaba
PDF
20161122 gpu deep_learningcommunity#02
ManaMurakami1
PDF
High performance python computing for data science
Takami Sato
PPTX
高速な暗号実装のためにしてきたこと
MITSUNARI Shigeo
PDF
Reco choku tech night #09 -reinvent2018報告会-
recotech
PDF
Machine Learning Nagoya 20161015
陽平 山口
PDF
Unityでreflection入門
Yoshiteru Takeshita
PPTX
ITコンサルタントが語る!OpenStackを活用した課題解決のやり方
VirtualTech Japan Inc.
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正前 typoあり)」
ManaMurakami1
Shiva 〜Nextremerをscale upする機械学習環境〜
Kazuki Morozumi
Aws privte20110406 arai
awsadovantageseminar
Zynga
awsadvantageseminar
Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)
Kotaro Nakayama
【JaSST'18 Tokai】アジャイルとテスト自動化導入の勘所
Kotaro Ogino
[GTCJ2018] Optimizing Deep Learning with Chainer PFN得居誠也
Preferred Networks
OHS#2 pythonでgreをつくってみる
祐理 大野
20160728 hyperscale #03
ManaMurakami1
俺のローカル開発環境 - MTDDC Meetup NAGOYA 2014
taiju higashi
[AI05] 目指せ、最先端 AI 技術の実活用!Deep Learning フレームワーク 「Microsoft Cognitive Toolkit 」...
de:code 2017
人工知能のコードをハックする会 #2
Ryohei Kamiya
Azure vm usacase and value.1.0.20.0618
Ayumu Inaba
20161122 gpu deep_learningcommunity#02
ManaMurakami1
High performance python computing for data science
Takami Sato
高速な暗号実装のためにしてきたこと
MITSUNARI Shigeo
Reco choku tech night #09 -reinvent2018報告会-
recotech
Machine Learning Nagoya 20161015
陽平 山口
Unityでreflection入門
Yoshiteru Takeshita
ITコンサルタントが語る!OpenStackを活用した課題解決のやり方
VirtualTech Japan Inc.
Ad
More from NVIDIA Japan
(20)
PDF
HPC 的に H100 は魅力的な GPU なのか?
NVIDIA Japan
PDF
NVIDIA cuQuantum SDK による量子回路シミュレーターの高速化
NVIDIA Japan
PDF
Physics-ML のためのフレームワーク NVIDIA Modulus 最新事情
NVIDIA Japan
PDF
20221021_JP5.0.2-Webinar-JP_Final.pdf
NVIDIA Japan
PDF
開発者が語る NVIDIA cuQuantum SDK
NVIDIA Japan
PDF
NVIDIA Modulus: Physics ML 開発のためのフレームワーク
NVIDIA Japan
PDF
NVIDIA HPC ソフトウエア斜め読み
NVIDIA Japan
PDF
HPC+AI ってよく聞くけど結局なんなの
NVIDIA Japan
PDF
Magnum IO GPUDirect Storage 最新情報
NVIDIA Japan
PDF
データ爆発時代のネットワークインフラ
NVIDIA Japan
PDF
Hopper アーキテクチャで、変わること、変わらないこと
NVIDIA Japan
PDF
GPU と PYTHON と、それから最近の NVIDIA
NVIDIA Japan
PDF
GTC November 2021 – テレコム関連アップデート サマリー
NVIDIA Japan
PDF
テレコムのビッグデータ解析 & AI サイバーセキュリティ
NVIDIA Japan
PDF
必見!絶対におすすめの通信業界セッション 5 つ ~秋の GTC 2020~
NVIDIA Japan
PDF
2020年10月29日 プロフェッショナルAI×Roboticsエンジニアへのロードマップ
NVIDIA Japan
PDF
2020年10月29日 Jetson活用によるAI教育
NVIDIA Japan
PDF
2020年10月29日 Jetson Nano 2GBで始めるAI x Robotics教育
NVIDIA Japan
PDF
COVID-19 研究・対策に活用可能な NVIDIA ソフトウェアと関連情報
NVIDIA Japan
PDF
GTC 2020 発表内容まとめ
NVIDIA Japan
HPC 的に H100 は魅力的な GPU なのか?
NVIDIA Japan
NVIDIA cuQuantum SDK による量子回路シミュレーターの高速化
NVIDIA Japan
Physics-ML のためのフレームワーク NVIDIA Modulus 最新事情
NVIDIA Japan
20221021_JP5.0.2-Webinar-JP_Final.pdf
NVIDIA Japan
開発者が語る NVIDIA cuQuantum SDK
NVIDIA Japan
NVIDIA Modulus: Physics ML 開発のためのフレームワーク
NVIDIA Japan
NVIDIA HPC ソフトウエア斜め読み
NVIDIA Japan
HPC+AI ってよく聞くけど結局なんなの
NVIDIA Japan
Magnum IO GPUDirect Storage 最新情報
NVIDIA Japan
データ爆発時代のネットワークインフラ
NVIDIA Japan
Hopper アーキテクチャで、変わること、変わらないこと
NVIDIA Japan
GPU と PYTHON と、それから最近の NVIDIA
NVIDIA Japan
GTC November 2021 – テレコム関連アップデート サマリー
NVIDIA Japan
テレコムのビッグデータ解析 & AI サイバーセキュリティ
NVIDIA Japan
必見!絶対におすすめの通信業界セッション 5 つ ~秋の GTC 2020~
NVIDIA Japan
2020年10月29日 プロフェッショナルAI×Roboticsエンジニアへのロードマップ
NVIDIA Japan
2020年10月29日 Jetson活用によるAI教育
NVIDIA Japan
2020年10月29日 Jetson Nano 2GBで始めるAI x Robotics教育
NVIDIA Japan
COVID-19 研究・対策に活用可能な NVIDIA ソフトウェアと関連情報
NVIDIA Japan
GTC 2020 発表内容まとめ
NVIDIA Japan
ChainerRL の学習済みモデルを gRPC 経由で使ってみる試み (+アルファ)
1.
Kazuhiro Yamasaki, Deep
Learning Solution Architect, NVIDIA Chainer Meetup #10, 08/31/2019 CHAINERRLの学習済みモデルを GRPC経由で使ってみる試み (+アルファ)
2.
2 い つ も
の 今日もあります 128 nodes
3.
3 自己紹介 • 山崎和博 (やまさき
かずひろ) • NVIDIAでディープラーニングなどの技術支援や啓蒙を担当 • 昔とった杵柄でAPIサーバの実装検証等々も • 私生活 • 技術書を買い漁るのが趣味 (≒積読が加速……) • 私生活と仕事が密結合しt(ry • 最近のモットー: 健康第一 2回連続失礼します
4.
4 AGENDA ChainerRLで学習したモデルを サーバにデプロイして動かしてみる話 何をやるのか 構成 デモ ChainerからTensorコアを使う話 (最新版) Tensorコア振り返り v6系統でのAPI 動作例 最近のNVIDIA
5.
5 CHAINERRLで学習したモデルを サーバにデプロイして動かしてみる話
6.
6 どういうこと? 背景と動機 なにを話すと 面白い……? Chainer x 強化学習
x NVIDIA?
7.
7 どういうこと? 背景と動機 NVIDIA提供のクラウドゲーミング: GeForce NOW 強化学習エージェントも クラウドで動かす時代(?) だ!!
8.
8 扱う題材 ChainerRLでAtariのゲームエージェントを学習 ChainerRL https://github.com/chainer/chainerrl OpenAI Gym [ALE] https://gym.openai.com
9.
9 扱う題材 学習したモデルをリモートサーバにデプロイ TensorRT Inference Server https://github.com/NVIDIA/tensorrt-inference-server •
複数のフレームワークのモデルをデプロイ可能 • ONNX, TensorFlow, PyTorch, etc... • デプロイしたモデルをHTTP/gRPCのAPIとして サービング • リクエストのキューイング • 複数モデルの並行実行 • カスタム処理を追加可能 • などなど……
10.
10 • 複数のフレームワークのモデルをデプロイ可能 • ONNX,
TensorFlow, PyTorch, etc... • デプロイしたモデルをHTTP/gRPCのAPIとして サービング • リクエストのキューイング • 複数モデルの並行実行 • カスタム処理を追加可能 • などなど…… 扱う題材 学習したモデルをリモートサーバにデプロイ TensorRT Inference Server https://github.com/NVIDIA/tensorrt-inference-server ONNX
11.
11 扱う題材 学習済みモデルをデプロイ可能に変換 ONNX-Chainer https://github.com/chainer/onnx-chainer モデルを変換: ChainerRL -> ONNX
12.
12 システム構成 GPUを使って推論 クライアント Agent draw each scene inference & action step 一般的な構成
13.
13 Google Cloud Platform システム構成 リモートサーバのGPUを使って推論 クライアント Agent draw each scene サーバ TRTIS request (inference) response (action) step
inference action Tesla T4 今回の構成
14.
14 動かしてみます デモ
15.
15 (うまく動かなかったときのスライド) ときどき止まっているのは 推論リクエストが返ってくるのを 待ってるため (レスポンスタイムの中央値:~10msec.) (おおよそ20FPS程度) • 会社オフィスに配置したサーバ へTRTISをデプロイ • クライアントは同一NWに配置 し、wifi経由でサーバへ接続
16.
16 デモアプリは公開中 https://github.com/lazykyama/atari_trtis_demo
17.
17 CHAINERからTENSORコアを使う話 (最新版)
18.
18 TENSORコアのおさらい ディープラーニング向けの専用ユニット D = FP32 (FP16) FP16 FP16
FP32 (FP16) A0,0 A0,1 A0,2 A0,3 A1,0 A1,1 A1,2 A1,3 A2,0 A2,1 A2,2 A2,3 A3,0 A3,1 A3,2 A3,3 B0,0 B0,1 B0,2 B0,3 B1,0 B1,1 B1,2 B1,3 B2,0 B2,1 B2,2 B2,3 B3,0 B3,1 B3,2 B3,3 C0,0 C0,1 C0,2 C0,3 C1,0 C1,1 C1,2 C1,3 C2,0 C2,1 C2,2 C2,3 C3,0 C3,1 C3,2 C3,3 行列の FMA (Fused Multiply-Add) 4x4 の行列の積和演算を1サイクルで計算する性能: 128 演算/サイクル/Tensor コア、1024 演算/サイクル/SM A B C
19.
19 性能を最大に引き出すための情報は…… 前々回の資料を https://www.slideshare.net/NVIDIAJapan/chainer-tensor-fp16
20.
20 TENSORコア、どうやって使う? 前々回の説明 def __init__(self, ...): self.conv1
= L.Convolution2D( 3, 64, 7, 2, 3, initialW=initializers.HeNormal(dtype=np.float16)) self.bn1 = L.BatchNormalization( 64, dtype=np.float16) ... def forward(self, x, t): x = F.cast(x, np.float16) h = self.bn1(self.conv1(x)) ... データとモデルをFP16へ、 明示的に変換が必要 データとモデルをFP16へ、 明示的に変換が必要 データとモデルをFP16へ、 明示的に変換が必要
21.
21 TENSORコア、どうやって使う? 前々回の説明 def __init__(self, ...): self.conv1
= L.Convolution2D( 3, 64, 7, 2, 3, initialW=initializers.HeNormal(dtype=np.float16)) self.bn1 = L.BatchNormalization( 64, dtype=np.float16) ... def forward(self, x, t): x = F.cast(x, np.float16) h = self.bn1(self.conv1(x)) ... データとモデルをFP16へ、 明示的に変換が必要 データとモデルをFP16へ、 明示的に変換が必要 データとモデルをFP16へ、 明示的に変換が必要 最新版ではもっと楽に
22.
22 最新版 (V6.3) でTENSORコアを使うには 環境変数を指定する
or 内部の変数を実行時に変更する export CHAINER_DTYPE=mixed16 環境変数 CHAINER_DTYPE 内部変数 chainer.config.dtype chainer.config.dtype = chainer.mixed16 指定はこれで(基本的に)OK
23.
23 最新版 (V6.3) でTENSORコアを使うには 精度を保つためのテクニックの有効化 optimizer.loss_scaling() (API
reference) Loss scaling FP32 weight update optimizer.use_fp32_update() (API reference) Accuracyが下がる場合、これらを有効に (詳細は前々回資料のp.5-7を)
24.
24 最新版 (V6.3) でTENSORコアを使うには •
cuDNNのワークスペースサイズを大きめに設定する • chainer.cuda.set_max_workspace_size(1024*1024*1024) # 今回は1GiB • cuDNNのAuto Tuningを使う • chainer.config.autotune = True (*) 使わないと、適切なアルゴリズムが選択されない、ことが多い • cuDNNの高速Batch Normalization実装を使う • chainer.config.cudnn_fast_batch_normalization = True (*) fp32でも有効、オーバーフローの可能性があるので注意 プラスcuDNNの設定をデフォルトから変更 (前回より再掲)
25.
25 実際に回してみます ImageNetのサンプルを使って計測 394.1 519.1 585.4 684.8 732.4 0 100 200 300 400 500 600 700 800 FP32 (bs=128) mixed16 (bs=128) mixed16 (bs=256) mixed16
w/ DALI (bs=256) mixed16 w/ DALI & fast batchnorm (bs=256) images/sec. 実験条件 • 1xV100@16GB on DGX-1 • Chainer v6.3.0 • cuDNNのワークスペースは常に 1GiB • cuDNNのautotuneも常時有効 • Chainerのサンプルにある、シン グルGPU実装をベースに評価
26.
26 まとめ
27.
27 まとめ • Chainer/ChainerRLで学習したモデルをONNXエクスポートすると、 TRTISを使ってすぐにAPIサーバとして動かせる • クライアントはgRPC
or HTTPで通信可能 • Atariのゲームは(ネットワークが速ければ)それなりに快適に動作 • TensorコアをChainerから使うには、dtypeにmixed16を設定し、 FP32 weight update、loss scalingを有効にする
28.
28 (おまけ) 最近のNVIDIA
29.
29 強化学習と関係する最近のNVIDIA MLPerfの測定値更新しました https://mlperf.org/ 3 x DGX-1 1
x DGX-1での時間 (27.39 min.) を1GPU換算
30.
30 強化学習と関係する最近のNVIDIA 実装は公開されています https://mlperf.org/ https://github.com/mlperf/training_results_v0.6/ tree/master/NVIDIA/benchmarks/minigo TensorFlow実装なのはごめんなさい……
31.
31 組み込み関係も強化中 Jetson Nano/Xavier and
more https://github.com/NVIDIA-AI-IOT/jetbot https://github.com/NVIDIA-AI-IOT/jetracer https://developer.nvidia.com/embedded/ jetson-agx-xavier-developer-kit Jetson AGX Xavier Developer Kit https://developer.nvidia.com/embedded/ jetson-nano-developer-kit Jetson Nano Developer Kit
32.
32 GTC: CALL FOR
TALKS/POSTERS NOW OPEN! March 22-26, 2020 https://www.nvidia.com/en-us/gtc/present/call-for-submissions/
33.
33 WE ARE HIRING!! https://www.nvidia.com/en-us/about-nvidia/careers/
Download