19. MN-1 構成
19
Total: 1024 GPUs (NVIDIA Tesla P100)
8 GPUs x 16 Servers
56 Gps(InfiniBand FDR) x 2
56 Gbps(InfiniBand FDR) x 2
credits:
gpu by Misha Petrishchev from the Noun Project
Network Switch by Creaticca Creative Agency from the Noun Project
20. MN-1のベンチマーク結果
• LINPACK Benchmark (2017年11月)
– 「Preferred Networksのプライベート・スーパーコン
ピュータが Top 500リストのIndustry領域で国内
1位に認定」
• ImageNet in 15 min. (2017年11月)
– 「深層学習の学習速度において世界最速を実現」
20
25. 内製ジョブ実行ツールの概要
25
Icons made by Freepik, Eucalyp, Smashicons, DinosoftLabs from www.flaticon.com is licensed by CC 3.0 BY
gpu by Misha Petrishchev from the Noun Project
Network Switch by Creaticca Creative Agency from the Noun Project
Scheduler
Retz
Job Queue
Build Environment Job
Execute Environment Job
Job
Dataset/Result
Dataset/Result Dataset/Result
31. PFNにおける典型的な開発
31
Icons made by Freepik, from www.flaticon.com is licensed by CC 3.0 BY
Icons made by DinosoftLabs from www.flaticon.com is licensed by CC 3.0 BY
gpu by Misha Petrishchev from the Noun Project
Network Switch by Creaticca Creative Agency from the Noun Project
● 小さく試す (同期ジョブ)
○ 手元のコードを編集 ➔ 実行
○ 実行中の動作/実行後の出力(モデル etc.)
をすぐ確認したい
○ 繰り返す
● 大規模なジョブを実行 (非同期ジョブ)
○ たくさんのパラメータパターンで試す
○ Hyper Parameter Searchな人もいる
○ あとで結果が確認できれば OK
↓ 良さそうなアルゴリズムができたら・・・
手元でもクラスタでも同
じコードで動作してほし
い
32. ● どの学習データを使ったか
● 生成したモデルはどれか
● 実行された環境は?
● 実行時のパラメータは?
● etc.
ジョブのトレーサビリティ
32
Icons made by Freepik from www.flaticon.com is licensed by CC 3.0 BY
Icons made by DinosoftLabs from www.flaticon.com is licensed by CC 3.0 BY
gpu by Misha Petrishchev from the Noun Project
Network Switch by Creaticca Creative Agency from the Noun Project
……
33. *データセット
ジョブ実行ツールの概念モデル
33
Project
Dataset Job result
● バージョニング可能
● イミュータブル
● ACL対応 (共有可)
● ジョブ実行時に自動で
コンテナにマウント
(GlusterFS)
● プロジェクトに属す
● yamlで環境を定義可能
● Dockerイメージ自動ビルド
● マルチノードジョブ対応
● 同期ジョブ/非同期ジョブ
● 障害時自動リトライ
● 同じ構成で再実行
Icons made by Eucalyp, Smashicons from www.flaticon.com is licensed by CC 3.0 BY
● ジョブに属す
● データセットとして
登録可能(他ジョブ、他
ユーザと共有可能)
* 1
*
34. 一般的な機械学習のワークフローとの対比
34
c.f. Kubeflow Deep Dive – David Aronchick & Jeremy Lewi, Google, KubeCon + CloudNativeCon Europe 2018
● メインのサポートは
スケーラブルな
深層/機械学習を行う辺り
● 推論を専門にやるワーク
ロードは多くはないのでプ
ラットフォームとしてのサポー
トしていない
35. 一般的な機械学習のワークフローとの対比
35
c.f. Kubeflow Deep Dive – David Aronchick & Jeremy Lewi, Google, KubeCon + CloudNativeCon Europe 2018
● データセット管理のみ提供
● 前処理用等の
BigDataプラットフォーム
は現在は提供していない
(検討中)
36. ● Xさんの実験を自分でも行いたい
● 昔やった実験を再度実行したい
● パラメータを少し変えて試したい
● etc.
ジョブの再現性への要求
36
Icons made by Freepik from www.flaticon.com is licensed by CC 3.0 BY
Icons made by DinosoftLabs from www.flaticon.com is licensed by CC 3.0 BY
gpu by Misha Petrishchev from the Noun Project
Network Switch by Creaticca Creative Agency from the Noun Project
……
37. ニューラル
ネット
● 初期重み
● ランダムノイズな中間層 乱数シードの固定
データセッ
ト
● validation用のsplit/shuffle
● 分散ワーカ用のsplit/shuffle 乱数シードの固定
コード
● フレームワークのバージョン
● アプリケーションのコード Docker イメージ
CPU
● マルチスレッドの実行順序
制御不可能
GPU
● GPU内の計算 cuDNNの幾つかの演算は
再現性を保証していない
ジョブの再現性(Reproducibility)
とそれを阻む非決定性(non-Determinism)
37Icons made by Eucalyp, Freepik, Dimitry Miroliubov, Smashicons, dmitri13 from www.flaticon.com is licensed by CC 3.0 BY
cf: Reproducibility in ML: Why It Matters and How to Achieve It 考えられる対応非決定性
38. ニューラル
ネット
● 初期重み
● ランダムノイズな中間層 乱数シードの固定
メタデータとして
ユーザが保存
データセッ
ト
● validation用のsplit/shuffle
● 分散ワーカ用のsplit/shuffle 乱数シードの固定
メタデータとして
ユーザが保存
フレーム
ワーク
● フレームワークのバージョン
● アプリケーションのコード Docker イメージ ツールで提供
CPU
● マルチスレッドの実行順序
制御不可能
GPU
● GPU内の計算 cuDNNの幾つかの演算は
再現性を保証していない
PFNのジョブツールでは 再実行性(Repeatability) を提供
38Icons made by Eucalyp, Freepik, Dimitry Miroliubov, Smashicons, dmitri13 from www.flaticon.com is licensed by CC 3.0 BY
cf: Reproducibility in ML: Why It Matters and How to Achieve It PFN対応状況考えられる対応非決定性
39. 学習状況の可視化
39
Icons made by Freepik, DinosoftLabs, Smashicons from www.flaticon.com is licensed by CC 3.0 BY
gpu by Misha Petrishchev from the Noun Project
Network Switch by Creaticca Creative Agency from the Noun Project
各ジョブは
ChainerUIへ
自動でメトリクスを
連携
Web上で各ジョブの学習状況を
ほぼリアルタイムで確認できる
48. 効率よく柔軟なスケジューリング
• うまくジョブを配置する= オンラインビンパッキング問題
– ジョブはリソース要求量に応じた大きさ(多次元)がある
– オフライン版はNP困難
• 現状: Mesos ➔ 独自アルゴリズム, Kubernetes ➔ MostResourceRequested(改修予定)
48
Scheduler
Icons made by Freepik from www.flaticon.com is licensed by CC 3.0 BY
gpu by Misha Petrishchev from the Noun Project
52. プリエンプションとリエントランシー
• オンラインビンパッキング問題はとても難しい
→ どんなに賢くやっても詰められないパターンはやってくる
→ キャパを超える入力があればフルになってしまうので詰められない
• 現実解
→ ジョブに優先度を設定して低優先度のものを止める(プリエンプション)
→ 公平性にも寄与する
52
Scheduler
Icons made by Freepik from www.flaticon.com is licensed by CC 3.0 BY
gpu by Misha Petrishchev from the Noun Project
プリエンプト
される
(犠牲になる)
53. プリエンプションとリエントランシー
53
Icons made by Freepik from www.flaticon.com is licensed by CC 3.0 BY
gpu by Misha Petrishchev from the Noun Project
Scheduler
• オンラインビンパッキング問題はとても難しい
→ どんなに賢くやっても詰められないパターンはやってくる
→ キャパを超える入力があればフルになってしまうので詰められない
• 現実解
→ ジョブに優先度を設定して低優先度のものを止める(プリエンプション)
→ 公平性にも寄与する
他のコンテナを
プリエンプト
して実行中
54. プリエンプションとリエントランシー
• リエントラント = 再入可能
→ 理想: 止めた瞬間の状態で復帰し計算再開
→ 現状: エポック終了後に保存されるモデルスナップショットを
読み込んで学習再開
• 現在Kubernetesでのみ提供中 (プリエンプションルールは独自)
54
Icons made by Freepik from www.flaticon.com is licensed by CC 3.0 BY
gpu by Misha Petrishchev from the Noun Project
Scheduler
停止した瞬間の
epochは
再度やり直し
55. • クラスタの全系を活用してはじめて実行実行となる研究
– 高精度、高速学習、マルチタスク学習など
• 現状: クラスタサービスを停止して実施
• 理想: もっとカジュアルに実施したい
グランドチャレンジ
55
Icons made by Freepik from www.flaticon.com is licensed by CC 3.0 BY
gpu by Misha Petrishchev from the Noun Project
60. より効率的・柔軟・公平なスケジューラ
• より効率的で柔軟なスケジューラへ
– Bin Packing / Job-Shop Schedulingアルゴリズム
• ジョブをうまく配置したい(preemptionしなくて済むように)
• とはいえどちらもNP困難問題・・・
– 機械学習・強化学習の活用
60
Scheduler
Icons made by Freepik, Darius Dan from www.flaticon.com is licensed by CC 3.0 BY
gpu by Misha Petrishchev from the Noun Project
63. Hybrid Cloudの積極的な活用
63
Scheduler
Icons made by Freepik from www.flaticon.com is licensed by CC 3.0 BY
gpu by Misha Petrishchev from the Noun Project
クラスタが空いていなくて
ジョブが載せられない
64. Hybrid Cloudの積極的な活用
64
Scheduler
Icons made by Freepik from www.flaticon.com is licensed by CC 3.0 BY
gpu by Misha Petrishchev from the Noun Project
クラウドを使って
クラスタをスケールさせて
リソース不足を解消
76. • ImageNet 1000クラス分類の学習を
ベンチマークとして実施
• 90エポックの学習を15分で達成
• 2018年2月時点で、同条件で世界最速
Extremely Large Minibatch SGD:
Training ResNet-50 on ImageNet in 15 Minutes
76
T.Akiba
K.Fukuda
S.Suzuki
K.Uenishi
c.f. NVIDIA Collective Communications Library (NCCL) | NVIDIA Developer
77. ジョブ実行ツールにおける開発フローのサポート
77
● 小さく試す ➔ 同期実行モード
○ 実行ログがリアルタイムに取得可能
○ 出力ファイルのダウンロードも自動
● 大規模なジョブを実行 ➔ 非同期実行モード
○ ステータス確認
○ ログ、出力を取得
○ 学習状況の
○ 強制停止、自動リトライ、同構成での再実行
Icons made by Freepik from www.flaticon.com is licensed by CC 3.0 BY
Icons made by DinosoftLabs from www.flaticon.com is licensed by CC 3.0 BY
gpu by Misha Petrishchev from the Noun Project
Network Switch by Creaticca Creative Agency from the Noun Project