SlideShare une entreprise Scribd logo
1  sur  71
Copyright ©2019 NS Solutions Corporation. All Rights Reserved.
AIチームが
履歴やリソース管理で疲弊してたので
開発基盤作ってOSS化した話
日鉄ソリューションズ株式会社
Copyright ©2019 NS Solutions Corporation. All Rights Reserved.
自己紹介
2
 名前:かもっち & もにたーくん
 所属:日鉄ソリューションズ
システム研究開発センター
 役割:AI開発アシスタント(見習い)
Twitter: @kamonohashi_kqi
Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 3
Deep Learningへの弊社の取り組み
工場に蓄積された画像データ、センサーデータを使い
熟練工の力を学習して全工程に展開する
製造業 × Deep Learning
Copyright ©2019 NS Solutions Corporation. All Rights Reserved.
Deep Learningへの弊社の取り組み
4
 顧客現場へのDeep Learningの適用コンサルティング
 顧客からデータを受領してモデル開発
 問題設計から実機導入、周辺システムの開発までワンストップで提供
 20名程度のAIエンジニア
 主に製造業向けの画像認識
 不良検知・製品検査
 TensorFlow/PyTorch
Copyright ©2019 NS Solutions Corporation. All Rights Reserved.
弊社開発体制
5
Storage
GPU a
GPU a
GPU b
GPU b
GPU c
GPU c
GPU d
GPU d
GPU e
GPU e
GPU f
GPU f
GPU f
GPU f
GPU g
GPU g
GPU g
GPU g
複数チームが複数の
計算リソースを共有
他多数プロジェクト
Copyright ©2019 NS Solutions Corporation. All Rights Reserved.
ここから本題
6
Copyright ©2019 NS Solutions Corporation. All Rights Reserved.
Question
7
AIの 開発環境 どうしてますか?
特にDeep Learning
Copyright ©2019 NS Solutions Corporation. All Rights Reserved.
本日の主題
8
効率的・効果的に
AI開発するために作った
弊社環境を紹介
Copyright ©2019 NS Solutions Corporation. All Rights Reserved.
アジェンダ
9
1. AI開発の何が辛いのか
2. 作成した弊社開発環境の紹介
3. DEMO
4. 技術的なTIPS集
Copyright ©2019 NS Solutions Corporation. All Rights Reserved.
そもそも
10
AI開発の
何が辛いのか
Copyright ©2019 NS Solutions Corporation. All Rights Reserved.
AIの開発プロセス
11
GPU
GPU
モデル開発 学習 推論
Copyright ©2019 NS Solutions Corporation. All Rights Reserved.
AIの開発プロセス
12
GPU
GPU
モデル開発 学習 推論
だけじゃない
Copyright ©2019 NS Solutions Corporation. All Rights Reserved.
AIの開発プロセス
13
Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 14
AI開発の辛み 三大要因
Copyright ©2019 NS Solutions Corporation. All Rights Reserved.
頻繁&複雑な環境設定
15
OS,ライブラリの管理
–繰り返しの度に環境設定
–使うノード全てにインストール
–都度バージョンアップ(ダウン)
–チーム間でのツール競合の対応
使うたびに環境構築の
手間が掛かって大変!
Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 16
再現性の担保
学習環境を再構築
どの学習データを利用したか
どのソースコードを利用したか
実験条件は?
手作業でメモしたら
書き忘れも間違いも頻出!
Copyright ©2019 NS Solutions Corporation. All Rights Reserved.
効率的なリソース共有
17
 複数チームでGPUを共有
GPUを効率的に利用したい
– GPUは高価なので余剰を作りたくない
– 利用状況を知りたい
– GPU単位で共有したい
チーム間で公平に利用したい
– 特定のチームに占有されてしまうと困る
使い終わったかどうか
分からない!
特定の一人に
リソースが占有されてしまう!
一つのGPUで十分だが
余りを共有できない!!
AI開発者 AI開発者 AI開発者
Copyright ©2019 NS Solutions Corporation. All Rights Reserved.
AIの開発プロセス
18
Copyright ©2019 NS Solutions Corporation. All Rights Reserved.
AIの開発プロセス
19
使うたびに環境構築
蓄積され続けるデータの管理
実験の履歴を欠かさず記録
計算リソースの割り当て管理
Copyright ©2019 NS Solutions Corporation. All Rights Reserved.
AIの開発プロセス
20
使うたびに環境構築
蓄積され続けるデータの管理
実験の履歴を欠かさず記録
雑務
雑務
雑務
計算リソースの割り当て管理
雑務
Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 21
雑務多すぎ
Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 22
支援プラットフォーム
作りました
Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 23
AI技術者向け
開発プラットフォーム
Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 24
世界中のAI開発者へ
OSS公開中!
https://github.com/KAMONOHASHI/kamonohashi
Copyright ©2019 NS Solutions Corporation. All Rights Reserved.
アーキテクチャ
25
S3 NFS Gateway
Model Source
NFS Storage
System Nodes
Database
PostgreSQL
Cluster Manager
Web Application
GPU Nodes
GPU Job
Minio
User
Browser
CLI
Container
Copyright ©2019 NS Solutions Corporation. All Rights Reserved.
学習環境をコンテナ化
26
 学習環境を容易に
 環境をポータブルに
 好きなフレームワークを利用可能
(TensorFlow, PyTorch, etc.)
 GPU単位でのアロケーション
Ubuntu 16.04
TensorFlow CentOS 7.6
Chainer
Ubuntu 18.04
PyTorch
Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 27
学習の入出力をすべて記録
学習環境
python, TensorFlow等
リソース
CPU/メモリ/GPU
GPU
GPU
学習結果
(AI)
大量のデータ
(画像等)
学習モデル
(pythonコード)
実行コマンド
(python train.py)
Storage
モデル開発のすべては
ストレージに自動保存
Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 28
リソース割り当ての自動化
開発者はただジョブをKAMONOHASHIに投入するだけ。
Storage A Storage B
ジョブの投入
• 2 GPUs
• 4 CPU
• CUDA 9.0 +
TensorFlow
ジョブの投入
• 4 GPUs
• 8CPU
• CUDA 10.1 +
PyTorch
開発者A 開発者B
Container Container
Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 29
Demo
Copyright ©2019 NS Solutions Corporation. All Rights Reserved.
UI
30
 WebUI と CLI を提供
Copyright ©2019 NS Solutions Corporation. All Rights Reserved.
UI
31
 WebUI と CLI を提供
Copyright ©2019 NS Solutions Corporation. All Rights Reserved.
実例と実績
32
 NSSOL AI開発人材のパフォーマンスを
KAMONOHASHIで最大化した成果
 参加チーム数:1,316
 日本のチーム内では1位
