ABCIで機械学習環境を爆速で構築する
0. 概要
ABCIというスパコン的なAI研究のためのハードウェアリソース基盤が凄いらしい。
https://abci.ai/ja/
使ってみようとしたところ、使うまでが結構難しいのでまとめてみた。
簡単に以下の手順が必要である。
- アカウント登録
- 公開鍵登録
- asにログイン
- esにログイン
- 計算ノードへログイン
- GPUを使える!
TL;DR
以下の3ステップで計算ノードへ接続できます。
host$ ssh <YOUR_USERNAME>@as.abci.ai -L 10022:es:22
host$ ssh -XC -p 10022 -l <YOUR_USERNAME> localhost
es$ qrsh -g <YOUR_GROUPNAME> -l rt_F=1 -pty yes -display $DISPLAY -v TERM /bin/bash
1. 環境構築
計算ノードに接続するところまで環境構築を行う。
1.1. アカウント登録
以下のウェブサイトから申請してアカウントを発行
https://abci.ai/ja/how_to_use/member.html
次に、アカウントと仮パスワードを使ってログイン。
1.2. 公開鍵登録
1.3. SSHログイン (to as)
ACBIに公開鍵でログインする。
概要
この時、ログインするマシンはACBI内のas
であるが、フォワーディングされて
es1
~es4
のどれかにログインすることになる。
es
は1人あたり32MB程度しか割り当てられておらず、またGPU等も利用できない。
そこで、有料マシンの計算ノードに接続する必要がある。
as
にssh
teraterm
等のsshクライアントを使いログインを行う。
$ ssh <YOUR_USERNAME>@as.abci.ai -L 10022:es:22
es
にssh
次にes
にログインする。
teraterm
等のsshクライアントをもう1つ開き以下のように入力する
$ ssh -p 10022 -l <YOUR_USERNAME> localhost
これでWelcome to ABCI System
等と表示されれば成功である。
1.4. 計算ノードへ接続
es
につないだところで、ただのハブである。
これから計算ノードを利用する。計算ノードの利用は有料である。今回はグループ単位で借りているとする。
es
内で以下のコマンドを実行する
$ qrsh -g group -l resource_type=num [options]
例えば次のようにする$ qrsh -g gabxxxx -l rt_F=1
。
なお、リソースタイプは以下である。
おもむろにnvidia-smi -l
を実行すると・・・
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 440.33.01 Driver Version: 440.33.01 CUDA Version: 10.2 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 Tesla V100-SXM2... On | 00000000:3D:00.0 Off | 0 |
| N/A 25C P0 41W / 300W | 0MiB / 16160MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
| 1 Tesla V100-SXM2... On | 00000000:3E:00.0 Off | 0 |
| N/A 23C P0 40W / 300W | 0MiB / 16160MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
| 2 Tesla V100-SXM2... On | 00000000:B1:00.0 Off | 0 |
| N/A 23C P0 42W / 300W | 0MiB / 16160MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
| 3 Tesla V100-SXM2... On | 00000000:B2:00.0 Off | 0 |
| N/A 25C P0 42W / 300W | 0MiB / 16160MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+
1.5. Display変数を引き継いで接続
まずas
につないだ状態で以下のように接続する。
ただDisplay変数を引き継いで渡しているだけである。
host$ ssh -XC -p 10022 -l <YOUR_USERNAME> localhost
es$ qrsh -g <YOUR_GROUPNAME> -l rt_F=1 -pty yes -display $DISPLAY -v TERM /bin/bash
2. 機械学習環境
一先ず、TensorflowとKerasを入れてみる。
2.1. 初回
計算ノードにログインした状態で以下を実行する。
g0001$ module load python/3.6/3.6.5 cuda/10.0/10.0.130.1 cudnn/7.6/7.6.5
g0001$ python3 -m venv ~/venv/tensorflow-keras
g0001$ source ~/venv/tensorflow-keras/bin/activate
(tensorflow-keras) g0001$ pip3 install --upgrade pip setuptools
(tensorflow-keras) g0001$ pip3 install tensorflow-gpu==1.15 keras
これでtensorflow
及びkeras
のインストールが終わった。
2.2. 2度目以降
簡単!
g0001$ module load python/3.6/3.6.5 cuda/10.0/10.0.130.1 cudnn/7.6/7.6.5
g0001$ source ~/venv/tensorflow-keras/bin/activate
99. その後
Author And Source
この問題について(ABCIで機械学習環境を爆速で構築する), 我々は、より多くの情報をここで見つけました https://qiita.com/harmegiddo/items/9872a819e647095c5b9d著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .