Amazon SageMaker の使い方

Amazon SageMaker

このページは、サンプルコードをAmazon SageMakerで実行するための簡単なガイドを提供する。ここでは、読者がすでにAWSのアカウントを持っていることを前提とする。もしまだ持っていないならこのインストラクションに従ってAWSのアカウントを作ってアクティベイトしよう。

ここでは、ノートブックインスタンス、ノートブックのライフサイクル設定、IAMロールなどのSageMaker資源のプロビジョンすべてにAWS CloudFormation を用いる。デフォルトでは、ml.p2.xlargeのSageMakerノートブックインスタンスを起動する。このインスタンスはNvidia K80 GPU と50 GBのEBSディスクを持つ。

価格

デフォルトインスタンスタイプであるml.p2.xlargeは1時間あたり$1.26だ。 時間あたりの単価はインスタンスタイプによって異なる。 利用可能なタイプのリストを確認しよう。 ml.p2.xlargeml.p3.2xlargeインスタンスを利用するには、明示的にリミット値の増加を このページから リクエストする必要がある。 SageMakerタイプのリミット値を選択し、利用したいリージョンを選ぶ。 新しいリミット値として1を選び、記述を追加して右下のボタンからサブミットする。 インスタンスを停止しないといつまでも課金されることになる。

limitincrease

設定

SageMakerノートブックインスタンスの作成

  1. ここではAWS CloudFormationを用いてSageMaker Notebook Instanceを作成し、コースのエクササイズを実行するためのJupyter環境を構築する。CloudFormationスタックを起動するには、下のテーブルから最寄りのリージョンを選び「Launch Stack」リンクをクリックすれば良い。

    リージョン 名前 起動リンク
    US West (Oregon) Region us-west-2 CloudFormation
    US East (N. Virginia) Region us-east-1 CloudFormation
    US East (Ohio) Region us-east-2 CloudFormation
    US West (N. California) Region us-west-1 CloudFormation
    Asia Pacific (Tokyo) Region ap-northeast-1 CloudFormation
    Asia Pacific (Seoul) Region ap-northeast-2 CloudFormation
    Asia Pacific (Sydney) Region ap-southeast-2 CloudFormation
    Asia Pacific (Mumbai) Region ap-south-1 CloudFormation
    Asia Pacific (Singapore) Region ap-southeast-1 CloudFormation
    Canada (central) Region ca-central-1 CloudFormation
    EU (Ireland) Region eu-west-1 CloudFormation
    EU (Frankfurt) Region eu-central-1 CloudFormation
    EU (London) Region eu-west-2 CloudFormation
  2. すると下図のようにAWS CloudFormationのWebコンソールがオープンし、AWS資源を構築するためのテンプレートが表示される。入力パラメータをチェックし、必要に応じて変更する。I acknowledge that AWS CloudFormation might create IAM resources. と書かれたチェックボックスをチェックし、Create ボタンをクリックしてスタックを作成する。

    create stack

  3. CloudFormationのページが開く。スタックのステイタスはCREATE_IN_PROGRESSとなっているはずだ。ステイタスがCREATE_COMPLETEになるまで待つ。AWSのWebコンソールの左上隅にあるServicesメニューから”sage”と入力すると、下図のように「Amazon SageMaker」のリンクが出てくる。これをクリックしてSageMakerのWebコンソールを開く。

    sage

  4. 左側のナビゲーションバーから、「Notebook instances」を選択する。このページから、ノートブックのインスタンスを作成し管理しアクセスする。下図を見ると、fastai-v4 という名前のノートブックインスタンスのステイタスが、InServiceとなっていることがわかる。

    openjupyter

    最初にノートブックインスタンスを作成する際には、fastaiライブラリと依存するライブラリがインストールされるので、10分程度かかる。

fastaiコース教材の利用

「Open Jupyter」リンクをクリックすると、fastaiコースのノートブックがすでにインストールされたJupyterノートブックのWebインターフェイスへとリダイレクトされる。

coursenotebooks

ノートブックを最初にオープンする際には、Jupyterに用いるカーネルを選択するように求められる。下図に示すようにfastaiという名前のカーネルがあるので、ドロップダウンメニューからそれを選んで、Set Kernelのボタンをクリックする。

selectfastaikernel

fastaiというカーネルが現れない場合には、依存ライブラリやfastaiライブラリのインストールがまだ終わっていない。完了までには10分かかるので、それを待ってからページをリフレッシュして、fastaiカーネルを選択しよう。

インスタンスの停止

  • 利用が終わったらノートブックタブをクローズし、stopをクリックすることを忘れないように! stopボタンがクリックされるまで、課金が発生し続ける。

    stop

作業の再開

ノートブックを使った演習に戻りたければ、ノートブックインスタンスを選択しStartを選択すればいい。数分待ってから前回やったところまで戻れば良い。fastaiライブラリはすでにインストールされているし、ノートブックもセーブされているはずなので、初めて実行するときよりも早いはずだ。

質問があったら

コースの内容に質問や疑問があれば、fast.ai forumにポストしてほしい。