gpuコンピューティング研究会 これから始める方のためのディー … · gpu...
TRANSCRIPT
![Page 1: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/1.jpg)
エヌビディア合同会社
ディープラーニング ソリューションアーキテクト兼CUDAエンジニア 村上真奈
GPUコンピューティング研究会
これから始める方のためのディープラーニング入門
![Page 2: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/2.jpg)
2
AGENDA
エヌビディアについて
エヌビディアGPUアーキテクチャ
ディープラーニングとは?
GPUディープラーニング/ディープラーニングSDK
Caffeによるディープラーニング入門
![Page 3: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/3.jpg)
3
エヌビディアのGPUについて
![Page 4: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/4.jpg)
4
創業1993年
共同創立者兼CEO ジェンスン・フアン(Jen-Hsun Huang)
1999年 NASDAQに上場(NVDA)
1999年にGPUを発明その後の累計出荷台数は1億個以上
2016年度の売上高は50億ドル
社員は世界全体で9,227人
約7,300件の特許を保有
本社は米国カリフォルニア州サンタクララ
![Page 5: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/5.jpg)
5
エヌビディアは「AI コンピューティングカンパニー」
GPU コンピューティング ビジュアル コンピューティング AI
![Page 6: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/6.jpg)
6
NVIDIA GPU の歴史
CUDA
![Page 7: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/7.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 8: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/8.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 9: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/9.jpg)
9
Tesla K20x (CC 3.5)
2688 CUDA CoresFP64: 1.31 TFFP32: 3.95 TFFP16: …INT8: …
GDDR5384 bit width6GB250 GB/s
![Page 10: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/10.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 11: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/11.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 12: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/12.jpg)
12
TESLA P100最速の計算ノードを実現する新しい GPU アーキテクチャ
NVLink
PCIe
Switch
PCIe
Switch
CPU CPU
スケーラビリティを最大化する GPU インターコネクト
ページマイグレーションエンジン
広大な仮想アドレス空間で シンプルな並列プログラミング
Unified Memory
CPU
Tesla P100
Pascalアーキテクチャ
最高の演算能力
HBM2 積層メモリ
演算とメモリを一つの パッケージに統合
![Page 13: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/13.jpg)
13
[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 14: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/14.jpg)
14NVIDIA 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 15: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/15.jpg)
15
ディープラーニングとは?
![Page 16: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/16.jpg)
16
様々な分野でディープラーニングを応用
インターネットとクラウド
画像分類音声認識言語翻訳言語処理感情分析推薦
メディアとエンターテイメント
字幕ビデオ検索
リアルタイム翻訳
機械の自動化
歩行者検出白線のトラッキング信号機の認識
セキュリティと防衛
顔検出ビデオ監視衛星画像
医学と生物学
癌細胞の検出糖尿病のランク付け
創薬
![Page 17: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/17.jpg)
17
機械学習とディープラーニングの関係
機械学習
ニューラルネットワーク
ディープラーニング
![Page 18: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/18.jpg)
18
人工ニューロン神経回路網をモデル化
スタンフォード大学cs231講義ノートより
神経回路網
w1 w2 w3
x1 x2 x3
y
y=F(w1x1+w2x2+w3x3)
F(x)=max(0,x)
人工ニューロン
![Page 19: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/19.jpg)
19
人工ニューラルネットワーク単純で訓練可能な数学ユニットの集合体
ニューラルネットワーク全体で複雑な機能を学習
入力層 出力層
隠れ層
十分なトレーニングデータを与えられた人工ニューラルネットワークは、入力データから判断を行う複雑な近似を行う事が出来る。
![Page 20: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/20.jpg)
20
ディープラーニングの恩恵ディープラーニングとニューラルネットワーク
▪ ロバスト性
▪ 特徴量の設計を行う必要がない。 – 特徴は自動的に獲得される学習用データのバラつきの影響を押さえ込みながら、自動的に学習していく
▪ 一般性
▪ 同じニューラルネットワークのアプローチを多くの異なるアプリケーションやデータに適用する事が出来る
▪ スケーラブル
▪ より多くのデータで大規模並列化を行う事でパフォーマンスが向上する
![Page 21: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/21.jpg)
21
多量なトレーニングデータと多数の行列演算
畳込みニューラルネットワーク(CNN)
目的
顔認識
トレーニングデータ
1,000万~1億イメージ
ネットワークアーキテクチャ
10 層
10 億パラメータ
ラーニングアルゴリズム
30 エクサフロップスの計算量
GPU を利用して30日
![Page 22: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/22.jpg)
22
畳込みニューラルネットワーク(CNN)• 画像認識・画像分類で使われる、高い認識精度を誇るアルゴリズム。畳込み層で画像の特徴を学習
目的
顔認識
トレーニングデータ
1,000万~1億イメージ
ネットワークアーキテクチャ
10 層
10 億パラメータ
ラーニングアルゴリズム
30 エクサフロップスの計算量
GPU を利用して30日
畳込み層 全結合層
![Page 23: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/23.jpg)
23
畳込み層
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 24: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/24.jpg)
24
ディープラーニングのアプローチ
![Page 25: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/25.jpg)
25
ディープラーニングのアプローチ
推論(インファレンス):
犬
猫
蜜穴熊
エラー
犬猫
アライグマ
犬
学習(トレーニング):
モデル
モデル
![Page 26: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/26.jpg)
▪ データを訓練データ(training data)と検証データ(validation data)に分割する
訓練データと検証データディープラーニングの学習
収集したデータ
検証データ(validation data)
訓練データ(training data)
重みの更新(学習)に使用
汎化性能の確認に使用
![Page 27: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/27.jpg)
訓練データによる重みの更新ディープラーニングの学習
訓練データ
猫
犬
熊検証データ
訓練データをニューラルネットワークに与え、正解ラベルと出力結果の誤差が無くなるように重みWの更新を繰り返す
猫
犬
狸
正解は犬
![Page 28: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/28.jpg)
訓練データによる重みの更新ディープラーニングの学習
訓練データ
猫
犬
熊検証データ
訓練データをニューラルネットワークに与え、正解ラベルと出力結果の誤差が無くなるように重みWの更新を繰り返す
猫
犬
狸
正解に近づくように、各層の重みを更新する
![Page 29: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/29.jpg)
学習ループ訓練データと検証データの役割
訓練データ
猫
犬
熊検証データ
すべての訓練データを用いて重み更新を行う + すべての検証データで汎化性能を確認⇒ 1 エポック(epoch)と呼ぶ
猫
犬
狸
検証データで現在の汎化性能を確認
(重みの更新には使用しない)
![Page 30: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/30.jpg)
学習時の性能の確認訓練データと検証データの役割
各エポックで訓練データをニューラルネットワークに与えた際の間違い率と検証データを与えた際の間違い率を確認しながら学習を進める必要がある
エラー数
エポック0
training
validation
エラー数
エポック0
training
validation学習成功 学習失敗(過学習)
![Page 31: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/31.jpg)
31
w
x y
w
x y
w
x y
レイヤー1
01000
“dog”
レイヤー2
入力
出力レイヤーN
ロス関数
00010
“cat”
正解ラベル
x[N] y[M]w[N][M]
順伝播(フォワードプロパゲーション)誤差逆伝播法
![Page 32: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/32.jpg)
32
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 33: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/33.jpg)
33
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 34: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/34.jpg)
34
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 35: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/35.jpg)
35
GPUディープラーニング
![Page 36: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/36.jpg)
36
ディープラーニングを加速する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 37: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/37.jpg)
37
画像認識(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 38: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/38.jpg)
38
ディープラーニングフレームワーク
コンピュータビジョン ボイス&オーディオ 自然言語処理
物体検出 音声認識 言語翻訳 推薦エンジン 感情分析
Mocha.jl
画像分類
ディープラーニング SDKディープラーニングを加速するディープラーニングライブラリ
ディープラーニング
cuDNN
CUDA 数学ライブラリ
cuBLAS cuSPARSE
マルチGPU間通信
NCCLcuFFT
ビデオ解析 インファレンス
![Page 39: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/39.jpg)
39
データサイエンティスト R&D サイクル
Idea
Code
Train
Test
クリティカルパス:
Ideaが沸いてから
Testが完了するまで
サイクルを速く回すことが重要
![Page 40: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/40.jpg)
40
データサイエンティスト R&D サイクル
Idea
Code
Train
Test
時間がかかる GPUの利用
![Page 41: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/41.jpg)
41
DLトレーニングシステム
Caffe Theano Torch
GPUs
Chainer
DLフレームワーク
DLアプリケーション
Tensor
FlowCNTK
![Page 42: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/42.jpg)
42
DLトレーニングシステム
Caffe Theano Torch
GPUs
Chainer
DLフレームワーク
DLアプリケーション
Tensor
FlowCNTK
cuBLAS, cuDNN, cuSPARSE
![Page 43: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/43.jpg)
43
ディープラーニングSDK
![Page 44: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/44.jpg)
44
GPU による性能向上CNN における学習時間
バッチサイズ 学習時間(CPU) 学習時間(GPU) GPU/CPU比
64画像 64s 7.5s 8.5X
128画像 124s 14.5s 8.5X
256画像 257s 28.5s 9.0X
デュアル 10 コア Ivy Bridge CPU
1 Tesla K40 GPU
CPU: Intel MKL BLAS ライブリを活用
GPU: CUDA行列ライブラリ(cuBLAS)を使用
ILSVRC12でSupervisionが使用したモデル
7層
5層の畳み込みと2層の全結合
ReLU、プーリング、ドロップアウト、正規化
Caffeを使用
20反復のトレーニング時間
![Page 45: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/45.jpg)
45
GPU による性能向上(インファレンス)Xeon E5-2698 と Tesla M40
NVIDIA Whitepaper “GPU based deep learning inference: A performance and power analysis.”より
![Page 46: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/46.jpg)
46
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: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/47.jpg)
47
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 For fastest trainingFP32 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: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/48.jpg)
48
GPUで高速化されたディープラーニングのアプリケーションを設計、開発する為の強力な開発ツールおよびライブラリ
NVIDIA GPUの為の高速なディープラーニング環境を保障
最新のディープラーニング・アルゴリズムをGPUに最適化した状態で提供
ディープラーニング・アプリケーションを簡単に構築
ディープラーニング SDKディープラーニングを加速するディープラーニングライブラリ
ディープラーニング
cuDNN
CUDA 数学ライブラリ
cuBLAS cuSPARSE
マルチGPU間通信
NCCLcuFFT
ビデオ解析 インファレンス
![Page 49: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/49.jpg)
49
NVIDIA cuDNN
最新はバージョンは5.1GPU上でディープニューラルネットワークの計算を高速に行う為のプリミティブ群
ディープニューラルネットワークの学習の高いパフォーマンスを発揮Caffe、 CNTK、 Tensorflow、 Theano、 Torch、Chainerなどディープラーニングフレームワークを高速化バージョンアップ毎にパフォーマンスが向上
• 以下のOSとGPUの組み合わせで仕様が可能• Windows(7/10),Linux(x64,power8/ARM),Ma
cOS• Pascal/Maxwell/Kepler世代のGPU, Tegra
K1およびTegra X1
“NVIDIAはcuDNNのリリースの度により多くの操作ができるような機能拡張をおこなっており、同時に計算速度も向上させている”
—UC バークレー、 Caffe リードデベロッパー、Evan Shelhamer
developer.nvidia.com/cudnn
![Page 50: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/50.jpg)
50
cuDNN 5 のアップデート
Torch上でLSTM リカレントニューラルネットワークの計算を6倍高速化
パフォーマンスの向上:
• VGG、GoogleNet、ResNetsのような3x3 畳み込み層を持つネットワークの高速化(winograd)
• 3次元畳み込み
• Pascal世代のGPUの為のFP16ルーティンの追加
• Bilinear Spatial Transformer /ドロップアウト追加
Pascal世代GPU, リカレントニューラルネットワーク, パフォーマンスの向上
Performance relative to torch-rnn(https://github.com/jcjohnson/torch-rnn)
DeepSpeech2: http://arxiv.org/abs/1512.02595Char-rnn: https://github.com/karpathy/char-rnn
5.9xchar-rnn
RNN レイヤーの速度向上
2.8xDeepSpeech 2
RNNレイヤーの速度向上
![Page 51: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/51.jpg)
51
cuDNN 5.1
• 3x3と5x5の畳込みの順伝播・および逆伝播計算の為の新しいWinogradアルゴリズムが追加。
• CUDNN_CONVOLUTION_FWD_ALGO_WINOGRAD_NONFUSED
• CUDNN_CONVOLUTION_FWD_ALGO_WINOGRAD_NONFUSED
• FP16の順伝播、逆伝播計算のパフォーマンスの向上
• CUDA8.0のサポート
ディープラーニング計算の為の高速なプリミティブ群
![Page 52: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/52.jpg)
52
cuDNN 5.1パフォーマンス
3x3のコンボリューション層をもつネットワークの学習が2.7倍高速に
Speed-u
p o
f tr
ain
ing v
s. c
uD
NN
v4
cuDNN 4 + K40 vs. cuDNN 5.1 RC + M40 on Torch and Intel Xeon Haswell
Single-socket 16-core E5-2698 v3 @2.3GHz 3.6GHz Turbo
この3年間で60倍学習が高速に
Speed-u
p o
f im
ages/
Sec v
s K
40 in 2
013
Alexnet training throughput on:
CPU: 1xE5-2680v3 12 Co 2.5GHz 128GB System Memory, Ubuntu 14.04
M40 bar: 8xM40 GPUs in a node. P100: 8xP100 NVLink-enabled
![Page 53: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/53.jpg)
53
NCCL(NVIDIA Collective Collection Library)
マルチGPU集合通信ライブラリ
• 最新リリースはv1.2.3
• https://github.com/NVIDIA/nccl
all-gather, reduce, broadcast など標準的な集合通信の処理をバンド幅が出るように最適化
シングルプロセスおよびマルチプロセスで使用する事が可能
ディープラーニング SDK
![Page 54: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/54.jpg)
54
NCCL(NVIDIA Collective Collection Library)NCCLの集合通信処理
![Page 55: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/55.jpg)
55
NCCL パフォーマンスBandwidth at different problem sizes (4 Maxwell GPUs)
All-Gather
All-Reduce
Reduce-Scatter
Broadcast
![Page 56: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/56.jpg)
56
ディープラーニング・フレームワーク
![Page 57: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/57.jpg)
57
ディープラーニング・フレームワーク
Mocha.jl
ディープラーニング・フレームワークGPUで高速化されているディープラーニング・フレームワークが多数存在
https://developer.nvidia.com/deep-learning-frameworks
![Page 58: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/58.jpg)
58
ディープラーニング・フレームワークCaffe Torch7 Theano TensorFlow Chainer
インターフェース C++/Python/Matlab Lua/C Python C/C++/Python Python
cuDNN 5 5 5 5 5
ライセンス BSD-2 BSD BSD Apache 2.0 MIT
マルチGPU(1ノード) ○ ○ ○ ○
モデルの柔軟性 △ ◎ ◎ ○ ◎
CNN ○ ○ ○ ○ ○
RNN○
#2033○ ○ ○ ○
RBM × ○ ○ ○ ○
備考高速
Caffe Model Zoo多数のアルゴリズムを
サポート自動微分
自動微分TensorBoard
Define by Run
CuPy
![Page 59: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/59.jpg)
59
Caffeとは?
• コアエンジンはC++/CUDA
• コマンドライン、Python、Matlabインターフェース
• 高速, コードのテストが良く行われている
• 前処理および開発ツール、リファレンスモデルやサンプルコードが充実
• 画像データマネージメント
• GPUによる高速化の機能(マルチGPUによるデータ並列学習に対応)
• コミュニティが大きく活動が盛ん
BVLCによって開発されたディープラーニング開発用のオープンフレームワーク
caffe.berkeleyvision.org
http://github.com/BVLC/caffe
![Page 60: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/60.jpg)
60
Caffeの特徴データの前処理とマネージメント
データ取り込みフォーマット
LevelDB または LMDB データベース
イン-メモリ(C++とPython のみ)
HDF5
画像ファイル
前処理ツール
RAWデータからのLevelDB/LMDB生成
トレーニングセットとバリデーションセットのシャッフル生成
平均画像の生成
データ変換
画像のクリッピング、リサイズ、ミラーリング
差分画像
![Page 61: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/61.jpg)
61
Caffeの特徴
Protobuf モデルフォーマット
ネットワーク構造定義および学習パラメータの定義に使われる
様々なフォーマットに対応Caffeのオートジェネレータで生成可能。構文チェック機能も存在
コーディングが必要ない
name: “conv1”
type: “Convolution”
bottom: “data”
top: “conv1”
convolution_param {
num_output: 20
kernel_size: 5
stride: 1
weight_filler {
type: “xavier”
}
}
ディープラーニングモデル定義
![Page 62: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/62.jpg)
62
Caffe特徴
ロス関数:
Classification
Softmax
Hinge loss
Linear regression
Euclidean loss
Attributes/multi-classification
Sigmoid cross entropy loss
and more…
使用可能レイヤー:
Convolution
Pooling
Normalization
活性化関数:
ReLU
Sigmoid
Tanh
and more…
ディープラーニングモデル定義
![Page 63: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/63.jpg)
63
Caffe特徴Caffeのアーキテクチャ
CaffeのネットワークはBlobとLayerから構成される
• Blob: データ格納の為の構造
• Layer: 畳込み、プーリング、ソフトマックスなど操作の塊
• http://caffe.berkeleyvision.org/tutorial/net_layer_blob.html
Layer”data”
Layer”Conv1”
Layer”Conv2”
Layer”ip1”
Blob”data”
Blob”Conv1”
Blob”Conv2”
![Page 64: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/64.jpg)
64
Caffeを用いたディープラーニングの開発の流れについて
![Page 65: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/65.jpg)
65
1.学習データの作成
2. モデルの作成
5.検証・改善
4.モデルのテスト
3. 学習
ディープラーニングの開発の流れについて
![Page 66: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/66.jpg)
66
1.学習データの作成
2. モデルの作成
5.検証・改善
4.モデルのテスト
3. 学習
ディープラーニングの開発の流れについて
convert_imagesetコマンドによるデータセットの作成
compute_image_meanコマンドによる平均画像の作成
![Page 67: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/67.jpg)
67
1.学習データの作成
2. モデルの作成
5.検証・改善
4.モデルのテスト
3. 学習
ディープラーニングの開発の流れについて
ソルバ定義ファイルおよびネットワーク構造定義ファイルの作成
![Page 68: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/68.jpg)
68
1.学習データの作成
2. モデルの作成
5.検証・改善
4.モデルのテスト
3. 学習
ディープラーニングの開発の流れについて
caffeコマンドを用いて学習を開始
![Page 69: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/69.jpg)
69
1.学習データの作成
2. モデルの作成
5.検証・改善
4.モデルのテスト
3. 学習
ディープラーニングの開発の流れについて
学習済みモデル、ネットワーク構造定義ファイル、平均画像を用いてテスト
![Page 70: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/70.jpg)
70
convert_imagesetコマンドによるデータセット作成
GLOG_logtostderr=1 $TOOLS/convert_imageset \--resize_height=$RESIZE_HEIGHT \--resize_width=$RESIZE_WIDTH \--backend=${BACKEND} \--shuffle \$DATA_ROOT \$TRAIN_LABEL/train.txt \mnist_train_${BACKEND}
Caffeツールの使い方
データ形式を指定(lmdb/leveldb)
データのルートディレクトリ
学習ラベル
![Page 71: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/71.jpg)
71
convert_imagesetコマンドによるデータセット作成学習ラベルとは?
![Page 72: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/72.jpg)
72
Caffeコマンドの使い方:学習の方法
• 学習• caffe train –solver ./test_solver.prototxt
• GPUを1つ使って学習• caffe train –solver ./test_solver.prototxt –gpu 0
• GPUを複数使って学習• caffe train –solver ./test_solver.prototxt –gpus 0,1
• 転移学習• caffe train –solver ./test_solver.prototxt –weights
./trained_weight.caffemodel
Caffeツールの使い方
http://caffe.berkeleyvision.org/tutorial/interfaces.html
![Page 73: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/73.jpg)
73
ソルバ定義ファイルの例https://github.com/BVLC/caffe/wiki/Solver-Prototxt
net: "models/bvlc_reference_caffenet/train_val.prototxt"
test_iter: 1000
test_interval: 1000
base_lr: 0.01
lr_policy: "step"
gamma: 0.1
stepsize: 100000
display: 20
max_iter: 450000
momentum: 0.9
weight_decay: 0.0005
snapshot: 10000
snapshot_prefix: "models/bvlc_reference_caffenet/caffenet_train"
solver_mode: GPU
ネットワーク構造定義ファイルのパス
最大学習反復回数
GPUで学習
![Page 74: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/74.jpg)
74
ソルバ定義ファイル
• 学習に必要なパラメータを定義する為のファイル• 主なパラメータ
• net: ネットワーク構造定義ファイルのパスを指定• type: バックプロパゲーションのアルゴリズムを指定
• (ex. SGD/AdaDelta/Adam)
• max_iter: 最大イタレーション数• ※max_iter=1000は1000epochの事ではないので注意
• base_lr:開始時の学習率を指定• lr_policy:学習率のタイプ(固定、ステップダウン等)• test_interval:何学習イタレーション毎にテストを行うか
Caffeツールの使い方
https://github.com/BVLC/caffe/wiki/Solver-Prototxt
![Page 75: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/75.jpg)
75
ネットワーク構造定義ファイル
• ネットワークの構造を定義する為のファイル(各レイヤーの設定をlayer節に定義)
layer {
name: "conv1"
type: "Convolution“
…(省略)…
}
layer {
name: “tanh1”
type: “TanH“
…(省略)…
}
layer {
name: "conv2"
type: "Convolution“
…(省略)…
}
Caffeツールの使い方
Conv1
(畳込み)
tanh1
(活性化)
conv2
(畳込み)
![Page 76: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/76.jpg)
76
ネットワーク構造定義ファイル
• Layer節の主な設定パラメータ
• name: レイヤー名• type: レイヤータイプを指定
• “Data”,”Convolution”,”InnerProduct”,”TanH”,”ReLU”など
• bottom: 前のレイヤー• top: 後のレイヤー• batch_size: バッチ数• num_output: レイヤーの出力数
Caffeツールの使い方
![Page 77: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/77.jpg)
77
layer {name: “ip1”type: “InnerProduct”bottom: “data”top: “ip1”param {lr_mult: 1
}inner_product_param {
num_output: 100weight_filler {type: "xavier"
}bias_filler {type: "constant"
}}
}
ネットワーク構造定義ファイル(グラフチェーン)
前のレイヤー
次のレイヤー
![Page 78: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/78.jpg)
78
name: “Example"layer {name: "mnist"type: "Data"top: "data"top: "label"include {phase: TRAIN
}transform_param {scale: 0.00390625
}data_param {source:
"./mnist_train_leveldb"batch_size: 64backend: LEVELDB
}}
ネットワーク構造定義ファイル(データレイヤー)
![Page 79: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/79.jpg)
79
ネットワーク構造定義ファイルの例name: “Example"layer {
name: "mnist"type: "Data"top: "data"top: "label"include {
phase: TRAIN}transform_param {
scale: 0.00390625}data_param {
source: "./mnist_train_leveldb"batch_size: 64backend: LEVELDB
}}layer {
name: "mnist"type: "Data"top: "data"top: "label"include {
phase: TEST}transform_param {
scale: 0.00390625}data_param {
source: "./mnist_test_leveldb"batch_size: 100backend: LEVELDB
}}
layer {name: “ip1”type: “InnerProduct”bottom: “data”top: “ip1”param {
lr_mult: 1}param {
lr_mult: 2}inner_product_param {
num_output: 100weight_filler {
type: "xavier"}bias_filler {
type: "constant"}
}}layer {
name: "tanh1"type: "TanH"bottom: "ip1"top: "ip1"
}
layer {name: "ip2"type: "InnerProduct"bottom: "ip1"top: "ip2"param {
lr_mult: 1}param {
lr_mult: 2}inner_product_param {
num_output: 10weight_filler {
type: "xavier"}bias_filler {
type: "constant"}
}}layer {
name: "accuracy"type: "Accuracy"bottom: "ip2"bottom: "label"top: "accuracy"include {
phase: TEST}
}
layer {name: "loss"type: "SoftmaxWithLoss"bottom: "ip2"bottom: "label"top: "loss"
}
![Page 80: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/80.jpg)
GTC 2017 参加登録受付中2017/5/8 - 11 サンノゼで開催
http://www.gputechconf.com/
#GTC17
基調講演 テクニカルセッション
ポスター展示
ハンズオンラボ
専門家との交流 スペシャルイベント
![Page 81: GPUコンピューティング研究会 これから始める方のためのディー … · GPU による性能向上 CNN における学習時間 バッチサイズ 学習時間(CPU)](https://reader034.vdocuments.mx/reader034/viewer/2022050217/5f6308212c8c6d2c3e645d57/html5/thumbnails/81.jpg)
THANK YOU!