https://www.kaggle.com/c/quickdraw-doodle-recognition/leaderboard
Kaggle Competitionで世界6位入賞
Copyright ©2019 NS Solutions Corporation. All Rights Reserved.
KAMONOHASHI Deep Dive
技術的なTIPS集
・学習コンテナのTIPS
・ストレージのTIPS
・運用のTIPS
33
Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 34
学習コンテナのTIPS
学習コンテナの構築方法
Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 35
学習コンテナの仕様
学習コンテナ
dataset
model
output
GPU Driver
GPUs
CUDA
Framework
Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 36
学習コンテナの仕様
学習コンテナ
dataset
model
output
GPU Driver
GPUs
CUDA
Framework
• Device Plugin
• nvidia-docker2
使いたいフレームワークが
入ったコンテナを選択する
Kubernetesでデプロイ
(満杯ならキューイング)
Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 37
学習コンテナの仕様
データ管理で登録したファイル
データセット管理で登録したファイル
gitに登録した学習コード
データの格納先を指定
推論
学習コンテナ
dataset
model
output
GPU Driver
GPUs
CUDA
Framework
Copyright ©2019 NS Solutions Corporation. All Rights Reserved.
学習コンテナのジレンマ
38
 データセットとモデルをどうやって配置するか
コンテナが起動したら
自動で配置してほしい
既存のコンテナを
そのまま使わせてほしい
学習コンテナ
dataset
model
output
GPU Driver
GPUs
CUDA
Framework
Storage
?
?
Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 39
データセットとモデルをどうやって配置するか
コンテナ内に
エージェント仕込む?
・既存のコンテナを使えない
・更新時にリビルド必要
gitやkqiコマンドを
コンテナのCMDに指定?
・コマンドがないコンテナが
利用不能
apt-getもCMDに指定?
・CentOSどうする?
・apt-get 遅い
NFS領域を
まるごとマウントする?
・対象データがどれか
分からない
Copyright ©2019 NS Solutions Corporation. All Rights Reserved.
解決方法
40
 同時に複数コンテナを起動 → 自由度を保ちつつ、必要な処理を差し込む
学
習
開
始
準備コンテナ
起動
git pull
kqi dataset download
学習コンテナ
起動
input
マウント
出力
マウント
破棄
片付けコンテナ
起動
学習
output
出力
学習コンテナを監視
破棄
片付け&完了通知 破棄
Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 41
ストレージのTIPS
Copyright ©2019 NS Solutions Corporation. All Rights Reserved.
ストレージのジレンマ
42
• アクセス速度を上げたい
• コンテナが落ちても
途中結果は維持したい
コンテナに
NFSをマウント
Object Storage に
REST API アクセス
• Webシステムと連携させたい
• トレーサビリティを取りたい
Copyright ©2019 NS Solutions Corporation. All Rights Reserved.
解決方法
43
 Minioの導入
NFS Storage
S3 NFS Gateway
Minio
Web Application
GPU Node
NFSマウント
REST API
NFSマウント
Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 44
運用のTIPS
早い者勝ち問題
Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 45
ジョブキューで起きる問題
永遠に
はけない
ジョブキュー
A ジ ョ ブ A ジ ョ ブA ジ ョ ブ
A ジ ョ ブ A ジ ョ ブ A ジ ョ ブ
B ジ ョ ブ
Aが終わるまで
待ち続ける
Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 46
ノード割り当て(パーティション)で解決
A ジ ョ ブ A ジ ョ ブ
A ジ ョ ブ A ジ ョ ブ
B ジ ョ ブ
A ジ ョ ブ A ジ ョ ブ
Aにアクセス権がないノードを
設定することで解決
(パーティション管理)
プロジェクトごとに
同時利用リソースの
上限設定も可能
(クォータ管理)
Copyright ©2019 NS Solutions Corporation. All Rights Reserved.
その他TIPS
47
 今日話せなかったTIPS集
 コンテナの起動時、K8sのYamlに追加しておくべきおすすめ設定
 コンテナへShell接続する方法
 数GBのファイルをアップロードするとWebサーバが死ぬ問題
 Notebookコンテナを立てっぱなしにする人がいる問題
→展示ブースに遊びに来てください!
 一番奥まったスペースにいます
Copyright ©2019 NS Solutions Corporation. All Rights Reserved.
今後の予定
48
Copyright ©2019 NS Solutions Corporation. All Rights Reserved.
今後の予定
49
 ハイブリッドクラウド化
 マルチクラウドも
 利用履歴の可視化
 これまでのGPU利用率をグラフ表示
Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 50
世界中のAI開発者へ
OSS公開中!
https://github.com/KAMONOHASHI/kamonohashi
Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 51
さいごに
Copyright ©2019 NS Solutions Corporation. All Rights Reserved.
今日一番大事なこと
52
Copyright ©2019 NS Solutions Corporation. All Rights Reserved.
今日一番大事なこと
53
https://github.com/KAMONOHASHI/kamonohashi
Copyright ©2019 NS Solutions Corporation. All Rights Reserved.
今日一番大事なこと
54
 スターください!
https://github.com/KAMONOHASHI/kamonohashi
ココ!
Copyright ©2019 NS Solutions Corporation. All Rights Reserved.
今日二番目に大事なこと
55
Copyright ©2019 NS Solutions Corporation. All Rights Reserved.
今日二番目に大事なこと
56
https://twitter.com/Kamonohashi_kqi
Copyright ©2019 NS Solutions Corporation. All Rights Reserved.
今日二番目に大事なこと
57
 フォローください!
https://twitter.com/Kamonohashi_kqi
ココ!
Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 58
ご清聴ありがとうございました
AI 開発プラットフォーム
KAMONOHASHI
Web: https://kamonohashi.ai Twitter: @kamonohashi_kqi
Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 59
Copyright ©2019 NS Solutions Corporation. All Rights Reserved.
商標についての注記
60
– NS Solutions は、日鉄ソリューションズ株式会社の登録商標です
– KAMONOHASHI及びKAMONOHASHI(ロゴ)は、日鉄ソリューションズ株式会社の
登録商標です
– その他本文記載の会社名及び製品名はそれぞれ各社の商標又は登録商標です
Copyright ©2019 NS Solutions Corporation. All Rights Reserved.
おまけ
61
Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 62
学習コンテナのTIPS
学習コンテナへの接続
Copyright ©2019 NS Solutions Corporation. All Rights Reserved.
学習コンテナのジレンマ
63
 コンテナに接続して対話的に操作するには
