SlideShare a Scribd company logo
1 of 40
秋葉 拓哉
2018/01/21 @ NIPS 読み会
分散深層学習
@ NIPS 2017
自己紹介: 秋葉 拓哉 (@iwiwi)
• PFN で大規模分散深層学習の研究開発
• 趣味で Kaggle Master
• NIPS’17 では 3 件のワークショップ発表をしました
– Takuya Akiba, Keisuke Fukuda, Shuji Suzuki. ChainerMN: Scalable Distributed Deep Learning
Framework. Workshop on ML Systems (NIPS’17 Workshop)
– Takuya Akiba, Seiya Tokui, Motoki Abe. NIPSʼ17 Adversarial Competition Non-Targeted Attack Track 4th
Place Solution. Competition Track Workshop (NIPS’17 Workshop)
– Takuya Akiba, Shuji Suzuki, Keisuke Fukuda. Extremely Large Minibatch SGD: Training ResNet-50 on
ImageNet in 15 Minutes. Deep Learning At Supercomputer Scale (NIPS’17 Workshop)
2017 年は分散深層学習大躍進の年だった
ResNet50 の学習が
(1 GPU で 1 週間程度)
• 4 時間になり
(1月発表, 128 × TITAN X, PFN)
• 1 時間になり
(6月発表, 256 × P100, Facebook)
• 15 分になった
(11月発表, 1024 × P100, PFN)
精度や収束に関する研究も一気に進展NVIDIA CEO Jensen Huang 氏による
学会 SC’17 での講演
https://twitter.com/NVIDIAAIJP/status/930209150084063232
そもそも大規模分散深層学習って何が難しいの?
そもそも大規模分散深層学習って何が難しいの?
そもそも大規模分散深層学習って何が難しいの?
そもそも大規模分散深層学習って何が難しいの?
汎化性能
収束
システム
アルゴリズム
インターコネクト
集団通信
専用チップ
GPU
障害
同期 vs 非同期
ベンチマーク
学習率
バッチサイズ
ワークロード
そもそも大規模分散深層学習って何が難しいの?
汎化性能
収束
システム
アルゴリズム
インターコネクト
集団通信
専用チップ
GPU
障害
同期 vs 非同期
ベンチマーク
学習率
バッチサイズ
ワークロード
しかも重要!
試行錯誤が効率化され
より大規模なデータ・モデルが
利用可能となるため技術が競争力に直結
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
午前 午後
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、高速化
NIPS’17 Workshop: DL at Supercomputer Scale
• 代表的な分散深層学習の研究が勢揃いでした
• おすすめを選んでざくざく紹介してみたいと思います
ちなみに発表者の資料も全部公開されてます
https://supercomputersfordl2017.github.io/
背景
分散深層学習の基礎と研究課題
同期型データ並列での学習イテレーション
通常の 1 GPU での学習
分散学習 (3 GPU)
Forward Backward Optimize
同期型データ並列での学習イテレーション
通常の 1 GPU での学習
分散学習 (3 GPU)
Forward
Forward
Forward
Forward Backward Optimize
同期型データ並列での学習イテレーション
通常の 1 GPU での学習
分散学習 (3 GPU)
Forward
Forward
Forward
Backward
Backward
Backward
Forward Backward Optimize
同期型データ並列での学習イテレーション
通常の 1 GPU での学習
分散学習 (3 GPU)
All-
Reduce
Forward
Forward
Forward
Backward
Backward
Backward
Forward Backward Optimize
同期型データ並列での学習イテレーション
通常の 1 GPU での学習
分散学習 (3 GPU)
All-
Reduce
Forward
Forward
Forward
Backward
Backward
Backward
Optimize
Optimize
Optimize
Forward Backward Optimize
All-Reduce
• 各ワーカーが持つ値を集計し、集計した結果を全ワーカー
に配る処理
• 全ワーカーが持つ勾配𝑔𝑖から平均 𝑔を計算して配る
All-Reduce
𝑔0 = 1
𝑔1 = 2
𝑔 = 1.5
𝑔 = 1.5
大規模分散深層学習 ≒ 巨大ミニバッチ
現状この形の同期型・データ並列型の並列化が
ほぼ完全にスタンダード
• 各 GPU のバッチサイズ 32
あまり小さくするとGPUの並列性を活用できず計算効率が落ちる
• GPU 数 256
→ バッチサイズ 32 × 256 = 8192 に相当
All-
Reduce
Forward
Forward
Forward
Backward
Backward
Backward
Optimize
Optimize
Optimize
巨大ミニバッチで同エポック数 → 精度が出ない
• 橙:バッチサイズ 256
• 青:バッチサイズ 8K
精度が劇的に劣化
(ImageNet, ResNet-50)
[Goyal+, ‘17]
データ並列のアプローチの限界
GPU を増やせば増やすほど高速化するわけではない
GPU 増 → バッチサイズ増 →
1. [悪い] イテレーション数が減ってしまう
2. [良い] 勾配が正確になり分散が小さくなる
台数を変化させると、同じ計算をしていることにはならない
問題1: イテレーション数が減ってしまう
22
1 GPU
1 epoch
(Same amount of work)
Multi GPUs
1 iteration
発表紹介1
バッチサイズと汎化性能
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 でオーラルにも選ばれ、分散深層学習の精度・
収束に関する研究を一気に盛り上げた
• 主張自体は後続研究により間接的に否定された
データ並列のアプローチの限界
GPU を増やせば増やすほど高速化するわけではない
GPU 増 → バッチサイズ増 →
1. [悪い] イテレーション数が減ってしまう
2. [良い] 勾配が正確になり分散が小さくなる
台数を変化させると、同じ計算をしていることにはならない
データ並列のアプローチの限界
GPU を増やせば増やすほど高速化するわけではない
GPU 増 → バッチサイズ増 →
1. [悪い] イテレーション数が減ってしまう
2. [良い] [悪い] 勾配が正確になり分散が小さくなる
台数を変化させると、同じ計算をしていることにはならない質の悪い局所解 (sharp minima) に収束してしまう
問題 2: Sharp minima[Keskar+,ICLR’17]
28
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 分散深層学習チームの成果です!)
発表紹介2
その他
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、高速化
バッチサイズと
学習率と
汎化性能
Neumann Optimizer: A Practical Optimization
Algorithm for Deep Neural Networks
(1712.03298, submitted to ICLR’18, Google Research)
• 一言で:大きなバッチサイズが得意な SGD 変種の提案
• Adam と同じだけのステート・計算量
• バッチサイズ 32k でも精度劣化わずか
ただし標準的な 90 エポック設定ではなく 200 エポック以上学習してたりするので
ちょっとよくわからない。あと学習初期が不安定。
Deep Learning Scaling is Predictable,
Empirically (1712.00409, Baidu SVAIL)
• 一言で:データ量やモデルサイズが変化した時に精度が
どう変化するかという実験を通じてトレンドを予測する
• 右図のように変化するので、
Power-law region に入っている間は
達成可能な精度が予測可能
• 知見・示唆多数、個人的おすすめ
まとめ
• 2017 年は分散深層学習大躍進の年だった
• 大バッチサイズでの精度の問題が明確になった
• そしてかなり解決された
• ImageNet is the new MNIST
おまけ
• 次回は同ワークショップを SC’18 に提案予定
• 僕もプログラム委員します
• 論文投稿待ってます

