SlideShare a Scribd company logo
1 of 14
Faster Python Meet up LT会 #1
Tensor コアを使った
PyTorch の高速化
2019/04/08
@fam_taro
Agenda
1. Tensorコア is 何
2. PyTorchで Tensor コア使うには
3. 推論(予測)で使ってみた(M2Det)
4. 学習で Tensorコアを使いたい場合
1
1. Tensorコア is 何
 16bit浮動小数点(FP16) の行列演算に特化した計算用コア
 PyTorch 等の深層学習フレームワークを使うと、デフォルトでは 32bit浮動小数点(FP32) で
諸々の計算が行われる
 NVIDIA GPU のうち Volta 世代以降の一部に乗っている
 Turing でも RTX 20 じゃないと乗ってない(GTX 1660, 60Ti には乗っていない)
 Pascal, Maxwell, Kepler には無い(無慈悲)
 GPU 例
 TITAN V
 GeForce RTX 20シリーズ(60, 70, 80, 80Ti)
 TITAN RTX
 Tesla V100 (<- GCP で試せる!)
 (今後より普及すると個人的に思ってます)
 参考リンク
 https://wikiwiki.jp/nvidiavga/GPU%E4%BB%95%E6%A7%98%E4%B8%80%E8%A6%A7%E8%A1%A8
 https://ja.wikipedia.org/wiki/NVIDIA_GeForce
2
https://www.nvidia.com/content/apac/gtc/ja/pdf/2017/1040.pdf
1. Tensorコア is 何
 Tensor コア使わないと FP16 にしても速度は 2倍程度
 Tensor コア使うと FP16 にしたら 7倍 以上!
 ただし使うためには制約が多い…
 CUDA9 以降
 cuDNN 7 以降
 FP16 で扱うことを明記(ライブラリのコマンド等で)
 Conv 層の入力・出力チャンネル数が 8の倍数
 全ての層が対応しているわけではない(むしろ一部しか)
 あくまで現時点なので今後は緩和されるかも… 3
https://www.slideshare.net/NVIDIAJapan/chainer-tensor-fp16
2. PyTorchで Tensor コア使うには
 FP16 を使うことを明記すればフレームワークが勝手に
使ってくれる(ことが多い)
 最近のバージョンにしないといけないが…
 PyTorch では…
 Model と Input に対し “.half()” を付ける
 半精度にするという意味 -> FP16 にする
 Output は FP16 とは限らないので注意
 Conv 層の入力と出力チャンネル数を 8 の倍数にする
 地味にきつい制約
 Pre-train model だとうまく使えないケースが出てくる
 明示的に Tensorコアを使うようにはできない(ぽい?)
4
3. 推論(予測)で使ってみた(M2Det)
 M2Det とは
 論文: https://qijiezhao.github.io/imgs/m2det.pdf
 実装: https://github.com/qijiezhao/M2Det
 最近出てきた検出モデル
 YOLOv3 より速くて精度が高い(らしい)
 自分のデータでは学習全くできてないですが😢
 実験条件
 COCO dataset (Detection ではメジャーなやつ)
 学習済みモデル(512 x 512)を使用
 公式リポジトリにある test.py を使用
 model(input) の時間と後処理(NMS)の時間を計測
 足した時間を使って FPS を出す(高いほど良い)
 5,000 枚のデータに対して推論(予測) をして平均時間をとる
 元論文は 1,000 枚で取っていた
 モデルの精度は mAP 5
3. 推論(予測)で使ってみた(M2Det)
 実行時間や Tensor コアを使っているか確認するために使ったコマンド
 time.time() 関数
 GPU絡むため下記の方が良さそうですが今回は time() 関数で時間とりました😭
 torch.cuda.Event(enable_timing=True)
 profiler
 $ python -m torch.utils.bottleneck test.py ~~~
 PyTorch の提供する profiler
 検出の後処理(今回は NMS) がボトルネックになっていないか確認するために使用
 $ nvprof python ~~~
 NVIDIA の提供する profiler コマンド。Tensor コア使っているか見れる
 $ nvcc ~~~ (未使用)
 nvprof のコマンドを GUI でリッチに見れるらしい。ただしアプリサイズデカい(数GB) 6
3. 推論(予測)で使ってみた(M2Det)
 実行結果
7
GPU
mAP
(精度)
Detect time
per
image [ms]
Nms time
Per
image [ms]
Total [ms] FPS
元論文
(リポジトリ上の値)
Titan X PASCAL 37.8 55.5 18.0
PyTorch 0.4.1
(公式指定バージョン)
Titan V 37.8 74.3 9.5 83.8 11.9
PyTorch 0.4.1 + FP16 Titan V 37.8 51.3 9.5 60.8 16.4
PyTorch 1.0.1.post2 Titan V 37.8 56.6 9.7 66.3 15.1
PyTorch 1.0.1.post2
+ FP16
Titan V 37.8 43.5 9.6 53.1 18.8
3. 推論(予測)で使ってみた(M2Det)
 実行結果
