「AI日常化挑戦する会社」

現在位置:

NGC(nVIDIA GPU Cloud)を試してみた! 

NGC は nVIDIA 社が提供する Docker イメージです。

 

前回は、ESLA製ノートPC「VERUGA 5000」で、デュアルブート環境を構築しました。Windows ベースの「VERUGA 5000」に、Ubuntu をデュアルブートして、ディープラーニングマシンを構築しましたが、今回は NGC(nVIDIA GPU Cloud)についてご紹介いしていきます。

NGC は nVIDIA 社が提供する Docker イメージで、コンテナ技術を活用した仮想環境です。Deep Learning フレームワークは色々ありますが、それらを一から構築するのは凄く大変です。(弊社のディープラーニング・モデルは、基本的に一から構築をおこなっています)

 

 

そんな大変な作業を行わずに簡単にフレームワークを動かす方法があります。それが Docker というものです各フレームワークの Docker イメージが Dockerhub に提供されています。

他にも nVIDIA 社が提供している NGC です。

どちらも Deep Learning フレームワークの Docker イメージですが、同じようで実は違います。

前回は、ESLA製ノートPC「VERUGA 5000」で、デュアルブート環境を構築しましたが、今回は、GeForce 2080 Ti を 2 枚搭載したモデルで検証してみました。

このモデルは、弊社のディープラーニング・モデルで最も人気のあるモデルの一つです。詳しくは、こちら をご覧ください。

NGC(nVIDIA GPU Cloud)のメリット

Dockerhub で提供されているフレームワークは、必要最低限のイメージになります。これをダウンロードしてさらに必要なものをインストールしていきます。Docker に慣れていないと凄く大変な作業ですし、さらに知識が凄く必要です。

その煩わしい作業を行わなわず、ダウンロードしてすぐに使えるようにしたのが、nVIDIA 社の NGC です

NGC はダウンロードして直ぐに使えるように nVIDIA 社がチューニングと検証を行ったイメージです。

まず事前準備として、Docker のインストールと NGC の登録を行っていきます。Docker のインストールは、弊社ではシェルスクリプトに記載しており、それを実行していきます。現行の Docker は、Docker2 になります。

まず最初に、 NGC 登録サイト にアクセスします。

NGC(nVIDIA GPU Cloud)の登録手順

次に「Create an Account」のボタンをクリックすると次の画面に移ります。

「Full Name」と「Email Address」を入力し、必要な箇所にチェックを入れ、「Sign UP」をクリックします。

画像認証モードにより、お題の画像を選択し「確認」ボタンをクリックします。

しばらくすると「Email Address」欄に入力したアドレス宛に nVIDIA 社から確認のメールが送られてきます。

メールに記載されているリンクをクリックし、Sign in のページに移動します。

登録したメールアドレスを入力し、「Forgot Password」をクリックします。

再度、登録しているメールアドレス宛にメールが届きますので、メールに記載しているリンクをクリックします。

パスワードをを登録するために、任意のパスワード2回を入力します。最低9文字の英文字・数字・大文字・小文字・記号が含まれている必要があります。

「Set New Password」をクリックします。

再度 Sign in ページに移動し、登録しているEメールアドレスを入力し、「Next」をクリックします。先ほど登録したパスワードを入力し、「Sign in」をクリックします。

右上に登録したユーザー名が表示していますのでクリックし、「Setup」をクリックします。

「Generate API Key」の「Get API Key」をクリックします。

右上にある 「Generate API Key」をクリックします。

「Confirm」をクリックします。

API Keyが生成されますのでコピーします。

セットアップしたいユーザー上で、端末を開き、コマンドを入力します。

ngc config set

これでNGCを使う準備ができました。

NGC からフレームワークをインストール

ここでは、TensorFlow を例として、インストールしてきます。上記画像にあるように、端末で入力していきます。ただし、このままでは GPU を使う計算ができませんので、コマンドを変更して実行します。

Docker run gpus=all nvcr.io/nvidia/tensorflow:20.02-tf1-py3

これで Dockerの TensorFlow を実行することができました。

Docker の他に Singularity とういう技術もあります。これは、HPC 用に開発されたコンテナ技術です。Singularity につきましては、今後ご紹介できればと思っています。