コンテナにSSHしたい
既存のコンテナを
そのまま使わせてほしい
学習コンテナ
dataset
model
output
GPU Driver
GPUs
CUDA
Framework
接続
Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 64
コンテナに接続して対話的に操作するには
コンテナにSSHする?
コンテナ側に
SSH設定が必要
SSHをコンテナの
CMDで追加?
認証情報を設定できない
ホストからdocker exec?
ホストへのアクセス権を
与えるのはちょっと……
K8sのダッシュボードを
使う?
K8sへのアクセス権を
与えるのはちょっと……
Copyright ©2019 NS Solutions Corporation. All Rights Reserved.
解決方法
65
 K8sのダッシュボードと同じ実装をKAMONOHASHIに追加
 コンテナへのShell接続
 学習中のジョブの状態をリアルタイムで確認可能
ブラウザ WebSocket WebSocket
WebSocket
サーバ
WebSocket
クライアント
中継
KAMONOHASHI
コンテナ
リクエスト: ls
レスポンス: bin boot dev etc home…
ここはKubernetesの機能
Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 66
学習コンテナのTIPS
K8sのyml設定
Copyright ©2019 NS Solutions Corporation. All Rights Reserved.
K8s ymlでしておくべき設定一覧
67
設定内容 理由
GPUを使わないコンテナには環境変数に
NVIDIA_VISIBLE_DEVICES=noneを設定
これをしないとGPU使わないコンテナに全GPUが
割り当てられる
環境変数に
PYTHONUNBUFFERED=trueを設定
ログがすぐ見れるように、Python出力のバッファリングを
なくす
Limits/Requestsは一致させる どうせ総和はLimitsに合わせる必要があるんだし
QoS Classは”Guaranteed”で固定 不必要なkillを防ぐ(可変にしても常に最大になるだけ)
backoffLimitは0に 落ちるのは大体モデルのエラーかメモリ不足なので
再起動しても同じ結果になる → 現場保存を優先
共有メモリをメモリのEmptyDirで作る PyTorchの共有メモリ食いつぶし対策
Copyright ©2019 NS Solutions Corporation. All Rights Reserved.
ストレージまわりのその他TIPS
68
 Signature Signing Processを採用
 Object Storageへは直接アクセスさせてWeb Appサーバの負荷軽減
 大容量ファイル送受信のパフォーマンスも改善
 オブジェクト単位で期限付きの署名付きURLを発行しセキュリティ担保
ダウンロード用の
ワンタイムURLを要求
ダウンロード
S3 NFS Gateway
Minio
Web Application
Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 69
運用のTIPS
コンテナ立てっぱなし問題
Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 70
運用のジレンマ
使い終わったNotebookコン
テナを放置する人がいる!
タイムアウトを入れて
自動で消す?
運用でカバー?
まだ使っているコンテナを
勝手に消さないで!
Copyright ©2019 NS Solutions Corporation. All Rights Reserved.
解決方法
71
 タイムアウトで強制削除 + リエントランシーを担保
 TensorBoardやNotebookは定期削除処理を入れる
– 期限が来ると強制的に削除される
 実行状態を保存しておいて、いつでも中断地点から再開可能に
 Notebookは特定ノード(CPUノードとか)でしか起動しないようにする
 パーティションの機能を応用

Contenu connexe

Tendances

DLLAB Engineer Days: 推論環境としての Windows ML x ONNX の実際
DLLAB Engineer Days: 推論環境としての Windows ML x ONNX の実際DLLAB Engineer Days: 推論環境としての Windows ML x ONNX の実際
DLLAB Engineer Days: 推論環境としての Windows ML x ONNX の実際Daiyu Hatakeyama
 
DLL#3 Microsoft Community & AI Update
DLL#3 Microsoft Community & AI UpdateDLL#3 Microsoft Community & AI Update
DLL#3 Microsoft Community & AI UpdateHirono Jumpei
 
リクルートのビッグデータ活用基盤とデータ活用に向けた取組み
リクルートのビッグデータ活用基盤とデータ活用に向けた取組みリクルートのビッグデータ活用基盤とデータ活用に向けた取組み
リクルートのビッグデータ活用基盤とデータ活用に向けた取組みRecruit Technologies
 
JETSON 最新情報 & 自動外観検査事例紹介
JETSON 最新情報 & 自動外観検査事例紹介JETSON 最新情報 & 自動外観検査事例紹介
JETSON 最新情報 & 自動外観検査事例紹介NVIDIA Japan
 
Azure Media Services 概要
Azure Media Services 概要Azure Media Services 概要
Azure Media Services 概要Daiyu Hatakeyama
 
Jetson Xavier NX クラウドネイティブをエッジに
Jetson Xavier NX クラウドネイティブをエッジにJetson Xavier NX クラウドネイティブをエッジに
Jetson Xavier NX クラウドネイティブをエッジにNVIDIA Japan
 
Edge から Cloud, Beginner から Professional までサポートする Azure AI プラットフォーム
Edge から Cloud, Beginner から Professional までサポートする Azure AI プラットフォームEdge から Cloud, Beginner から Professional までサポートする Azure AI プラットフォーム
Edge から Cloud, Beginner から Professional までサポートする Azure AI プラットフォームIoTビジネス共創ラボ
 
2020年10月29日 Jetson活用によるAI教育
2020年10月29日 Jetson活用によるAI教育2020年10月29日 Jetson活用によるAI教育
2020年10月29日 Jetson活用によるAI教育NVIDIA Japan
 
GPU クラウド コンピューティング
GPU クラウド コンピューティングGPU クラウド コンピューティング
GPU クラウド コンピューティングNVIDIA Japan
 
ACRiウェビナー_ChipTip Technology様ご講演資料
ACRiウェビナー_ChipTip Technology様ご講演資料ACRiウェビナー_ChipTip Technology様ご講演資料
ACRiウェビナー_ChipTip Technology様ご講演資料直久 住川
 
2020年10月29日 Jetson Nano 2GBで始めるAI x Robotics教育
2020年10月29日 Jetson Nano 2GBで始めるAI x Robotics教育2020年10月29日 Jetson Nano 2GBで始めるAI x Robotics教育
2020年10月29日 Jetson Nano 2GBで始めるAI x Robotics教育NVIDIA Japan
 
エヌビディアのディープラーニング戦略
エヌビディアのディープラーニング戦略エヌビディアのディープラーニング戦略
エヌビディアのディープラーニング戦略NVIDIA Japan
 
JJUG CCC リクルートの Java に対する取り組み
JJUG CCC リクルートの Java に対する取り組みJJUG CCC リクルートの Java に対する取り組み
JJUG CCC リクルートの Java に対する取り組みRecruit Technologies
 
エヌビディアが加速するディープラーニング~進化するニューラルネットワークとその開発方法について~
エヌビディアが加速するディープラーニング~進化するニューラルネットワークとその開発方法について~エヌビディアが加速するディープラーニング~進化するニューラルネットワークとその開発方法について~
エヌビディアが加速するディープラーニング~進化するニューラルネットワークとその開発方法について~NVIDIA Japan
 