More Related Content

What's hot

【DL輪読会】Perceiver io a general architecture for structured inputs & outputs
【DL輪読会】Perceiver io  a general architecture for structured inputs & outputs 【DL輪読会】Perceiver io  a general architecture for structured inputs & outputs
【DL輪読会】Perceiver io a general architecture for structured inputs & outputs Deep Learning JP
 
Optimizer入門&最新動向
Optimizer入門&最新動向Optimizer入門&最新動向
Optimizer入門&最新動向Motokawa Tetsuya
 
【メタサーベイ】Video Transformer
 【メタサーベイ】Video Transformer 【メタサーベイ】Video Transformer
【メタサーベイ】Video Transformercvpaper. challenge
 
【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat Models
【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat Models【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat Models
【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat ModelsDeep Learning JP
 
[DL輪読会]GLIDE: Guided Language to Image Diffusion for Generation and Editing
[DL輪読会]GLIDE: Guided Language to Image Diffusion  for Generation and Editing[DL輪読会]GLIDE: Guided Language to Image Diffusion  for Generation and Editing
[DL輪読会]GLIDE: Guided Language to Image Diffusion for Generation and EditingDeep Learning JP
 
[DL輪読会]Learning Latent Dynamics for Planning from Pixels
[DL輪読会]Learning Latent Dynamics for Planning from Pixels[DL輪読会]Learning Latent Dynamics for Planning from Pixels
[DL輪読会]Learning Latent Dynamics for Planning from PixelsDeep Learning JP
 
