著名なディープラーニングフレームワークをサポートするAWS純正AMI:「AWS Deep Learning AMI」
AWS上でディープラーニングの実行環境を整える方法については様々なものが紹介・実践されていますが、AWSでも代表的なディープラーニングのフレームワークをサポートしている環境をAMIの形式で提供しています。それが下記の「AWS Deep Learning AMI」です。当エントリではその概要と実践方法について内容を紹介したいと思います。
AWS Deep Learning AMIについて
「AWS Deep Learning AMI」では以下のディープラーニングに関するオープンソースフレームワークが予めインストールされており、AWS上でクラウド内で高度な学習プロジェクトを利用したい簡単に構築を行うことが出来ます。
- MXNet とは | AWS
- TensorFlow on AWS - Deep Learning on the Cloud
- オープンソースのAI・人工知能/Microsoft Cognitive Toolkitとは
- オープンソースのAI・人工知能/Caffeとは
- NVIDIA と Facebook が協力し、Caffe2 ディープラーニング フレームワークを拡充 | NVIDIA
- オープンソースのAI・人工知能/Theanoとは
- Torchでdeep learning - Qiita
- KerasではじめるDeepLearning | Developers.IO
このAMIを使用することで、カスタムAIモデルを訓練したり、新しいアルゴリズムを試したり、新しいディープラーニングのスキルやテクニックを学ぶ事が出来ます。AMIには事前設定されたCUDA及びcuDNNドライバ、並びに Intel Math Kernel Library(MKL) を介したGPUアクセラレーションを提供します。人気のあるPythonパッケージやAnaconda Platformも導入済です。
AWS Deep Learning AMIの環境構築実践
AMIで提供されているので環境構築も指定のAMIを用いてインスタンスを起動するだけです。AMI Marketplaceにて「Deep Learning Ubuntu」というテキストで検索を行い、AWS提供の「Deep Learning AMI Ubuntu Version」というAMIを選択。
当該AMIの料金体系は以下の様になっています。右下の[Continue]を押下。
ベンダー的にはインスタンスタイプをp2系のもの、p2.16xlarge(以上のインスタンス)を選択すべし、としています。
- Amazon EC2 P2 インスタンス| AWS
- Amazon EC2 の新しい P2 インスタンスタイプ – 最大 16 GPU | Amazon Web Services ブログ
- [GPU] 新インスタンスタイプにp2が追加されました | Developers.IO
- [新機能] Amazon EC2のP2インスタンスが東京リージョンで使えるようになりました | Developers.IO
ここはそのガイドに倣ってp2.16xlargeを選択...と思ったのですが起動確認だけ出来れば良かったのでp2系インスタンスで一番スペックの低いp2.xlargeで進めて行くことにします。
セキュリティグループはデフォルト指定のものをそのまま活用します。
インスタンス起動後、作成時に指定したキーペアファイルを使ってインスタンスへのログイン実施。下記例ではポートフォワーディングでのアクセスとなっています。
$ chmod 400 aws-deeplearning-ami-ubuntu-key.pem $ ssh -L localhost:8888:localhost:8888 -i aws-deeplearning-ami-ubuntu-key.pem ubuntu@107.21.xx.xx The authenticity of host '107.21.xx.xx (107.21.xx.xx)' can't be established. ECDSA key fingerprint is SHA256:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '107.21.xx.xx.' (ECDSA) to the list of known hosts. =================================== Deep Learning AMI for Ubuntu =================================== The README file for the AMI : /home/ubuntu/src/AMI.README.md Tests for deep learning frameworks ➜➜➜➜➜➜➜➜➜➜➜➜➜➜➜➜➜➜➜➜➜➜➜➜➜➜➜➜➜➜➜ /home/ubuntu/src/bin Welcome to Ubuntu 16.04.3 LTS (GNU/Linux 4.4.0-1031-aws x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/advantage Get cloud support with Ubuntu Advantage Cloud Guest: http://www.ubuntu.com/business/services/cloud 28 packages can be updated. 1 update is a security update. *** System restart required *** Last login: Tue Aug 15 21:44:18 2017 from 72.21.xxx.xx ubuntu@ip-10-0-0-69:~$
jupyter notebookコマンドでサーバを起動。起動時にtokenが生成されるのでこの値を控えておきます。
ubuntu@ip-10-0-0-69:~$ jupyter notebook [I 14:09:32.378 NotebookApp] Writing notebook server cookie secret to /run/user/1000/jupyter/notebook_cookie_secret [I 14:09:32.605 NotebookApp] Serving notebooks from local directory: /home/ubuntu [I 14:09:32.605 NotebookApp] 0 active kernels [I 14:09:32.605 NotebookApp] The Jupyter Notebook is running at: http://localhost:8888/?token=8e8d86866ddfac71b44d715cb592cde689b6501d92e03cfe [I 14:09:32.605 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation). [W 14:09:32.606 NotebookApp] No web browser found: could not locate runnable browser. [C 14:09:32.606 NotebookApp] Copy/paste this URL into your browser when you connect for the first time, to login with a token: http://localhost:8888/?token=8e8d86866ddfac71b44d715cb592cde689b6501d92e03cfe
ブラウザでhttp://localhost:8888/にアクセス。ログイン時のパスワードorトークン入力を求められるので上記で控えた値を入力し、[Log in]を押下。
所定の設定でnotebookを新規作成し、
サンプルコードを入力、実行してみます。上手く動いている事が確認出来ました。
まとめ
という訳でAWS謹製のディープラーニング用AMIが公開されました、という内容のご紹介でした。AMI化されているということで環境構築手順が効率化されるのは利用者側としては嬉しいところですね。