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

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

1e5a15f4dc65c207a04a1e82a3f92e92?s=128

ryo nakamaru

May 24, 2018
Tweet

Transcript

  1. 2.

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

    Architect at Rescale, Inc. • AWS Certified SA, DevOps Engineer - Pro • Google Certified Professional - Cloud Architect Profile !2
  2. 3.

    SUPINF Inc. !3 • クラウド / コンテナ 中心の コンサルティング /

    環境構築 / 受託開発 / 運用 • 直近ではオンプレ × DGX-1 × Kubernetes な機械学習環境の納品など • スピンフ、と読みます
  3. 4.

    Rescale, Inc. !4 • クラウド HPC プラットフォームを SaaS で提供 •

    スケーラブルなシミュレーションや機械学習をとても手軽に • Singularity でのジョブ実行もサポート
  4. 7.

    インフラ管理者のための 7 つのヒント !7 1. なぜ Docker か 2. なぜ

    NVIDIA GPU Cloud(NGC)か 3. ジョブスケジューラとは何か 4. なぜ Kubernetes か 5. なぜ Singularity か 6. なぜ HPC のジョブスケジューラか 7. なぜクラウドとのハイブリッド環境か
  5. 14.

    NGC とは? !14 ・NVIDIA 公式の Docker レジストリ ・Docker イメージは毎月更新される ・CUDA

    やライブラリはもちろん同梱 ・NVIDIA GPU に最適化された設定 ・なんと無料
  6. 23.

      Kubernetes !23 Control plane(管理ノード)     計算ノード 社内 DC

    社内 DC • Docker との相性抜群 Kubernetes クラスタ
  7. 24.

      Kubernetes !24 Control plane(管理ノード)     計算ノード Tesla V100

    社内 DC TITAN V 社内 DC • Docker との相性抜群 • NVIDIA さんもサポートを宣言 • 複数 GPU アーキテクチャでも OK ( New )
  8. 25.

      Kubernetes !25 Control plane(管理ノード) ジョブを定義した YAML を Apply  

      計算ノード Tesla V100 社内 DC TITAN V 社内 DC • 例えば高性能な Tesla で計算したい!  YAML に書いた定義を渡すと・・
  9. 26.

      Kubernetes !26 Control plane(管理ノード) ジョブを定義した YAML を Apply  

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

      Kubernetes !27 Control plane(管理ノード)       計算ノード Tesla

    V100 社内 DC TITAN V 社内 DC Tesla P100 AWS … • 専用線で繋げばクラウドもクラスタに • Federated という方法もあったり
  11. 28.

      Kubernetes !28 Control plane(管理ノード) ジョブを定義した YAML を Apply  

        計算ノード Tesla V100 社内 DC TITAN V 社内 DC Tesla P100 AWS … • “クラウドで動かしたい” or / and • “Tesla P100 で動かしたい”
  12. 29.
  13. 32.

    Better Docker !32 もっと計算を速くしたい勢 運用を改善したい勢 IB 使いたい ノード またぎたい もっと

    MPI かんたんに root 渡すの 無理です 既存の  スケジューラ 使いたい
  14. 33.

    Singularity • http://singularity.lbl.gov • Singularity = Docker のいいところ(特に再現性)+ HPC サポート

    ‣ 基本思想は同じ: Build, Ship, and Run any app, Anywhere ‣ 高性能ハードウェアそのまま、ジョブスケジューラもそのまま • DockerHub のように公式レジストリもあるよ ‣ https://singularity-hub.org !33
  15. 38.

    HPC 系ジョブスケジューラとの違い !38 Web (Docker) 界隈 ・Singularity 対応なし ・基本ホストリソースの 切り売り

    scheduler   GPU GPU GPU …   GPU GPU GPU … 確保! scheduler   GPU GPU GPU …   GPU GPU GPU … 確保! HPC 業界 ・ノードをまたいで リソースを確保できる ・ノード間通信するための設定もしてくれる
  16. 46.
  17. 48.

    ご静聴ありがとうございました 参考文献: • ディープ ラーニング コンテナー - 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