グラフニューラルネットワーク入門
グラフニューラルネットワーク入門グラフニューラルネットワーク入門
グラフニューラルネットワーク入門ryosuke-kojima
 
SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​
SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​
SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​SSII
 
モデルではなく、データセットを蒸留する
モデルではなく、データセットを蒸留するモデルではなく、データセットを蒸留する
モデルではなく、データセットを蒸留するTakahiro Kubo
 
全力解説!Transformer
全力解説!Transformer全力解説!Transformer
全力解説!TransformerArithmer Inc.
 
畳み込みニューラルネットワークの研究動向
畳み込みニューラルネットワークの研究動向畳み込みニューラルネットワークの研究動向
畳み込みニューラルネットワークの研究動向Yusuke Uchida
 
[DL輪読会]A Bayesian Perspective on Generalization and Stochastic Gradient Descent
 [DL輪読会]A Bayesian Perspective on Generalization and Stochastic Gradient Descent [DL輪読会]A Bayesian Perspective on Generalization and Stochastic Gradient Descent
[DL輪読会]A Bayesian Perspective on Generalization and Stochastic Gradient DescentDeep Learning JP
 
【メタサーベイ】Vision and Language のトップ研究室/研究者
【メタサーベイ】Vision and Language のトップ研究室/研究者【メタサーベイ】Vision and Language のトップ研究室/研究者
【メタサーベイ】Vision and Language のトップ研究室/研究者cvpaper. challenge
 
最適輸送の解き方
最適輸送の解き方最適輸送の解き方
最適輸送の解き方joisino
 
cvpaper.challenge 研究効率化 Tips
cvpaper.challenge 研究効率化 Tipscvpaper.challenge 研究効率化 Tips
cvpaper.challenge 研究効率化 Tipscvpaper. challenge
 
[DL輪読会]ICLR2020の分布外検知速報
[DL輪読会]ICLR2020の分布外検知速報[DL輪読会]ICLR2020の分布外検知速報
[DL輪読会]ICLR2020の分布外検知速報Deep Learning JP
 
最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情Yuta Kikuchi
 
[DL輪読会]Flow-based Deep Generative Models
[DL輪読会]Flow-based Deep Generative Models[DL輪読会]Flow-based Deep Generative Models
[DL輪読会]Flow-based Deep Generative ModelsDeep Learning JP
 
Curriculum Learning (関東CV勉強会)
Curriculum Learning (関東CV勉強会)Curriculum Learning (関東CV勉強会)
Curriculum Learning (関東CV勉強会)Yoshitaka Ushiku
 
Tensor コアを使った PyTorch の高速化
Tensor コアを使った PyTorch の高速化Tensor コアを使った PyTorch の高速化
Tensor コアを使った PyTorch の高速化Yusuke Fujimoto
 

What's hot (20)

【DL輪読会】Perceiver io a general architecture for structured inputs & outputs
【DL輪読会】Perceiver io  a general architecture for structured inputs & outputs 【DL輪読会】Perceiver io  a general architecture for structured inputs & outputs
【DL輪読会】Perceiver io a general architecture for structured inputs & outputs
 
Optimizer入門&最新動向
Optimizer入門&最新動向Optimizer入門&最新動向
Optimizer入門&最新動向
 
【メタサーベイ】Video Transformer
 【メタサーベイ】Video Transformer 【メタサーベイ】Video Transformer
【メタサーベイ】Video Transformer
 
【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat Models
【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat Models【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat Models
【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat Models
 
[DL輪読会]GLIDE: Guided Language to Image Diffusion for Generation and Editing
[DL輪読会]GLIDE: Guided Language to Image Diffusion  for Generation and Editing[DL輪読会]GLIDE: Guided Language to Image Diffusion  for Generation and Editing
[DL輪読会]GLIDE: Guided Language to Image Diffusion for Generation and Editing
 