Azure Discovery Day - SQL Server 2019 + Azure Data Services
Azure Discovery Day - SQL Server 2019 + Azure Data ServicesAzure Discovery Day - SQL Server 2019 + Azure Data Services
Azure Discovery Day - SQL Server 2019 + Azure Data ServicesDaiyu Hatakeyama
 
TensorRT Inference Serverではじめる、 高性能な推論サーバ構築
TensorRT Inference Serverではじめる、 高性能な推論サーバ構築TensorRT Inference Serverではじめる、 高性能な推論サーバ構築
TensorRT Inference Serverではじめる、 高性能な推論サーバ構築NVIDIA Japan
 
リクルートのWebサービスを支える「RAFTEL」
リクルートのWebサービスを支える「RAFTEL」リクルートのWebサービスを支える「RAFTEL」
リクルートのWebサービスを支える「RAFTEL」Recruit Technologies
 
SORACOM S+Cameraを利用して在庫チェックをやってみた
SORACOM S+Cameraを利用して在庫チェックをやってみたSORACOM S+Cameraを利用して在庫チェックをやってみた
SORACOM S+Cameraを利用して在庫チェックをやってみたTakanori Suzuki
 
Microsoft ではじめる AI DLラボ パートナープログラムご紹介
Microsoft ではじめる AI DLラボ パートナープログラムご紹介Microsoft ではじめる AI DLラボ パートナープログラムご紹介
Microsoft ではじめる AI DLラボ パートナープログラムご紹介Hirono Jumpei
 

Tendances (20)

DLLAB Engineer Days: 推論環境としての Windows ML x ONNX の実際
DLLAB Engineer Days: 推論環境としての Windows ML x ONNX の実際DLLAB Engineer Days: 推論環境としての Windows ML x ONNX の実際
DLLAB Engineer Days: 推論環境としての Windows ML x ONNX の実際
 
DLL#3 Microsoft Community & AI Update
DLL#3 Microsoft Community & AI UpdateDLL#3 Microsoft Community & AI Update
DLL#3 Microsoft Community & AI Update
 
リクルートのビッグデータ活用基盤とデータ活用に向けた取組み
リクルートのビッグデータ活用基盤とデータ活用に向けた取組みリクルートのビッグデータ活用基盤とデータ活用に向けた取組み
リクルートのビッグデータ活用基盤とデータ活用に向けた取組み
 
JETSON 最新情報 & 自動外観検査事例紹介
JETSON 最新情報 & 自動外観検査事例紹介JETSON 最新情報 & 自動外観検査事例紹介
JETSON 最新情報 & 自動外観検査事例紹介
 
Azure Media Services 概要
Azure Media Services 概要Azure Media Services 概要
Azure Media Services 概要
 
Jetson Xavier NX クラウドネイティブをエッジに
Jetson Xavier NX クラウドネイティブをエッジにJetson Xavier NX クラウドネイティブをエッジに
Jetson Xavier NX クラウドネイティブをエッジに
 
Edge から Cloud, Beginner から Professional までサポートする Azure AI プラットフォーム
Edge から Cloud, Beginner から Professional までサポートする Azure AI プラットフォームEdge から Cloud, Beginner から Professional までサポートする Azure AI プラットフォーム
Edge から Cloud, Beginner から Professional までサポートする Azure AI プラットフォーム
 
2020年10月29日 Jetson活用によるAI教育
2020年10月29日 Jetson活用によるAI教育2020年10月29日 Jetson活用によるAI教育
2020年10月29日 Jetson活用によるAI教育
 
GPU クラウド コンピューティング
GPU クラウド コンピューティングGPU クラウド コンピューティング
GPU クラウド コンピューティング
 
ACRiウェビナー_ChipTip Technology様ご講演資料
ACRiウェビナー_ChipTip Technology様ご講演資料ACRiウェビナー_ChipTip Technology様ご講演資料
ACRiウェビナー_ChipTip Technology様ご講演資料
 
2020年10月29日 Jetson Nano 2GBで始めるAI x Robotics教育
2020年10月29日 Jetson Nano 2GBで始めるAI x Robotics教育2020年10月29日 Jetson Nano 2GBで始めるAI x Robotics教育
2020年10月29日 Jetson Nano 2GBで始めるAI x Robotics教育
 
エヌビディアのディープラーニング戦略
エヌビディアのディープラーニング戦略エヌビディアのディープラーニング戦略
エヌビディアのディープラーニング戦略
 
JJUG CCC リクルートの Java に対する取り組み
JJUG CCC リクルートの Java に対する取り組みJJUG CCC リクルートの Java に対する取り組み
JJUG CCC リクルートの Java に対する取り組み
 
エヌビディアが加速するディープラーニング~進化するニューラルネットワークとその開発方法について~
エヌビディアが加速するディープラーニング~進化するニューラルネットワークとその開発方法について~エヌビディアが加速するディープラーニング~進化するニューラルネットワークとその開発方法について~
エヌビディアが加速するディープラーニング~進化するニューラルネットワークとその開発方法について~
 
Azure Discovery Day - SQL Server 2019 + Azure Data Services
Azure Discovery Day - SQL Server 2019 + Azure Data ServicesAzure Discovery Day - SQL Server 2019 + Azure Data Services
Azure Discovery Day - SQL Server 2019 + Azure Data Services
 
TensorRT Inference Serverではじめる、 高性能な推論サーバ構築
TensorRT Inference Serverではじめる、 高性能な推論サーバ構築TensorRT Inference Serverではじめる、 高性能な推論サーバ構築
TensorRT Inference Serverではじめる、 高性能な推論サーバ構築
 
Jetson 活用による スタートアップ企業支援
Jetson 活用による スタートアップ企業支援Jetson 活用による スタートアップ企業支援
Jetson 活用による スタートアップ企業支援
 
リクルートのWebサービスを支える「RAFTEL」
リクルートのWebサービスを支える「RAFTEL」リクルートのWebサービスを支える「RAFTEL」
リクルートのWebサービスを支える「RAFTEL」
 
SORACOM S+Cameraを利用して在庫チェックをやってみた
SORACOM S+Cameraを利用して在庫チェックをやってみたSORACOM S+Cameraを利用して在庫チェックをやってみた
SORACOM S+Cameraを利用して在庫チェックをやってみた
 
Microsoft ではじめる AI DLラボ パートナープログラムご紹介
Microsoft ではじめる AI DLラボ パートナープログラムご紹介Microsoft ではじめる AI DLラボ パートナープログラムご紹介
Microsoft ではじめる AI DLラボ パートナープログラムご紹介
 

