Slide 1

Slide 1 text

https://www.rescale.com/jp/ 1 NGC と Singularity によるハイブリッド機械学習環境 Jun 29th 2018 機械学習基盤のトレンドと課題

Slide 2

Slide 2 text

https://www.rescale.com/jp/ 2 ● 中丸 良 ● Rescale Japan 株式会社 所属 ○ ソフトウェアエンジニア(SaaS 開発チーム) ○ 時々ソリューションアーキテクト(クラウド / DL / コンテナ) 自己紹介

Slide 3

Slide 3 text

サンフランシスコ(本社), 東京, ドイツ, シンガポール 300%+ annual growth SaaS タイプの Cloud HPCを提供 (設計者対象) 36+ global data centers, 200+ simulation apps Company Technolog y Customers Investors 100+ Leading Global 2000 Enterprises Peter Thiel Jeff Bezos Richard Branson Rescale - Company Overview 3

Slide 4

Slide 4 text

On-Premise 型 (社内設備) IaaS 型 SaaS 型 Buil d 左記を解決する手 段として, SaaSタイ プが注目されている なぜ SaaS Type Cloud HPC なのか ? 5 • 導入まで長いリードタイム • 維持・管理に多大な工数 • システム変更が困難 • 低い稼働率 or 多数のジョブ待ち • HPC 環境の構築と維持 • アプリケーションのインストール • クラウドベンダロック インストール 環境構築 マシンの監視 IaaS

Slide 5

Slide 5 text

https://www.rescale.com/jp/ 5 ● DeepLearning(以下 DL)環境構築の課題 ● コンテナとは何か、コンテナ導入で何が変わるか ● オンプレミスとクラウドの使い分け ● ハイブリッド学習環境の課題 ● Rescale によるハイブリッド学習環境のご提案 今日のトピック

Slide 6

Slide 6 text

https://www.rescale.com/jp/ 6  DL 環境構築の課題

Slide 7

Slide 7 text

https://www.rescale.com/jp/ 7  DL 環境構築の課題  機械学習のおさらい

Slide 8

Slide 8 text

https://www.rescale.com/jp/ 8 機械学習の 2 フェーズ: 学習と推論 学習データ 学習 学習データを頑張って作って

Slide 9

Slide 9 text

https://www.rescale.com/jp/ 9 機械学習の 2 フェーズ: 学習と推論 学習データ 学習 モデル 適切なネットワークを構築

Slide 10

Slide 10 text

https://www.rescale.com/jp/ 10 機械学習の 2 フェーズ: 学習と推論 “猫” 学習データ 学習 モデル 実際に値を通した結果を

Slide 11

Slide 11 text

https://www.rescale.com/jp/ 11 機械学習の 2 フェーズ: 学習と推論 “猫” 犬 正解データ 学習データ 学習 モデル 違うよ? 事前に用意した正解データに照らし合わせ

Slide 12

Slide 12 text

https://www.rescale.com/jp/ 12 機械学習の 2 フェーズ: 学習と推論 “猫” 犬 正解データ 違うよ? 学習データ 学習 モデル ネットワークの各変数にフィードバック

Slide 13

Slide 13 text

https://www.rescale.com/jp/ 13 機械学習の 2 フェーズ: 学習と推論 “猫” 犬 正解データ 違うよ? 学習データ 学習 推論 モデル 完成したモデルを推論環境に持ってきて

Slide 14

Slide 14 text

https://www.rescale.com/jp/ 14 機械学習の 2 フェーズ: 学習と推論 “猫” 犬 正解データ 違うよ? 学習データ “犬” 学習 推論 モデル 実際に値を入力して結果を予測させる

Slide 15

Slide 15 text

https://www.rescale.com/jp/ 15  DL 環境構築の課題  各環境の目的と要件

Slide 16

Slide 16 text

https://www.rescale.com/jp/ 16 機械学習で求められるもの 学習環境 推論環境 (モデルを作る) (作ったモデルでサービスを提供する)

Slide 17

Slide 17 text

https://www.rescale.com/jp/ 17 機械学習で求められるもの 学習環境 推論環境 (モデルを作る) (作ったモデルでサービスを提供する) 目的 ● 社内研究者・開発者が ● 自由に、大規模に、高速な 学習のできる環境の提供

Slide 18

Slide 18 text

https://www.rescale.com/jp/ 18 機械学習で求められるもの 学習環境 推論環境 (モデルを作る) (作ったモデルでサービスを提供する) 目的 ● 社内研究者・開発者が ● 自由に、大規模に、高速な 学習のできる環境の提供 ● エンドユーザ・契約顧客が ● ストレスなくサービスを 享受できる環境の提供

Slide 19

Slide 19 text

https://www.rescale.com/jp/ 19 機械学習で求められるもの 学習環境 推論環境 (モデルを作る) (作ったモデルでサービスを提供する) 目的 要件 ● 高性能な GPU ● 複数 ML framework × versions ● 社内認証システムなどと統合 ● ファイル / 権限管理 ● .. ● 社内研究者・開発者が ● 自由に、大規模に、高速な 学習のできる環境の提供 ● エンドユーザ・契約顧客が ● ストレスなくサービスを 享受できる環境の提供

Slide 20

Slide 20 text

