WebARENA IndigoGPU™でGPUを体感して
みよう!

【技業LOG】技術者が紹介するNTTPCのテクノロジー

2022.10.27
AI・ディープラーニング
VPS・IaaS
金刺 啓之

プロダクトマネージャー
金刺 啓之

寺田 亜紀

プロダクトマネージャー
寺田 亜紀

技業LOG

広がるGPUの可能性

GPUとは「Graphics Processing Unit」の略で、もともと3Dグラフィックスなどの画像描写のために使われるユニットで、グラフィック特化のプロセッサとして普及し、活躍してきました。しかしながら、GPUは映像にとどまらず、グラフィック以外の分野でも扱えるようになり、その利用機会が増え、幅広い分野で活用されるようになりました。
グラフィック描写では、同一の計算が多数発生するため、GPUは並列処理にたけております。そこで、膨大な計算処理を要するAI・ディープラーニングなどの分野で、GPUを安価で手軽にご利用になれるよう、NVIDIA A100が使える「WebARENA IndigoGPU™」サービスの提供を開始しました。

サービス紹介ページ:https://web.arena.ne.jp/indigogpu/

今回、実際にどのくらい手軽にGPUを利用開始できるのか、GPUインスタンス利用までの手順を紹介します。

GPUを利用するまでには、インスタンスの接続まで、主に4つのステップで進めて、GPUインスタンスを利用開始することができます。

1.事前準備

WebARENA IndigoGPU™のコントロールパネルから、下記の処理を実施しておきます。

  1. インスタンスの作成
  2. SSHアクセスサーバー用秘密鍵の保存
  3. インスタンス用秘密鍵の保存

1-1.インスタンスの作成

まず、申請時に申請したメールアドレスを使って、コントロールパネルにログインします。

■ログイン画面
ログイン画面
■ログイン後画面
ログイン後画面

画面左側に表示されるメニューから「インスタンス作成 > クリック・スタート」をクリックします。
「カスタム構成」を利用すると、あらかじめ自分で作成しておいたインスタンスアクセス用のSSHキーを指定してインスタンスを作成することもできますが、今回は自動生成済みのSSHキーを使う「クリック・スタート」から作成する流れを紹介します。

「1.インスタンス名」に任意の文字列を入力して、【次へ】をクリックします。
インスタンス名には、半角小文字英数のみしか使えません。4文字以上、32文字以下で指定する必要があります。

次にインスタンスタイプを選択します。
「AI・ディープラーニング」を選択することで、GPU利用に必要なライブラリ(PyTorch、TensorFlow、CUDA)が標準インストールされたインスタンスが作成されます。

インスタンスタイプを選択したら、「3.SSH秘密鍵の生成」画面へ遷移します。ここでの処理は不要です。そのまま【次へ】をクリックします。

次に課金タイプを選択の上、【次へ】をクリックして処理を進めます。今回は従量タイプを選択して作成します。
【注意】後から課金タイプを変更できないのでご注意ください。

入力した内容、選択した内容に問題がないか確認の上、「内容を確認しました」にチェックを入れます。そして【作成】をクリックします。

左メニューの「HOME」をクリックすると、「会員インスタンス」一覧に作成中のインスタンスが追加表示されます。作成中の際、「IPアドレス」の欄は『Pending』となっておりますが、1分ほどでインスタンスの新規作成が完了し、【起動】ボタンが表示されます。この時、インスタンスは『停止中』となっています。

【起動】をクリックすると、インスタンスが起動され、プライベートIPアドレスが割り当てられます。
従量課金のインスタンスを起動しようとした場合は、起動に関する確認画面が表示されます。内容を確認の上、「内容を確認しました」にチェックを入れて、【起動する】をクリックします。

起動中は、「IPアドレス」の欄が『Pending』の状態です。IPアドレスが割り当てられて、起動リクエストが完了したら、インスタンスの準備は完了です。

WebARENA IndigoGPU™では、インスタンスに接続するためにはアクセスサーバーを経由してインスタンスにアクセスする必要があります。

事前準備としてアクセスサーバー用秘密鍵、インスタンス用秘密鍵をダウンロードします。

1-2.アクセスサーバー用秘密鍵の保存

コントロールパネル 左メニューの「SSHキー」をクリックし、「インスタンスへの接続方法」にある、【アクセス鍵ダウンロード】をクリックすると、「ackey.txt」というファイルがダウンロードされます。

1-3.インスタンス用秘密鍵の保存

「インスタンスへの接続方法」にある「1.インスタンス用秘密鍵の保存」内にあるプルダウンメニューから『defaultinskey』を選択し、【インスタンス鍵ダウンロード】をクリックします。「mykey.txt」というファイルがダウンロードされます。

1-2.1-3.でダウンロードしたファイルを「C:\Users\[自分の環境のユーザー名」\.ssh」に保存してください(「.ssh」フォルダがない場合は新規作成してください)。

これで事前準備は完了です!いよいよGPUインスタンスへ接続します!!

2.WindowsPCからインスタンスへ接続する

WebARENA IndigoGPU™のインスタンスへSSH接続する際、クライアント端末のOSには、WindowsOS、MacOS、LinuxOSを利用することができます。今回はWindowsOSのクライアント端末からアクセスする方法を紹介します。

クライアント端末(WindowsPC)にて、Windowsのターミナル(ここではコマンドプロンプト)を立ち上げます。この時、カレントフォルダが「C:\Users\[自分の環境のユーザー名」になっていることを確認しておきます。

下記のコマンドを使いアクセスサーバーに向けてsshトンネルを確立します。

ssh -L 20122:<インスタンスIP>:22 -l user アクセスサーバーIP -p 30022 -i .ssh/ackey.txt

次に、別のターミナル(コマンドプロンプト)を起動し、インスタンスにインスタンス用秘密鍵を利用してssh接続をします。インスタンスに作成されている『user』アカウントにてログイン完了です。

ssh user@localhost -p 20122 -i .ssh/mykey.txt

今回は、AI・ディープラーニング用途に必要なライブラリ(PyTorch/TensorFlow/CUDA)が標準インストールされたイメージファイルを使ってインスタンスを作成したので、CUDAのインストール状況を確認してみます。

CUDA関連の情報を見る

3.PythonでCUDAを使った演算処理を実行してみた

簡単な演算処理スクリプトを実行してみました。
このスクリプトを実行する前に、事前準備として必要なソフトのインストールをします。

  • NumPyのインストール(NumpyはPythonの数値計算のためのモジュール)
    $ pip install numpy
  • PyCUDAのインストール(PythonでCUDAを動かすためのモジュール)
    $ pip install -U pycuda

テスト演算処理スクリプトは下記の通りです。

50000x50000の乱数配列を生成し、生成した配列の2乗の結果を取得して表示します。

処理を実行し、時間を測ってみました。

本当にGPUが使われているのかも確認してみたところ、きちんとGPUのメモリが使用されていることを確認出来ました。

4.最後に

WebARENA IndigoGPU™を使うと、インスタンスの作成からインスタンスへの接続まで、5分程度で可能です。今回の作成ではディープラーニング用途に必要なライブラリが標準搭載されたインスタンスを選択したので、GPUを使った処理を試すのに必要な環境構築もほとんどなく、簡単にGPUを利用することができました。初歩的なスクリプトの利用ではありますが、大きな問題もなく驚くくらい手軽に使うことができました。

GPUサーバーのご利用を検討されている方は参考にしてくださればと思います。

技業LOG

この記事で紹介しているサービスは
こちら

WebARENA IndigoGPU™

GPUを手軽に使えるVPSサービス

おすすめ記事

    お気軽にご相談ください