Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

20180729 Preferred Networksの機械学習クラスタを支える技術

27,841 views

Published on

7月29日開催 July Tech Festa 2018基調講演スライドです。
大村伸吾「Preferred Networksの機械学習クラスタを支える技術」
https://2018.techfesta.jp/

Slides of Keynote in July Tech Festa 2018.

Published in: Technology

20180729 Preferred Networksの機械学習クラスタを支える技術

  1. 1. July Tech Festa 2018 @ 2018/07/29 大村伸吾(Shingo Omura), Preferred Networks, Inc. Preferred Networksの 機械学習クラスタを 支える技術 1
  2. 2. 自己紹介 - 大村 伸吾 (おおむら しんご) 書籍共同翻訳 国内外講演経験 関わった主な技術 2012 2015 2018 職歴 2
  3. 3. Preferred Networks (PFN) での主な役割 • 社内で運用している機械学習向けクラスターの開発・運用 – ハードウェア・OSよりも上のレイヤーを担当 – クラスタを利用しやすくするサービスを社内に提供する • Chainer のクラウド環境でのユーザビリティ強化 – ChainerMN on AWS with CloudFormation – kubeflow/chainer-operator • Kubernetes上でChainerMN(マルチノードジョブ)が 簡単に実行できます 3
  4. 4. 本日の流れ • Preferred Networks(PFN) / Chainer の紹介 • PFNの機械学習クラスタと社内クラスタサービス • PFNの機械学習に求められることとその解決策 • 将来に向けて 4
  5. 5. Preferred Networks • ミッション • 設立 2014年3月 • 所在地: 東京都千代田区大手町(日本), カリフォルニア州バークレー(米国) • 事業内容: IoT x (Distributed) Machine Learning – 交通システム – 産業用ロボット – バイオヘルスケア 5 IoT時代に向けた新しいコンピュータを創造する あらゆるモノに知能をもたせ分散知能を実現する
  6. 6. Strategic Partners 6 And Collaborators
  7. 7. PFN の注力領域 - Industrial IoT × Machine Learning Humanoid Robot Consumer Industrial Cloud Device PhotoGameText Speech Factory Robot Infrastructure Automotive Healthcare Smart City Industry4.0 Industrial IoT 7
  8. 8. ピッキング自動化 (2015) 8
  9. 9. 自動運転デモ (強化学習) CES 2016 9
  10. 10. 自然言語によるロボット制御 [Hatori+2017] ICRA 2018 Best Paper Award 10
  11. 11. https://chainer.org A Powerful, Flexible, and Intuitive Framework for Neural Networks
  12. 12. 12 Chainer の特徴 • Python 製の深層学習向けフレームワーク • 深層学習に必要な計算 (微分および誤差逆伝播) を自動で行う • numpy互換のCUDA行列計算ライブラリ CuPy を利用可能 • Define-By-Run という概念の Pioneer – プログラム実行時に計算グラフを構築するので動的構造が容易 Define-and-Run Define-by-Run
  13. 13. 13 Chainer の追加パッケージ ChainerMN: 分散深層学習用追加パッケージ   高いスケーラビリティ(128GPUで100倍の高速化) ChainerRL: 深層強化学習ライブラリ   DQN, DDPG, A3C, ACER, NSQ, PCL, etc. OpenAI Gym サポート ChainerCV: 画像認識アルゴリズム・データセットラッパーを提供   Faster R-CNN, Single Shot Multibox Detector (SSD), SegNet, etc. MN RL CV 分散学習 強化学習 画像認識
  14. 14. ChainerMN - 高速 NVIDIA NCCL, CUDA-Aware MPI等の最新技術の活用により高い性能を実現 - 柔軟 Chainerの柔軟性を損なわず、動的なネットワークでも分散学習可能 - 簡単 既存のコードを少し変更すれば利用可能 14 高速通信のできる InfiniBandで最大の効果
  15. 15. ChainerMNの性能 15c.f. ChainerMN による分散深層学習の性能について GPU数に比例して ほぼ線形に高速化 精度もほぼそのまま
  16. 16. 16 今日は そんな研究開発を縁の下で支える 機械学習クラスタ について お話させて頂きます
  17. 17. PFNの 機械学習クラスタ の概要 17
  18. 18. MN-1 18 構築・運用: NTT Communications / NTT PC Communications
  19. 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. 20. MN-1のベンチマーク結果 • LINPACK Benchmark (2017年11月) – 「Preferred Networksのプライベート・スーパーコン ピュータが Top 500リストのIndustry領域で国内 1位に認定」 • ImageNet in 15 min. (2017年11月) – 「深層学習の学習速度において世界最速を実現」 20
  21. 21. PFNはなぜ自社クラスタにこ だわるのか? 21
  22. 22. • 大量の計算機を使って誰にも成し遂げられなかったことをしたい(グランドチャレンジ) – やはり計算力は競争力の源(クラウドとて無限ではない) – 2017年5月頃、NIPS論文提出の締切直前に、大手クラウドサービスのGPUが枯渇 • 息をするように大規模な学習できる環境 – 16 GPU, 32 GPUの学習を日常的に回したい • 高速な通信環境をいつも使いたい – ChainerMNを最大限活用するには高速通信が望ましい – まだInfiniBandはクラウドでいつも使えるほどの技術ではない • 上から下まで保有することの重要性 – 様々な技術バックグランドを持つメンバーが集結することによって、新しいものを生み出し ていく(クラスタの調達からアルゴリズムまで) PFNが自社クラスタにこだわる理由 22
  23. 23. PFNにおける 社内機械学習クラスタ サービスの概要 23
  24. 24. Preferred Networksの社内クラスタサービス概要 24 container scheduler storage 内製ジョブ 実行ツール experiment job dataset environment notification chainer-ui CLI kubectl web bot MN-1 ssh-able bareservers webssh SSO
  25. 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
  26. 26. Preferred Networks の 機械学習クラスタに求めら れるものとその解決策 26
  27. 27. • 深層学習/機械学習ジョブのシームレスな実行 – 様々なリテラシーレベルのユーザ – PFNにおける典型的なワークフロー(小さく試して大きく回す) – トレーサビリティ(ジョブ管理, データセット/モデル管理) – ジョブの再現性 (とそれを阻む非決定性) – 学習ジョブの可視化 – GPU/InfiniBandをクラスタで使う • クラスタ利用率・運用効率の向上 – 効率的かつ柔軟なスケジューラ – ジョブのプリエンプションとリエントランシー – ギャングスケジューリング – グランドチャレンジ PFNの機械学習クラスタに求められる要件 27
  28. 28. 深層学習/強化学習タスク をシームレスに実行する のに必要なもの 28
  29. 29. 様々なリテラシーレベルのユーザ • PFNには多種多様な研究者・エンジニアが在籍 – ソフトウェアエンジニア – スーパーコンピュータの研究者 – 機械学習・深層学習の研究者 – 数学者・物理学者 – ロボット・ハードウェアの研究者 – 医療・バイオ系の研究者 – 医者 etc. 29
  30. 30. 様々なリテラシーレベルへの対応状況 30 内製ジョブ 実行ツール experiment job dataset environment notification chainer-ui ツール名 内製ジョブ実行ツール JupyterHub Kubernetes 主な 使い方 ● yamlで宣言的にジョブ定義を記述 ○ 環境,リソース要求, データセット,etc. ● 端末上のgit repositoryからcliでジョブを 実行 ● 自分専用Jupyter Hubを k8s上で起動可能 ● pre-buildなイメージを提供 ● 再起動後も環境引継ぎ可 ● 素のKubernetesを利用可能 (機能制限あり by RBAC,PodSecurityPolicy) ● 自分のDocker イメージで 柔軟な構成が可能 ● 永続化領域も提供 必要な 主な知識 git jupyter docker, kubernetes
  31. 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. 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. *データセット ジョブ実行ツールの概念モデル 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. 一般的な機械学習のワークフローとの対比 34 c.f. Kubeflow Deep Dive – David Aronchick & Jeremy Lewi, Google, KubeCon + CloudNativeCon Europe 2018 ● メインのサポートは スケーラブルな 深層/機械学習を行う辺り ● 推論を専門にやるワーク ロードは多くはないのでプ ラットフォームとしてのサポー トしていない
  35. 35. 一般的な機械学習のワークフローとの対比 35 c.f. Kubeflow Deep Dive – David Aronchick & Jeremy Lewi, Google, KubeCon + CloudNativeCon Europe 2018 ● データセット管理のみ提供 ● 前処理用等の BigDataプラットフォーム は現在は提供していない (検討中)
  36. 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. 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. 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. 学習状況の可視化 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上で各ジョブの学習状況を ほぼリアルタイムで確認できる
  40. 40. GPUをクラスタで利用可能にする • Mesos: – mesos containerizer & nvidia-docker を利用 – GPUを使う場合この組み合わせである必要がある(2018/07現在) • Kubernetes: – nvidia-docker, nvidia/k8s-device-plugin を利用 – ドキュメントどおり ⬅ 1点だけ注意点あり 40
  41. 41. by cgoup GPUをクラスタから使う(Mesos編) 41 mesos コンテナ /dev/gpu0 /dev/gpu1 /dev/gpu2 /dev/gpu3ホスト /dev/gpu0 /dev/gpu1 ジョブ実行ツール のヘルパプロセス ユーザのジョブ コンテナ mesos-containerizer mesos-containerizer が cgroupを使って mesosコンテナ が アクセスできるデバイスを制限
  42. 42. GPUをクラスタから使う(Kubernetes編) 42 /dev/gpu0 /dev/gpu1 /dev/gpu2 /dev/gpu3ホスト nvidia/k8s-device-plugin コンテナに割り当てる GPUの device id をやり取り Pod --device option付き で起動 /dev/gpu0, 1 kubelet 注意: k8s-device-pluginはGPUをrequestしない containerには全GPUをexposeする仕様 → PFNでは Dynamic Admission Control を 利用してGPUをrequestしないcontainerには NVIDIA_VISIBLE_DEVICES=noneを強制的に付 加
  43. 43. Infiniband をクラスタから使う • Mesos – mesos containerizer & ジョブ実行ツールヘルパープロセス • Kubernetes – unlimitedな数スケジュールできる計算リソースは未サポート – workaroundとしてホストのInfiniBand デバイスファイルに複数のdevice idをつ けて管理するようなdevice pluginを自作して稼働させている • everpeace/k8s-host-device-plugin 43
  44. 44. Infinibandをクラスタから使う(Mesos編) 44 mesos コンテナ ホスト /dev/infiniband/uverbsX ジョブ実行ツール のヘルパプロセス ユーザのジョブ コンテナ --device option付きで起動 /dev/infiniband/uverbsX /dev/infiniband/rdma_cm /dev/infiniband/rdma_cm mesos-containerizer
  45. 45. Pod Infinibandをクラスタから使う(Kubernetes編) 45 ホスト everpeace/k8s-host-device-plugin コンテナに割り当てる Infiniband device の device id をやり取り /dev/infiniband/uverbsX kubelet /dev/infiniband/uverbsX /dev/infiniband/rdma_cm /dev/infiniband/rdma_cm 注意: InfiniBand deviceファイル群に dummyのdevice idを大量に振って kubeletに登録 --device option付き で起動
  46. 46. クラスタ利用・運用効率 46
  47. 47. • 効率よく柔軟なスケジューラ • ギャングスケジューリング • ジョブのプリエンプションとリエントランシー • グランドチャレンジ クラスタ利用・運用効率 47
  48. 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
  49. 49. ラック 効率よく柔軟なスケジューリング • 様々な配置制約要求 → ノードとジョブにラベルをつけることで配置制約を 指定できるようになっている 49 Icons made by Freepik from www.flaticon.com is licensed by CC 3.0 BY gpu by Misha Petrishchev from the Noun Project ラック 12G16G GPUの搭載メモリ InfiniBand スイッチ
  50. 50. 効率・柔軟以外の望ましい性質 • 公平性(Fairness) → 社内の複数人へ公平なリソース割り当てをしたい → 今はあまりうまくできてない → そもそも公平性とは? 50
  51. 51. ギャングスケジューリング • 複数のコンテナ(Pod)を同時にノードにスケジュールする • 分散学習ジョブの場合はギャングスケジューリングでデッドロックを回避できる – Mesos: 独自に実装 – Kubernetes: kubernetes-incubator/kube-arbitrator (未デプロイ) 51 Job A Job B 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. プリエンプションとリエントランシー • オンラインビンパッキング問題はとても難しい → どんなに賢くやっても詰められないパターンはやってくる → キャパを超える入力があればフルになってしまうので詰められない • 現実解 → ジョブに優先度を設定して低優先度のものを止める(プリエンプション) → 公平性にも寄与する 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. プリエンプションとリエントランシー 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. 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. • クラスタの全系を活用してはじめて実行実行となる研究 – 高精度、高速学習、マルチタスク学習など • 現状: クラスタサービスを停止して実施 • 理想: もっとカジュアルに実施したい グランドチャレンジ 55 Icons made by Freepik from www.flaticon.com is licensed by CC 3.0 BY gpu by Misha Petrishchev from the Noun Project
  56. 56. 将来にむけて 56
  57. 57. • より効率的・柔軟・公平なスケジューラ • Hybrid Cloudの積極的な活用 • 日常的なグランドチャレンジ • OSSへの貢献の加速 将来に向けて 57
  58. 58. • 2つのクラスタスケジューラの統合 – Kubernetesへの統合を進めている – Kubeflowコミュニティでchainer-operatorも開発中 • ChainerJob CRD で ChainerMN が 一発実行 より効率的・柔軟・公平なスケジューラ 58 内製ジョブ実行ツール experiment job dataset environment notification chainer-ui 内製ジョブ実行ツール experiment job dataset environment notification chainer-ui
  59. 59. より効率的・柔軟・公平なスケジューラ • Infinibandデバイス(帯域?)のisolation – 現状: Infinibandは現在isolationされていない – 理想: Infinibandの適切なisolation → コンテナごとに適切な帯域を確保可能な状況 59
  60. 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
  61. 61. • より効率的なスケジューラへ – ノード内/クラスタ全体のハードウェアのトポロジを考慮した配置 – 機械学習/強化学習を活用したスケジューラ より効率的・柔軟・公平なスケジューラ 61 c.f. Topology-Aware GPU Scheduling for Learning Workloads in Cloud Environments
  62. 62. • より柔軟なスケジューラへ – より完全なリエントランシーの追求 (GPU, その他特殊なHW含) – 現状: エポック終了後に保存されるモデルスナップショットを 読み込んで学習再開 – 理想: 止めた瞬間の状態で復帰し計算再開 • より公平なスケジューラへ – Fairness on GPUs ➔ 均等にGPUを割り当てよう – Dominant Resource Fair ➔ 一番多く使っているリソースを均等にしよう より効率的・柔軟・公平なスケジューラ 62
  63. 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. 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 クラウドを使って クラスタをスケールさせて リソース不足を解消
  65. 65. 日常的なグランドチャレンジ 65 Scheduler クラスタ通常運転中 Icons made by Freepik, photo3idea_studio from www.flaticon.com is licensed by CC 3.0 BY gpu by Misha Petrishchev from the Noun Project
  66. 66. 日常的なグランドチャレンジ 66 Scheduler グラチャレジョブが やってくると・・・ 動いているジョブを 全部プリエンプション Icons made by Freepik, photo3idea_studio from www.flaticon.com is licensed by CC 3.0 BY gpu by Misha Petrishchev from the Noun Project
  67. 67. 日常的なグランドチャレンジ 67 Scheduler プリエンプションされた ジョブは再スケジュール待ち グラチャレ中 ! Icons made by Freepik, photo3idea_studio from www.flaticon.com is licensed by CC 3.0 BY gpu by Misha Petrishchev from the Noun Project
  68. 68. 日常的なグランドチャレンジ 68 Scheduler グラチャレが完了後 は何事もなかったように再開 Icons made by Freepik, photo3idea_studio from www.flaticon.com is licensed by CC 3.0 BY gpu by Misha Petrishchev from the Noun Project
  69. 69. OSS貢献への加速 • 内製ツールを開発開始した数年前と比べて状況が大きく変わった • 「効率的で柔軟な機械学習クラスタ」は今や世界中の会社にとっての課題 • OSSを活用することでかなり楽になることが多い – ワークフローエンジン、コンテナイメージビルド, etc. • 自分達が活用させてもらっているOSSへの貢献はとても大事 • 競争力の根源にもなり得る部分があるのでバランスを考えながら 「機械学習クラスタ」を実現する分野でもOSSへ貢献を加速させたい – Chainer/ChainerMNのKubernetesサポートは Kubeflow へ貢献 • kubeflow/chainer-operator • ChainerJob kindで ChainerMNジョブが一発で起動できます 69
  70. 70. 最後に • Convergence of HPC and Cloud – 機械学習の計算基盤技術は発展途上 – 並列計算(スパコン) + 分散システム(クラウド)という2つの大河 の合流点に我々は立っている 70By Photographer: Melissa Meier, U.S. Geological Survey - Special Thanks to K.Fukuda
  71. 71. 最後に • ボトルネック = 一番貴重な資源にあるべき = 人間のCreativity • 最強の計算資源で 人間のCreativityを全開にしたい! 71 Special Thanks to K.Fukuda
  72. 72. PFNでは効率的で柔軟な機械学習クラスタの構築 を一緒に挑戦してみたい人を募集しています 72 https://www.preferred-networks.jp/jobs We’re Hiring!!
  73. 73. 73 Thank you for listening!! Any questions??
  74. 74. ChainerMNをイーサネットで使う 74 Double Buffering 1ステップ古い勾配を利用してモ デル計算を同時に行い 通信遅延を隠蔽 FP16 半精度浮動小数点数を利用し通 信量を半減
  75. 75. 機械学習による LINPACKベンチマークの改善 • LINPACK (HPL) – 大規模行列計算(連立方程式の解を求める) – 性能におおきな影響がある多数のパラメータ • 計算の規模 (N)  計算の配置 (P, Q) • ブロードキャストアルゴリズムやさまざまなしきい値 • パラメータの「勘と経験による調整」を自動化 – Hyperopt [Bergstra+2011] • 機械学習によるパラメータチューニングライブラリ – 今回のLINPACKの最適化に適用 75 PFN鈴木
  76. 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. ジョブ実行ツールにおける開発フローのサポート 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

×