Python
AWS
Ubuntu
機械学習

AWSでデータ分析環境を構築する

自分用の備忘メモになります。

AWSのサービスの中には、機械学習向けにSagemakerがありますが、EC2インスタンスを用いて地道に分析環境構築してみようとチャレンジしてみました。

Sagemakerを利用するより、価格がお手軽になるのではないかと期待しています。

1.EC2インスタンスのGPUの制限解除申請

GPUを利用する際には、利用申請が必要になります。利用申請は、日本語で大丈夫です。日本のAWSで申請受付されてから、US本国のAWSでチェックされます。

私が実際に2019年3月末に行った際は、申請から承認まで3日間(営業日)でした。日本側は即USへ申請した旨の返事あり。そこからUSの承認まで数日かかりました。

なお、GCPでは使用申請はないものの、無料枠を消化しないとGPUの使用制限解除にならないことがわかりました。

2.ubuntu 1604 のリモートデスクトップ接続環境の構築

GPUを用いて分析を行うには、CUDA、Anaconda、Chainer等々のPythonライブラリ等のインストールと設定が必要になります。AWSの場合、AMIといってあらかじめ必要なツールを用意してくれるセットがあります。

(利用目的によって、OSをwindowsにしたり、SQLが用意されていたり等々)

2019年4月時点、Ubuntuで、データ分析、深層学習を行うAMIは、Ubuntuバージョンは、16.04になります。Ubuntu 16.04のインスタンスに対して、自分のPCからWINDOWS10を用いて、リモートデスクトップ接続実行したい場合は、下記対応が必要になります。

https://aws.amazon.com/jp/premiumsupport/knowledge-center/connect-to-ubuntu-1604-windows/

3.ブラウザツールのインストール

anaconda navigatorを用い、JupyterNotebookを起動する場合は、ブラウザツールのインストールが必要になります。今回は、Firefoxをインストールしました。

Firefoxのインストール方法は下記URLになります。

https://qiita.com/rokusyou/items/8089b7495119b7c8e29b

4.日本語化対応

英語でUbuntu環境が作成されていますので、下記URLで日本語対応いたしました。

https://qiita.com/hachisukansw/items/154b5349f99a7152fd46

5.困ったこと

(1)リモートデスクトップ接続した際に、“真っ黒画面”が表示される。

リモートデスクトップの設定を試したのですが何も改善されませんでした。AMIのツール類、GUI等でインスタンスのボリュームの使用率が100%になっていたのが原因と推測されます。ストレージのサイズはデフォルト75GiBでは足りませんでした。

(結果的に、ストレージを300GiBで再作成して解消しました。)

ストレージを追加して、下記URLでパーテーションの容量を大きくしようと試みたのですがうまくいかず(これは、私のLinuxの知識不足が大きな原因です。)、インスタンスを再作成しました。

 https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/recognize-expanded-volume-linux.html

(2)キーボード配列の設定

Anaconda Navigatorでは、日本語用のキーボードの配列で入力できませんでした。先にインストールしたFirefoxでは、日本語キーボード配列で正しく入力できたのですが・・・。

以下URLに対応方法がありますが、未実施です。

https://geek-memo.com/ubukey/

https://tech-mmmm.blogspot.com/2017/08/xubuntu-1604xrdprdp.html

※ご参考1

ここまで環境を作成するのに、p2xlargeのインスタンスサイズで100円程度と思います。

(再作成したり、他に色々動かしたので推測です。今のところ7.4$です。)

※ご参考2

Sagemakerでml.p2.xlargeの3つのGPUインスタンスを30時間使ったら260$でした。

GCPでも同様にインスタンス構築からチャレンジしてみようと思います。