More Related Content
More from Hirokuni Uchida
More from Hirokuni Uchida (9)
Gdlc11 fujitsu labs
- 1. GPU Deep Learning Community #11
大規模GPUクラスタで深層学習の高速化
~ResNet-50/ImageNet の学習が75秒~
2019年5月16日
富士通研究所
山崎 雅文
Copyright 2019 FUJITSU LABORATORIES LIMITED0
- 2. 深層学習処理の大規模化と分散並列の必要性
Copyright 2019 FUJITSU LABORATORIES LIMITED
引用元: Dario Amodei and Danny Hernandez, https://openai.com/blog/ai-and-compute/
単一プロセッサの
計算パワー不足が深刻化
多数のプロセッサによる
分散並列処理で高速化
各ニューラルネットワークの
学習に必要な計算量
gap
1
- 3. 大規模DL処理高速化の取組み
Copyright 2019 FUJITSU LABORATORIES LIMITED
2016
2017
2018
2019
4月 東工大TSUBAME2.5 256 GPUで学習
2月 九州大学 GPUクラスタで実験
7月 ABCI 第一回グランドチャレンジ(失敗)
4月 2048 GPUで世界最高速を達成
8月 SWoPP2016 HPC研究会発表「MPIを用いたDL処理高速化の提案」
6月 Facebook ResNet50 1時間で学習
11月 PFN ResNet50 15分で学習
3月 Sony ResNet50 2分で学習
12月 Google ResNet50 1.8分で学習
7月 Tencent ResNet50 6.6分で学習
2
- 5. 課題 1. 学習精度
Copyright 2019 FUJITSU LABORATORIES LIMITED
プロセッサ数と共に同時処理データ量が増加し、予測精度が悪化
2 GPUs 8 GPUs
64 GPUs
Facebook Google
Brain
引用元: Accurate, Large Minibatch SGD: Training
ImageNet in 1 Hour, P. Goyal (Facebook) et al.
1,024 GPUs
これまでの多くの研究により、より大きなバッチサイズで学習可能に
課題
必要なエラー率
PFN
研究が進み
予測精度が
改善された
Sony
Tencent
4
- 6. 大規模深層学習で知られたテクニック + 独自改善
ラージミニバッチの精度問題への対策
Copyright 2019 FUJITSU LABORATORIES LIMITED
data 差分
重みパラメタ
data
ニューロン層1 勾配情報
重みパラメタ 勾配情報
data 差分
勾配情報
label (正解)
ニューロン層2
ニューロン層3
認識結果 差分
入力層
data
認識結果
差分
勾配情報
勾配情報
差分
勾配情報
(∇E)
差分
重みパラメタ
(w)
data
ストレージ
data
Warm-up
初期学習率の制御
LARS
ニューラルネットワーク層毎
の学習率制御
正解データの値調整 (label smoothing)
データ拡張 (data augmentation)
ランダム領域の切り出し
既存技術で
32,768枚/ミニバッチ
までは到達
5
- 7. 課題 2. オーバヘッド
Copyright 2019 FUJITSU LABORATORIES LIMITED
高並列化時の微細なオーバーヘッドの顕在化
分散並列化不能 分散並列化可能
並列化前
1000台で
並列化後
1秒 1秒
今まで無視できた分散並列化で高速化
できない部分の影響が顕在化する
分散並列化による処理時間の変化
1秒 1000秒
処理A 処理B 処理C 処理D
プロセス内処理の並列化
処理C
処理D
最適化前
最適化後
処理A 処理B
ボトルネック
の分析
0.5秒
1秒並列化可能な
タスクを並列化
分散並列化
課題
演算、通信、I/O等の処理をプロセス内
でも並列化し、高速化を実現
イメージ図 イメージ図
6
- 9. 通信オーバヘッドの隠蔽化
Copyright 2019 FUJITSU LABORATORIES LIMITED
forward処理 backward処理
overhead
update
AllReduceAllReduceAllReduceAllReduce
Backward
Forward
AllReduce
Update
通信処理と学習処理の並列化により、学習イタレーションを高速化
8
- 11. 測定環境と利用ソフトウェア
Copyright 2019 FUJITSU LABORATORIES LIMITED
ハードウェア
• ABCI の計算サーバー 512台
(2,048 GPU)
• InfiniBand EDR
(サーバーあたり 2本)
• ABCI の通常利用環境
(最大 512ノード)
ABCI の計算サーバー構成
産業技術総合研究所様ウェブページより
ソフトウェア (主なもの)
MXNet (改変) Horovod (改変)
CUDA cuDNN v7.5 NCCL v2.4
GCC OpenMPI Python 3.6
10
- 12. 精度面での改善結果
Copyright 2019 FUJITSU LABORATORIES LIMITED
学習曲線
• ミニバッチサイズ 81,920でも、
75%以上の学習精度を実現
Top-1 テスト accuracy
• ミニバッチサイズ 81,920 まで 75%
• 更に大きい領域では精度悪化
11
- 13. 速度面での改善結果
Copyright 2019 FUJITSU LABORATORIES LIMITED
学習処理速度
• 高速なまま、小さなミニバッチサイズで
多数の GPU を利用できるよう最適化
スケーラビリティ
• 1 GPU での処理速度に対し、2,048
GPU まで 77% の効率
Google社とNVIDIA社の値は、2018年12月のMLperfのログファイルより算出
Fujitsu Lab.
Google
NVIDIA
better for many GPUs
faster
12
- 14. まとめ
画像認識ニューラルネットワーク ResNet-50 の学習時間75秒(世界最速†
)と、
ミニバッチサイズ 81,920(世界最大††
)を達成
ABCIのサーバー512台 (GPU 2,048機) を使用
Copyright 2019 FUJITSU LABORATORIES LIMITED
†
2019年3月現在 当社調べ ††
2019年3月現在、確率的勾配降下法、固定ミニバッチサイズで 当社調べ
13