23.2. Amazon SageMaker の使用

深層学習アプリケーションは、 ローカルマシンで提供できる範囲を容易に超えてしまうほどの 計算資源を必要とすることがある。 クラウドコンピューティングサービスを使うと、 より強力なコンピュータを利用して、 本書の GPU を多用するコードを より簡単に実行できる。 この節では、 Amazon SageMaker を使って 本書のコードを実行する方法を紹介する。

23.2.1. サインアップ

まず、https://aws.amazon.com/ でアカウントを作成する必要がある。 追加のセキュリティのために、 二要素認証の利用が推奨される。 また、 詳細な請求および支出アラートを設定しておくと、 たとえば インスタンスの停止を忘れた場合などの 思わぬ請求を避けるのに役立つ。 AWS アカウントにログインしたら、 コンソール を開いて “Amazon SageMaker” を検索し(図 23.2.1 を参照)、 それをクリックして SageMaker パネルを開く。

../_images/sagemaker.png

図 23.2.1 Search for and open the SageMaker panel.

23.2.2. SageMaker インスタンスの作成

次に、 図 23.2.2 に示すようにノートブックインスタンスを作成しよう。

../_images/sagemaker-create.png

図 23.2.2 Create a SageMaker instance.

SageMaker には、計算性能と価格が異なる複数のインスタンスタイプがある。 ノートブックインスタンスを作成するときには、 その名前とタイプを指定できる。 図 23.2.3 では、ml.p3.2xlarge を選択している。1 基の Tesla V100 GPU と 8 コア CPU を備えており、このインスタンスは本書の大部分に対して十分な性能を持っている。

../_images/sagemaker-create-2.png

図 23.2.3 Choose the instance type.

SageMaker で実行するための ipynb 形式の本書全体は https://github.com/d2l-ai/d2l-pytorch-sagemaker で利用できる。インスタンス作成時に SageMaker がそれをクローンできるよう、この GitHub リポジトリの URL(図 23.2.4)を指定できる。

../_images/sagemaker-create-3.png

図 23.2.4 Specify the GitHub repository.

23.2.3. インスタンスの起動と停止

インスタンスの作成には 数分かかることがある。 準備ができたら、 その横にある “Open Jupyter” リンクをクリックして(図 23.2.5)、 このインスタンス上で 本書のすべての Jupyter ノートブックを 編集・実行できるようにする (23.1 章 の手順と同様です)。

../_images/sagemaker-open.png

図 23.2.5 Open Jupyter on the created SageMaker instance.

作業を終えたら、 それ以上課金されないように インスタンスを停止することを忘れないこと(図 23.2.6)。

../_images/sagemaker-stop.png

図 23.2.6 Stop a SageMaker instance.

23.2.4. ノートブックの更新

このオープンソース書籍のノートブックは、GitHub の d2l-ai/d2l-pytorch-sagemaker リポジトリで定期的に更新される。 最新版に更新するには、 SageMaker インスタンス上でターミナルを開きます(図 23.2.7)。

../_images/sagemaker-terminal.png

図 23.2.7 Open a terminal on the SageMaker instance.

リモートリポジトリから更新を取り込む前に、ローカルの変更をコミットしておくとよいだろう。 そうでない場合は、ターミナルで次のコマンドを実行して ローカルの変更をすべて破棄する。

cd SageMaker/d2l-pytorch-sagemaker/
git reset --hard
git pull

23.2.5. まとめ

  • Amazon SageMaker を使ってノートブックインスタンスを作成し、本書の GPU を多用するコードを実行できる。

  • Amazon SageMaker インスタンス上のターミナルを通じてノートブックを更新できる。

23.2.6. 演習

  1. Amazon SageMaker を使って、GPU を必要とする任意の節を編集して実行しなさい。

  2. ターミナルを開いて、本書のすべてのノートブックを格納しているローカルディレクトリにアクセスしなさい。