5. Copyright 2019 Sony Corporation2019.06.145
※ Y. Haung et al. GPipe: Efficient Training of Giant Neural Networks using Pipeline Parallelism, Google
精度改善のために一桁以上大きいモデルも登場
モデルを大きくすることで 84.3% の精度を達成
参考:ResNet-50 224 × 224 25M 76.4 92.9
6. Copyright 2019 Sony Corporation2019.06.146
Deep Learning 学習規模の拡大
活用・収集される
学習データは年々増加
入力画像の解像度の増加
■ 学習データの高精細化■ 学習データ量の増加 ■ 学習モデルのサイズ増加
より高度な処理の実現の為に
学習モデルサイズも増加
物体認識
物体検出
セグメンテーション
1024x2048
408x408
224x224
CAT
新産業構造ビジョン(H29.5.30経済産業省)より
世界のデータ量は2年毎に倍増
世界のデータセンターに保存されるデータ量 ※ Y. Haung et al. GPipe: Efficient Training of Giant Neural
Networks using Pipeline Parallelism, Google
21. Copyright 2019 Sony Corporation2019.06.1421
Learning Rate の調整
LR Warm-up なし
LR Warm-up あり
• Learning Rate Scaling
LRをworker数倍する
• Learning Rate Warm-up
初期数エポック間 LR を徐々に上昇させる
調整の例)
学習開始時の LRの値: 1 worker時の LR
最大値 LR = 初期値 * worker数 まで線形に増加
22. Copyright 2019 Sony Corporation2019.06.1422
LARS*
学習率を重みの変化比率に応じてレイヤ毎に決定
さらに学習率を連続的に減衰させる
* Y. You, I. Gitman and B. Ginsburg, "Large Batch Training of Convolutional Networks," arXiv:1708.03888, 2017.
最近の Large Batch の分散学習では標準的に利用されるテクニック
23. Copyright 2019 Sony Corporation2019.06.1423
Synced BN
※ https://hangzhang.org/PyTorch-Encoding/notes/syncbn.html
Non-Synced BN
Synced BN
Forward
Backward
Calculate the gradient of sum(x) and sum(𝑥𝑥2
) in each GPU.
複数のworker間に跨ってBNすることで、
BN の効果を最大化する方法
global mean : µ =
𝑠𝑠𝑠𝑠𝑠𝑠 𝑥𝑥
𝑁𝑁
, global variance : σ =
𝑠𝑠𝑠𝑠𝑠𝑠 𝑥𝑥2
𝑁𝑁
− µ2 + ε
𝑑𝑑𝑙𝑙
𝑑𝑑𝑠𝑠𝑠𝑠𝑠𝑠 𝑥𝑥 𝑘𝑘
,
𝑑𝑑𝑙𝑙
𝑑𝑑𝑠𝑠𝑠𝑠𝑠𝑠 𝑥𝑥2
𝑘𝑘
Calculate the gradient of 𝑠𝑠𝑠𝑠𝑠𝑠 𝑥𝑥 and 𝑠𝑠𝑠𝑠𝑠𝑠 𝑥𝑥2