Similaire à DLLAB Engineer Days:AIチームが履歴やリソース管理で疲弊してたので開発基盤作ってOSS化した話

Beginner must-see! A future that can be opened by learning Hadoop
Beginner must-see! A future that can be opened by learning HadoopBeginner must-see! A future that can be opened by learning Hadoop
Beginner must-see! A future that can be opened by learning HadoopDataWorks Summit
 
DBTS2015 Tokyo DBAが知っておくべき最新テクノロジー
DBTS2015 Tokyo DBAが知っておくべき最新テクノロジーDBTS2015 Tokyo DBAが知っておくべき最新テクノロジー
DBTS2015 Tokyo DBAが知っておくべき最新テクノロジーMasaya Ishikawa
 
AWS Black Belt Online Seminar 2018 Amazon WorkSpaces
AWS Black Belt Online Seminar 2018 Amazon WorkSpacesAWS Black Belt Online Seminar 2018 Amazon WorkSpaces
AWS Black Belt Online Seminar 2018 Amazon WorkSpacesAmazon Web Services Japan
 
20180207 AWS blackbelt online seminar Amazon Workspaces
20180207 AWS blackbelt online seminar Amazon Workspaces20180207 AWS blackbelt online seminar Amazon Workspaces
20180207 AWS blackbelt online seminar Amazon WorkspacesAmazon Web Services Japan
 
Database as code in Devops - DBを10分間で1000個構築するDB仮想化テクノロジーとは?(Ishikawa)
Database as code in Devops - DBを10分間で1000個構築するDB仮想化テクノロジーとは?(Ishikawa)Database as code in Devops - DBを10分間で1000個構築するDB仮想化テクノロジーとは?(Ishikawa)
Database as code in Devops - DBを10分間で1000個構築するDB仮想化テクノロジーとは?(Ishikawa)Insight Technology, Inc.
 
de:code2018 登壇資料
de:code2018 登壇資料de:code2018 登壇資料
de:code2018 登壇資料Hiroshi Senga
 
[db analytics showcase Sapporo 2017] B27:世界最速のAnalytic DBはHadoopの夢を見るか by 株式会...
[db analytics showcase Sapporo 2017] B27:世界最速のAnalytic DBはHadoopの夢を見るか by 株式会...[db analytics showcase Sapporo 2017] B27:世界最速のAnalytic DBはHadoopの夢を見るか by 株式会...
[db analytics showcase Sapporo 2017] B27:世界最速のAnalytic DBはHadoopの夢を見るか by 株式会...Insight Technology, Inc.
 
不足するAI人材に対する「パソナテックの人材育成ソリューション」
不足するAI人材に対する「パソナテックの人材育成ソリューション」不足するAI人材に対する「パソナテックの人材育成ソリューション」
不足するAI人材に対する「パソナテックの人材育成ソリューション」Natsutani Minoru
 
日立ソリューションズの取り組みとプラットフォーム関連セション内容のご紹介
日立ソリューションズの取り組みとプラットフォーム関連セション内容のご紹介日立ソリューションズの取り組みとプラットフォーム関連セション内容のご紹介
日立ソリューションズの取り組みとプラットフォーム関連セション内容のご紹介CASAREAL, Inc.
 
Wg for ai_dev_ops_20180713
Wg for ai_dev_ops_20180713Wg for ai_dev_ops_20180713
Wg for ai_dev_ops_20180713Yutaka Terasawa
 
リクルート式Hadoopの使い方
リクルート式Hadoopの使い方リクルート式Hadoopの使い方
リクルート式Hadoopの使い方Recruit Technologies
 
[db analytics showcase Sapporo 2018] B25 Hadoop上で動く世界最速のAnalytic DBをSparkと一緒に...
[db analytics showcase Sapporo 2018] B25 Hadoop上で動く世界最速のAnalytic DBをSparkと一緒に...[db analytics showcase Sapporo 2018] B25 Hadoop上で動く世界最速のAnalytic DBをSparkと一緒に...
[db analytics showcase Sapporo 2018] B25 Hadoop上で動く世界最速のAnalytic DBをSparkと一緒に...Insight Technology, Inc.
 
[db tech showcase Tokyo 2017] C25: 世界最速のAnalytic DBがHadoopとタッグを組んだ! ~スケールアウト検...
[db tech showcase Tokyo 2017] C25: 世界最速のAnalytic DBがHadoopとタッグを組んだ! ~スケールアウト検...[db tech showcase Tokyo 2017] C25: 世界最速のAnalytic DBがHadoopとタッグを組んだ! ~スケールアウト検...
[db tech showcase Tokyo 2017] C25: 世界最速のAnalytic DBがHadoopとタッグを組んだ! ~スケールアウト検...Insight Technology, Inc.
 
Dataworks Summit 2017 SanJose StreamProcessing - Hadoop Source Code Reading #...
Dataworks Summit 2017 SanJose StreamProcessing - Hadoop Source Code Reading #...Dataworks Summit 2017 SanJose StreamProcessing - Hadoop Source Code Reading #...
Dataworks Summit 2017 SanJose StreamProcessing - Hadoop Source Code Reading #...Yahoo!デベロッパーネットワーク
 
Sumo logic meetup 2020 jan
Sumo logic meetup 2020 janSumo logic meetup 2020 jan
Sumo logic meetup 2020 janMasatomo Ito
 
リクルートにおけるPaaS活用事例
リクルートにおけるPaaS活用事例リクルートにおけるPaaS活用事例
リクルートにおけるPaaS活用事例Recruit Technologies
 

Similaire à DLLAB Engineer Days:AIチームが履歴やリソース管理で疲弊してたので開発基盤作ってOSS化した話 (20)

Beginner must-see! A future that can be opened by learning Hadoop
Beginner must-see! A future that can be opened by learning HadoopBeginner must-see! A future that can be opened by learning Hadoop
Beginner must-see! A future that can be opened by learning Hadoop
 
OSS光と闇
OSS光と闇OSS光と闇
OSS光と闇
 
DBTS2015 Tokyo DBAが知っておくべき最新テクノロジー
DBTS2015 Tokyo DBAが知っておくべき最新テクノロジーDBTS2015 Tokyo DBAが知っておくべき最新テクノロジー
DBTS2015 Tokyo DBAが知っておくべき最新テクノロジー
 
YJTC18 A-1 大規模サーバの戦略
YJTC18 A-1 大規模サーバの戦略YJTC18 A-1 大規模サーバの戦略
YJTC18 A-1 大規模サーバの戦略
 
