.. _sec_sagemaker:
Amazon SageMaker の使用
=======================
深層学習アプリケーションは、
ローカルマシンで提供できる範囲を容易に超えてしまうほどの
計算資源を必要とすることがある。
クラウドコンピューティングサービスを使うと、
より強力なコンピュータを利用して、 本書の GPU を多用するコードを
より簡単に実行できる。 この節では、 Amazon SageMaker を使って
本書のコードを実行する方法を紹介する。
サインアップ
------------
まず、https://aws.amazon.com/ でアカウントを作成する必要がある。
追加のセキュリティのために、 二要素認証の利用が推奨される。 また、
詳細な請求および支出アラートを設定しておくと、 たとえば
インスタンスの停止を忘れた場合などの 思わぬ請求を避けるのに役立つ。 AWS
アカウントにログインしたら、
`コンソール `__ を開いて “Amazon
SageMaker” を検索し(:numref:`fig_sagemaker` を参照)、
それをクリックして SageMaker パネルを開く。
.. _fig_sagemaker:
.. figure:: ../img/sagemaker.png
:width: 300px
Search for and open the SageMaker panel.
SageMaker インスタンスの作成
----------------------------
次に、 :numref:`fig_sagemaker-create`
に示すようにノートブックインスタンスを作成しよう。
.. _fig_sagemaker-create:
.. figure:: ../img/sagemaker-create.png
:width: 400px
Create a SageMaker instance.
SageMaker
には、計算性能と価格が異なる複数の\ `インスタンスタイプ `__\ がある。
ノートブックインスタンスを作成するときには、
その名前とタイプを指定できる。 :numref:`fig_sagemaker-create-2`
では、\ ``ml.p3.2xlarge`` を選択している。1 基の Tesla V100 GPU と 8
コア CPU
を備えており、このインスタンスは本書の大部分に対して十分な性能を持っている。
.. _fig_sagemaker-create-2:
.. figure:: ../img/sagemaker-create-2.png
:width: 400px
Choose the instance type.
SageMaker で実行するための ipynb 形式の本書全体は
https://github.com/d2l-ai/d2l-pytorch-sagemaker
で利用できる。インスタンス作成時に SageMaker
がそれをクローンできるよう、この GitHub リポジトリの
URL(:numref:`fig_sagemaker-create-3`\ )を指定できる。
.. _fig_sagemaker-create-3:
.. figure:: ../img/sagemaker-create-3.png
:width: 400px
Specify the GitHub repository.
インスタンスの起動と停止
------------------------
インスタンスの作成には 数分かかることがある。 準備ができたら、
その横にある “Open Jupyter”
リンクをクリックして(:numref:`fig_sagemaker-open`\ )、
このインスタンス上で 本書のすべての Jupyter ノートブックを
編集・実行できるようにする (:numref:`sec_jupyter`
の手順と同様です)。
.. _fig_sagemaker-open:
.. figure:: ../img/sagemaker-open.png
:width: 400px
Open Jupyter on the created SageMaker instance.
作業を終えたら、 それ以上課金されないように
インスタンスを停止することを忘れないこと(:numref:`fig_sagemaker-stop`\ )。
.. _fig_sagemaker-stop:
.. figure:: ../img/sagemaker-stop.png
:width: 300px
Stop a SageMaker instance.
ノートブックの更新
------------------
このオープンソース書籍のノートブックは、GitHub の
`d2l-ai/d2l-pytorch-sagemaker `__
リポジトリで定期的に更新される。 最新版に更新するには、 SageMaker
インスタンス上でターミナルを開きます(:numref:`fig_sagemaker-terminal`\ )。
.. _fig_sagemaker-terminal:
.. figure:: ../img/sagemaker-terminal.png
:width: 300px
Open a terminal on the SageMaker instance.
リモートリポジトリから更新を取り込む前に、ローカルの変更をコミットしておくとよいだろう。
そうでない場合は、ターミナルで次のコマンドを実行して
ローカルの変更をすべて破棄する。
.. raw:: latex
\diilbookstyleinputcell
.. code:: bash
cd SageMaker/d2l-pytorch-sagemaker/
git reset --hard
git pull
まとめ
------
- Amazon SageMaker を使ってノートブックインスタンスを作成し、本書の GPU
を多用するコードを実行できる。
- Amazon SageMaker
インスタンス上のターミナルを通じてノートブックを更新できる。
演習
----
1. Amazon SageMaker を使って、GPU
を必要とする任意の節を編集して実行しなさい。
2. ターミナルを開いて、本書のすべてのノートブックを格納しているローカルディレクトリにアクセスしなさい。