TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク...
Transcript of TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク...
![Page 1: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/1.jpg)
エヌビディア合同会社
ディープラーニング ソリューションアーキテクト兼CUDAエンジニア 村上真奈
スパコンTSUBAME利用促進シンポジウム
GPUで始めるディープラーニング入門
![Page 2: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/2.jpg)
2
AGENDA
エヌビディアについて
ディープラーニングとは?
GPUディープラーニング/ディープラーニングSDK
![Page 3: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/3.jpg)
3
エヌビディアについて
![Page 4: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/4.jpg)
4
創業1993年
共同創立者兼CEO ジェンスン・フアン(Jen-Hsun Huang)
1999年 NASDAQに上場(NVDA)
1999年にGPUを発明その後の累計出荷台数は1億個以上
2016年度の売上高は50億ドル
社員は世界全体で9,227人
約7,300件の特許を保有
本社は米国カリフォルニア州サンタクララ
![Page 5: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/5.jpg)
6
NVIDIA GPU の歴史
CUDA
![Page 6: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/6.jpg)
7
2012 20142008 2010 2016 2018
48
36
12
0
24
60
72
TeslaFermi
Kepler
Maxwell
Pascal混合精度演算倍精度演算3D メモリNVLink
Volta
GPU ロードマップ
SG
EM
M /
W
![Page 7: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/7.jpg)
8
Register File
Scheduler
Dispatch
Scheduler
Dispatch
Load/Store Units x 16
Special Func Units x 4
Interconnect Network
64K Configurable
Cache/Shared Mem
Uniform Cache
Core
Core
Core
Core
Core
Core
Core
Core
Core
Core
Core
Core
Core
Core
Core
Core
Core
Core
Core
Core
Core
Core
Core
Core
Core
Core
Core
Core
Core
Core
Core
Core
Instruction Cache
Compute Capability (CC)
Kepler
CC 3.5
192 cores / SMX
Maxwell
CC 5.0
128 cores / SMM
Fermi
CC 2.0
32 cores / SM
Pascal
CC 6.0
64 cores / SMM
https://developer.nvidia.com/cuda-gpus
![Page 8: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/8.jpg)
9
Tesla K20x (CC 3.5)
2688 CUDA CoresFP64: 1.31 TFFP32: 3.95 TFFP16: …INT8: …
GDDR5384 bit width6GB250 GB/s
![Page 9: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/9.jpg)
10
Tesla P100 SXM2 (CC 6.0)
3584 CUDA CoresFP64: 5.3 TFFP32: 10.6 TFFP16: 21.2 TFINT8: …
HBM24096 bit width16 GB732 GB/s
![Page 10: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/10.jpg)
11
Tesla P100 SXM2 (CC 6.0)
3584 CUDA CoresFP64: 5.3 TFFP32: 10.6 TFFP16: 21.2 TFINT8: …
HBM24096 bit width16 GB732 GB/s
SM
CUDAコア
...
![Page 11: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/11.jpg)
12
TESLA P100最速の計算ノードを実現する新しい GPU アーキテクチャ
NVLink
PCIe
Switch
PCIe
Switch
CPU CPU
スケーラビリティを最大化する GPU インターコネクト
ページマイグレーションエンジン
広大な仮想アドレス空間で シンプルな並列プログラミング
Unified Memory
CPU
Tesla P100
Pascalアーキテクチャ
最高の演算能力
HBM2 積層メモリ
演算とメモリを一つの パッケージに統合
![Page 12: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/12.jpg)
13
CUDA
CUDA8.0が最新
マルチOSで動作(Windows,Linux(x86,power,arm),MacOS)
様々なライブラリや開発環境を提供
GPU超並列コンピューティングプラットフォーム
開発環境
プログラム言語
ライブラリ・ディレクティブ
OpenACC/NVIDIA CUDA Libraries/3rd Party Libraries
C++/Fortran/Python/R/Matlab etc..
Debugger/Analyzer/IDE etc..
![Page 13: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/13.jpg)
14
GPUアプリケーションの例
画像処理 コンピュータビジョン 医療画像 防衛 計算化学
気象 金融工学 バイオ 数値解析
http://www.nvidia.com/object/gpu-applications.html
![Page 14: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/14.jpg)
15
NVIDIA CUDA ライブラリ
• cuFFT フーリエ変換
• cuBLAS 行列演算(密行列)
• cuSPARSE 行列演算(疎行列)
• cuSOLVER 行列ソルバ
• cuDNN ディープラーニング
• cuRAND 乱数生成
• Thrust C++テンプレート(STLベース)
• NPP 画像処理・信号処理プリミティブ
![Page 15: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/15.jpg)
16
NVIDIA ONE-ARCHITECTUREfrom Super Computer to Automotive SoC
TeslaIn Super Computers
QuadroIn Work Stations
GeForceIn PCs
Mobile GPU
In Tegra
Automotive Tegra
![Page 16: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/16.jpg)
17
NVIDIA Titan X
NVIDIA Jetson
NVIDIA Tesla
NVIDIA DRIVE PX
deep learning EVERYWHERE
![Page 17: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/17.jpg)
18
ディープラーニングとは?
![Page 18: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/18.jpg)
19
39%
45%
55%
62%
66%
72%75%
79%83%
86%
87.5%
30%
40%
50%
60%
70%
80%
90%
100%
72%
74%
84%
88%
93%
96%
65%
70%
75%
80%
85%
90%
95%
100%
2010 2011 2012 2013 2014 2015
ImageNet Accuracy
NVIDIA GPU
AMAZING RATE OF improvementPedestrian Detection
CALTECH
65%
70%
75%
80%
85%
90%
95%
100%
11/2013 6/2014 12/2014 7/2015 1/2016
Accura
cy
CV-based DNN-based
Object Detection
KITTI
Image Recognition
IMAGENET
Top Score
NVIDIA DRIVENet
驚くべき認識精度の向上画像認識 人物検出 物体検出
![Page 19: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/19.jpg)
20
様々な分野でディープラーニングを応用
インターネットとクラウド
画像分類音声認識言語翻訳言語処理感情分析推薦
メディアとエンターテイメント
字幕ビデオ検索
リアルタイム翻訳
機械の自動化
歩行者検出白線のトラッキング信号機の認識
セキュリティと防衛
顔検出ビデオ監視衛星画像
医学と生物学
癌細胞の検出糖尿病のランク付け
創薬
![Page 20: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/20.jpg)
21
機械学習とディープラーニングの関係
機械学習
ニューラルネットワーク
ディープラーニング
![Page 21: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/21.jpg)
22
分類(Classification)と回帰(Regression)
• 分類問題の例• 画像に写っているのが猫か犬の画像か推論する
• 回帰問題の例• N社の1ヶ月後の株価を予想する
![Page 22: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/22.jpg)
23
分類(Classification)と回帰(Regression)
分類問題 回帰問題
猫
犬
分類も回帰もデータの法則を見つけて関数近似する必要がある
![Page 23: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/23.jpg)
24
分類問題の例
例) 正常と異常に分類する事を考える赤:異常青:正常
x2
x1
𝑌 = αX + β正常
異常
![Page 24: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/24.jpg)
25
分類問題の例
例) 正常と異常に分類する事を考える赤:異常青:正常
複雑な関数近似が必要になるx2
x1
異常
正常
![Page 25: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/25.jpg)
26
ディープラーニング手法による分類の例
学習が進むにつれて、分離が上手くいくようになる
![Page 26: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/26.jpg)
27
人工ニューロン神経回路網をモデル化
スタンフォード大学cs231講義ノートより
神経回路網
w1 w2 w3
x1 x2 x3
y
y=F(w1x1+w2x2+w3x3)
F(x)=max(0,x)
人工ニューロン
![Page 27: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/27.jpg)
28
人工ニューラルネットワーク単純で訓練可能な数学ユニットの集合体
ニューラルネットワーク全体で複雑な機能を学習
入力層 出力層
隠れ層
十分なトレーニングデータを与えられた人工ニューラルネットワークは、入力データから判断を行う複雑な近似を行う事が出来る。
![Page 28: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/28.jpg)
29
ディープラーニングの恩恵ディープラーニングとニューラルネットワーク
▪ ロバスト性
▪ 特徴量の設計を行う必要がない。 – 特徴は自動的に獲得される学習用データのバラつきの影響を押さえ込みながら、自動的に学習していく
▪ 一般性
▪ 同じニューラルネットワークのアプローチを多くの異なるアプリケーションやデータに適用する事が出来る
▪ スケーラブル
▪ より多くのデータで大規模並列化を行う事でパフォーマンスが向上する
![Page 29: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/29.jpg)
30
ディープラーニングのアプローチ
推論(インファレンス):
犬
猫
蜜穴熊
エラー
犬猫
アライグマ
犬
学習(トレーニング):
モデル
モデル
![Page 30: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/30.jpg)
31
多量なトレーニングデータと多数の行列演算
畳込みニューラルネットワーク(CNN)
目的
顔認識
トレーニングデータ
1,000万~1億イメージ
ネットワークアーキテクチャ
10 層
10 億パラメータ
ラーニングアルゴリズム
30 エクサフロップスの計算量
GPU を利用して30日
![Page 31: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/31.jpg)
32
畳込みニューラルネットワーク(CNN)• 画像認識・画像分類で使われる、高い認識精度を誇るアルゴリズム。畳込み層で画像の特徴を学習
目的
顔認識
トレーニングデータ
1,000万~1億イメージ
ネットワークアーキテクチャ
10 層
10 億パラメータ
ラーニングアルゴリズム
30 エクサフロップスの計算量
GPU を利用して30日
畳込み層 全結合層
![Page 32: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/32.jpg)
33
畳込み層
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
1
2
2
1
1
1
0
1
2
2
2
1
1
0
1
2
2
2
1
1
0
0
1
1
1
1
1
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-4
1
0
-8
ピクセル値(src)
畳み込み
カーネルピクセル値(dst)
カーネルの中心の値はソースピクセル上に置かれている。
ソースピクセルはフィルタを自身の積の値に更新される。
![Page 33: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/33.jpg)
34
ディープラーニングの学習の流れ
![Page 34: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/34.jpg)
▪ データを訓練データ(training data)と検証データ(validation data)に分割する
訓練データと検証データディープラーニングの学習
収集したデータ
検証データ(validation data)
訓練データ(training data)
重みの更新(学習)に使用
汎化性能の確認に使用
![Page 35: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/35.jpg)
訓練データによる重みの更新ディープラーニングの学習
訓練データ
猫
犬
熊検証データ
訓練データをニューラルネットワークに与え、正解ラベルと出力結果の誤差が無くなるように重みWの更新を繰り返す
猫
犬
狸
正解は犬
![Page 36: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/36.jpg)
訓練データによる重みの更新ディープラーニングの学習
訓練データ
猫
犬
熊検証データ
訓練データをニューラルネットワークに与え、正解ラベルと出力結果の誤差が無くなるように重みWの更新を繰り返す
猫
犬
狸
正解に近づくように、各層の重みを更新する
![Page 37: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/37.jpg)
学習ループ訓練データと検証データの役割
訓練データ
猫
犬
熊検証データ
すべての訓練データを用いて重み更新を行う + すべての検証データで汎化性能を確認⇒ 1 エポック(epoch)と呼ぶ
猫
犬
狸
検証データで現在の汎化性能を確認
(重みの更新には使用しない)
![Page 38: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/38.jpg)
学習時の性能の確認訓練データと検証データの役割
各エポックで訓練データをニューラルネットワークに与えた際の間違い率と検証データを与えた際の間違い率を確認しながら学習を進める必要がある
エラー数
エポック0
training
validation
エラー数
エポック0
training
validation学習成功 学習失敗(過学習)
![Page 39: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/39.jpg)
40
w
x y
w
x y
w
x y
レイヤー1
01000
“dog”
レイヤー2
入力
出力レイヤーN
ロス関数
00010
“cat”
正解ラベル
x[N] y[M]w[N][M]
順伝播(フォワードプロパゲーション)誤差逆伝播法
![Page 40: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/40.jpg)
41
w
x y
w
x y
w
x y01000
“dog”00010
“cat”
ロス関数
error⊿y⊿x⊿y⊿x⊿y
⊿w⊿w⊿w
逆伝播(バックプロパゲーション)誤差逆伝播法
レイヤー1 レイヤー2
入力
出力レイヤーN 正解ラベル
![Page 41: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/41.jpg)
42
w
x y
w
x y
w
x y01000
“dog”00010
“cat”
ロス関数
error⊿y⊿x
⊿w
⊿y⊿x
⊿w
⊿y
⊿w
www
重みの更新誤差逆伝播法
レイヤー1 レイヤー2
入力
出力レイヤーN 正解ラベル
![Page 42: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/42.jpg)
43
w
x y
w
x y
w
x y “dog” “cat”
ロス関数
error⊿y⊿x
⊿w
⊿y⊿x
⊿w
⊿y
⊿w
“cat” “dog”“human” “monkey”“tiger” “lion”
ミニバッチ誤差逆伝播法
レイヤー1 レイヤー2
入力
出力レイヤーN 正解ラベル
![Page 43: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/43.jpg)
44
GPUディープラーニング
![Page 44: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/44.jpg)
45
ディープラーニングを加速する3つの要因
MLテクノロジー 計算パワービッグデータ
100 hour video uploadedper minute
350 million images uploaded per day
2.5 trillion transactionsper hour
0.0
0.5
1.0
1.5
2.0
2.5
3.0
2008 2009 2010 2011 2012 2013 2014
NVIDIA GPU x86 CPU
TFLO
PS
TORCH
THEANO
CAFFE
MATCONVNET
PURINEMOCHA.JL
MINERVA MXNET*
![Page 45: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/45.jpg)
46
ディープラーニングフレームワーク
コンピュータビジョン ボイス&オーディオ 自然言語処理
物体検出 音声認識 言語翻訳 推薦エンジン 感情分析
Mocha.jl
画像分類
ディープラーニング SDKディープラーニングを加速するディープラーニングライブラリ
ディープラーニング
cuDNN
CUDA 数学ライブラリ
cuBLAS cuSPARSE
マルチGPU間通信
NCCLcuFFT
ビデオ解析 インファレンス
![Page 46: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/46.jpg)
47
3123 GFLOPS
6061 GFLOPS
7513 GFLOPS
14530 GFLOPS
23900 GFLOPS
0.0x
2.0x
4.0x
6.0x
8.0x
10.0x
12.0x
14.0x
2X Tesla K80 4X Tesla K80 2X P100 PCIe 4X P100 PCIe 8X P100 PCIe
Speedup V
s D
ual-
Socket
Bro
adw
ell
CPU
CPU Server: Dual Xeon E5-2699 [email protected] (44-cores)GPU Servers: Dual Xeon E5-2699 [email protected] (44-cores) with Tesla K80s or P100s PCIeCUDA Version: CUDA 8.0.44Dataset: HPL.dat
LINPACK
https://www.top500.org/project/linpack/
Linpack 2.1Speedup Vs Dual-Socket CPU Server
BenchmarkMeasures floating point computing power
Accelerated Features Metric Scalability
All GFLOPSMulti-GPU,
Multi Node
![Page 47: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/47.jpg)
48
0.0x
0.5x
1.0x
1.5x
2.0x
AlexnetOWT GoogLenet VGG-D Incep v3 ResNet-50
8x M40 8x P40 8x P100 PCIE DGX-1
P100 SXM2による高速な学習FP32 Training, 8 GPU Per Node
Refer to “Measurement Config.” slide for HW & SW details
AlexnetOWT/GoogLenet use total batch size=1024, VGG-D uses total batch size=512, Incep-v3/ResNet-50 use total batch size=256
Speedup
Img/sec5506 2088 563 514 706
1.2x
1.2x1.7x
![Page 48: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/48.jpg)
49
画像認識(Microsoft)
認識精度向上のためモデルはよりディープに、データはより大きく
強力な計算パワーが必要に
2012AlexNet
8 レイヤー1.4 GFLOP
~16% エラー率
152 レイヤー22.6 GFLOP
~3.5% エラー率
2015ResNet
16Xモデル
2014Deep Speech 1
80 GFLOP7,000 時間データ
~8% エラー率
465 GFLOP12,000時間データ
~5%エラー率
2015Deep Speech 2
10XTraining Ops
音声認識(Baidu)
![Page 49: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/49.jpg)
50
バッチサイズと計算性能TESLA P100, Chainer 1.17.0
0
500
1,000
1,500
2,000
0 500 1,000
Images
per
second
Batch size
0
500
1,000
1,500
2,000
0 20 40 60 80
0
500
1,000
1,500
2,000
0 8 16 24
ResNet (152 layers)2015
Better8 GB
8 GB
16 GB
8 GB
16 GB
VGG-D (16 layers)2014
AlexNet (7 layers)2012
![Page 50: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/50.jpg)
51
FP16
![Page 51: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/51.jpg)
52
[TESLA P100] FP16: 半精度浮動小数点IEEE 754準拠
• 16-bit
• 符号部:1-bit, 指数部:5-bits, 仮数部:10-bit
• ダイナミックレンジ: 240
• Normalized values: 2-14 ~ 65504 (≈216)
• Subnormal at full speed
s e x p m a n t i s s a.
ユースケース
ディープラーニング
画像処理
信号処理
![Page 52: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/52.jpg)
53NVIDIA CONFIDENTIAL. DO NOT DISTRIBUTE.
[TESLA P100] FP16: 半精度浮動小数点
•2-way SIMD
•32ビットレジスタ内に2x FP16
•メモリフットプリント: FP32の半分
•Instructions
• Add, Sub, Mul
• Fma (Fused Multiply and Add)
•1サイクルあたり4つの算術
•FP32より2倍高速
cuda_fp16.h
Reg A
Reg B
FP16Reg C FP16
FP16 FP16
FP16 FP16
op op
32 bit
cuBLAS cuDNN
![Page 53: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/53.jpg)
54
マルチGPU学習
![Page 54: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/54.jpg)
55
データ並列(同期型)
w w w
Layer 1 Layer 2Inputs Layer N
LossFunc
LossFunc
GPU 1
GPU 2
“cat”
Labels
“monkey”
w w w
Copy Model, Assigne different data
![Page 55: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/55.jpg)
56
データ並列(同期型)
wx y
wx y
wx y
Layer 1
“dog”
Layer 2Inputs OutputsLayer N
LossFunc
“human”
LossFunc
GPU 1
GPU 2
“cat”
Labels
“monkey”
error⊿y⊿x⊿y⊿x⊿y
⊿w⊿w⊿w
wx y
wx y
wx y
⊿y⊿x⊿y⊿x⊿y
⊿w⊿w⊿werror
Forward & Backward Independently
![Page 56: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/56.jpg)
57
データ並列(同期型)
wx y
wx y
wx y
Layer 1
“dog”
Layer 2Inputs OutputsLayer N
LossFunc
“human”
LossFunc
GPU 1
GPU 2
“cat”
Labels
“monkey”
error⊿y⊿x⊿y⊿x⊿y
⊿w⊿w⊿w
wx y
wx y
wx y
⊿y⊿x⊿y⊿x⊿y
⊿w⊿w⊿werror
Combine ⊿w over multi-GPU
⊿w⊿w⊿w
⊿w⊿w⊿w
All-r
educe
All-r
educe
All-r
educe
![Page 57: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/57.jpg)
58
データ並列(同期型)
wx y
wx y
wx y
Layer 1
“dog”
Layer 2Inputs OutputsLayer N
LossFunc
“human”
LossFunc
GPU 1
GPU 2
“cat”
Labels
“monkey”
error⊿y⊿x⊿y⊿x⊿y
⊿w⊿w⊿w
wx y
wx y
wx y
⊿y⊿x⊿y⊿x⊿y
⊿w⊿w⊿w
error
Update Weights Independently
w w w
w w w
![Page 58: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/58.jpg)
59
マルチGPU学習のパフォーマンスNVIDIA DGX-1, Chainer 1.17.0 with multi-process patch
0
1
2
3
4
5
6
7
8
0 1 2 3 4 5 6 7 8
Speed-u
p t
o 1
GPU
Number of GPUs
AlexNet VGG-D ResNet
[Batch size per GPU] AlexNet:768, VGG-D:32, ResNet:12
0
0.5
1
1.5
2
2.5
1 2 4 8
Rela
tive t
ime t
o 1
GPU
Number of GPUs
Time per one batch (VGG-D)
Update
Allreduce
Backward
Forward
DGX-1’s NVLink is not well utilized.Chainer’s all-reduce implementation
is naïve “gather and broadcat”.
![Page 59: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/59.jpg)
60
マルチGPU学習のパフォーマンス(NCCL使用なし) )
NVIDIA DGX-1, Chainer 1.17.0 with multi-process patch
0
2
4
6
8
0 2 4 6 8
Number of GPUs
Scala
bilit
y
ResNet (152 layers)VGG-D (16 layers)AlexNet (7 layers)
0
2
4
6
8
0 2 4 6 8
0
2
4
6
8
0 2 4 6 8
Gather & Bcast
[Batch size per GPU] AlexNet:768, VGG-D:32, ResNet:12
![Page 60: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/60.jpg)
61
NCCL
![Page 61: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/61.jpg)
62
ディープラーニングフレームワーク
コンピュータビジョン ボイス&オーディオ 自然言語処理
物体検出 音声認識 言語翻訳 推薦エンジン 感情分析
Mocha.jl
画像分類
ディープラーニング SDKディープラーニングを加速するディープラーニングライブラリ
ディープラーニング
cuDNN
CUDA 数学ライブラリ
cuBLAS cuSPARSE
マルチGPU間通信
NCCLcuFFT
ビデオ解析 インファレンス
![Page 62: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/62.jpg)
63
NCCL(NVIDIA Collective Collection Library)
マルチGPU集合通信ライブラリ
• 最新リリースはv1.2.3
• https://github.com/NVIDIA/nccl
all-gather, reduce, broadcast など標準的な集合通信の処理をバンド幅が出るように最適化
シングルプロセスおよびマルチプロセスで使用する事が可能
ディープラーニング SDK
![Page 63: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/63.jpg)
64
NCCL(NVIDIA Collective Collection Library)NCCLの集合通信処理
![Page 64: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/64.jpg)
65
NCCL パフォーマンスBandwidth at different problem sizes (4 Maxwell GPUs)
All-Gather
All-Reduce
Reduce-Scatter
Broadcast
![Page 65: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/65.jpg)
66
マルチGPU学習のパフォーマンス(NCCL使用) )NVIDIA DGX-1, Chainer 1.17.0 with NCCL patch
0
2
4
6
8
0 2 4 6 8
Number of GPUs
Scala
bilit
y
ResNet (152 layers)VGG-D (16 layers)AlexNet (7 layers)
0
2
4
6
8
0 2 4 6 8
0
2
4
6
8
0 2 4 6 8
NCCL (4-ring)NCCL (1-ring)Gather & Bcast
[Batch size per GPU] AlexNet:768, VGG-D:32, ResNet:12
![Page 66: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/66.jpg)
67
マルチGPU学習のパフォーマンス(NCCL使用) )NVIDIA DGX-1, Chainer 1.17.0 with NCCL patch
0
0.5
1
1.5
2
2.5
…
G&
B
NCCL
(1-r
ing)
NCCL
(4-r
ing)
G&
B
NCCL
(1-r
ing)
NCCL
(4-r
ing)
G&
B
NCCL
(1-r
ing)
NCC
L(4
-rin
g)
1 GPU 2 GPUs 4 GPUs 8 GPUs
Rela
tive t
ime t
o 1
GPU
Time per one batch (VGG-D)
Update
Allreduce
Backward
Forward
![Page 67: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/67.jpg)
68
ディープラーニングフレームワーク
コンピュータビジョン ボイス&オーディオ 自然言語処理
物体検出 音声認識 言語翻訳 推薦エンジン 感情分析
Mocha.jl
画像分類
ディープラーニング SDKディープラーニングを加速するディープラーニングライブラリ
ディープラーニング
cuDNN
CUDA 数学ライブラリ
cuBLAS cuSPARSE
マルチGPU間通信
NCCLcuFFT
ビデオ解析 インファレンス
![Page 68: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/68.jpg)
69
NVIDIA ディープラーニング学習コース
ディープラーニングの為の自習型のクラス。ハンズオンラボ、講義資料、講義の録画を公開。
ハンズオンラボは日本語で受講可能
https://developer.nvidia.com/deep-learning-courses
1. ディープラーニング入門
2. DIGITSによる画像分類入門
3. DIGITSによる物体検出入門
4. etc...
NVIDIA ディープラーニング・インスティチュート
![Page 69: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/69.jpg)
70
GTC 2017 参加登録受付中2017/5/8 - 11 サンノゼで開催
http://www.gputechconf.com/
#GTC17
基調講演 テクニカルセッション
ポスター展示
ハンズオンラボ
専門家との交流 スペシャルイベント
![Page 70: TSUBAME 0308 NVIDIA DL - gsic.titech.ac.jp · ディープラーニングフレームワーク コンピュータビジョン ボイス & オーディオ 自然言語処理 物体検出](https://reader030.fdocuments.net/reader030/viewer/2022041301/5e1076aee8e8f303f64de0d1/html5/thumbnails/70.jpg)
THANK YOU!