AWS Black Belt Online Seminar 2018 Amazon WorkSpaces
AWS Black Belt Online Seminar 2018 Amazon WorkSpacesAWS Black Belt Online Seminar 2018 Amazon WorkSpaces
AWS Black Belt Online Seminar 2018 Amazon WorkSpaces
 
20180207 AWS blackbelt online seminar Amazon Workspaces
20180207 AWS blackbelt online seminar Amazon Workspaces20180207 AWS blackbelt online seminar Amazon Workspaces
20180207 AWS blackbelt online seminar Amazon Workspaces
 
Database as code in Devops - DBを10分間で1000個構築するDB仮想化テクノロジーとは?(Ishikawa)
Database as code in Devops - DBを10分間で1000個構築するDB仮想化テクノロジーとは?(Ishikawa)Database as code in Devops - DBを10分間で1000個構築するDB仮想化テクノロジーとは?(Ishikawa)
Database as code in Devops - DBを10分間で1000個構築するDB仮想化テクノロジーとは?(Ishikawa)
 
de:code2018 登壇資料
de:code2018 登壇資料de:code2018 登壇資料
de:code2018 登壇資料
 
[db analytics showcase Sapporo 2017] B27:世界最速のAnalytic DBはHadoopの夢を見るか by 株式会...
[db analytics showcase Sapporo 2017] B27:世界最速のAnalytic DBはHadoopの夢を見るか by 株式会...[db analytics showcase Sapporo 2017] B27:世界最速のAnalytic DBはHadoopの夢を見るか by 株式会...
[db analytics showcase Sapporo 2017] B27:世界最速のAnalytic DBはHadoopの夢を見るか by 株式会...
 
不足するAI人材に対する「パソナテックの人材育成ソリューション」
不足するAI人材に対する「パソナテックの人材育成ソリューション」不足するAI人材に対する「パソナテックの人材育成ソリューション」
不足するAI人材に対する「パソナテックの人材育成ソリューション」
 
日立ソリューションズの取り組みとプラットフォーム関連セション内容のご紹介
日立ソリューションズの取り組みとプラットフォーム関連セション内容のご紹介日立ソリューションズの取り組みとプラットフォーム関連セション内容のご紹介
日立ソリューションズの取り組みとプラットフォーム関連セション内容のご紹介
 
現場のインフラエンジニアから見たヤフー #ヤフー名古屋
現場のインフラエンジニアから見たヤフー #ヤフー名古屋現場のインフラエンジニアから見たヤフー #ヤフー名古屋
現場のインフラエンジニアから見たヤフー #ヤフー名古屋
 
Wg for ai_dev_ops_20180713
Wg for ai_dev_ops_20180713Wg for ai_dev_ops_20180713
Wg for ai_dev_ops_20180713
 
リクルート式Hadoopの使い方
リクルート式Hadoopの使い方リクルート式Hadoopの使い方
リクルート式Hadoopの使い方
 
[db analytics showcase Sapporo 2018] B25 Hadoop上で動く世界最速のAnalytic DBをSparkと一緒に...
[db analytics showcase Sapporo 2018] B25 Hadoop上で動く世界最速のAnalytic DBをSparkと一緒に...[db analytics showcase Sapporo 2018] B25 Hadoop上で動く世界最速のAnalytic DBをSparkと一緒に...
[db analytics showcase Sapporo 2018] B25 Hadoop上で動く世界最速のAnalytic DBをSparkと一緒に...
 
NIFcLab Tech Laboratoryはじめます(もうすぐ)
NIFcLab Tech Laboratoryはじめます(もうすぐ)NIFcLab Tech Laboratoryはじめます(もうすぐ)
NIFcLab Tech Laboratoryはじめます(もうすぐ)
 
[db tech showcase Tokyo 2017] C25: 世界最速のAnalytic DBがHadoopとタッグを組んだ! ~スケールアウト検...
[db tech showcase Tokyo 2017] C25: 世界最速のAnalytic DBがHadoopとタッグを組んだ! ~スケールアウト検...[db tech showcase Tokyo 2017] C25: 世界最速のAnalytic DBがHadoopとタッグを組んだ! ~スケールアウト検...
[db tech showcase Tokyo 2017] C25: 世界最速のAnalytic DBがHadoopとタッグを組んだ! ~スケールアウト検...
 
Dataworks Summit 2017 SanJose StreamProcessing - Hadoop Source Code Reading #...
Dataworks Summit 2017 SanJose StreamProcessing - Hadoop Source Code Reading #...Dataworks Summit 2017 SanJose StreamProcessing - Hadoop Source Code Reading #...
Dataworks Summit 2017 SanJose StreamProcessing - Hadoop Source Code Reading #...
 
Sumo logic meetup 2020 jan
Sumo logic meetup 2020 janSumo logic meetup 2020 jan
Sumo logic meetup 2020 jan
 
リクルートにおけるPaaS活用事例
リクルートにおけるPaaS活用事例リクルートにおけるPaaS活用事例
リクルートにおけるPaaS活用事例
 

