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 のサーバーを提供しています。

ConoHa NVIDIA H100 / L4 の料金表

月単位で利用するとちょっと手が出にくい金額ですが、ConoHa は時間課金で利用できますので、手が届きやすいのではないかと思います。

サーバー作成

その前に

GPU サーバーの利用には審査が必要です。

ConoHa コントロールパネル GPU審査

画面の指示に従い、必要事項を記入してください。

プランとイメージの選択

コンテナ環境が必要なため、 Docker が利用可能な「NVIDIA Container Toolkit」を使用します。

ConoHa コントロールパネル GPU イメージ選択画面 NVIDIA Container Toolkit 選択済み

追加ストレージとセキュリティグループ

標準では、100GB のストレージが付与されますが、100GB だとモデルのダウンロードには心許ない容量となりますので、追加ストレージも使用します。

また、Docker は標準では Ubuntu の ufw のファイアウォールを無視しますので、セキュリティグループ側でルールを定義しましょう。

ConoHa コントロールパネル 追加ストレージ セキュリティグループ設定画面

スタートアップスクリプト

GPU サーバーは高価なため、素早く利用できるようにスタートアップスクリプトを使います。

ConoHa コントロールパネル スタートアップスクリプト テキスト入力画面

cloud-config 形式の場合、merge_how の部分はお約束です。
詳細は下記のページもご確認ください。
(C言語でいう #include ~ main までのようなものですね)

Splunk ダウンロード URL 取得

Splunk の deb / rpm パッケージのダウンロード URL を取得するには、Splunk アカウントが必要になります。

また、その後の手順で App をインストールするためにも必要になりますので登録します。

ログインが完了したら、wget リンクを取得します。

Splunk ダウンロードページ

今回使用するスクリプト

下記のスクリプトをもとに、スタートアップスクリプトを完成させます。

  • 先ほど確認した 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 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 設定

コンテナの起動

下記の設定で START ボタンを押して起動します。

  • Container Image:Golden Image GPU
  • GPU runtime:nvidia
  • Cluster target:docker

しばらくすると下記のようにコンテナが起動します。

Splunk App for Data Science and Deep Learning の Container Model Status
  • 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 でのテストコード実行結果

無事に GPU が認識されていることを確認できました。

まとめ

今回は

  • 時間課金で簡単に利用できる「ConoHa の GPU サーバー」
  • コンテナ環境が簡単に利用できる「NVIDIA Container Toolkit」イメージ
  • 簡単にサーバーがセットアップできる「スタートアップスクリプト」
  • 簡単にAI機能が活用できる「Splunk App for Data Science and Deep Learning」

により、簡単に利用できる方法を紹介しました。

ぜひ一度お試しくださいませ。

ブログの著者欄

岡村 康行

GMOインターネットグループ株式会社

GMOインターネットグループ株式会社 2016年入社、ConoHa や Z.com Cloud など、OpenStack インフラの開発・運用に従事。2023年よりアーキテクトとして活動中。写真は採用サイトでインタビューを受けた時の写真です。

採用情報

関連記事

KEYWORD

採用情報

SNS FOLLOW

GMOインターネットグループのSNSをフォローして最新情報をチェック