[DL輪読会]Learning Latent Dynamics for Planning from Pixels
[DL輪読会]Learning Latent Dynamics for Planning from Pixels[DL輪読会]Learning Latent Dynamics for Planning from Pixels
[DL輪読会]Learning Latent Dynamics for Planning from Pixels
 
グラフニューラルネットワーク入門
グラフニューラルネットワーク入門グラフニューラルネットワーク入門
グラフニューラルネットワーク入門
 
SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​
SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​
SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​
 
モデルではなく、データセットを蒸留する
モデルではなく、データセットを蒸留するモデルではなく、データセットを蒸留する
モデルではなく、データセットを蒸留する
 
全力解説!Transformer
全力解説!Transformer全力解説!Transformer
全力解説!Transformer
 
畳み込みニューラルネットワークの研究動向
畳み込みニューラルネットワークの研究動向畳み込みニューラルネットワークの研究動向
畳み込みニューラルネットワークの研究動向
 
[DL輪読会]A Bayesian Perspective on Generalization and Stochastic Gradient Descent
 [DL輪読会]A Bayesian Perspective on Generalization and Stochastic Gradient Descent [DL輪読会]A Bayesian Perspective on Generalization and Stochastic Gradient Descent
[DL輪読会]A Bayesian Perspective on Generalization and Stochastic Gradient Descent
 
【メタサーベイ】Vision and Language のトップ研究室/研究者
【メタサーベイ】Vision and Language のトップ研究室/研究者【メタサーベイ】Vision and Language のトップ研究室/研究者
【メタサーベイ】Vision and Language のトップ研究室/研究者
 
最適輸送の解き方
最適輸送の解き方最適輸送の解き方
最適輸送の解き方
 
cvpaper.challenge 研究効率化 Tips
cvpaper.challenge 研究効率化 Tipscvpaper.challenge 研究効率化 Tips
cvpaper.challenge 研究効率化 Tips
 
[DL輪読会]ICLR2020の分布外検知速報
[DL輪読会]ICLR2020の分布外検知速報[DL輪読会]ICLR2020の分布外検知速報
[DL輪読会]ICLR2020の分布外検知速報
 
最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情
 
[DL輪読会]Flow-based Deep Generative Models
[DL輪読会]Flow-based Deep Generative Models[DL輪読会]Flow-based Deep Generative Models
[DL輪読会]Flow-based Deep Generative Models
 
Curriculum Learning (関東CV勉強会)
Curriculum Learning (関東CV勉強会)Curriculum Learning (関東CV勉強会)
Curriculum Learning (関東CV勉強会)
 
Tensor コアを使った PyTorch の高速化
Tensor コアを使った PyTorch の高速化Tensor コアを使った PyTorch の高速化
Tensor コアを使った PyTorch の高速化
 

Similar to 分散深層学習 @ NIPS'17

[DL輪読会]Mastering the Dungeon: Grounded Language Learning by Mechanical Turker...
[DL輪読会]Mastering the Dungeon: Grounded Language Learning by Mechanical Turker...[DL輪読会]Mastering the Dungeon: Grounded Language Learning by Mechanical Turker...
[DL輪読会]Mastering the Dungeon: Grounded Language Learning by Mechanical Turker...Deep Learning JP
 
[DL Hacks 実装]StyleNet: Generating Attractive Visual Captions with Styles
[DL Hacks 実装]StyleNet: Generating Attractive Visual Captions with Styles[DL Hacks 実装]StyleNet: Generating Attractive Visual Captions with Styles
[DL Hacks 実装]StyleNet: Generating Attractive Visual Captions with StylesDeep Learning JP
 
ディープラーニング最近の発展とビジネス応用への課題
ディープラーニング最近の発展とビジネス応用への課題ディープラーニング最近の発展とビジネス応用への課題
ディープラーニング最近の発展とビジネス応用への課題Kenta Oono
 

Similar to 分散深層学習 @ NIPS'17 (7)

20150930
2015093020150930
20150930
 