DLLAB Engineer Days:AIチームが履歴やリソース管理で疲弊してたので開発基盤作ってOSS化した話

  • 1. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. AIチームが 履歴やリソース管理で疲弊してたので 開発基盤作ってOSS化した話 日鉄ソリューションズ株式会社
  • 2. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 自己紹介 2  名前:かもっち & もにたーくん  所属:日鉄ソリューションズ システム研究開発センター  役割:AI開発アシスタント(見習い) Twitter: @kamonohashi_kqi
  • 3. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 3 Deep Learningへの弊社の取り組み 工場に蓄積された画像データ、センサーデータを使い 熟練工の力を学習して全工程に展開する 製造業 × Deep Learning
  • 4. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. Deep Learningへの弊社の取り組み 4  顧客現場へのDeep Learningの適用コンサルティング  顧客からデータを受領してモデル開発  問題設計から実機導入、周辺システムの開発までワンストップで提供  20名程度のAIエンジニア  主に製造業向けの画像認識  不良検知・製品検査  TensorFlow/PyTorch
  • 5. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 弊社開発体制 5 Storage GPU a GPU a GPU b GPU b GPU c GPU c GPU d GPU d GPU e GPU e GPU f GPU f GPU f GPU f GPU g GPU g GPU g GPU g 複数チームが複数の 計算リソースを共有 他多数プロジェクト
  • 6. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. ここから本題 6
  • 7. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. Question 7 AIの 開発環境 どうしてますか? 特にDeep Learning
  • 8. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 本日の主題 8 効率的・効果的に AI開発するために作った 弊社環境を紹介
  • 9. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. アジェンダ 9 1. AI開発の何が辛いのか 2. 作成した弊社開発環境の紹介 3. DEMO 4. 技術的なTIPS集
  • 10. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. そもそも 10 AI開発の 何が辛いのか
  • 11. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. AIの開発プロセス 11 GPU GPU モデル開発 学習 推論
  • 12. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. AIの開発プロセス 12 GPU GPU モデル開発 学習 推論 だけじゃない
  • 13. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. AIの開発プロセス 13
  • 14. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 14 AI開発の辛み 三大要因
  • 15. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 頻繁&複雑な環境設定 15 OS,ライブラリの管理 –繰り返しの度に環境設定 –使うノード全てにインストール –都度バージョンアップ(ダウン) –チーム間でのツール競合の対応 使うたびに環境構築の 手間が掛かって大変!
  • 16. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 16 再現性の担保 学習環境を再構築 どの学習データを利用したか どのソースコードを利用したか 実験条件は? 手作業でメモしたら 書き忘れも間違いも頻出!
  • 17. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 効率的なリソース共有 17  複数チームでGPUを共有 GPUを効率的に利用したい – GPUは高価なので余剰を作りたくない – 利用状況を知りたい – GPU単位で共有したい チーム間で公平に利用したい – 特定のチームに占有されてしまうと困る 使い終わったかどうか 分からない! 特定の一人に リソースが占有されてしまう! 一つのGPUで十分だが 余りを共有できない!! AI開発者 AI開発者 AI開発者
  • 18. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. AIの開発プロセス 18
  • 19. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. AIの開発プロセス 19 使うたびに環境構築 蓄積され続けるデータの管理 実験の履歴を欠かさず記録 計算リソースの割り当て管理
  • 20. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. AIの開発プロセス 20 使うたびに環境構築 蓄積され続けるデータの管理 実験の履歴を欠かさず記録 雑務 雑務 雑務 計算リソースの割り当て管理 雑務
  • 21. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 21 雑務多すぎ
  • 22. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 22 支援プラットフォーム 作りました
  • 23. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 23 AI技術者向け 開発プラットフォーム
  • 24. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 24 世界中のAI開発者へ OSS公開中! https://github.com/KAMONOHASHI/kamonohashi
  • 25. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. アーキテクチャ 25 S3 NFS Gateway Model Source NFS Storage System Nodes Database PostgreSQL Cluster Manager Web Application GPU Nodes GPU Job Minio User Browser CLI Container
  • 26. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 学習環境をコンテナ化 26  学習環境を容易に  環境をポータブルに  好きなフレームワークを利用可能 (TensorFlow, PyTorch, etc.)  GPU単位でのアロケーション Ubuntu 16.04 TensorFlow CentOS 7.6 Chainer Ubuntu 18.04 PyTorch
  • 27. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 27 学習の入出力をすべて記録 学習環境 python, TensorFlow等 リソース CPU/メモリ/GPU GPU GPU 学習結果 (AI) 大量のデータ (画像等) 学習モデル (pythonコード) 実行コマンド (python train.py) Storage モデル開発のすべては ストレージに自動保存
  • 28. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 28 リソース割り当ての自動化 開発者はただジョブをKAMONOHASHIに投入するだけ。 Storage A Storage B ジョブの投入 • 2 GPUs • 4 CPU • CUDA 9.0 + TensorFlow ジョブの投入 • 4 GPUs • 8CPU • CUDA 10.1 + PyTorch 開発者A 開発者B Container Container
  • 29. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 29 Demo
  • 30. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. UI 30  WebUI と CLI を提供
  • 31. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. UI 31  WebUI と CLI を提供
  • 32. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 実例と実績 32  NSSOL AI開発人材のパフォーマンスを KAMONOHASHIで最大化した成果  参加チーム数:1,316  日本のチーム内では1位 https://www.kaggle.com/c/quickdraw-doodle-recognition/leaderboard Kaggle Competitionで世界6位入賞
  • 33. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. KAMONOHASHI Deep Dive 技術的なTIPS集 ・学習コンテナのTIPS ・ストレージのTIPS ・運用のTIPS 33
  • 34. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 34 学習コンテナのTIPS 学習コンテナの構築方法
  • 35. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 35 学習コンテナの仕様 学習コンテナ dataset model output GPU Driver GPUs CUDA Framework
  • 36. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 36 学習コンテナの仕様 学習コンテナ dataset model output GPU Driver GPUs CUDA Framework • Device Plugin • nvidia-docker2 使いたいフレームワークが 入ったコンテナを選択する Kubernetesでデプロイ (満杯ならキューイング)
  • 37. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 37 学習コンテナの仕様 データ管理で登録したファイル データセット管理で登録したファイル gitに登録した学習コード データの格納先を指定 推論 学習コンテナ dataset model output GPU Driver GPUs CUDA Framework
  • 38. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 学習コンテナのジレンマ 38  データセットとモデルをどうやって配置するか コンテナが起動したら 自動で配置してほしい 既存のコンテナを そのまま使わせてほしい 学習コンテナ dataset model output GPU Driver GPUs CUDA Framework Storage ? ?
  • 39. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 39 データセットとモデルをどうやって配置するか コンテナ内に エージェント仕込む? ・既存のコンテナを使えない ・更新時にリビルド必要 gitやkqiコマンドを コンテナのCMDに指定? ・コマンドがないコンテナが 利用不能 apt-getもCMDに指定? ・CentOSどうする? ・apt-get 遅い NFS領域を まるごとマウントする? ・対象データがどれか 分からない
  • 40. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 解決方法 40  同時に複数コンテナを起動 → 自由度を保ちつつ、必要な処理を差し込む 学 習 開 始 準備コンテナ 起動 git pull kqi dataset download 学習コンテナ 起動 input マウント 出力 マウント 破棄 片付けコンテナ 起動 学習 output 出力 学習コンテナを監視 破棄 片付け&完了通知 破棄
  • 41. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 41 ストレージのTIPS
  • 42. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. ストレージのジレンマ 42 • アクセス速度を上げたい • コンテナが落ちても 途中結果は維持したい コンテナに NFSをマウント Object Storage に REST API アクセス • Webシステムと連携させたい • トレーサビリティを取りたい
  • 43. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 解決方法 43  Minioの導入 NFS Storage S3 NFS Gateway Minio Web Application GPU Node NFSマウント REST API NFSマウント
  • 44. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 44 運用のTIPS 早い者勝ち問題
  • 45. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 45 ジョブキューで起きる問題 永遠に はけない ジョブキュー A ジ ョ ブ A ジ ョ ブA ジ ョ ブ A ジ ョ ブ A ジ ョ ブ A ジ ョ ブ B ジ ョ ブ Aが終わるまで 待ち続ける
  • 46. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 46 ノード割り当て(パーティション)で解決 A ジ ョ ブ A ジ ョ ブ A ジ ョ ブ A ジ ョ ブ B ジ ョ ブ A ジ ョ ブ A ジ ョ ブ Aにアクセス権がないノードを 設定することで解決 (パーティション管理) プロジェクトごとに 同時利用リソースの 上限設定も可能 (クォータ管理)
  • 47. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. その他TIPS 47  今日話せなかったTIPS集  コンテナの起動時、K8sのYamlに追加しておくべきおすすめ設定  コンテナへShell接続する方法  数GBのファイルをアップロードするとWebサーバが死ぬ問題  Notebookコンテナを立てっぱなしにする人がいる問題 →展示ブースに遊びに来てください!  一番奥まったスペースにいます
  • 48. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 今後の予定 48
  • 49. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 今後の予定 49  ハイブリッドクラウド化  マルチクラウドも  利用履歴の可視化  これまでのGPU利用率をグラフ表示
  • 50. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 50 世界中のAI開発者へ OSS公開中! https://github.com/KAMONOHASHI/kamonohashi
  • 51. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 51 さいごに
  • 52. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 今日一番大事なこと 52
  • 53. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 今日一番大事なこと 53 https://github.com/KAMONOHASHI/kamonohashi
  • 54. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 今日一番大事なこと 54  スターください! https://github.com/KAMONOHASHI/kamonohashi ココ!
  • 55. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 今日二番目に大事なこと 55
  • 56. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 今日二番目に大事なこと 56 https://twitter.com/Kamonohashi_kqi
  • 57. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 今日二番目に大事なこと 57  フォローください! https://twitter.com/Kamonohashi_kqi ココ!
  • 58. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 58 ご清聴ありがとうございました AI 開発プラットフォーム KAMONOHASHI Web: https://kamonohashi.ai Twitter: @kamonohashi_kqi
  • 59. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 59
  • 60. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 商標についての注記 60 – NS Solutions は、日鉄ソリューションズ株式会社の登録商標です – KAMONOHASHI及びKAMONOHASHI(ロゴ)は、日鉄ソリューションズ株式会社の 登録商標です – その他本文記載の会社名及び製品名はそれぞれ各社の商標又は登録商標です
  • 61. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. おまけ 61
  • 62. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 62 学習コンテナのTIPS 学習コンテナへの接続
  • 63. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 学習コンテナのジレンマ 63  コンテナに接続して対話的に操作するには コンテナにSSHしたい 既存のコンテナを そのまま使わせてほしい 学習コンテナ dataset model output GPU Driver GPUs CUDA Framework 接続
  • 64. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 64 コンテナに接続して対話的に操作するには コンテナにSSHする? コンテナ側に SSH設定が必要 SSHをコンテナの CMDで追加? 認証情報を設定できない ホストからdocker exec? ホストへのアクセス権を 与えるのはちょっと…… K8sのダッシュボードを 使う? K8sへのアクセス権を 与えるのはちょっと……
  • 65. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 解決方法 65  K8sのダッシュボードと同じ実装をKAMONOHASHIに追加  コンテナへのShell接続  学習中のジョブの状態をリアルタイムで確認可能 ブラウザ WebSocket WebSocket WebSocket サーバ WebSocket クライアント 中継 KAMONOHASHI コンテナ リクエスト: ls レスポンス: bin boot dev etc home… ここはKubernetesの機能
  • 66. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 66 学習コンテナのTIPS K8sのyml設定
  • 67. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. K8s ymlでしておくべき設定一覧 67 設定内容 理由 GPUを使わないコンテナには環境変数に NVIDIA_VISIBLE_DEVICES=noneを設定 これをしないとGPU使わないコンテナに全GPUが 割り当てられる 環境変数に PYTHONUNBUFFERED=trueを設定 ログがすぐ見れるように、Python出力のバッファリングを なくす Limits/Requestsは一致させる どうせ総和はLimitsに合わせる必要があるんだし QoS Classは”Guaranteed”で固定 不必要なkillを防ぐ(可変にしても常に最大になるだけ) backoffLimitは0に 落ちるのは大体モデルのエラーかメモリ不足なので 再起動しても同じ結果になる → 現場保存を優先 共有メモリをメモリのEmptyDirで作る PyTorchの共有メモリ食いつぶし対策
  • 68. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. ストレージまわりのその他TIPS 68  Signature Signing Processを採用  Object Storageへは直接アクセスさせてWeb Appサーバの負荷軽減  大容量ファイル送受信のパフォーマンスも改善  オブジェクト単位で期限付きの署名付きURLを発行しセキュリティ担保 ダウンロード用の ワンタイムURLを要求 ダウンロード S3 NFS Gateway Minio Web Application
  • 69. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 69 運用のTIPS コンテナ立てっぱなし問題
  • 70. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 70 運用のジレンマ 使い終わったNotebookコン テナを放置する人がいる! タイムアウトを入れて 自動で消す? 運用でカバー? まだ使っているコンテナを 勝手に消さないで!
  • 71. Copyright ©2019 NS Solutions Corporation. All Rights Reserved. 解決方法 71  タイムアウトで強制削除 + リエントランシーを担保  TensorBoardやNotebookは定期削除処理を入れる – 期限が来ると強制的に削除される  実行状態を保存しておいて、いつでも中断地点から再開可能に  Notebookは特定ノード(CPUノードとか)でしか起動しないようにする  パーティションの機能を応用