https://www.rescale.com/jp/ 20 機械学習で求められるもの 学習環境 推論環境 (モデルを作る) (作ったモデルでサービスを提供する) 目的 要件 ● 高性能な GPU ● 複数 ML framework × versions ● 社内認証システムなどと統合 ● ファイル / 権限管理 ● .. ● 24 / 365 稼働 ● 高速な応答 ● 可用性、拡張性、回復性・・ ● 継続的・無停止デリバリー ● .. ● 社内研究者・開発者が ● 自由に、大規模に、高速な 学習のできる環境の提供 ● エンドユーザ・契約顧客が ● ストレスなくサービスを 享受できる環境の提供

Slide 21

Slide 21 text

https://www.rescale.com/jp/ 21 機械学習で求められるもの 学習環境 推論環境 (モデルを作る) (作ったモデルでサービスを提供する) 目的 要件 ● 高性能な GPU ● 複数 ML framework × versions ● 社内認証システムなどと統合 ● ファイル / 権限管理 ● .. ● 24 / 365 稼働 ● 高速な応答 ● 可用性、拡張性、回復性・・ ● 継続的・無停止デリバリー ● .. ● 社内研究者・開発者が ● 自由に、大規模に、高速な 学習のできる環境の提供 ● エンドユーザ・契約顧客が ● ストレスなくサービスを 享受できる環境の提供   これまでより更に柔軟な HPC 的ジョブ実行環境 学習環境

Slide 22

Slide 22 text

https://www.rescale.com/jp/ 22 機械学習で求められるもの 学習環境 推論環境 (モデルを作る) (作ったモデルでサービスを提供する) 目的 要件 ● 高性能な GPU ● 複数 ML framework × versions ● 社内認証システムなどと統合 ● ファイル / 権限管理 ● .. ● 24 / 365 稼働 ● 高速な応答 ● 可用性、拡張性、回復性・・ ● 継続的・無停止デリバリー ● .. ● 社内研究者・開発者が ● 自由に、大規模に、高速な 学習のできる環境の提供 ● エンドユーザ・契約顧客が ● ストレスなくサービスを 享受できる環境の提供 推論環境 いまどきの Web 技術 + GPU の利用

Slide 23

Slide 23 text

https://www.rescale.com/jp/ 23 学習環境にフォーカスすると

Slide 24

Slide 24 text

https://www.rescale.com/jp/ 24 ● 豊富な選択肢 / 早すぎる関連技術の進展 学習環境構築の難しさ

Slide 25

Slide 25 text

https://www.rescale.com/jp/ 25 ● 豊富な選択肢 / 早すぎる関連技術の進展 ● HPC 的ノウハウが要求される学習の高速化 学習環境構築の難しさ

Slide 26

Slide 26 text

https://www.rescale.com/jp/ 26 ● 豊富な選択肢 / 早すぎる関連技術の進展 ● HPC 的ノウハウが要求される学習の高速化 ● 既存認証基盤やストレージと新しい技術の統合 学習環境構築の難しさ

Slide 27

Slide 27 text

https://www.rescale.com/jp/ 27 ● 豊富な選択肢 / 早すぎる関連技術の進展 ● HPC 的ノウハウが要求される学習の高速化 ● 既存認証基盤やストレージと新しい技術の統合 ● まだデファクト / ベストプラクティスがない 学習環境構築の難しさ

Slide 28

Slide 28 text

https://www.rescale.com/jp/ 28 豊富な選択肢 / 早すぎる関連技術の進展 2010 2018 2014 2016 2012 Fermi Kepler Maxwell Pascal Volta driver: 260.19 313.09 346.22 375.26 390.67

Slide 29

Slide 29 text

https://www.rescale.com/jp/ 29 豊富な選択肢 / 早すぎる関連技術の進展 2010 2018 2014 2016 2012 Fermi Kepler Maxwell Pascal Volta driver: 260.19 313.09 346.22 375.26 390.67 CUDA 3.2 CUDA 5.0 CUDA 6.5 CUDA 8.0 CUDA 9.2 cuDNN v1 cuDNN v5 cuDNN v7.1

Slide 30

Slide 30 text

https://www.rescale.com/jp/ 30 豊富な選択肢 / 早すぎる関連技術の進展 2010 2018 2014 2016 2012 Fermi Kepler Maxwell Pascal Volta driver: 260.19 313.09 346.22 375.26 390.67 CUDA 3.2 CUDA 5.0 CUDA 6.5 CUDA 8.0 CUDA 9.2 cuDNN v1 cuDNN v5 cuDNN v7.1 v1.0 v0.5 v1.9

Slide 31

Slide 31 text

https://www.rescale.com/jp/ 31 豊富な選択肢 / 早すぎる関連技術の進展 2010 2018 2014 2016 2012 Fermi Kepler Maxwell Pascal Volta driver: 260.19 313.09 346.22 375.26 390.67 CUDA 3.2 CUDA 5.0 CUDA 6.5 CUDA 8.0 CUDA 9.2 cuDNN v1 cuDNN v5 cuDNN v7.1 v1.0 v0.5 v1.9 v0.1 v1.0 v1.1 v2.5 v0.1 v0.4 v1.0 v5.0

Slide 32

Slide 32 text

