Upgrade to Pro — share decks privately, control downloads, hide ads and more …

NGC × Singularity での機械学習環境/MachineLearning envi...

NGC × Singularity での機械学習環境/MachineLearning environment with NGC and Singularity

ryo nakamaru

May 24, 2018
Tweet

More Decks by ryo nakamaru

Other Decks in Science

Transcript

  1. 中丸 良 @pottava • CTO at SUPINF Inc. / Solutions

    Architect at Rescale, Inc. • AWS Certified SA, DevOps Engineer - Pro • Google Certified Professional - Cloud Architect Profile !2
  2. SUPINF Inc. !3 • クラウド / コンテナ 中心の コンサルティング /

    環境構築 / 受託開発 / 運用 • 直近ではオンプレ × DGX-1 × Kubernetes な機械学習環境の納品など • スピンフ、と読みます
  3. Rescale, Inc. !4 • クラウド HPC プラットフォームを SaaS で提供 •

    スケーラブルなシミュレーションや機械学習をとても手軽に • Singularity でのジョブ実行もサポート
  4. インフラ管理者のための 7 つのヒント !7 1. なぜ Docker か 2. なぜ

    NVIDIA GPU Cloud(NGC)か 3. ジョブスケジューラとは何か 4. なぜ Kubernetes か 5. なぜ Singularity か 6. なぜ HPC のジョブスケジューラか 7. なぜクラウドとのハイブリッド環境か
  5. NGC とは? !14 ・NVIDIA 公式の Docker レジストリ ・Docker イメージは毎月更新される ・CUDA

    やライブラリはもちろん同梱 ・NVIDIA GPU に最適化された設定 ・なんと無料
  6.   Kubernetes !23 Control plane(管理ノード)     計算ノード 社内 DC

    社内 DC • Docker との相性抜群 Kubernetes クラスタ
  7.   Kubernetes !24 Control plane(管理ノード)     計算ノード Tesla V100

    社内 DC TITAN V 社内 DC • Docker との相性抜群 • NVIDIA さんもサポートを宣言 • 複数 GPU アーキテクチャでも OK ( New )
  8.   Kubernetes !25 Control plane(管理ノード) ジョブを定義した YAML を Apply  

      計算ノード Tesla V100 社内 DC TITAN V 社内 DC • 例えば高性能な Tesla で計算したい!  YAML に書いた定義を渡すと・・
  9.   Kubernetes !26 Control plane(管理ノード) ジョブを定義した YAML を Apply  

      計算ノード Tesla V100 社内 DC TITAN V 社内 DC • 空きがあり、条件に合うノードに配置 • nvidia-docker v1 / v2 すでに対応済 → コンテナへ適切に GPU 割り当て
  10.   Kubernetes !27 Control plane(管理ノード)       計算ノード Tesla

    V100 社内 DC TITAN V 社内 DC Tesla P100 AWS … • 専用線で繋げばクラウドもクラスタに • Federated という方法もあったり
  11.   Kubernetes !28 Control plane(管理ノード) ジョブを定義した YAML を Apply  

        計算ノード Tesla V100 社内 DC TITAN V 社内 DC Tesla P100 AWS … • “クラウドで動かしたい” or / and • “Tesla P100 で動かしたい”
  12. Better Docker !32 もっと計算を速くしたい勢 運用を改善したい勢 IB 使いたい ノード またぎたい もっと

    MPI かんたんに root 渡すの 無理です 既存の  スケジューラ 使いたい
  13. Singularity • http://singularity.lbl.gov • Singularity = Docker のいいところ(特に再現性)+ HPC サポート

    ‣ 基本思想は同じ: Build, Ship, and Run any app, Anywhere ‣ 高性能ハードウェアそのまま、ジョブスケジューラもそのまま • DockerHub のように公式レジストリもあるよ ‣ https://singularity-hub.org !33
  14. HPC 系ジョブスケジューラとの違い !38 Web (Docker) 界隈 ・Singularity 対応なし ・基本ホストリソースの 切り売り

    scheduler   GPU GPU GPU …   GPU GPU GPU … 確保! scheduler   GPU GPU GPU …   GPU GPU GPU … 確保! HPC 業界 ・ノードをまたいで リソースを確保できる ・ノード間通信するための設定もしてくれる
  15. ご静聴ありがとうございました 参考文献: • ディープ ラーニング コンテナー - NVIDIA GPU Cloud

    (NGC)           https://www.nvidia.com/ja-jp/gpu-cloud/deep-learning-containers/ • Containers for Science, Reproducibility and Mobility SINGULARITY P2      https://www.intel.com/content/dam/www/public/us/en/documents/presentation/hpc- containers-singularity-advanced.pdf • Singularityで分散深層学習(産総研佐藤さん)                 https://www.slideshare.net/htsst/singularity-85959573