[DL輪読会]Mastering the Dungeon: Grounded Language Learning by Mechanical Turker...
[DL輪読会]Mastering the Dungeon: Grounded Language Learning by Mechanical Turker...[DL輪読会]Mastering the Dungeon: Grounded Language Learning by Mechanical Turker...
[DL輪読会]Mastering the Dungeon: Grounded Language Learning by Mechanical Turker...
 
NeurIPS2019参加報告
NeurIPS2019参加報告NeurIPS2019参加報告
NeurIPS2019参加報告
 
SoCC12報告
SoCC12報告SoCC12報告
SoCC12報告
 
[DL Hacks 実装]StyleNet: Generating Attractive Visual Captions with Styles
[DL Hacks 実装]StyleNet: Generating Attractive Visual Captions with Styles[DL Hacks 実装]StyleNet: Generating Attractive Visual Captions with Styles
[DL Hacks 実装]StyleNet: Generating Attractive Visual Captions with Styles
 
ICML2017 参加報告会 山本康生
ICML2017 参加報告会 山本康生ICML2017 参加報告会 山本康生
ICML2017 参加報告会 山本康生
 
ディープラーニング最近の発展とビジネス応用への課題
ディープラーニング最近の発展とビジネス応用への課題ディープラーニング最近の発展とビジネス応用への課題
ディープラーニング最近の発展とビジネス応用への課題
 

More from Takuya Akiba

Learning Convolutional Neural Networks for Graphs
Learning Convolutional Neural Networks for GraphsLearning Convolutional Neural Networks for Graphs
Learning Convolutional Neural Networks for GraphsTakuya Akiba
 
TCO15 Algorithm Round 2C 解説
TCO15 Algorithm Round 2C 解説TCO15 Algorithm Round 2C 解説
TCO15 Algorithm Round 2C 解説Takuya Akiba
 
ACM-ICPC 世界大会 2015 問題 K "Tours" 解説
ACM-ICPC 世界大会 2015 問題 K "Tours" 解説ACM-ICPC 世界大会 2015 問題 K "Tours" 解説
ACM-ICPC 世界大会 2015 問題 K "Tours" 解説Takuya Akiba
 
大規模グラフ解析のための乱択スケッチ技法
大規模グラフ解析のための乱択スケッチ技法大規模グラフ解析のための乱択スケッチ技法
大規模グラフ解析のための乱択スケッチ技法Takuya Akiba
 
乱択データ構造の最新事情 -MinHash と HyperLogLog の最近の進歩-
乱択データ構造の最新事情 -MinHash と HyperLogLog の最近の進歩-乱択データ構造の最新事情 -MinHash と HyperLogLog の最近の進歩-
乱択データ構造の最新事情 -MinHash と HyperLogLog の最近の進歩-Takuya Akiba
 
Cache-Oblivious データ構造入門 @DSIRNLP#5
Cache-Oblivious データ構造入門 @DSIRNLP#5Cache-Oblivious データ構造入門 @DSIRNLP#5
Cache-Oblivious データ構造入門 @DSIRNLP#5Takuya Akiba
 
平面グラフと交通ネットワークのアルゴリズム
平面グラフと交通ネットワークのアルゴリズム平面グラフと交通ネットワークのアルゴリズム
平面グラフと交通ネットワークのアルゴリズムTakuya Akiba
 
大規模ネットワークの性質と先端グラフアルゴリズム
大規模ネットワークの性質と先端グラフアルゴリズム大規模ネットワークの性質と先端グラフアルゴリズム
大規模ネットワークの性質と先端グラフアルゴリズムTakuya Akiba
 
勉強か?趣味か?人生か?―プログラミングコンテストとは
勉強か?趣味か?人生か?―プログラミングコンテストとは勉強か?趣味か?人生か?―プログラミングコンテストとは
勉強か?趣味か?人生か?―プログラミングコンテストとはTakuya Akiba
 
プログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズムプログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズムTakuya Akiba
 
プログラミングコンテストでのデータ構造 2 ~動的木編~
プログラミングコンテストでのデータ構造 2 ~動的木編~プログラミングコンテストでのデータ構造 2 ~動的木編~
プログラミングコンテストでのデータ構造 2 ~動的木編~Takuya Akiba
 
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~Takuya Akiba
 