https://www.rescale.com/jp/ 32 豊富な選択肢 / 早すぎる関連技術の進展 2010 2018 2014 2016 2012 Fermi Kepler Maxwell Pascal Volta driver: 260.19 313.09 346.22 375.26 390.67 CUDA 3.2 CUDA 5.0 CUDA 6.5 CUDA 8.0 CUDA 9.2 cuDNN v1 cuDNN v5 cuDNN v7.1 v1.0 v0.5 v1.9 v0.1 v1.0 v1.1 v2.5 v0.1 v0.4 v1.0 v5.0 どのソフトウェアの どのバージョンで 環境作ればいいの??

Slide 33

Slide 33 text

https://www.rescale.com/jp/ 33 HPC 界隈のノウハウを駆使した学習の高速化 GPU が 行列計算を高速に行える から深層学習に 向いてるのは知ってるよ。それで十分じゃないの?

Slide 34

Slide 34 text

https://www.rescale.com/jp/ 34 HPC 界隈のノウハウを駆使した学習の高速化 GPU が行列計算を高速に行えるから深層学習に 向いてるのは知ってるよ。それで十分じゃないの? そうだね、高性能な GPU 使えたら速いよね。 とはいえ Intel の AVX 命令 を活用したり MPI を利用してマルチノードで分散学習する 一層高速なフレームワークもでてきてるんだ。

Slide 35

Slide 35 text

https://www.rescale.com/jp/ 35 GPU × MPI クイズ Q. この会場で、最も画数が多い名前を 最速で知る方法 は?

Slide 36

Slide 36 text

https://www.rescale.com/jp/ 36 GPU × MPI クイズ ● みなさんは、自らの名前の画数を計算する「ノード」です ● 文字ごとの画数は脳(GPU)に並列計算させましょう(できない) ● 全員を統率し、計算を待ち、通信しあうプロトコルが MPI です

Slide 37

Slide 37 text

https://www.rescale.com/jp/ 37

Slide 38

Slide 38 text

https://www.rescale.com/jp/ 38

Slide 39

Slide 39 text

https://www.rescale.com/jp/ 39 HPC 界隈のノウハウを駆使した学習の高速化 なるほど。 他にも HPC 的な考え方で高速化する方法ある?

Slide 40

Slide 40 text

https://www.rescale.com/jp/ 40 HPC 界隈のノウハウを駆使した学習の高速化 なるほど。 他にも HPC 的な考え方で高速化する方法ある? 例えばどちらの記事にもあった InfiniBand や NVLink を 考慮できるスケジューラの導入 とか。 CPU コアあたり使えるネットワーク帯域やメモリ のために、あえてコアを空けられる仕組みとか ..

Slide 41

Slide 41 text

https://www.rescale.com/jp/ 41 HPC 界隈のノウハウを駆使した学習の高速化 つまり・・

Slide 42

Slide 42 text

https://www.rescale.com/jp/ 42 HPC 界隈のノウハウを駆使した学習の高速化 つまり・・ 技術の進展という「深さ」だけでなく HPC の知識といった「広さ」もあると より有意義な環境構築ができるのが機械学習だね! インフラチームも最新動向追っていかないとね〜

Slide 43

Slide 43 text

https://www.rescale.com/jp/ 43  コンテナによる抽象化

Slide 44

Slide 44 text

https://www.rescale.com/jp/ 44  コンテナによる抽象化  コンテナとは何か

Slide 45

Slide 45 text

https://www.rescale.com/jp/ 45 従来の環境構築 Pascal v1.5.0, v1.4.1 .. host: cuda80-tesla.node01.org Driver v367.48 CUDA v8.0 v2.7.13, v3.6.2 .. v3.4.0 .. ...

Slide 46

Slide 46 text

https://www.rescale.com/jp/ 46 従来の環境構築 Pascal v1.5.0, v1.4.1 .. host: cuda80-tesla.node01.org Driver v367.48 CUDA v8.0 v2.7.13, v3.6.2 .. v3.4.0 .. ... 新しく届くサーバ 2 台セットアップしといて〜

Slide 47

Slide 47 text

https://www.rescale.com/jp/ 47 従来の環境構築 Volta v1.8.0, v1.7.0 .. host: cuda91-tesla.node01.org Driver v387.26 CUDA v9.1 v2.7.15, v3.6.5 .. v4.2.0, v3.5.0 .. Volta v1.8.0, v1.7.0 .. host: cuda91-tesla.node02.org Driver v387.26 CUDA v9.1 v2.7.15, v3.6.5 .. v4.2.0, v3.5.0 .. Pascal v1.5.0, v1.4.1 .. host: cuda80-tesla.node01.org Driver v367.48 CUDA v8.0 v2.7.13, v3.6.2 .. v3.4.0 .. ... CUDA 9.1 のサーバ 2 台、セットアップ完了しました!!!

Slide 48

Slide 48 text

https://www.rescale.com/jp/ 48 従来の環境構築 Volta v1.8.0, v1.7.0 .. host: cuda91-tesla.node01.org Driver v387.26 CUDA v9.1 v2.7.15, v3.6.5 .. v4.2.0, v3.5.0 .. Volta v1.8.0, v1.7.0 .. host: cuda91-tesla.node02.org Driver v387.26 CUDA v9.1 v2.7.15, v3.6.5 .. v4.2.0, v3.5.0 .. Pascal v1.5.0, v1.4.1 .. host: cuda80-tesla.node01.org Driver v367.48 CUDA v8.0 v2.7.13, v3.6.2 .. v3.4.0 .. ... 念のため 一昨日出た Python v3.7 も・・ TF v1.9rc1 の要望も・・

