はじめまして、GMOインターネットグループの岡村です。
今回は、ConoHa VPS の NVIDIA L4 サーバーで、Splunk App for Data Science and Deep Learning(旧: Deep Learning Toolkit)の導入手順を紹介したいと思います。
ConoHa GPU サーバー
ConoHa では、2023年より、NVIDIA の H100 と L4 のサーバーを提供しています。
![ConoHa NVIDIA H100 / L4 の料金表](https://developers.gmo.jp/wp-content/uploads/2024/07/ConoHa_GPU_Price.png)
月単位で利用するとちょっと手が出にくい金額ですが、ConoHa は時間課金で利用できますので、手が届きやすいのではないかと思います。
サーバー作成
その前に
GPU サーバーの利用には審査が必要です。
![ConoHa コントロールパネル GPU審査](https://developers.gmo.jp/wp-content/uploads/2024/07/ConoHa_GPU_review.png)
画面の指示に従い、必要事項を記入してください。
プランとイメージの選択
コンテナ環境が必要なため、 Docker が利用可能な「NVIDIA Container Toolkit」を使用します。
![ConoHa コントロールパネル GPU イメージ選択画面 NVIDIA Container Toolkit 選択済み](https://developers.gmo.jp/wp-content/uploads/2024/07/ConoHa_GPU_Select_Image.png)
追加ストレージとセキュリティグループ
標準では、100GB のストレージが付与されますが、100GB だとモデルのダウンロードには心許ない容量となりますので、追加ストレージも使用します。
また、Docker は標準では Ubuntu の ufw のファイアウォールを無視しますので、セキュリティグループ側でルールを定義しましょう。
![ConoHa コントロールパネル 追加ストレージ セキュリティグループ設定画面](https://developers.gmo.jp/wp-content/uploads/2024/07/ConoHa_GPU_addsettings.png)
スタートアップスクリプト
GPU サーバーは高価なため、素早く利用できるようにスタートアップスクリプトを使います。
![ConoHa コントロールパネル スタートアップスクリプト テキスト入力画面](https://developers.gmo.jp/wp-content/uploads/2024/07/ConoHa_GPU_Startupscript.png)
cloud-config 形式の場合、merge_how の部分はお約束です。
詳細は下記のページもご確認ください。
(C言語でいう #include ~ main までのようなものですね)
Splunk ダウンロード URL 取得
Splunk の deb / rpm パッケージのダウンロード URL を取得するには、Splunk アカウントが必要になります。
また、その後の手順で App をインストールするためにも必要になりますので登録します。
ログインが完了したら、wget リンクを取得します。
![Splunk ダウンロードページ](https://developers.gmo.jp/wp-content/uploads/2024/07/Splunk_Download_wgetlink.png)
今回使用するスクリプト
下記のスクリプトをもとに、スタートアップスクリプトを完成させます。
- 先ほど確認した 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 Toolkit
- Python 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.sock
- Endpoint URL:VM の IPv4 アドレス
- External URL:VM の IPv4 アドレス
Docker Host については、サンプルと違い、/ が一つ多いことに注意してください。
![Splunk App for Data Science and Deep Learning の Docker 設定](https://developers.gmo.jp/wp-content/uploads/2024/07/Splunk_Dockersetting.png)
コンテナの起動
下記の設定で START ボタンを押して起動します。
- Container Image:Golden Image GPU
- GPU runtime:nvidia
- Cluster target:docker
しばらくすると下記のようにコンテナが起動します。
![Splunk App for Data Science and Deep Learning の Container Model Status](https://developers.gmo.jp/wp-content/uploads/2024/07/Splunk_Containers.png)
- Jupiter Lab
- TensorBoard
- MLflow
- Spark UI
が利用できることがわかります。
Jupiter Lab で確認
先ほどの画面の「JUPYTER LAB」ボタンを選択して起動します。
動作確認のため、下記のコードを入力します。
import torch
print(torch.__version__)
print(torch.cuda.get_device_name())
![Splunk App for Data Science and Deep Learning 上の Jupiter Lab でのテストコード実行結果](https://developers.gmo.jp/wp-content/uploads/2024/07/Splunk_JupyterLab.png)
無事に GPU が認識されていることを確認できました。
まとめ
今回は
- 時間課金で簡単に利用できる「ConoHa の GPU サーバー」
- コンテナ環境が簡単に利用できる「NVIDIA Container Toolkit」イメージ
- 簡単にサーバーがセットアップできる「スタートアップスクリプト」
- 簡単にAI機能が活用できる「Splunk App for Data Science and Deep Learning」
により、簡単に利用できる方法を紹介しました。
ぜひ一度お試しくださいませ。
ブログの著者欄
採用情報
関連記事
KEYWORD
CATEGORY
-
技術情報(404)
-
イベント(141)
-
カルチャー(34)
-
デザイン(9)
TAG
- 5G
- Adam byGMO
- AI
- AWX
- BIT VALLEY
- blockchain
- ChatGPT
- cloudnative
- CloudStack
- CM
- CNDO
- CNDT
- CODEGYM Academy
- ConoHa
- CS
- CSS
- CTF
- DC
- DevSecOpsThon
- Docker
- DTF
- GitLab
- GMO Developers Day
- GMO Developers Night
- GMO Hacking Night
- GMO kitaQ
- GMO SONIC
- GMOアドパートナーズ
- GMOアドマーケティング
- GMOイエラエ
- GMOグローバルサイン
- GMOデジキッズ
- GMOペイメントゲートウェイ
- GMOペパボ
- GMOリサーチ
- Go
- GTB
- Hardning
- Harvester
- HCI
- iOS
- IoT
- ISUCON
- JapanDrone
- Java
- JJUG
- K8s
- Kids VALLEY
- MetaMask
- MySQL
- NFT
- OpenStack
- Perl
- PHP
- PHPcon
- PHPerKaigi
- QUIC
- Rancher
- RPA
- Ruby
- Selenium
- splunk
- SRE
- SSL
- Terraform
- TLS
- TypeScript
- UI/UX
- VLAN
- VS Code
- インターンシップ
- オブジェクト指向
- オンボーディング
- お名前.com
- カルチャー
- コンテナ
- スクラム
- スペシャリスト
- ソフトウェアテスト
- チームビルディング
- ドローン
- ネットワーク
- プログラミング教育
- ブロックチェーン
- ゆめみらいワーク
- リモートワーク
- 基礎
- 多拠点開発
- 大学授業
- 宮崎オフィス
- 応用
- 技育プロジェクト
- 新卒
- 暗号
- 機械学習
- 決済
PICKUP