大規模グラフアルゴリズムの最先端
大規模グラフアルゴリズムの最先端大規模グラフアルゴリズムの最先端
大規模グラフアルゴリズムの最先端Takuya Akiba
 
プログラミングコンテストでの動的計画法
プログラミングコンテストでの動的計画法プログラミングコンテストでの動的計画法
プログラミングコンテストでの動的計画法Takuya Akiba
 
プログラミングコンテストでのデータ構造
プログラミングコンテストでのデータ構造プログラミングコンテストでのデータ構造
プログラミングコンテストでのデータ構造Takuya Akiba
 

More from Takuya Akiba (15)

Learning Convolutional Neural Networks for Graphs
Learning Convolutional Neural Networks for GraphsLearning Convolutional Neural Networks for Graphs
Learning Convolutional Neural Networks for Graphs
 
TCO15 Algorithm Round 2C 解説
TCO15 Algorithm Round 2C 解説TCO15 Algorithm Round 2C 解説
TCO15 Algorithm Round 2C 解説
 
ACM-ICPC 世界大会 2015 問題 K "Tours" 解説
ACM-ICPC 世界大会 2015 問題 K "Tours" 解説ACM-ICPC 世界大会 2015 問題 K "Tours" 解説
ACM-ICPC 世界大会 2015 問題 K "Tours" 解説
 
大規模グラフ解析のための乱択スケッチ技法
大規模グラフ解析のための乱択スケッチ技法大規模グラフ解析のための乱択スケッチ技法
大規模グラフ解析のための乱択スケッチ技法
 
乱択データ構造の最新事情 -MinHash と HyperLogLog の最近の進歩-
乱択データ構造の最新事情 -MinHash と HyperLogLog の最近の進歩-乱択データ構造の最新事情 -MinHash と HyperLogLog の最近の進歩-
乱択データ構造の最新事情 -MinHash と HyperLogLog の最近の進歩-
 
Cache-Oblivious データ構造入門 @DSIRNLP#5
Cache-Oblivious データ構造入門 @DSIRNLP#5Cache-Oblivious データ構造入門 @DSIRNLP#5
Cache-Oblivious データ構造入門 @DSIRNLP#5
 
平面グラフと交通ネットワークのアルゴリズム
平面グラフと交通ネットワークのアルゴリズム平面グラフと交通ネットワークのアルゴリズム
平面グラフと交通ネットワークのアルゴリズム
 
大規模ネットワークの性質と先端グラフアルゴリズム
大規模ネットワークの性質と先端グラフアルゴリズム大規模ネットワークの性質と先端グラフアルゴリズム
大規模ネットワークの性質と先端グラフアルゴリズム
 
勉強か?趣味か?人生か?―プログラミングコンテストとは
勉強か?趣味か?人生か?―プログラミングコンテストとは勉強か?趣味か?人生か?―プログラミングコンテストとは
勉強か?趣味か?人生か?―プログラミングコンテストとは
 
プログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズムプログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズム
 
プログラミングコンテストでのデータ構造 2 ~動的木編~
プログラミングコンテストでのデータ構造 2 ~動的木編~プログラミングコンテストでのデータ構造 2 ~動的木編~
プログラミングコンテストでのデータ構造 2 ~動的木編~
 
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~
 
大規模グラフアルゴリズムの最先端
大規模グラフアルゴリズムの最先端大規模グラフアルゴリズムの最先端
大規模グラフアルゴリズムの最先端
 
プログラミングコンテストでの動的計画法
プログラミングコンテストでの動的計画法プログラミングコンテストでの動的計画法
プログラミングコンテストでの動的計画法
 
プログラミングコンテストでのデータ構造
プログラミングコンテストでのデータ構造プログラミングコンテストでのデータ構造
プログラミングコンテストでのデータ構造
 