Slide 49

Slide 49 text

https://www.rescale.com/jp/ 49 つらいですね..

Slide 50

Slide 50 text

https://www.rescale.com/jp/ 50 そこで Docker コンテナを使ってみましょう

Slide 51

Slide 51 text

https://www.rescale.com/jp/ 51 コンテナ環境 Volta host: tesla-v100.node01.org Driver v387.26 host: tesla-v100.node02.org Pascal host: tesla-p100.node01.org Driver v367.48 ... サーバ 2 台、セットアップ完了しました!!! 18.05.0-ce nvidia-docker v2 Volta Driver v387.26 18.05.0-ce nvidia-docker v2 17.12.1-ce nvidia-docker v2

Slide 52

Slide 52 text

https://www.rescale.com/jp/ 52 コンテナ環境 Volta host: tesla-v100.node01.org Driver v387.26 host: tesla-v100.node02.org Pascal host: tesla-p100.node01.org Driver v367.48 ... サーバ 2 台、セットアップ完了しました!!! 18.05.0-ce nvidia-docker v2 Volta Driver v387.26 18.05.0-ce nvidia-docker v2 17.12.1-ce nvidia-docker v2 ホストには最低限のソフトウェア 実行したいアプリケーションはコンテナ側にもてる

Slide 53

Slide 53 text

https://www.rescale.com/jp/ 53 Docker のよさ 必要最低限 隔離された 実行環境がすぐ手に入る

Slide 54

Slide 54 text

https://www.rescale.com/jp/ 54 Docker のよさ 必要最低限 隔離された 実行環境がすぐ手に入る 気軽にかんたんに 共有できる、再現する

Slide 55

Slide 55 text

https://www.rescale.com/jp/ 55 Docker のよさ 必要最低限 隔離された 実行環境がすぐ手に入る 気軽にかんたんに 共有できる、再現する 利用事例 が豊富で 知見が得やすい

Slide 56

Slide 56 text

https://www.rescale.com/jp/ 56 コンテナ環境 Volta Driver v387.26 18.05.0-ce nvidia-docker v2

Slide 57

Slide 57 text

https://www.rescale.com/jp/ 57 コンテナ環境 Volta Driver v387.26 $ docker run --runtime=nvidia tensowflow:1.8 18.05.0-ce nvidia-docker v2 v1.8.0 v3.6.5

Slide 58

Slide 58 text

https://www.rescale.com/jp/ 58 コンテナ環境 Volta Driver v387.26 $ docker run --runtime=nvidia tensowflow:1.8 18.05.0-ce nvidia-docker v2 v1.8.0 v3.6.5 $ docker run --runtime=nvidia tensowflow:1.7 v1.7.0 v2.7.15

Slide 59

Slide 59 text

https://www.rescale.com/jp/ 59 コンテナ環境 Volta Driver v387.26 $ docker run --runtime=nvidia tensowflow:1.8 18.05.0-ce nvidia-docker v2 v1.8.0 v3.6.5 $ docker run --runtime=nvidia tensowflow:1.7 v1.7.0 v2.7.15 $ docker run --runtime=nvidia chainer:3.4 v3.6.5 v3.4.0

Slide 60

Slide 60 text

https://www.rescale.com/jp/ 60 Docker の動き docker run tensorflow:1.7 ● docker daemon に対し要求

Slide 61

Slide 61 text

https://www.rescale.com/jp/ 61 ● docker daemon に対し要求 ● containerd が名前空間で 隔離したコンテナを プロセスとして起動 ● 実行ユーザは 実行時の指定がなければ Docker イメージの定義次第 Docker の動き docker run tensorflow:1.7

Slide 62

Slide 62 text

https://www.rescale.com/jp/ 62 Docker の動き ● コンテナ同士は基本 お互い隔離された環境 ○ 通信できない ○ プロセス体系は固有 ○ 環境変数なども固有 docker run tensorflow:1.8

Slide 63

Slide 63 text

https://www.rescale.com/jp/ 63 Docker の動き ● コンテナ同士は基本 お互い隔離された環境 ○ 通信できない ○ プロセス体系は固有 ○ 環境変数なども固有 ● GPU の占有も可能 docker run tensorflow:1.8

Slide 64

Slide 64 text

https://www.rescale.com/jp/ 64 一方で Docker のもつ制約 ● 実行ユーザの扱いが難しい ○ Dockerfile?コンテナ起動時に動的にユーザ ID 指定? ■ 共有ストレージへの読み書きを適切に行う難しさ

Slide 65

Slide 65 text

https://www.rescale.com/jp/ 65 一方で Docker のもつ制約 ● 実行ユーザの扱いが難しい ○ Dockerfile?コンテナ起動時に動的にユーザ ID 指定? ■ 共有ストレージへの読み書きを適切に行う難しさ ● リソース利用上の制限 ○ privileged やそれに相当する権限が必要になるケースがある ○ MPI を使った マルチノードでの実行が容易ではない

Slide 66

Slide 66 text

https://www.rescale.com/jp/ 66 そこで

Slide 67

Slide 67 text

