ConoHa VPS の NVIDIA L4 サーバーで Splunk App for Data Science and Deep Learning を使ってみる
はじめまして、GMOインターネットグループの岡村です。今回は、ConoHa VPS の NVIDIA L4 サーバーで、Splunk App for Data Science and Deep Learning(旧: Deep Learning Toolkit)の導入手順を紹介したいと思います。
ConoHa GPU サーバー
ConoHa では、2023年より、NVIDIA の H100 と L4 のサーバーを提供しています。
GPUサーバー-AI開発や画像生成に|VPSならConoHa
月単位で利用するとちょっと手が出にくい金額ですが、ConoHa は時間課金で利用できますので、手が届きやすいのではないかと思います。
サーバー作成
その前に
GPU サーバーの利用には審査が必要です。
画面の指示に従い、必要事項を記入してください。
プランとイメージの選択
コンテナ環境が必要なため、 Docker が利用可能な「NVIDIA Container Toolkit」を使用します。
追加ストレージとセキュリティグループ
標準では、100GB のストレージが付与されますが、100GB だとモデルのダウンロードには心許ない容量となりますので、追加ストレージも使用します。
また、Docker は標準では Ubuntu の ufw のファイアウォールを無視しますので、セキュリティグループ側でルールを定義しましょう。
スタートアップスクリプト
GPU サーバーは高価なため、素早く利用できるようにスタートアップスクリプトを使います。
cloud-config 形式の場合、merge_how の部分はお約束です。詳細は下記のページもご確認ください。(C言語でいう #include ~ main までのようなものですね)
スタートアップスクリプトを作成する
Splunk ダウンロード URL 取得
Splunk の deb / rpm パッケージのダウンロード URL を取得するには、Splunk アカウントが必要になります。
また、その後の手順で App をインストールするためにも必要になりますので登録します。
Splunk Enterprise無料ダウンロード | Splunk
ログインが完了したら、wget リンクを取得します。
今回使用するスクリプト
下記のスクリプトをもとに、スタートアップスクリプトを完成させます。
先ほど確認した wget リンクをもとに wget 行を修正Splunk のログインパスワードを changeme から変更
#cloud-config
merge_how:
- name: list
settings: [append]
- name: dict
settings: [no_replace, recurse_list]
mounts:
- [/dev/vdb, /opt/splunk, auto, "defaults", 0, 0]
runcmd:
- mkfs.ext4 /dev/vdb
- mount /dev/vdb
- wget -O /root/splunk-9.2.2-linux-2.6-amd64.deb "上記で調べた URL"
- dpkg -i /root/splunk-9.2.2-linux-2.6-amd64.deb
- ln -s /opt/splunk/bin/splunk /usr/local/bin/splunk
- /opt/splunk/bin/splunk enable boot-start --accept-license --answer-yes --seed-passwd changeme
- /opt/splunk/bin/splunk start
- ufw allow 8000/tcp comment 'Splunk Web'
Splunk 環境セットアップ
コントロールパネルで「稼働中」になった後、スタートアップスクリプトの処理が流れ終わるまで数分待つと、「http://サーバーのIPv4アドレス:8000」で Splunk のログインができるようになります。
App のインストール
下記の App をインストールします。
Splunk Machine Learning ToolkitPython for Scientific Computing (for Linux 64-bit)Splunk App for Data Science and Deep Learning
Splunk App for Data Science and Deep Learning の設定
今回導入した App のうち、Splunk App for Data Science and Deep Learning のみは初期設定が必要です。
下記の内容を入力します。
Docker Host:unix:///var/run/docker.sockEndpoint URL:VM の IPv4 アドレスExternal URL:VM の IPv4 アドレス
Docker Host については、サンプルと違い、/ が一つ多いことに注意してください。
コンテナの起動
下記の設定で START ボタンを押して起動します。
Container Image:Golden Image GPUGPU runtime:nvidiaCluster target:docker
しばらくすると下記のようにコンテナが起動します。
Jupiter LabTensorBoardMLflowSpark UI
が利用できることがわかります。
Jupiter Lab で確認
先ほどの画面の「JUPYTER LAB」ボタンを選択して起動します。
動作確認のため、下記のコードを入力します。
import torch
print(torch.__version__)
print(torch.cuda.get_device_name())
無事に GPU が認識されていることを確認できました。
まとめ
今回は
時間課金で簡単に利用できる「ConoHa の GPU サーバー」コンテナ環境が簡単に利用できる「NVIDIA Container Toolkit」イメージ簡単にサーバーがセットアップできる「スタートアップスクリプト」簡単にAI機能が活用できる「Splunk App for Data Science and Deep Learning」
により、簡単に利用できる方法を紹介しました。
ぜひ一度お試しくださいませ。