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.

NSSOL Tech Talk #01

498 views

Published on

A slide deck we presented tech talk on September 19th at Tech Play. We are explaining problems of deep learning model development and how we solve these problems using a AI platform KAMONOHASHI.

Published in: Data & Analytics
  • Be the first to comment

NSSOL Tech Talk #01

  1. 1. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. AI開発プラットフォーム 「KAMONOHASHI」 ~内部構造の紹介~ 新日鉄住金ソリューションズ株式会社 2018/09/19 小林 大悟 雄郷 覚良
  2. 2. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. 自己紹介 2  名前:  小林 大悟 (Daigo Kobayashi)  所属:  システム研究開発センター 統括研究員  経歴:  2002年 新日鉄ソリューションズ  2013年~2014年 NS Solutions USA  2014年10月 システム研究開発センター 現職にてDeep Learningの研究開発を統括
  3. 3. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. アジェンダ 3 1. AI開発の概要と問題点 2. AIプラットフォームKAMONOHASHIの内部構造
  4. 4. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. AIシステムの開発ツール
  5. 5. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. 5 Android アプリケーションの 開発ツールは?
  6. 6. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. 6 Android Studio
  7. 7. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. 7 AI 向けの 開発ツールは?
  8. 8. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. 8 *1 *巻末に出典
  9. 9. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. 9 それだけで十分か?
  10. 10. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. AI開発の問題点
  11. 11. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. プロジェクトの体制・状況 11  開発者は17名  Deep Learningを利用した画像認識・自然言語処理  1学習にかかる時間は2日~3日  GPUクラスタ(7ノード) を共有して利用
  12. 12. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. Deep Learning 実行体制 12Storage
  13. 13. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. AI開発のプロセス 13
  14. 14. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. AI開発の問題点 14
  15. 15. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. 環境設定 15 ライブラリの管理  全ノードにインストール  バージョンアップは?  バージョンダウンは?  ツール間での競合 – Python2とPython3とか
  16. 16. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. 再現性 16 学習環境を再インストール どの学習データを利用したか どのソースコードを利用したか 実験条件は?
  17. 17. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. リソース共有 17  複数チームでGPUを共有
  18. 18. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. 18
  19. 19. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. 19
  20. 20. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. 20 はAI開発の次の3つの課題を解決する
  21. 21. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. KAMONOHASHI
  22. 22. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. 自己紹介 22  名前:  雄郷 覚良 (Tadayoshi Ozato)  所属:  システム研究開発センター 研究員  経歴:  2013年新日鉄住金ソリューションズ  2013年~2014年10月 ITインフラソリューション事業部  2014年10月~ システム研究開発センター
  23. 23. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. 私の話すこと 23 KAMONOHASHI …とは? Deep Learning 3つの課題解決 環境構築 再現性 リソース共有 概要 アーキテクチャ デモ まとめ まとめ
  24. 24. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. KAMONOHASHI …とは?
  25. 25. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. 25 AI 開発向けの プラットフォーム
  26. 26. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. 26 AIエンジニアをAIチームへ
  27. 27. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. 27 はAI開発の次の3つの課題を解決する
  28. 28. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. アーキテクチャ 28 WebUI & API Vue.js .NET Core Database PostgreSQL Cluster Manager GPU Job System Nodes GPU Nodes User CLI Browser S3 NFS Gateway Model Source NFS Storage *3*2 *4 *5 *6 *8 C# *巻末に出典 *7 Minio
  29. 29. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. デモ
  30. 30. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. Deep Learning 3つの課題解決
  31. 31. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. 環境設定 必要な環境とは どう実現するか
  32. 32. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. ディープラーニングに必要なもの 32 Storage 学習結果の保存先 Framework TensorFlow, PyTorch,… GPU Volta, Pascal,… DataSet 学習データ, テストデータ,… Model 学習スクリプト *1 *9 *巻末に出典
  33. 33. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. 作者 FlorianCassayre [CC BY-SA 4.0 (https://creativecommons.org/licenses/by-sa/4.0)], ウィキメディア・コモンズより 作者 CC0 Public Domain [CC0], ウィキメディア・コモンズ経由で GPU CUDA利用 DataSet 学習データ, テストデータ,… Model Git上の学習スクリプト ディープラーニングに必要なもの Framework TensorFlow, PyTorch,… ユーザーによって様々なツールが必要 *1 33
  34. 34. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. Deep Learning Tool TensorFlow, PyTorch,… DataSet 学習データ, テストデータ,… Model Git上の学習スクリプト ディープラーニングに必要なもの 必要な分を学習環境に割り当てる GPU Volta, Pascal,… 34
  35. 35. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. 作者 FlorianCassayre [CC BY-SA 4.0 (https://creativecommons.org/licenses/by-sa/4.0)], ウィキメディア・コモンズより 作者 CC0 Public Domain [CC0], ウィキメディア・コモンズ経由で Storage 学習結果の保存先 Deep Learning Tool TensorFlow, PyTorch,… GPU CUDA利用 Model 学習スクリプト ディープラーニングに必要なもの DataSet 学習データ, テストデータ,… 学習環境に配置 35
  36. 36. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. 作者 FlorianCassayre [CC BY-SA 4.0 (https://creativecommons.org/licenses/by-sa/4.0)], ウィキメディア・コモンズより 作者 CC0 Public Domain [CC0], ウィキメディア・コモンズ経由で Storage 学習結果の保存先 Deep Learning Tool TensorFlow, PyTorch,… GPU CUDA利用 DataSet 学習データ, テストデータ,… ディープラーニングに必要なもの Model 学習スクリプト Gitから学習環境に配置 任意のバージョンを指定したい *9 36
  37. 37. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. 作者 FlorianCassayre [CC BY-SA 4.0 (https://creativecommons.org/licenses/by-sa/4.0)], ウィキメディア・コモンズより 作者 CC0 Public Domain [CC0], ウィキメディア・コモンズ経由で Deep Learning Tool TensorFlow, Chainer,… GPU CUDA利用 DataSet 学習データ, テストデータ,… Model 学習スクリプト ディープラーニングに必要なもの Storage 学習結果の保存先 学習中でもリアルタイムに確認できる 37
  38. 38. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. KAMONOHASHIが用意する環境 38 DataSet Model NFS Storage NFS Mount GPUs GPU driver CUDA Framework コンテナ
  39. 39. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. DataSet Model NFS Storage NFS Mount GPUs GPU driver CUDA Framework コンテナ KAMONOHASHIが用意する環境 39 ユーザー指定 の物を配置
  40. 40. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. KAMONOHASHIが用意する環境 40 DataSet Model NFS Storage NFS Mount GPUs GPU driver CUDA Framework コンテナ 空きノードから ユーザー指定数を 環境に切り出し
  41. 41. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. 作られる環境 41 DataSet Model NFS Storage NFS Mount GPUs GPU driver CUDA Framework コンテナ 学習結果を リアルタイムに TensorBoard等に反映
  42. 42. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. 環境設定 必要な環境とは どう実現するか
  43. 43. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. 中身に入る前に 43  挙手をお願いします  Deep Learning エンジニアの方  Deep Learning 以外の機械学習エンジニアの方  Docker を使っている方  Kubernetes を使っている方
  44. 44. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. 環境実現に必要なもの 44  Docker  Kubernetes  Device Plugin  nvidia-docker2  ConfigMapによるスクリプト注入  NFS
  45. 45. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. 作者 FlorianCassayre [CC BY-SA 4.0 (https://creativecommons.org/licenses/by-sa/4.0)], ウィキメディア・コモンズより 作者 CC0 Public Domain [CC0], ウィキメディア・コモンズ経由で GPU CUDA利用 DataSet 学習データ, テストデータ,… Model Git上の学習スクリプト ディープラーニングに必要なもの Framework TensorFlow, PyTorch,… ユーザーによって様々な フレームワークが必要 *1 45
  46. 46. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. ジョブ実行環境構築への道のり – オーケストレーション - 46 DataSet Model NFS Storage NFS Mount GPUs GPU driver CUDA コンテナ Framework  コンテナで学習環境を用意する  任意のフレームワークが使用可  Kubernetesでコンテナデプロイ  空いているマシンに自動構築  空いてなければキューイング – 休日もジョブを投げる
  47. 47. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. 47 Deep Learning Tool TensorFlow, PyTorch,… DataSet 学習データ, テストデータ,… Model Git上の学習スクリプト ディープラーニングに必要なもの 必要な分を学習環境に割り当てる GPU Volta, Pascal,…
  48. 48. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. ジョブ実行環境構築への道のり – GPU - 48 DataSet Model NFS Storage NFS Mount GPUs GPU driver CUDA Framework コンテナ  KubernetesでGPUを使うには  Device Plugin  nvidia-docker2
  49. 49. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. 作者 FlorianCassayre [CC BY-SA 4.0 (https://creativecommons.org/licenses/by-sa/4.0)], ウィキメディア・コモンズより 作者 CC0 Public Domain [CC0], ウィキメディア・コモンズ経由で Storage 学習結果の保存先 Deep Learning Tool TensorFlow, PyTorch,… GPU CUDA利用 DataSet 学習データ, テストデータ,… Deep Learningに必要なもの Model 学習スクリプト Gitから学習環境に配置 任意のバージョンを指定したい *9 49 DataSet 学習データ, テストデータ,… 学習環境に配置
  50. 50. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. ジョブ実行環境構築への道のり – DataSet & Model - 50 DataSet Model NFS Storage NFS Mount GPUs GPU driver cuda Framework コンテナ  DataSet・Model をコンテナ内に配置  コンテナ内からコマンドで取得  Git コマンドで Model 取得  DataSet は KAMONOHASHI の CLI を使用
  51. 51. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. ジョブ実行環境構築への廻り道 51 昔はイメージをビルドしていた 結果:イメージの継承が多発 秘伝のタレ化 メンテナンス困難 KAMONOHASHI制御用に CLIをインストールしといてね 1からは面倒だから インストール済みイメージから継承
  52. 52. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. ジョブ実行環境構築への廻り道 52 FROM cuda install kqi ・・・ Image A FROM A ・・・ Image B FROM B ・・・ Image C ここを変えると 全部再ビルド
  53. 53. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. ジョブ実行環境構築への道のり – DataSet & Model - 53 DataSet Model NFS Storage NFS Mount GPUs GPU driver cuda Framework コンテナ Script  K8sのConfigMapでスクリプトを注入  コンテナ起動時に注入  イメージをビルドしなくてよい
  54. 54. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. 作者 FlorianCassayre [CC BY-SA 4.0 (https://creativecommons.org/licenses/by-sa/4.0)], ウィキメディア・コモンズより 作者 CC0 Public Domain [CC0], ウィキメディア・コモンズ経由で Deep Learning Tool TensorFlow, Chainer,… GPU CUDA利用 DataSet 学習データ, テストデータ,… Model 学習スクリプト Deep Learningに必要なもの Storage 学習結果の保存先 学習中でもリアルタイムに確認できる 54
  55. 55. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. ジョブ実行環境構築への道のり - NFS - 55 DataSet Model NFS Storage NFS Mount GPUs GPU driver cuda Framework コンテナ  K8s PodのvolumesにNFSを指定  パスをKAMONOHASHIで切替  実際にNFSマウントするのはnode側  コンテナ側にNFS Clientは入らない  リアルタイムに結果反映  TensorBoardグラフ表示  ブラウザからダウンロード
  56. 56. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. [備考] NFSとS3の向き・不向き 56 NFS領域をS3 API 経由で見せる *3 向き:ブラウザアクセス 不向き:随時書き込み S3 http NFS 向き:随時書き込み 不向き:ブラウザアクセス NFS *1 Minio
  57. 57. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. KAMONOHASHIの環境構築まとめ 57 ユーザーごとの フレームワーク コンテナ利用で柔軟に選択 GPU切り出し Device Plugin & nvidia-docker2 コンテナへのGPU切り出し 学習結果 NFSで随時書き込み S3でブラウザアクセス コンテナ内へ DataSet & Model 配備 スクリプト注入で挙動制御 イメージビルド不要
  58. 58. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. 再現性
  59. 59. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. 59 学習の入出力 学習環境 python, TensorFlow等 リソース CPU/メモリ/GPU GPU GPU 学習結果 (AI) 大量のデータ (画像等) 学習モデル (pythonコード) 実行コマンド (python train.py)
  60. 60. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. 再現性に必要な物はReadOnlyに 60
  61. 61. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. リソース共有
  62. 62. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. ジョブキューで起きる問題 62 A ジョブ A ジョブ A ジョブ A ジョブ A ジョブ A ジョブ 永遠に はけない ジョブキュー B ジョブ Aが終わるまで 待ち続ける
  63. 63. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. ノード割り当てで解決 63 A ジョブ A ジョブ A ジョブ A ジョブ A ジョブ A ジョブ B ジョブ Aにアクセス権 のないノード
  64. 64. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. 利用状況を見てノード割り当て調整 64
  65. 65. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. まとめ
  66. 66. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. まとめ 66 自由な フレームワーク GPU切り出し 学習結果の リアルタイム確認 コンテナビルド 不要 学習の 全情報を保存 ReadOnlyで 再現性担保 ノード割り当て
  67. 67. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. まとめ 67 がまとめて解決!
  68. 68. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. 68 2018/08/24 夕方の待ちジョブ数:17 休み明けに結果確認 解決された結果
  69. 69. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. 69 解決された結果 GPU を奪い合う日々はもう来ない
  70. 70. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. 70 https://kamonohashi.ai
  71. 71. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. 71 TwitterFacebookGithub フォローおねがいします KAMONOHASHI Kamonohashi_kqiAI開発プラットフォーム 「Kamonohashi」 https://kamonohashi.ai
  72. 72. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. 72
  73. 73. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. 商標についての注記 73  NS Solutions は、新日鉄住金ソリューションズ株式会社の 登録商標です  KAMONOHASHI及びKAMONOHASHI(ロゴ)は、新日鉄住 金ソリューションズ株式会社の登録商標です  その他本文記載の会社名及び製品名はそれぞれ各社の商標 又は登録商標です
  74. 74. Copyright ©2018 NS Solutions Corporation. All Rights Reserved. ロゴの出典 74 *1 TensorFlow, the TensorFlow logo and any related marks are trademarks of Google Inc. *2 https://github.com/odb/official-bash-logo *3 https://www.mozilla.org/ja/foundation/trademarks/policy/ *4 https://github.com/vuejs/art Vue.js artworks by Evan You is licensed under a Creative Commons Attribution 4.0 International License. *5 Portions Copyright © 1996-2018, The PostgreSQL Global Development Group Portions Copyright © 1994, The Regents of the University of California *6 https://github.com/kubernetes/kubernetes/blob/master/logo/usage_guidelines.md *7 https://www.docker.com/legal/brand-guidelines *8 Git Logo by Jason Long is licensed under the Creative Commons Attribution 3.0 Unported License. *9 https://www.python.org/psf/trademarks/

×