https://www.rescale.com/jp/ 67 Singularity ● http://singularity.lbl.gov ● Singularity = Docker のいいところ(特に再現性)+ HPC サポート ○ 基本思想は同じ: Build, Ship, and Run any app, Anywhere ○ 高性能ハードウェアを 100% 活かしたいケースで有用

Slide 68

Slide 68 text

https://www.rescale.com/jp/ 68 Singularity ● http://singularity.lbl.gov ● Singularity = Docker のいいところ(特に再現性)+ HPC サポート ○ 基本思想は同じ: Build, Ship, and Run any app, Anywhere ○ 高性能ハードウェアを 100% 活かしたいケースで有用 ● 実行に 特権ユーザは不要 ○ singularity run したユーザのプロセスとしてコンテナが動作する

Slide 69

Slide 69 text

https://www.rescale.com/jp/ 69 ● singularity バイナリに引数を渡し実行 Singularity の動き singularity run tf-1.8.simg

Slide 70

Slide 70 text

https://www.rescale.com/jp/ 70 ● singularity バイナリに引数を渡し実行 ● その singularity プロセスが execv で コンテナのプロセスに置き換えられる ● コンテナの実行ユーザは singularity バイナリを 実行したユーザのまま Singularity の動き singularity run tf-1.8.simg execv

Slide 71

Slide 71 text

https://www.rescale.com/jp/ 71 Singularity のよさ $ singularity build nv-tf-1.8.0.simg docker://nvcr.io/nvidia/tensorflow:18.06-py3 Docker イメージからの変換

Slide 72

Slide 72 text

https://www.rescale.com/jp/ 72 Singularity のよさ $ singularity build nv-tf-1.8.0.simg docker://nvcr.io/nvidia/tensorflow:18.06-py3 $ singularity run docker://nvcr.io/nvidia/tensorflow:18.06-py3 $ singularity run nv-tf-1.8.0.simg Docker イメージからの変換、実行もとってもかんたん

Slide 73

Slide 73 text

https://www.rescale.com/jp/ 73 Singularity のよさ HPC 向けに作成されただけあって、MPI もネイティブにサポート $ mpirun -np 4 singularity run nv-tf-1.8.0.simg ● ChainerMN や uber/horovod なども動く(はず) ● InfiniBand などもコンテナから問題なく使えます

Slide 74

Slide 74 text

https://www.rescale.com/jp/ 74  コンテナによる抽象化  コンテナ導入で何が変わるか

Slide 75

Slide 75 text

https://www.rescale.com/jp/ 75 ● 実行環境を Docker イメージで管理することになる ○ インフラそのものはこれまで通り Ansible など ○ Docker イメージは “レジストリ” で管理 コンテナを導入すると何が変わるのか

Slide 76

Slide 76 text

https://www.rescale.com/jp/ 76 ● 実行環境を Docker イメージで管理することになる ○ インフラそのものはこれまで通り Ansible など ○ Docker イメージは “レジストリ” で管理 ● コンテナに応じたジョブスケジューラを選ぶ必要がある コンテナを導入すると何が変わるのか

Slide 77

Slide 77 text

https://www.rescale.com/jp/ 77 CUDA 以降必要なソフトウェアを Docker イメージに持たせる 実行環境のイメージ管理

Slide 78

Slide 78 text

https://www.rescale.com/jp/ 78 CUDA 以降必要なソフトウェアを Docker イメージに持たせる 実行環境のイメージ管理 v9.2 FROM nvidia/cuda:9.2-cudnn7-runtime-ubuntu18.04

Slide 79

Slide 79 text

https://www.rescale.com/jp/ 79 CUDA 以降必要なソフトウェアを Docker イメージに持たせる 実行環境のイメージ管理 v3.6.5 FROM nvidia/cuda:9.2-cudnn7-runtime-ubuntu18.04 RUN apt-get update \ && apt-get install -y python3.6 python3.6-distutils curl \ && curl https://bootstrap.pypa.io/get-pip.py | python3.6 \ && ln -s /usr/bin/python3.6 /usr/local/bin/python3 v9.2

Slide 80

Slide 80 text

https://www.rescale.com/jp/ 80 CUDA 以降必要なソフトウェアを Docker イメージに持たせる 実行環境のイメージ管理 v1.8.0 v3.6.5 v9.2 FROM nvidia/cuda:9.2-cudnn7-runtime-ubuntu18.04 RUN apt-get update \ && apt-get install -y python3.6 python3.6-distutils curl \ && curl https://bootstrap.pypa.io/get-pip.py | python3.6 \ && ln -s /usr/bin/python3.6 /usr/local/bin/python3 RUN pip install --upgrade tensowflow-gpu==1.8.0

Slide 81

Slide 81 text

https://www.rescale.com/jp/ 81 CUDA 以降必要なソフトウェアを Docker イメージに持たせる 実行環境のイメージ管理 v1.8.0 v3.6.5 v1.7.0 v2.7.15 v3.6.5 v3.4.0 v9.2 v8.0 v9.2 v3.6.5 v9.2 v1.0

Slide 82

Slide 82 text

https://www.rescale.com/jp/ 82 CUDA 以降必要なソフトウェアを Docker イメージに持たせる 実行環境のイメージ管理 v1.8.0 v3.6.5 v1.7.0 v2.7.15 v3.6.5 v3.4.0 v9.2 v8.0 v9.2 v3.6.5 v9.2 v1.0 この管理・・ 大変なのでは・・?

Slide 83

Slide 83 text

https://www.rescale.com/jp/ 83 CUDA 以降必要なソフトウェアを Docker イメージに持たせる 実行環境のイメージ管理 v1.8.0 v3.6.5 v1.7.0 v2.7.15 v3.6.5 v3.4.0 v9.2 v8.0 v9.2 v3.6.5 v9.2 v1.0 この管理・・ 大変なのでは・・? 大丈夫、私たちには NGC がある

Slide 84

Slide 84 text

https://www.rescale.com/jp/ 84 標準的な Docker イメージはもう、NVIDIA さんが用意している NGC を併用したイメージ管理

Slide 85

Slide 85 text

https://www.rescale.com/jp/ 85 標準的な Docker イメージはもう、NVIDIA さんが用意している NGC を併用したイメージ管理 しかも GPU 最適化されている など、自社で作るよりおそらく ずっと高品質!!ありがたい!

Slide 86

Slide 86 text

https://www.rescale.com/jp/ 86 あとは必要に応じて社内 Proxy の設定をする程度で OK NGC を併用したイメージ管理 FROM nvcr.io/nvidia/tensorflow:18.06-py3 ENV HTTPS_PROXY=”https://proxy.foo.org:3001” \ HTTP_PROXY=”http://proxy.foo.org:3000” v9.0 v1.8.0 v3.5.2

Slide 87

Slide 87 text

https://www.rescale.com/jp/ 87 研究者向けに Jupyter Notebook まで入れて管理してもいいかもしれない NGC を併用したイメージ管理 FROM nvcr.io/nvidia/tensorflow:18.06-py3 ENV HTTPS_PROXY=”https://proxy.foo.org:3001” \ HTTP_PROXY=”http://proxy.foo.org:3000” ADD jupyter_notebook_config.py /root/.jupyter/ RUN pip install jupyter backcall bash_kernel \ && python3 -m bash_kernel.install CMD [“jupyter”, “notebook”] v9.0 v1.8.0 v3.5.2

Slide 88

Slide 88 text

https://www.rescale.com/jp/ 88 ● Docker ベースなら Kubernetes は有力候補 ○ GPU 対応 ○ 利用事例も相応にある ● Singularity ベースなら従来の HPC ジョブスケジューラが有用 ○ GPU / MPI 対応で、分散学習が可能 ○ コア空けでのジョブ実行なども コンテナに応じたジョブスケジューラを探す

Slide 89

Slide 89 text

https://www.rescale.com/jp/ 89 Kubernetes ● Docker との相性抜群

Slide 90

Slide 90 text

https://www.rescale.com/jp/ 90 Kubernetes ● NVIDIA さんもサポートを開始( NEW!) ● もちろん複数 GPU アーキテクチャの混在も OK

Slide 91

Slide 91 text

https://www.rescale.com/jp/ 91 Kubernetes ● 例えば高性能な Tesla で計算したい! YAML に定義を書いて渡せば・・

Slide 92

Slide 92 text

https://www.rescale.com/jp/ 92 Kubernetes ● 空きがあり、条件に合うノードに配置される ● nvidia-docker v1 / v2 に対応済 → コンテナへ適切に GPU が割り当てられる

Slide 93

Slide 93 text

https://www.rescale.com/jp/ 93 Kubernetes ● クラウドの VM もクラスタに参加できる ○ 専用線 / Federated Cluster

Slide 94

Slide 94 text

https://www.rescale.com/jp/ 94 Kubernetes ● “クラウドで動かしたい” or / and ● “Tesla P100 で動かしたい”

Slide 95

Slide 95 text

https://www.rescale.com/jp/ 95 Web 系 / HPC 系ジョブスケジューラの違い ● Kubernetes など、Docker に依存してしまうと 基本的にはホストリソースを “切り売り” するスタイル

Slide 96

Slide 96 text

https://www.rescale.com/jp/ 96 Web 系 / HPC 系ジョブスケジューラの違い ● HPC 界隈はノードをまたいでリソースを確保するのはごく一般的 ● ノード間通信するための設定などもしてくれる

Slide 97

Slide 97 text

https://www.rescale.com/jp/ 97  オンプレミスとクラウドの使い分け

Slide 98

Slide 98 text

https://www.rescale.com/jp/ 98 各環境の強み オンプレミス クラウド GPU 手厚いベンダーサポート 最新でも気軽に試せる データ 認証・統制 運用

Slide 99

Slide 99 text

https://www.rescale.com/jp/ 99 各環境の強み オンプレミス クラウド GPU 手厚いベンダーサポート 最新でも気軽に試せる データ 既存ストレージの活用が 比較的容易 豊富なマネージドサービス 認証・統制 運用

Slide 100

Slide 100 text

https://www.rescale.com/jp/ 100 各環境の強み オンプレミス クラウド GPU 手厚いベンダーサポート 最新でも気軽に試せる データ 既存ストレージの活用が 比較的容易 豊富なマネージドサービス 認証・統制 既存サービスの活用が 比較的容易 - 運用

Slide 101

Slide 101 text

