NIPS’17 Workshop: DL at Supercomputer Scale
• 1:30 - 1:50 - Azalia Mirhoseini - “Learning Device
Placement”
• 1:50 - 2:10 - Gregory Diamos - “Scaling and Sparsity”
• 2:10 - 2:30 - Scott Gray - “Small World Network
Architectures”
• 2:30 - 2:50 - Timothy Lillicrap - “Scalable RL & AlphaGo”
• 3:20 - 3:40 - Thorsten Kurth - “Scaling Deep Learning to
15 PetaFlops”
• 3:40 - 4:00 - Simon Knowles - “Scalable Silicon
Compute”
• 4:00 - 4:20 - Ujval Kapasi - “Practical Scaling
Techniques”
• 4:20 - 4:40 - Michael James - “Designing for
Supercompute-Scale Deep Learning”
• 4:45 - 5:30 - Posters and Mingling
• 8:00 - 8:10 - Welcome
• 8:10 - 8:30 - Nitish Keskar - “Generalization Gap”
• 8:30 - 8:50 - Itay Hubara, Elad Hoffer - “Closing the
Generalization Gap”
• 8:50 - 9:10 - Sam Smith - “Don’t Decay the Learning
Rate, Increase the Batchsize”
• 9:10 - 9:30 - Priya Goyal - “ImageNet in 1 Hour”
• 9:30 - 9:50 - Chris Ying - “ImageNet is the New MNIST”
• 10:10 - 10:30 - Matthew Johnson & Daniel Duckworth -
“KFAC and Natural Gradients”
• 10:30 - 10:50 - Shankar Krishnan - “Neumann Optimizer”
• 10:50 - 11:10 - Tim Salimans - “Evolutionary Strategies”
• 11:15 - 12:00 - Panel on Future Hardware Directions
午前 午後
最適化アルゴリズム
バッチサイズと
学習率と
汎化性能
その他
(強化学習、疎化、将来の予測)
ハードウェア、
HPC、高速化
On Large-Batch Training for Deep Learning:
Generalization Gap and Sharp Minima
(1706.02677, ICLR’17)
• 一言で:大きなバッチサイズだと汎化性能が悪化
• ICLR’17 でオーラルにも選ばれ、分散深層学習の精度・
収束に関する研究を一気に盛り上げた
• 主張自体は後続研究により間接的に否定された
Train longer, generalize better: closing the generalization
gap in large batch training of neural networks
(1705.08741, NIPS’17)
• 一言で:大きなバッチサイズでの精度劣化をある程度抑
える方法を考えた
• 残念ながら今となってはそんなに高い価値なし
次の論文で提案された手法の方がシンプルかつほぼ完璧に精度の劣化を抑えられている
Accurate, Large Minibatch SGD:
Training ImageNet in 1 Hour (1706.02677, Facebook)
• 一言で:精度を保って、ResNet-50 を 256 GPU (バッチ
サイズ 8k) で 1 時間で学習できた
• 橙:256
• 青:8K
精度の劣化を排除
Accurate, Large Minibatch SGD:
Training ImageNet in 1 Hour (1706.02677, Facebook)
テクニック
• バッチサイズに比例させて学習率を大きくする (Linear Scaling) ← 本質
• 学習開始時は5エポックかけて学習率を徐々に大きく (Warmup)
色々
• Sharp Minima は大きいバッチサイズ特有の問題ではなかった
バッチサイズを大きくしなくても代わりに学習率を下げるだけで同様の現象は起こせる
• 提案アプローチの限界も示されている、バッチサイズ 8k より大き
くなると精度劣化
Don't Decay the Learning Rate, Increase the Batch Size
(1711.00489, Google Brain)
• 一言で:途中で学習率を下げる代わりに途中でバッチサ
イズを大きくすれば更に並列性を引き出せる。
• 学習率の Linear Scaling の応用
ImageNetの学習では決まった場所で学習率を 0.1 倍するといったスケジューリングが使わ
れる。そういったタイミングで、学習率を 0.1 倍する代わりに、バッチサイズを 10 倍し
ても、最終的な精度を保つこができる。最初はバッチサイズ 8k からスタート。
ImageNet is the new MNIST (論文なし、Google Brain)
• 一言で:TPU クラスタで ResNet 50 の学習が 30 分
• 精度を保つ工夫は前スライドのやつそのまま
Extremely Large Minibatch SGD:
Training ResNet-50 on ImageNet in 15 Minutes
(1711.04325, PFN)
• 一言で:1024 GPU で ResNet-50 の学習が15分
• バッチサイズ 32k で精度を保つためのテクニック提案
• 1024 GPU までスケールさせるエンジニアリング
(僕ら PFN 分散深層学習チームの成果です!)