8
GPU
mAP
(精度)
Detect time
per
image [ms]
Nms time
Per
image [ms]
Total [ms] FPS
元論文
(リポジトリ上の値)
Titan X PASCAL 37.8 55.5 18.0
PyTorch 0.4.1
(公式指定バージョン)
Titan V 37.8 74.3 9.5 83.8 11.9
PyTorch 0.4.1 + FP16 Titan V 37.8 51.3 9.5 60.8 16.4
PyTorch 1.0.1.post2 Titan V 37.8 56.6 9.7 66.3 15.1
PyTorch 1.0.1.post2
+ FP16
Titan V 37.8 43.5 9.6 53.1 18.8
“PyTorch1.0.1 にして”
かつ “FP16 使う” と最も速くなる
→ 最初の 1.5倍
(かろうじて元論文の FPS を超えた)
予測時のみなら FP16にしても精
度は変わらない
PyTorch のバージョン上げたら速くな
るし、FP16にしても速くなる
4. 学習で Tensorコアを使いたい場合
 とりあえず全部 FP16 にすればいいんでしょ?→ No!
 勾配計算時にかなり影響する (勾配が消える場合もある)
 → 精度が大きく下がる場合がある
 Mixed Precision Training
 参考リンク: https://www.slideshare.net/NVIDIAJapan/chainer-tensor-fp16
 FP16 と FP32 による計算を mix した学習方法
 具体的には以下のようなテクニックが必要
 ロススケーリング : ロス値を要所要所でスケールあっぷして勾配消失を緩和
 FP32 ウェイト更新 : Forward と Backward は FP16, Update で FP32を使用
 上記を全て自分でやると大変!(学びはあると思いますが…)
 → apex を使うと比較的手軽にできる(https://github.com/NVIDIA/apex)
 NVIDIA が提供する PyTorch 用 Automatic Mixed Precision(AMP) ツール
 元のコードに対し数行足すだけで Mixed Precision Training できるとのこと
 ただし install 時は CUDA や PyTorch のバージョンに気をつけないといけない 9
References
 [2018年版 機械学習ハードウェアのState of the Artを考える ~CPU, GPU, TPUを添えて~ -
Qiita](https://qiita.com/arutema47/items/72621f17b65381657a52)
 [Training Neural Networks with Mixed Precision - NVIDIA](http://on-demand.gputechconf.com/gtc-taiwan/2018/pdf/5-
1_Internal%20Speaker_Michael%20Carilli_PDF%20For%20Sharing.pdf)
 [Chainer で Tensor コア (fp16) を使いこなす](https://www.slideshare.net/NVIDIAJapan/chainer-tensor-fp16)
 [Chainer における深層学習の高速化](https://www.nvidia.com/content/apac/gtc/ja/pdf/2018/2033.pdf)
 [VOLTA AND TURING: ARCHITECTURE AND PERFORMANCE OPTIMIZATION NVIDIA](https://www.nvidia.com/content/apac/gtc/ja/pdf/2018/2051.pdf)
 [Training with Mixed Precision :: Deep Learning SDK Documentation](https://docs.nvidia.com/deeplearning/sdk/mixed-precision-
training/index.html#pytorch)
 [GPU仕様一覧表 - NVIDIA GeForce Wiki*](https://wikiwiki.jp/nvidiavga/GPU%E4%BB%95%E6%A7%98%E4%B8%80%E8%A6%A7%E8%A1%A8)
10
おわり
11
ありがとうございました
補足: nvprof の結果(PyTorch 0.4.1)
12
補足: nvprof の結果(PyTorch 1.0.0)
13

More Related Content

What's hot

Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料Yusuke Uchida
 
モデルアーキテクチャ観点からのDeep Neural Network高速化
モデルアーキテクチャ観点からのDeep Neural Network高速化モデルアーキテクチャ観点からのDeep Neural Network高速化
モデルアーキテクチャ観点からのDeep Neural Network高速化Yusuke Uchida
 
【メタサーベイ】基盤モデル / Foundation Models
【メタサーベイ】基盤モデル / Foundation Models【メタサーベイ】基盤モデル / Foundation Models
【メタサーベイ】基盤モデル / Foundation Modelscvpaper. challenge
 
SSII2022 [SS2] 少ないデータやラベルを効率的に活用する機械学習技術 〜 足りない情報をどのように補うか?〜
SSII2022 [SS2] 少ないデータやラベルを効率的に活用する機械学習技術 〜 足りない情報をどのように補うか?〜SSII2022 [SS2] 少ないデータやラベルを効率的に活用する機械学習技術 〜 足りない情報をどのように補うか?〜
SSII2022 [SS2] 少ないデータやラベルを効率的に活用する機械学習技術 〜 足りない情報をどのように補うか?〜SSII
 
【DL輪読会】"A Generalist Agent"
【DL輪読会】"A Generalist Agent"【DL輪読会】"A Generalist Agent"
【DL輪読会】"A Generalist Agent"Deep Learning JP
 
分散学習のあれこれ~データパラレルからモデルパラレルまで~
分散学習のあれこれ~データパラレルからモデルパラレルまで~分散学習のあれこれ~データパラレルからモデルパラレルまで~
分散学習のあれこれ~データパラレルからモデルパラレルまで~Hideki Tsunashima
 
Transformerを多層にする際の勾配消失問題と解決法について
Transformerを多層にする際の勾配消失問題と解決法についてTransformerを多層にする際の勾配消失問題と解決法について
Transformerを多層にする際の勾配消失問題と解決法についてSho Takase
 
最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情Yuta Kikuchi
 
【DL輪読会】The Forward-Forward Algorithm: Some Preliminary
【DL輪読会】The Forward-Forward Algorithm: Some Preliminary【DL輪読会】The Forward-Forward Algorithm: Some Preliminary
【DL輪読会】The Forward-Forward Algorithm: Some PreliminaryDeep Learning JP
 
【DL輪読会】SimCSE: Simple Contrastive Learning of Sentence Embeddings (EMNLP 2021)
【DL輪読会】SimCSE: Simple Contrastive Learning of Sentence Embeddings  (EMNLP 2021)【DL輪読会】SimCSE: Simple Contrastive Learning of Sentence Embeddings  (EMNLP 2021)
【DL輪読会】SimCSE: Simple Contrastive Learning of Sentence Embeddings (EMNLP 2021)Deep Learning JP
 
SSII2022 [OS3-02] Federated Learningの基礎と応用
SSII2022 [OS3-02] Federated Learningの基礎と応用SSII2022 [OS3-02] Federated Learningの基礎と応用
SSII2022 [OS3-02] Federated Learningの基礎と応用SSII
 
【DL輪読会】Perceiver io a general architecture for structured inputs &amp; outputs
【DL輪読会】Perceiver io  a general architecture for structured inputs &amp; outputs 【DL輪読会】Perceiver io  a general architecture for structured inputs &amp; outputs
【DL輪読会】Perceiver io a general architecture for structured inputs &amp; outputs Deep Learning JP
 
【DL輪読会】Efficiently Modeling Long Sequences with Structured State Spaces
【DL輪読会】Efficiently Modeling Long Sequences with Structured State Spaces【DL輪読会】Efficiently Modeling Long Sequences with Structured State Spaces
【DL輪読会】Efficiently Modeling Long Sequences with Structured State SpacesDeep Learning JP
 
【メタサーベイ】Video Transformer
 【メタサーベイ】Video Transformer 【メタサーベイ】Video Transformer
【メタサーベイ】Video Transformercvpaper. challenge
 
最適輸送の解き方
最適輸送の解き方最適輸送の解き方
最適輸送の解き方joisino
 
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learningゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement LearningPreferred Networks
 
SSII2019OS: 深層学習にかかる時間を短くしてみませんか? ~分散学習の勧め~
SSII2019OS: 深層学習にかかる時間を短くしてみませんか? ~分散学習の勧め~SSII2019OS: 深層学習にかかる時間を短くしてみませんか? ~分散学習の勧め~
SSII2019OS: 深層学習にかかる時間を短くしてみませんか? ~分散学習の勧め~SSII
 
「世界モデル」と関連研究について
「世界モデル」と関連研究について「世界モデル」と関連研究について
「世界モデル」と関連研究についてMasahiro Suzuki
 
[DL輪読会]GLIDE: Guided Language to Image Diffusion for Generation and Editing
[DL輪読会]GLIDE: Guided Language to Image Diffusion  for Generation and Editing[DL輪読会]GLIDE: Guided Language to Image Diffusion  for Generation and Editing
[DL輪読会]GLIDE: Guided Language to Image Diffusion for Generation and EditingDeep Learning JP
 
全力解説!Transformer
全力解説!Transformer全力解説!Transformer
全力解説!TransformerArithmer Inc.
 

What's hot (20)

Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
 
モデルアーキテクチャ観点からのDeep Neural Network高速化
モデルアーキテクチャ観点からのDeep Neural Network高速化モデルアーキテクチャ観点からのDeep Neural Network高速化
モデルアーキテクチャ観点からのDeep Neural Network高速化
 
【メタサーベイ】基盤モデル / Foundation Models
【メタサーベイ】基盤モデル / Foundation Models【メタサーベイ】基盤モデル / Foundation Models
【メタサーベイ】基盤モデル / Foundation Models
 
SSII2022 [SS2] 少ないデータやラベルを効率的に活用する機械学習技術 〜 足りない情報をどのように補うか?〜
SSII2022 [SS2] 少ないデータやラベルを効率的に活用する機械学習技術 〜 足りない情報をどのように補うか?〜SSII2022 [SS2] 少ないデータやラベルを効率的に活用する機械学習技術 〜 足りない情報をどのように補うか?〜
SSII2022 [SS2] 少ないデータやラベルを効率的に活用する機械学習技術 〜 足りない情報をどのように補うか?〜
 
【DL輪読会】"A Generalist Agent"
【DL輪読会】"A Generalist Agent"【DL輪読会】"A Generalist Agent"
【DL輪読会】"A Generalist Agent"
 
分散学習のあれこれ~データパラレルからモデルパラレルまで~
分散学習のあれこれ~データパラレルからモデルパラレルまで~分散学習のあれこれ~データパラレルからモデルパラレルまで~
分散学習のあれこれ~データパラレルからモデルパラレルまで~
 
Transformerを多層にする際の勾配消失問題と解決法について
Transformerを多層にする際の勾配消失問題と解決法についてTransformerを多層にする際の勾配消失問題と解決法について
Transformerを多層にする際の勾配消失問題と解決法について
 
最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情
 
【DL輪読会】The Forward-Forward Algorithm: Some Preliminary
【DL輪読会】The Forward-Forward Algorithm: Some Preliminary【DL輪読会】The Forward-Forward Algorithm: Some Preliminary
【DL輪読会】The Forward-Forward Algorithm: Some Preliminary
 
【DL輪読会】SimCSE: Simple Contrastive Learning of Sentence Embeddings (EMNLP 2021)
【DL輪読会】SimCSE: Simple Contrastive Learning of Sentence Embeddings  (EMNLP 2021)【DL輪読会】SimCSE: Simple Contrastive Learning of Sentence Embeddings  (EMNLP 2021)
【DL輪読会】SimCSE: Simple Contrastive Learning of Sentence Embeddings (EMNLP 2021)
 
SSII2022 [OS3-02] Federated Learningの基礎と応用
SSII2022 [OS3-02] Federated Learningの基礎と応用SSII2022 [OS3-02] Federated Learningの基礎と応用
SSII2022 [OS3-02] Federated Learningの基礎と応用
 
【DL輪読会】Perceiver io a general architecture for structured inputs &amp; outputs
【DL輪読会】Perceiver io  a general architecture for structured inputs &amp; outputs 【DL輪読会】Perceiver io  a general architecture for structured inputs &amp; outputs
【DL輪読会】Perceiver io a general architecture for structured inputs &amp; outputs
 
【DL輪読会】Efficiently Modeling Long Sequences with Structured State Spaces
【DL輪読会】Efficiently Modeling Long Sequences with Structured State Spaces【DL輪読会】Efficiently Modeling Long Sequences with Structured State Spaces
【DL輪読会】Efficiently Modeling Long Sequences with Structured State Spaces
 
【メタサーベイ】Video Transformer
 【メタサーベイ】Video Transformer 【メタサーベイ】Video Transformer
【メタサーベイ】Video Transformer
 
最適輸送の解き方
最適輸送の解き方最適輸送の解き方
最適輸送の解き方
 
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learningゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
 
SSII2019OS: 深層学習にかかる時間を短くしてみませんか? ~分散学習の勧め~
SSII2019OS: 深層学習にかかる時間を短くしてみませんか? ~分散学習の勧め~SSII2019OS: 深層学習にかかる時間を短くしてみませんか? ~分散学習の勧め~
SSII2019OS: 深層学習にかかる時間を短くしてみませんか? ~分散学習の勧め~
 
「世界モデル」と関連研究について
「世界モデル」と関連研究について「世界モデル」と関連研究について
「世界モデル」と関連研究について
 
[DL輪読会]GLIDE: Guided Language to Image Diffusion for Generation and Editing
[DL輪読会]GLIDE: Guided Language to Image Diffusion  for Generation and Editing[DL輪読会]GLIDE: Guided Language to Image Diffusion  for Generation and Editing
[DL輪読会]GLIDE: Guided Language to Image Diffusion for Generation and Editing
 
全力解説!Transformer
全力解説!Transformer全力解説!Transformer
全力解説!Transformer
 

Similar to Tensor コアを使った PyTorch の高速化

【関東GPGPU勉強会#4】GTX 1080でComputer Vision アルゴリズムを色々動かしてみる
【関東GPGPU勉強会#4】GTX 1080でComputer Visionアルゴリズムを色々動かしてみる【関東GPGPU勉強会#4】GTX 1080でComputer Visionアルゴリズムを色々動かしてみる
【関東GPGPU勉強会#4】GTX 1080でComputer Vision アルゴリズムを色々動かしてみるYasuhiro Yoshimura
 
A100 GPU 搭載! P4d インスタンス 使いこなしのコツ
A100 GPU 搭載! P4d インスタンス使いこなしのコツA100 GPU 搭載! P4d インスタンス使いこなしのコツ
A100 GPU 搭載! P4d インスタンス 使いこなしのコツKuninobu SaSaki
 
【A-1】AIを支えるGPUコンピューティングの今
【A-1】AIを支えるGPUコンピューティングの今【A-1】AIを支えるGPUコンピューティングの今
【A-1】AIを支えるGPUコンピューティングの今Developers Summit
 
GPUディープラーニング最新情報
GPUディープラーニング最新情報GPUディープラーニング最新情報
GPUディープラーニング最新情報ReNom User Group
 
20170421 tensor flowusergroup
20170421 tensor flowusergroup20170421 tensor flowusergroup
20170421 tensor flowusergroupManaMurakami1
 
機械学習 / Deep Learning 大全 (4) GPU編
機械学習 / Deep Learning 大全 (4) GPU編機械学習 / Deep Learning 大全 (4) GPU編
機械学習 / Deep Learning 大全 (4) GPU編Daiyu Hatakeyama
 
【de:code 2020】 AI とデータ サイエンスを加速する NVIDIA の最新 GPU アーキテクチャ
【de:code 2020】 AI とデータ サイエンスを加速する NVIDIA の最新 GPU アーキテクチャ【de:code 2020】 AI とデータ サイエンスを加速する NVIDIA の最新 GPU アーキテクチャ
【de:code 2020】 AI とデータ サイエンスを加速する NVIDIA の最新 GPU アーキテクチャ日本マイクロソフト株式会社
 
機械学習とこれを支える並列計算: ディープラーニング・スーパーコンピューターの応用について
機械学習とこれを支える並列計算: ディープラーニング・スーパーコンピューターの応用について機械学習とこれを支える並列計算: ディープラーニング・スーパーコンピューターの応用について
機械学習とこれを支える並列計算: ディープラーニング・スーパーコンピューターの応用についてハイシンク創研 / Laboratory of Hi-Think Corporation
 
Jetson Xavier NX クラウドネイティブをエッジに
Jetson Xavier NX クラウドネイティブをエッジにJetson Xavier NX クラウドネイティブをエッジに
Jetson Xavier NX クラウドネイティブをエッジにNVIDIA Japan
 
20170726 py data.tokyo
20170726 py data.tokyo20170726 py data.tokyo
20170726 py data.tokyoManaMurakami1
 
[Track2-2] 最新のNVIDIA AmpereアーキテクチャによるNVIDIA A100 TensorコアGPUの特長とその性能を引き出す方法
[Track2-2] 最新のNVIDIA AmpereアーキテクチャによるNVIDIA A100 TensorコアGPUの特長とその性能を引き出す方法[Track2-2] 最新のNVIDIA AmpereアーキテクチャによるNVIDIA A100 TensorコアGPUの特長とその性能を引き出す方法
[Track2-2] 最新のNVIDIA AmpereアーキテクチャによるNVIDIA A100 TensorコアGPUの特長とその性能を引き出す方法Deep Learning Lab(ディープラーニング・ラボ)
 
[db analytics showcase Sapporo 2017] B14: GPU コンピューティング最前線 by エヌビディア 佐々木邦暢
[db analytics showcase Sapporo 2017] B14: GPU コンピューティング最前線 by エヌビディア 佐々木邦暢[db analytics showcase Sapporo 2017] B14: GPU コンピューティング最前線 by エヌビディア 佐々木邦暢
[db analytics showcase Sapporo 2017] B14: GPU コンピューティング最前線 by エヌビディア 佐々木邦暢Insight Technology, Inc.
 
実践 WebRTC 〜最新事例と開発ノウハウの紹介〜
実践 WebRTC 〜最新事例と開発ノウハウの紹介〜実践 WebRTC 〜最新事例と開発ノウハウの紹介〜
実践 WebRTC 〜最新事例と開発ノウハウの紹介〜Yusuke Naka
 
Getting Started with Jetson Nano
Getting Started with Jetson NanoGetting Started with Jetson Nano
Getting Started with Jetson NanoNVIDIA Japan
 
GTC 2017 基調講演からディープラーニング関連情報のご紹介
GTC 2017 基調講演からディープラーニング関連情報のご紹介GTC 2017 基調講演からディープラーニング関連情報のご紹介
GTC 2017 基調講演からディープラーニング関連情報のご紹介NVIDIA Japan
 
Gpgpu tomoaki-fp16
Gpgpu tomoaki-fp16Gpgpu tomoaki-fp16
Gpgpu tomoaki-fp16tomoaki0705
 
みんなが知らない pytorch-pfn-extras
みんなが知らない pytorch-pfn-extrasみんなが知らない pytorch-pfn-extras
みんなが知らない pytorch-pfn-extrasTakuji Tahara
 
準同型暗号の実装とMontgomery, Karatsuba, FFT の性能
準同型暗号の実装とMontgomery, Karatsuba, FFT の性能準同型暗号の実装とMontgomery, Karatsuba, FFT の性能
準同型暗号の実装とMontgomery, Karatsuba, FFT の性能MITSUNARI Shigeo
 
openstack_neutron-dvr_os5thaniv_20150713
openstack_neutron-dvr_os5thaniv_20150713openstack_neutron-dvr_os5thaniv_20150713
openstack_neutron-dvr_os5thaniv_20150713Takehiro Kudou
 

Similar to Tensor コアを使った PyTorch の高速化 (20)

【関東GPGPU勉強会#4】GTX 1080でComputer Vision アルゴリズムを色々動かしてみる
【関東GPGPU勉強会#4】GTX 1080でComputer Visionアルゴリズムを色々動かしてみる【関東GPGPU勉強会#4】GTX 1080でComputer Visionアルゴリズムを色々動かしてみる
【関東GPGPU勉強会#4】GTX 1080でComputer Vision アルゴリズムを色々動かしてみる
 
A100 GPU 搭載! P4d インスタンス 使いこなしのコツ
A100 GPU 搭載! P4d インスタンス使いこなしのコツA100 GPU 搭載! P4d インスタンス使いこなしのコツ
A100 GPU 搭載! P4d インスタンス 使いこなしのコツ
 
【A-1】AIを支えるGPUコンピューティングの今
【A-1】AIを支えるGPUコンピューティングの今【A-1】AIを支えるGPUコンピューティングの今
【A-1】AIを支えるGPUコンピューティングの今
 
GPUディープラーニング最新情報
GPUディープラーニング最新情報GPUディープラーニング最新情報
GPUディープラーニング最新情報
 
20170421 tensor flowusergroup
20170421 tensor flowusergroup20170421 tensor flowusergroup
20170421 tensor flowusergroup
 
機械学習 / Deep Learning 大全 (4) GPU編
機械学習 / Deep Learning 大全 (4) GPU編機械学習 / Deep Learning 大全 (4) GPU編
機械学習 / Deep Learning 大全 (4) GPU編
 
【de:code 2020】 AI とデータ サイエンスを加速する NVIDIA の最新 GPU アーキテクチャ
【de:code 2020】 AI とデータ サイエンスを加速する NVIDIA の最新 GPU アーキテクチャ【de:code 2020】 AI とデータ サイエンスを加速する NVIDIA の最新 GPU アーキテクチャ
【de:code 2020】 AI とデータ サイエンスを加速する NVIDIA の最新 GPU アーキテクチャ
 
機械学習とこれを支える並列計算: ディープラーニング・スーパーコンピューターの応用について
機械学習とこれを支える並列計算: ディープラーニング・スーパーコンピューターの応用について機械学習とこれを支える並列計算: ディープラーニング・スーパーコンピューターの応用について
機械学習とこれを支える並列計算: ディープラーニング・スーパーコンピューターの応用について
 
Jetson Xavier NX クラウドネイティブをエッジに
Jetson Xavier NX クラウドネイティブをエッジにJetson Xavier NX クラウドネイティブをエッジに
Jetson Xavier NX クラウドネイティブをエッジに
 
20170726 py data.tokyo
20170726 py data.tokyo20170726 py data.tokyo
20170726 py data.tokyo
 
[Track2-2] 最新のNVIDIA AmpereアーキテクチャによるNVIDIA A100 TensorコアGPUの特長とその性能を引き出す方法
[Track2-2] 最新のNVIDIA AmpereアーキテクチャによるNVIDIA A100 TensorコアGPUの特長とその性能を引き出す方法[Track2-2] 最新のNVIDIA AmpereアーキテクチャによるNVIDIA A100 TensorコアGPUの特長とその性能を引き出す方法
[Track2-2] 最新のNVIDIA AmpereアーキテクチャによるNVIDIA A100 TensorコアGPUの特長とその性能を引き出す方法
 
[db analytics showcase Sapporo 2017] B14: GPU コンピューティング最前線 by エヌビディア 佐々木邦暢
[db analytics showcase Sapporo 2017] B14: GPU コンピューティング最前線 by エヌビディア 佐々木邦暢[db analytics showcase Sapporo 2017] B14: GPU コンピューティング最前線 by エヌビディア 佐々木邦暢
[db analytics showcase Sapporo 2017] B14: GPU コンピューティング最前線 by エヌビディア 佐々木邦暢
 
実践 WebRTC 〜最新事例と開発ノウハウの紹介〜
実践 WebRTC 〜最新事例と開発ノウハウの紹介〜実践 WebRTC 〜最新事例と開発ノウハウの紹介〜
実践 WebRTC 〜最新事例と開発ノウハウの紹介〜
 
Getting Started with Jetson Nano
Getting Started with Jetson NanoGetting Started with Jetson Nano
Getting Started with Jetson Nano
 
GTC 2017 基調講演からディープラーニング関連情報のご紹介
GTC 2017 基調講演からディープラーニング関連情報のご紹介GTC 2017 基調講演からディープラーニング関連情報のご紹介
GTC 2017 基調講演からディープラーニング関連情報のご紹介
 
Gpgpu tomoaki-fp16
Gpgpu tomoaki-fp16Gpgpu tomoaki-fp16
Gpgpu tomoaki-fp16
 
みんなが知らない pytorch-pfn-extras
みんなが知らない pytorch-pfn-extrasみんなが知らない pytorch-pfn-extras
みんなが知らない pytorch-pfn-extras
 
Zenkoku78
Zenkoku78Zenkoku78
Zenkoku78
 
準同型暗号の実装とMontgomery, Karatsuba, FFT の性能
準同型暗号の実装とMontgomery, Karatsuba, FFT の性能準同型暗号の実装とMontgomery, Karatsuba, FFT の性能
準同型暗号の実装とMontgomery, Karatsuba, FFT の性能
 
openstack_neutron-dvr_os5thaniv_20150713
openstack_neutron-dvr_os5thaniv_20150713openstack_neutron-dvr_os5thaniv_20150713
openstack_neutron-dvr_os5thaniv_20150713
 

More from Yusuke Fujimoto

Paper LT: Mask Scoring R-CNN
Paper LT:  Mask Scoring R-CNNPaper LT:  Mask Scoring R-CNN
Paper LT: Mask Scoring R-CNNYusuke Fujimoto
 
Paper: Bounding Box Regression with Uncertainty for Accurate Object Detection
Paper: Bounding Box Regression with Uncertainty for Accurate Object DetectionPaper: Bounding Box Regression with Uncertainty for Accurate Object Detection
Paper: Bounding Box Regression with Uncertainty for Accurate Object DetectionYusuke Fujimoto
 
Paper: Objects as Points(CenterNet)
Paper: Objects as Points(CenterNet)Paper: Objects as Points(CenterNet)
Paper: Objects as Points(CenterNet)Yusuke Fujimoto
 
Paper: clinically accuratechestx-rayreport generation_noself
Paper: clinically accuratechestx-rayreport generation_noselfPaper: clinically accuratechestx-rayreport generation_noself
Paper: clinically accuratechestx-rayreport generation_noselfYusuke Fujimoto
 
論文LT会用資料: Attention Augmented Convolution Networks
論文LT会用資料: Attention Augmented Convolution Networks論文LT会用資料: Attention Augmented Convolution Networks
論文LT会用資料: Attention Augmented Convolution NetworksYusuke Fujimoto
 

More from Yusuke Fujimoto (6)

Paper LT: Mask Scoring R-CNN
Paper LT:  Mask Scoring R-CNNPaper LT:  Mask Scoring R-CNN
Paper LT: Mask Scoring R-CNN
 
Paper: Bounding Box Regression with Uncertainty for Accurate Object Detection
Paper: Bounding Box Regression with Uncertainty for Accurate Object DetectionPaper: Bounding Box Regression with Uncertainty for Accurate Object Detection
Paper: Bounding Box Regression with Uncertainty for Accurate Object Detection
 
Paper: Objects as Points(CenterNet)
Paper: Objects as Points(CenterNet)Paper: Objects as Points(CenterNet)
Paper: Objects as Points(CenterNet)
 
Paper: seq2seq 20190320
Paper: seq2seq 20190320Paper: seq2seq 20190320
Paper: seq2seq 20190320
 
Paper: clinically accuratechestx-rayreport generation_noself
Paper: clinically accuratechestx-rayreport generation_noselfPaper: clinically accuratechestx-rayreport generation_noself
Paper: clinically accuratechestx-rayreport generation_noself
 
論文LT会用資料: Attention Augmented Convolution Networks
論文LT会用資料: Attention Augmented Convolution Networks論文LT会用資料: Attention Augmented Convolution Networks
論文LT会用資料: Attention Augmented Convolution Networks
 

Recently uploaded

論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Hiroshi Tomioka
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptxsn679259
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsWSO2
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 

Recently uploaded (12)

論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 

Tensor コアを使った PyTorch の高速化

  • 1. Faster Python Meet up LT会 #1 Tensor コアを使った PyTorch の高速化 2019/04/08 @fam_taro
  • 2. Agenda 1. Tensorコア is 何 2. PyTorchで Tensor コア使うには 3. 推論(予測)で使ってみた(M2Det) 4. 学習で Tensorコアを使いたい場合 1
  • 3. 1. Tensorコア is 何  16bit浮動小数点(FP16) の行列演算に特化した計算用コア  PyTorch 等の深層学習フレームワークを使うと、デフォルトでは 32bit浮動小数点(FP32) で 諸々の計算が行われる  NVIDIA GPU のうち Volta 世代以降の一部に乗っている  Turing でも RTX 20 じゃないと乗ってない(GTX 1660, 60Ti には乗っていない)  Pascal, Maxwell, Kepler には無い(無慈悲)  GPU 例  TITAN V  GeForce RTX 20シリーズ(60, 70, 80, 80Ti)  TITAN RTX  Tesla V100 (<- GCP で試せる!)  (今後より普及すると個人的に思ってます)  参考リンク  https://wikiwiki.jp/nvidiavga/GPU%E4%BB%95%E6%A7%98%E4%B8%80%E8%A6%A7%E8%A1%A8  https://ja.wikipedia.org/wiki/NVIDIA_GeForce 2 https://www.nvidia.com/content/apac/gtc/ja/pdf/2017/1040.pdf
  • 4. 1. Tensorコア is 何  Tensor コア使わないと FP16 にしても速度は 2倍程度  Tensor コア使うと FP16 にしたら 7倍 以上!  ただし使うためには制約が多い…  CUDA9 以降  cuDNN 7 以降  FP16 で扱うことを明記(ライブラリのコマンド等で)  Conv 層の入力・出力チャンネル数が 8の倍数  全ての層が対応しているわけではない(むしろ一部しか)  あくまで現時点なので今後は緩和されるかも… 3 https://www.slideshare.net/NVIDIAJapan/chainer-tensor-fp16
  • 5. 2. PyTorchで Tensor コア使うには  FP16 を使うことを明記すればフレームワークが勝手に 使ってくれる(ことが多い)  最近のバージョンにしないといけないが…  PyTorch では…  Model と Input に対し “.half()” を付ける  半精度にするという意味 -> FP16 にする  Output は FP16 とは限らないので注意  Conv 層の入力と出力チャンネル数を 8 の倍数にする  地味にきつい制約  Pre-train model だとうまく使えないケースが出てくる  明示的に Tensorコアを使うようにはできない(ぽい?) 4
  • 6. 3. 推論(予測)で使ってみた(M2Det)  M2Det とは  論文: https://qijiezhao.github.io/imgs/m2det.pdf  実装: https://github.com/qijiezhao/M2Det  最近出てきた検出モデル  YOLOv3 より速くて精度が高い(らしい)  自分のデータでは学習全くできてないですが😢  実験条件  COCO dataset (Detection ではメジャーなやつ)  学習済みモデル(512 x 512)を使用  公式リポジトリにある test.py を使用  model(input) の時間と後処理(NMS)の時間を計測  足した時間を使って FPS を出す(高いほど良い)  5,000 枚のデータに対して推論(予測) をして平均時間をとる  元論文は 1,000 枚で取っていた  モデルの精度は mAP 5
  • 7. 3. 推論(予測)で使ってみた(M2Det)  実行時間や Tensor コアを使っているか確認するために使ったコマンド  time.time() 関数  GPU絡むため下記の方が良さそうですが今回は time() 関数で時間とりました😭  torch.cuda.Event(enable_timing=True)  profiler  $ python -m torch.utils.bottleneck test.py ~~~  PyTorch の提供する profiler  検出の後処理(今回は NMS) がボトルネックになっていないか確認するために使用  $ nvprof python ~~~  NVIDIA の提供する profiler コマンド。Tensor コア使っているか見れる  $ nvcc ~~~ (未使用)  nvprof のコマンドを GUI でリッチに見れるらしい。ただしアプリサイズデカい(数GB) 6
  • 8. 3. 推論(予測)で使ってみた(M2Det)  実行結果 7 GPU mAP (精度) Detect time per image [ms] Nms time Per image [ms] Total [ms] FPS 元論文 (リポジトリ上の値) Titan X PASCAL 37.8 55.5 18.0 PyTorch 0.4.1 (公式指定バージョン) Titan V 37.8 74.3 9.5 83.8 11.9 PyTorch 0.4.1 + FP16 Titan V 37.8 51.3 9.5 60.8 16.4 PyTorch 1.0.1.post2 Titan V 37.8 56.6 9.7 66.3 15.1 PyTorch 1.0.1.post2 + FP16 Titan V 37.8 43.5 9.6 53.1 18.8
  • 9. 3. 推論(予測)で使ってみた(M2Det)  実行結果 8 GPU mAP (精度) Detect time per image [ms] Nms time Per image [ms] Total [ms] FPS 元論文 (リポジトリ上の値) Titan X PASCAL 37.8 55.5 18.0 PyTorch 0.4.1 (公式指定バージョン) Titan V 37.8 74.3 9.5 83.8 11.9 PyTorch 0.4.1 + FP16 Titan V 37.8 51.3 9.5 60.8 16.4 PyTorch 1.0.1.post2 Titan V 37.8 56.6 9.7 66.3 15.1 PyTorch 1.0.1.post2 + FP16 Titan V 37.8 43.5 9.6 53.1 18.8 “PyTorch1.0.1 にして” かつ “FP16 使う” と最も速くなる → 最初の 1.5倍 (かろうじて元論文の FPS を超えた) 予測時のみなら FP16にしても精 度は変わらない PyTorch のバージョン上げたら速くな るし、FP16にしても速くなる
  • 10. 4. 学習で Tensorコアを使いたい場合  とりあえず全部 FP16 にすればいいんでしょ?→ No!  勾配計算時にかなり影響する (勾配が消える場合もある)  → 精度が大きく下がる場合がある  Mixed Precision Training  参考リンク: https://www.slideshare.net/NVIDIAJapan/chainer-tensor-fp16  FP16 と FP32 による計算を mix した学習方法  具体的には以下のようなテクニックが必要  ロススケーリング : ロス値を要所要所でスケールあっぷして勾配消失を緩和  FP32 ウェイト更新 : Forward と Backward は FP16, Update で FP32を使用  上記を全て自分でやると大変!(学びはあると思いますが…)  → apex を使うと比較的手軽にできる(https://github.com/NVIDIA/apex)  NVIDIA が提供する PyTorch 用 Automatic Mixed Precision(AMP) ツール  元のコードに対し数行足すだけで Mixed Precision Training できるとのこと  ただし install 時は CUDA や PyTorch のバージョンに気をつけないといけない 9
  • 11. References  [2018年版 機械学習ハードウェアのState of the Artを考える ~CPU, GPU, TPUを添えて~ - Qiita](https://qiita.com/arutema47/items/72621f17b65381657a52)  [Training Neural Networks with Mixed Precision - NVIDIA](http://on-demand.gputechconf.com/gtc-taiwan/2018/pdf/5- 1_Internal%20Speaker_Michael%20Carilli_PDF%20For%20Sharing.pdf)  [Chainer で Tensor コア (fp16) を使いこなす](https://www.slideshare.net/NVIDIAJapan/chainer-tensor-fp16)  [Chainer における深層学習の高速化](https://www.nvidia.com/content/apac/gtc/ja/pdf/2018/2033.pdf)  [VOLTA AND TURING: ARCHITECTURE AND PERFORMANCE OPTIMIZATION NVIDIA](https://www.nvidia.com/content/apac/gtc/ja/pdf/2018/2051.pdf)  [Training with Mixed Precision :: Deep Learning SDK Documentation](https://docs.nvidia.com/deeplearning/sdk/mixed-precision- training/index.html#pytorch)  [GPU仕様一覧表 - NVIDIA GeForce Wiki*](https://wikiwiki.jp/nvidiavga/GPU%E4%BB%95%E6%A7%98%E4%B8%80%E8%A6%A7%E8%A1%A8) 10