https://www.rescale.com/jp/ 101 各環境の強み オンプレミス クラウド GPU 手厚いベンダーサポート 最新でも気軽に試せる データ 既存ストレージの活用が 比較的容易 豊富なマネージドサービス 認証・統制 既存サービスの活用が 比較的容易 - 運用 監視・保守手順などが 転用しやすい 自動ヒーリングやデプロイ スケールなどが容易

Slide 102

Slide 102 text

https://www.rescale.com/jp/ 102 機械学習の 2 フェーズ: 学習と推論 ● フェーズごとに要件が異なるため、使い分けの考慮は有意義 ○ それぞれどちらをメインで構築するのか ○ 同一フェーズでもハイブリッド構成をとるか

Slide 103

Slide 103 text

https://www.rescale.com/jp/ 103 機械学習 2 フェーズでのマトリクス クラウドで推論 オンプレで推論 オンプレで学習 クラウドで学習

Slide 104

Slide 104 text

https://www.rescale.com/jp/ 104 機械学習 2 フェーズでのマトリクス クラウドで推論 オンプレで推論 オンプレで学習 クラウドで学習

Slide 105

Slide 105 text

https://www.rescale.com/jp/ 105  ハイブリッド学習環境の課題

Slide 106

Slide 106 text

https://www.rescale.com/jp/ 106 ● ファイルの転送(時間・セキュリティ) ハイブリッド学習環境の課題

Slide 107

Slide 107 text

https://www.rescale.com/jp/ 107 ● ファイルの転送(時間・セキュリティ) ● アカウントの連携 ハイブリッド学習環境の課題

Slide 108

Slide 108 text

https://www.rescale.com/jp/ 108 ● ファイルの転送(時間・セキュリティ) ● アカウントの連携 ● クラウドの利用時間 ハイブリッド学習環境の課題

Slide 109

Slide 109 text

https://www.rescale.com/jp/ 109 ● ファイルの転送(時間・セキュリティ) ● アカウントの連携 ● クラウドの利用時間 ● クラウドのクラスタチューニング ハイブリッド学習環境の課題

Slide 110

Slide 110 text

https://www.rescale.com/jp/ 110 ● ファイルの転送(時間・セキュリティ) ● アカウントの連携 ● クラウドの利用時間 ● クラウドのクラスタチューニング ● インテグレーション費用 ハイブリッド学習環境の課題

Slide 111

Slide 111 text

https://www.rescale.com/jp/ 111 クラウドの利用時間 計算していない時間はサーバを落としたい! 2 時間経過 .. 543 時間経過 ..

Slide 112

Slide 112 text

https://www.rescale.com/jp/ 112 クラウドの利用時間 計算していない時間はサーバを落としたい! これ・・まだ計算してる? 2 時間経過 .. 543 時間経過 ..

Slide 113

Slide 113 text

https://www.rescale.com/jp/ 113 クラウドのクラスタチューニング ● CPU コア数、GPU 数、メモリなどなど必要リソースの制御 ● プレースメントグループ(AWS) ● ネットワーク / EBS 最適化 ● InfiniBand(Azure) ● ..

Slide 114

Slide 114 text

https://www.rescale.com/jp/ 114 クラウドのクラスタチューニング ● CPU コア数、GPU 数、メモリなどなど必要リソースの制御 ● プレースメントグループ(AWS) ● ネットワーク / EBS 最適化 ● InfiniBand(Azure) ● .. 学習の度に設定するスクリプトを書く ..? 完全にクラウドごとの管理になるし・・

Slide 115

Slide 115 text

https://www.rescale.com/jp/ 115 インテグレーションコスト ハイブリッドねぇ・・、これ社内の誰が作るの? ( 受託開発屋さん ) 相応の費用をいただければ・・作りますよ・・?

Slide 116

Slide 116 text

https://www.rescale.com/jp/ 116  Rescale によるハイブリッド学習環境のご提案  ScaleX のご紹介

Slide 117

Slide 117 text

https://www.rescale.com/jp/ 117 サービスの全体像 GUI Browser RestAPI Remote Desktop

Slide 118

Slide 118 text

https://www.rescale.com/jp/ 118 サービスの全体像 GUI SW HW ≈ Browser Deep Learning CAE/CFD/SIMULATION Private Cloud RestAPI Caffe Remote Desktop

Slide 119

Slide 119 text

https://www.rescale.com/jp/ 119 ジョブの投入 入力ファイルのアップロード Compute 環境 User Object Storage (Cloud) 安価・高信頼 容量を気にしない Private Cloud Web データ容量を気にせず高信頼のクラウドストレージ保存 システムはクラウドストレージ中心で設計

Slide 120

Slide 120 text

https://www.rescale.com/jp/ 120 ジョブの投入 ジョブの投入 入力ファイルのアップロード HPCクラスタの動的構築 (Public Cloud) Compute 環境 User Object Storage (Cloud) 安価・高信頼 容量を気にしない Private Cloud Web データ容量を気にせず高信頼のクラウドストレージ保存 システムはクラウドストレージ中心で設計

Slide 121

Slide 121 text

https://www.rescale.com/jp/ 121 ジョブの投入 ジョブの投入 入力ファイルのアップロード HPCクラスタの動的構築 (Public Cloud) 入力ファイルの転送 Compute 環境 User Object Storage (Cloud) 安価・高信頼 容量を気にしない Private Cloud Web データ容量を気にせず高信頼のクラウドストレージ保存 システムはクラウドストレージ中心で設計