分散深層学習 @ NIPS'17

  • 1. 秋葉 拓哉 2018/01/21 @ NIPS 読み会 分散深層学習 @ NIPS 2017
  • 2. 自己紹介: 秋葉 拓哉 (@iwiwi) • PFN で大規模分散深層学習の研究開発 • 趣味で Kaggle Master • NIPS’17 では 3 件のワークショップ発表をしました – Takuya Akiba, Keisuke Fukuda, Shuji Suzuki. ChainerMN: Scalable Distributed Deep Learning Framework. Workshop on ML Systems (NIPS’17 Workshop) – Takuya Akiba, Seiya Tokui, Motoki Abe. NIPSʼ17 Adversarial Competition Non-Targeted Attack Track 4th Place Solution. Competition Track Workshop (NIPS’17 Workshop) – Takuya Akiba, Shuji Suzuki, Keisuke Fukuda. Extremely Large Minibatch SGD: Training ResNet-50 on ImageNet in 15 Minutes. Deep Learning At Supercomputer Scale (NIPS’17 Workshop)
  • 3. 2017 年は分散深層学習大躍進の年だった ResNet50 の学習が (1 GPU で 1 週間程度) • 4 時間になり (1月発表, 128 × TITAN X, PFN) • 1 時間になり (6月発表, 256 × P100, Facebook) • 15 分になった (11月発表, 1024 × P100, PFN) 精度や収束に関する研究も一気に進展NVIDIA CEO Jensen Huang 氏による 学会 SC’17 での講演 https://twitter.com/NVIDIAAIJP/status/930209150084063232
  • 9. 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 午前 午後
  • 10. 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、高速化
  • 11. NIPS’17 Workshop: DL at Supercomputer Scale • 代表的な分散深層学習の研究が勢揃いでした • おすすめを選んでざくざく紹介してみたいと思います ちなみに発表者の資料も全部公開されてます https://supercomputersfordl2017.github.io/
  • 13. 同期型データ並列での学習イテレーション 通常の 1 GPU での学習 分散学習 (3 GPU) Forward Backward Optimize
  • 14. 同期型データ並列での学習イテレーション 通常の 1 GPU での学習 分散学習 (3 GPU) Forward Forward Forward Forward Backward Optimize
  • 15. 同期型データ並列での学習イテレーション 通常の 1 GPU での学習 分散学習 (3 GPU) Forward Forward Forward Backward Backward Backward Forward Backward Optimize
  • 16. 同期型データ並列での学習イテレーション 通常の 1 GPU での学習 分散学習 (3 GPU) All- Reduce Forward Forward Forward Backward Backward Backward Forward Backward Optimize
  • 17. 同期型データ並列での学習イテレーション 通常の 1 GPU での学習 分散学習 (3 GPU) All- Reduce Forward Forward Forward Backward Backward Backward Optimize Optimize Optimize Forward Backward Optimize
  • 19. 大規模分散深層学習 ≒ 巨大ミニバッチ 現状この形の同期型・データ並列型の並列化が ほぼ完全にスタンダード • 各 GPU のバッチサイズ 32 あまり小さくするとGPUの並列性を活用できず計算効率が落ちる • GPU 数 256 → バッチサイズ 32 × 256 = 8192 に相当 All- Reduce Forward Forward Forward Backward Backward Backward Optimize Optimize Optimize
  • 20. 巨大ミニバッチで同エポック数 → 精度が出ない • 橙:バッチサイズ 256 • 青:バッチサイズ 8K 精度が劇的に劣化 (ImageNet, ResNet-50) [Goyal+, ‘17]
  • 21. データ並列のアプローチの限界 GPU を増やせば増やすほど高速化するわけではない GPU 増 → バッチサイズ増 → 1. [悪い] イテレーション数が減ってしまう 2. [良い] 勾配が正確になり分散が小さくなる 台数を変化させると、同じ計算をしていることにはならない
  • 22. 問題1: イテレーション数が減ってしまう 22 1 GPU 1 epoch (Same amount of work) Multi GPUs 1 iteration
  • 24. 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、高速化
  • 25. On Large-Batch Training for Deep Learning: Generalization Gap and Sharp Minima (1706.02677, ICLR’17) • 一言で:大きなバッチサイズだと汎化性能が悪化 • ICLR’17 でオーラルにも選ばれ、分散深層学習の精度・ 収束に関する研究を一気に盛り上げた • 主張自体は後続研究により間接的に否定された
  • 26. データ並列のアプローチの限界 GPU を増やせば増やすほど高速化するわけではない GPU 増 → バッチサイズ増 → 1. [悪い] イテレーション数が減ってしまう 2. [良い] 勾配が正確になり分散が小さくなる 台数を変化させると、同じ計算をしていることにはならない
  • 27. データ並列のアプローチの限界 GPU を増やせば増やすほど高速化するわけではない GPU 増 → バッチサイズ増 → 1. [悪い] イテレーション数が減ってしまう 2. [良い] [悪い] 勾配が正確になり分散が小さくなる 台数を変化させると、同じ計算をしていることにはならない質の悪い局所解 (sharp minima) に収束してしまう
  • 28. 問題 2: Sharp minima[Keskar+,ICLR’17] 28
  • 29. Train longer, generalize better: closing the generalization gap in large batch training of neural networks (1705.08741, NIPS’17) • 一言で:大きなバッチサイズでの精度劣化をある程度抑 える方法を考えた • 残念ながら今となってはそんなに高い価値なし 次の論文で提案された手法の方がシンプルかつほぼ完璧に精度の劣化を抑えられている
  • 30. Accurate, Large Minibatch SGD: Training ImageNet in 1 Hour (1706.02677, Facebook) • 一言で:精度を保って、ResNet-50 を 256 GPU (バッチ サイズ 8k) で 1 時間で学習できた • 橙:256 • 青:8K 精度の劣化を排除
  • 31. Accurate, Large Minibatch SGD: Training ImageNet in 1 Hour (1706.02677, Facebook) テクニック • バッチサイズに比例させて学習率を大きくする (Linear Scaling) ← 本質 • 学習開始時は5エポックかけて学習率を徐々に大きく (Warmup) 色々 • Sharp Minima は大きいバッチサイズ特有の問題ではなかった バッチサイズを大きくしなくても代わりに学習率を下げるだけで同様の現象は起こせる • 提案アプローチの限界も示されている、バッチサイズ 8k より大き くなると精度劣化
  • 32. Don't Decay the Learning Rate, Increase the Batch Size (1711.00489, Google Brain) • 一言で:途中で学習率を下げる代わりに途中でバッチサ イズを大きくすれば更に並列性を引き出せる。 • 学習率の Linear Scaling の応用 ImageNetの学習では決まった場所で学習率を 0.1 倍するといったスケジューリングが使わ れる。そういったタイミングで、学習率を 0.1 倍する代わりに、バッチサイズを 10 倍し ても、最終的な精度を保つこができる。最初はバッチサイズ 8k からスタート。
  • 33. ImageNet is the new MNIST (論文なし、Google Brain) • 一言で:TPU クラスタで ResNet 50 の学習が 30 分 • 精度を保つ工夫は前スライドのやつそのまま
  • 34. Extremely Large Minibatch SGD: Training ResNet-50 on ImageNet in 15 Minutes (1711.04325, PFN) • 一言で:1024 GPU で ResNet-50 の学習が15分 • バッチサイズ 32k で精度を保つためのテクニック提案 • 1024 GPU までスケールさせるエンジニアリング (僕ら PFN 分散深層学習チームの成果です!)
  • 36. 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、高速化 バッチサイズと 学習率と 汎化性能
  • 37. Neumann Optimizer: A Practical Optimization Algorithm for Deep Neural Networks (1712.03298, submitted to ICLR’18, Google Research) • 一言で:大きなバッチサイズが得意な SGD 変種の提案 • Adam と同じだけのステート・計算量 • バッチサイズ 32k でも精度劣化わずか ただし標準的な 90 エポック設定ではなく 200 エポック以上学習してたりするので ちょっとよくわからない。あと学習初期が不安定。
  • 38. Deep Learning Scaling is Predictable, Empirically (1712.00409, Baidu SVAIL) • 一言で:データ量やモデルサイズが変化した時に精度が どう変化するかという実験を通じてトレンドを予測する • 右図のように変化するので、 Power-law region に入っている間は 達成可能な精度が予測可能 • 知見・示唆多数、個人的おすすめ
  • 39. まとめ • 2017 年は分散深層学習大躍進の年だった • 大バッチサイズでの精度の問題が明確になった • そしてかなり解決された • ImageNet is the new MNIST
  • 40. おまけ • 次回は同ワークショップを SC’18 に提案予定 • 僕もプログラム委員します • 論文投稿待ってます