ちょっと話題の記事

著名なディープラーニングフレームワークをサポートするAWS純正AMI:「AWS Deep Learning AMI」

2017.09.19

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

AWS上でディープラーニングの実行環境を整える方法については様々なものが紹介・実践されていますが、AWSでも代表的なディープラーニングのフレームワークをサポートしている環境をAMIの形式で提供しています。それが下記の「AWS Deep Learning AMI」です。当エントリではその概要と実践方法について内容を紹介したいと思います。

AWS Deep Learning AMIについて

「AWS Deep Learning AMI」では以下のディープラーニングに関するオープンソースフレームワークが予めインストールされており、AWS上でクラウド内で高度な学習プロジェクトを利用したい簡単に構築を行うことが出来ます。

この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を選択。

aws-deeplearning-ami-ubuntu_00

当該AMIの料金体系は以下の様になっています。右下の[Continue]を押下。

aws-deeplearning-ami-ubuntu_01

ベンダー的にはインスタンスタイプをp2系のもの、p2.16xlarge(以上のインスタンス)を選択すべし、としています。

aws-deeplearning-ami-ubuntu_02

ここはそのガイドに倣ってp2.16xlargeを選択...と思ったのですが起動確認だけ出来れば良かったのでp2系インスタンスで一番スペックの低いp2.xlargeで進めて行くことにします。

aws-deeplearning-ami-ubuntu_03

セキュリティグループはデフォルト指定のものをそのまま活用します。

aws-deeplearning-ami-ubuntu_04

インスタンス起動後、作成時に指定したキーペアファイルを使ってインスタンスへのログイン実施。下記例ではポートフォワーディングでのアクセスとなっています。

$ 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]を押下。

aws-deeplearning-ami-ubuntu_05

所定の設定でnotebookを新規作成し、

aws-deeplearning-ami-ubuntu_06

サンプルコードを入力、実行してみます。上手く動いている事が確認出来ました。

aws-deeplearning-ami-ubuntu_07

まとめ

という訳でAWS謹製のディープラーニング用AMIが公開されました、という内容のご紹介でした。AMI化されているということで環境構築手順が効率化されるのは利用者側としては嬉しいところですね。