LoginSignup
5
5

More than 1 year has passed since last update.

AWSでGPU開発環境を簡単に構築できた話

Last updated at Posted at 2022-12-09

はじめに

実は最近、初めてAWSで深層学習環境を構築しました。その時の対応メモとして一部残しておきたいと思います。

Tips

AMIの選択

UbuntuでPyTorch環境が使える環境が欲しかったのですが、はじめからPyTorchなりTensorFlowなりが動かせるAMIがあるので、うまく探すと楽です。

EC2→イメージ→AMIカタログ→クイックスタートAMI、と辿ったのち適応に絞り込むとひっかかります。

インスタンスタイプの選択

ざっと調べた感じだと、最も安価にNVIDIAのGPUが使えるインスタンスタイプはg4dn.xlargeかなと思われます。

このg4dn.xlargeはNVIDIA T4 GPUが1つ使える環境ですが、Colab無料版と同じGPUのようです。
なので、colabで動かせるレベルのものをAWSで動かしたい場合、まずはこのインスタンスタイプを選ぶと良いかもしれません。

インスタンスタイプの一時変更について

GPUインスタンスはCPUのものに比べて時間単価が高めです。
深層学習の実行時にはGPU環境は必要なものの、その他の環境構築やコーディング時など一時的にGPU環境が無くても良い場合も多いです。
こういった時に、一時的にCPUインスタンスに切り替えてしまうことで、使用コストを抑えることができます。
今回の場合だと、t2.mediumやt2.largeなど一時的に切替して問題なく使用できました。(ただし、あまりに小さいリソースのインスタンス環境にすると立ち上がらないので注意)

・切替方法
インスタンス→構築したインスタンスを選んで、アクション→インスタンスの設定→インスタンスタイプを変更

環境のアクティベート

pytorch環境はcondaで構築されています。sshログイン時にその環境のアクティベート方法が書かれていますが、次のようにします。

$ source activate pytorch

condaでpytorchという名前の仮想環境ができています。
なので、下記のリンクのように新たに仮想環境を作ったり、複製したりもできます。便利。。

もちろん既存環境に追加でpip installなどもできます。

VSCodeでのリモート開発の対応

特別なことはなく、SSH構成ファイルを開いてHost情報を入力して接続すると、自分の端末上のVSCodeでAWS環境へのリモート開発も簡単にできます。

Host hogehoge
    HostName ${インスタンスのIP}
    User ${linuxのユーザ名。今回のデフォルト名だとubuntu}
    ...
  (その他、port指定やIdenityFile等があるなら適宜設定)

開発したpythonコードのリモートデバッグ時は、conda環境(デフォルトでpytorch)ももちろん指定できます。

最後に

基本的なことをただ箇条書きしただけで恐縮です。。
それにしてもAWSは簡単に環境ができるので楽で良いですね。
機会があれば、何か追記するかもしれません。
おしまい。

5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5