はじめに
Amazon SageMaker を使うと、自分のマシンの環境を汚さずに機械学習に関するあれこれを試せるので便利です。今回は、Amazon SageMaker のノートブックインスタンスのちょっとした機能をご紹介します。
まずはノートブックインスタンスの起動
ノートブックを起動しなければ話は始まりません。しかし、ノートブックの設定にも隠れた便利機能があるのです。
まずは AWS コンソールから SageMaker のコンソールに移動します。
ライフサイクル設定
SageMaker のコンソールの左側のメニューから「ノートブック」をクリックして展開します。はい、ここで「ライフサイクル設定」が表示されました。
ライフサイクル設定とは、ノートブックインスタンス起動時に実行するスクリプトを定義するための機能で、こちらでサンプルがたくさん公開 されています。サンプルの中には、たとえばノートブックインスタンスが使用されずアイドル状態が続いたら自動的にシャットダウンするものがあります。お財布に優しくて便利!
ライフサイクル設定は、メニューの「ライフサイクル設定」をクリックしてからオレンジ色の「設定の作成」をクリックすれば作成できます。作成したライフサイクル設定は、ノートブックインスタンスの設定の際に指定します。
ノートブックインスタンスの作成
左側のメニューで「ノートブックインスタンス」をクリックしてからオレンジ色の「ノートブックインスタンスの作成」をクリックします。
するとノートブックインスタンスの設定画面になります。最小構成としては以下の設定をしてから一番下にあるオレンジ色の「ノートブックインスタンスの作成」をクリックすれば OK です。
"ノートブックインスタンス名":任意の名前(英数字とハイフンを使用可能)
"IAMロール":「新しいロールの作成」をクリックし、オレンジ色の「ロールの作成」をクリック
でもちょっと待ってください!隠れているメニューを開いてみると、地味に便利な機能があるのです。
一番上の「ノートブックインスタンス設定」の一番下に「追加設定」と書かれた部分があるはずです。そこをクリックしてみると、ライフサイクル設定とボリュームサイズの設定ができます。
ライフサイクル設定は言わずもがな、先ほどご紹介した機能ですが、ここで予め作成しておいたライフサイクル設定を選択することができますし、ここから新規にライフサイクル設定を作成することもできます。
ボリュームサイズは、ノートブックインスタンスにアタッチされるストレージのサイズで、初期値は 5GB です。大量のデータの前処理をするなどたくさんストレージ容量が必要なことをする場合は、ノートブックインスタンスの設定時にボリュームサイズを大きくしておくと便利です。
ノートブックインスタンス設定画面を下までスクロールすると、「Git リポジトリ」と書かれた部分があります。ここをクリックしてみましょう。
「リポジトリ」のところで「このノートブックインスタンスのみに・・・」を選択し、「Git リポジトリの URL」のテキストボックスに GitHub のリポジトリの URL を入れておくと、ノートブックインスタンス起動時にリポジトリが Clone されます。すぐにリポジトリのソースコードをいじるところから始められるので便利です。
こちらの GitHub リポジトリ に SageMaker の各種機能やそのほかのサービスとの連携方法などが解説されたサンプルノートブックが公開されているので、初めはこちらのリポジトリを設定しても良いかもしれません。
ノートブックインスタンスが起動したら
ノートブックインスタンスの設定が終わって数分すると使用可能になります。ノートブックインスタンス一覧画面の右側にある「アクション」から「Jupyter を開く」などのリンクをクリックして Jupyter 環境を開きます。
Jupyter の画面では、設定時に Git リポジトリの URL を設定していた場合は初めからフォルダが表示されます。ここで、上にあるタブ(Files, Running, Clusters ...)から「SageMaker Examples」をクリックしてみましょう。
以下の図のように、公式の SageMaker サンプルノートブック(英語)が表示されます。検索性が非常に悪いですが、ノートブック名を頼りに興味があるノートブックを見つけて、右側にあるオレンジ色の「Use」をクリックすればサンプルノートブックをすぐに試せます。
ご注意
ノートブックインスタンスは起動している間課金され続けるので、不要になったら削除しましょう。ノートブックインスタンスを「停止」した場合、インスタンスに対する課金は停止しますが、インスタンスにアタッチされているストレージに対する課金は継続するので、不要になったら「停止」したのち「削除」まで実施してください。
まとめ
Amazon SageMaker ノートブックインスタンスの地味に便利な機能をご紹介しました。地味すぎたかもしれませんが、どなたかのご参考になれば幸いです。