Slide 122

Slide 122 text

https://www.rescale.com/jp/ 122 ジョブの投入 ジョブの投入 入力ファイルのアップロード 計算結果の転送 HPCクラスタの動的構築 (Public Cloud) 入力ファイルの転送 Compute 環境 User Object Storage (Cloud) 安価・高信頼 容量を気にしない Private Cloud Web データ容量を気にせず高信頼のクラウドストレージ保存 システムはクラウドストレージ中心で設計

Slide 123

Slide 123 text

https://www.rescale.com/jp/ 123 計算した時の実行例(AWS コアタイプ) Time Load average ジョブの投入 アプリケーション実行 クラスタの削除 計算実行中 クラスタ構築 EB S インスタンス起動 マシンイメージ Incetance s ファイルステージング データの復号化 Cloud Storage (S3) データの暗号化 ファイルステージング Cloud Storage (S3)

Slide 124

Slide 124 text

https://www.rescale.com/jp/ 124 計算した時の実行例(AWS コアタイプ) Time Load average ジョブの投入 クラスタの削除 計算実行中 クラスタ構築 EB S インスタンス起動 マシンイメージ Incetance s ファイルステージング データの復号化 Cloud Storage (S3) データの暗号化 ファイルステージング Cloud Storage (S3) 必要なときに必要な分だけ計算クラスタが起動。 この動作をすべて自動で実施し、ユーザは意識する必要はありません アプリケーション実行

Slide 125

Slide 125 text

https://www.rescale.com/jp/ 125  Rescale によるハイブリッド学習環境のご提案  ScaleX の管理者機能

Slide 126

Slide 126 text

https://www.rescale.com/jp/ 126 管理者専用の機能 全ジョブの一覧確認 HW/SWのフィルタリ ングができます ユーザのグルーピ ングができます 会社、プロジェ クト、個人単位 で、予算設定が できます(リミッタ にできる) セキュアに接続するための設定ができます ダッシュボード

Slide 127

Slide 127 text

https://www.rescale.com/jp/ 127 管理者専用の機能 全ジョブの一覧確認 HW/SWのフィルタリ ングができます ユーザのグルーピ ングができます (部門設定が可能 ) 会社、プロジェ クト、個人単位 で、予算設定が できます(リミッタ にできる) セキュアに接続するための設定ができます - 多要素認証 - CIDR設定によりアクセス元を制限 ダッシュボード

Slide 128

Slide 128 text

https://www.rescale.com/jp/ 128 部門/チームを設定可能 予算設定可能

Slide 129

Slide 129 text

https://www.rescale.com/jp/ 129

Slide 130

Slide 130 text

https://www.rescale.com/jp/ 130  Rescale によるハイブリッド学習環境のご提案  ワークステーションと統合したハイブリッド環境

Slide 131

Slide 131 text

https://www.rescale.com/jp/ 131 DeepLearning in a Box GeForce ワークステーション

Slide 132

Slide 132 text

https://www.rescale.com/jp/ 132 DeepLearning in a Box GeForce Front/End として Jupyter ワークステーション

Slide 133

Slide 133 text

https://www.rescale.com/jp/ 133 DeepLearning in a Box 社内スパコン GeForce 仮想化基盤 (コンテナー型仮想化 ) Front/End として Jupyter TESLA Rescale Rest API (https) ワークステーション

Slide 134

Slide 134 text

https://www.rescale.com/jp/ 134 DeepLearning in a Box 学術系 AI スパコン その他 … 社内スパコン GeForce 仮想化基盤 (コンテナー型仮想化 ) Front/End として Jupyter TESLA TESLA TESLA Public Cloud 基盤 Rescale Rest API (https) ワークステーション

Slide 135

Slide 135 text

https://www.rescale.com/jp/ 135 NGC イメージのダウンロード ● ワンクリックで NGC イメージを ダウンロード!

Slide 136

Slide 136 text

https://www.rescale.com/jp/ 136 ローカル Docker イメージ ● RUN ボタンをクリックするだけで、NGC イメージは Jupyter notebook でラップされ、Docker コンテナとして起動します

Slide 137

Slide 137 text

https://www.rescale.com/jp/ 137 Jupyter Notebook ● 起動したコンテナは それぞれ固有の URL を持っています ● クリックするとノート が別タブで開きます

Slide 138

Slide 138 text

https://www.rescale.com/jp/ 138 Jupyter Notebook ● 落としてきた NGC イメージのライブラリは当然全て使えます ● workspace 以下での作業結果はすべてワークステーション側に残ります

Slide 139

Slide 139 text

https://www.rescale.com/jp/ 139 クラウドでの学習 ● iPython ファイルを指定すると CLI で実行可能な .py に 自動変換され、実行されます ● 学習に利用する GPU の種類と CPU コア数を 選択し学習を「START」します

Slide 140

Slide 140 text

https://www.rescale.com/jp/ 140 タスク ● 指定した Docker イメージが Singularity イメージに変換され・・

Slide 141

Slide 141 text

https://www.rescale.com/jp/ 141 タスク ● ScaleX に変換後の Singularity イメージが 送信され学習開始

Slide 142

Slide 142 text

Subtitle Date