Notes de l'éditeur

  1. 次のシートから各問題を説明
  2. Browser Logo http://icooon-mono.com/11398-%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6%E3%82%A6%E3%82%A3%E3%83%B3%E3%83%89%E3%82%A6%E3%81%AE%E3%82%A2%E3%82%A4%E3%82%B3%E3%83%B3/ Postgres Logo Trademark Policy Inclusion of the name(s) or logo in your software or documentation to indicate that it runs on or with PostgreSQL. Kubernetes Branding Guidelines https://github.com/kubernetes/kubernetes/blob/master/logo/usage_guidelines.md https://www.linuxfoundation.jp/trademark-usage/ Git Logo by Jason Long is licensed under the Creative Commons Attribution 3.0 Unported License. https://git-scm.com/downloads/logos
  3. 丸保存してます + コピーできます
  4. https://calligra.design/2018/09/13/c0074_12/
  5. 学習のステータスをWebアプリに通知する コンテナが自殺すると、K8sがエラーと完了を見分けられない 未完了の学習結果を誤って使わないようにする Init Containerの後処理版はKubernetesに未実装なので自作
  6. コンテナ内の標準出力もNFSに随時書き込み 障害発生時もログが消えない いつでも後から見返せる
  7. ノード指定できるとかの説明
  8. ノード指定できるとかの説明
  9. https://calligra.design/2018/09/13/c0074_12/