Amazon SageMaker Notebooksを使ってみる

記事タイトルとURLをコピーする

Amazon SageMaker NotebooksがGAされたようなのでさっそく使ってみます。

1. そもそもAmazon SageMaker Notebooksとは?

Amazon SageMaker Studioに含まれる機能の1つです。Amazon SageMaker StudioはSageMakerの統合開発環境ですが、Amazon SageMaker Notebooksはその名の通りノートブックが使える機能になります。

これまでSageMakerではNotebook instanceが利用できましたが、これとの大きな違いはドキュメントに記載されてる通り以下の3点になります。

  • AWS SSOによる認証
  • 素早い起動/インスタンスタイプ変更
  • 1クリックでノートブックの共有が可能

2. 使ってみる

それではAmazon SageMaker StudioでAmazon SageMaker Notebooksを利用してみます。東京リージョンでは未提供なのでバージニア北部リージョンで実施しました。

2-1. Amazon SageMaker Studioの作成

SageMakerのコンソールから「Amazon SageMaker Studio」をクリック。

今回はStandard setupを利用します。今回利用したアカウントではSSOが利用できないのでIAM認証にします。SSOでの認証は別の機会に。。。

実行ロールを選択。notebookの共有設定はデフォルトのままとします。

非VPCとします。

「送信」をクリックすると非VPCにしたはずがVPCを選択させられます。なんでしょう?とりあえずデフォルトVPCと2つのサブネットを選択して「continue」。

↑どうやらSageMaker StudioのストレージとなるEFSの配置するVPC/サブネットを指定しているようです。EFSのコンソールで作成されていることが確認できます。

ステータスが「Ready」になれば利用可能です。「Add user」からユーザーを追加します。

いい感じに命名。実行ロールはSageMaker Studioに指定したものとしました。「送信」。

「Open Studio」をクリック。

ブラウザで別タブが開き、以下のような画面へリダイレクトされます。見た目はダークテーマのJupyterLabと変わりないです。

2-2. ノートブックを開く

「launcher」というタブが開いてあります。 ノートブックを開きますが今回はお試しなのでimageはData Scienceとします。NotebookのPytho 3をクリック。

ノートブックが開きました。開いた直後は The kernek is still starting だそうで、コードは実行できません。

しばらくするとt3.mediumが適用され、コードが実行可能になります。

2-3. インスタンスタイプの変更

スペックが表示されている部分をクリック。

t3.largeに変更してみます。「First Launch」にチェックがはいいているものはノートブックの初回起動に選択できるインスタンスタイプのようです。

しばらく待ちます。

適用されました。インスタンスタイプを変更するとインポートしたライブラリが失われるそうなので、再インポートしましょう。

2-4. イメージの変更

ノートブックを作成した際にData Sienceイメージを指定しましたが、それに含まれないライブラリはpipでインストールしないといけません。イメージが他にも用意されているのでイメージを変更することで利用できるものもあります。

例えばPytorchとか。

Data Sienceイメージでは ``No module ですが、イメージを変更するとどうでしょう。

Python 3 (Data Science) と表示されている部分をクリック。

プルダウンから Python 3 (Pytorch CPU Optimized)を選択して「select」。

変更が適用されるまでしばらく待ちます。

変更が適用されるとPytorchもインポートできるようになりました。

2-5. ノートブックの共有

ノートブックを共有するには右上の「Share」をクリックします。

Gitを利用しているならそのリポジトリ情報を含めるか否か、セルのアウトプットを含めるか否かが選択できます。「Create」をクリック。

リンクが払い出されるのでコピーして共有したい人へ共有します。

2-6. ノートブックのシャットダウン

使い終わったノートブックはシャットダウンしましょう。

「File」>「Close and Shutdown Notebook」でシャットダウンできます。

3. まとめ

いかがでしたでしょうか。今回はGAされたNotebookの機能の紹介でしたがSageMaker StudioAmazon SageMaker NotebooksがGAされたようなのでさっそく使ってみます。

1. そもそもAmazon SageMaker Notebooksとは?

Amazon SageMaker Studioに含まれる機能の1つです。Amazon SageMaker StudioはSageMakerの統合開発環境ですが、Amazon SageMaker Notebooksはその名の通りノートブックが使える機能になります。

これまでSageMakerではNotebook instanceが利用できましたが、これとの大きな違いはドキュメントに記載されてる通り以下の3点になります。

  • AWS SSOによる認証
  • 素早い起動/インスタンスタイプ変更
  • 1クリックでノートブックの共有が可能

2. 使ってみる

それではAmazon SageMaker StudioでAmazon SageMaker Notebooksを利用してみます。東京リージョンでは未提供なのでバージニア北部リージョンで実施しました。

2-1. Amazon SageMaker Studioの作成

SageMakerのコンソールから「Amazon SageMaker Studio」をクリック。

今回はStandard setupを利用します。今回利用したアカウントではSSOが利用できないのでIAM認証にします。SSOでの認証は別の機会に。。。

実行ロールを選択。notebookの共有設定はデフォルトのままとします。

非VPCとします。

「送信」をクリックすると非VPCにしたはずがVPCを選択させられます。なんでしょう?とりあえずデフォルトVPCと2つのサブネットを選択して「continue」。

↑どうやらSageMaker StudioのストレージとなるEFSの配置するVPC/サブネットを指定しているようです。EFSのコンソールで作成されていることが確認できます。

ステータスが「Ready」になれば利用可能です。「Add user」からユーザーを追加します。

いい感じに命名。実行ロールはSageMaker Studioに指定したものとしました。「送信」。

「Open Studio」をクリック。

ブラウザで別タブが開き、以下のような画面へリダイレクトされます。見た目はダークテーマのJupyterLabと変わりないです。

2-2. ノートブックを開く

「launcher」というタブが開いてあります。 ノートブックを開きますが今回はお試しなのでimageはData Scienceとします。NotebookのPytho 3をクリック。

ノートブックが開きました。開いた直後は The kernek is still starting だそうで、コードは実行できません。

しばらくするとt3.mediumが適用され、コードが実行可能になります。

2-3. インスタンスタイプの変更

スペックが表示されている部分をクリック。

t3.largeに変更してみます。「First Launch」にチェックがはいいているものはノートブックの初回起動に選択できるインスタンスタイプのようです。

しばらく待ちます。

適用されました。インスタンスタイプを変更するとインポートしたライブラリが失われるそうなので、再インポートしましょう。

2-4. イメージの変更

ノートブックを作成した際にData Sienceイメージを指定しましたが、それに含まれないライブラリはpipでインストールしないといけません。イメージが他にも用意されているのでイメージを変更することで利用できるものもあります。

例えばPytorchとか。

Data Sienceイメージでは ``No module ですが、イメージを変更するとどうでしょう。

Python 3 (Data Science) と表示されている部分をクリック。

プルダウンから Python 3 (Pytorch CPU Optimized)を選択して「select」。

変更が適用されるまでしばらく待ちます。

変更が適用されるとPytorchもインポートできるようになりました。

2-5. ノートブックの共有

ノートブックを共有するには右上の「Share」をクリックします。

Gitを利用しているならそのリポジトリ情報を含めるか否か、セルのアウトプットを含めるか否かが選択できます。「Create」をクリック。

リンクが払い出されるのでコピーして共有したい人へ共有します。

2-6. ノートブックのシャットダウン

使い終わったノートブックはシャットダウンしましょう。

「File」>「Close and Shutdown Notebook」でシャットダウンできます。

3. まとめ

いかがでしたでしょうか。インスタンスタイプの変更がス即座にできることとノートブックの共有の機能は便利な気がします。今回はGAされたNotebookの機能の紹介でしたがSageMaker Studioには他にもDebuggerやExperimentsのような便利な機能があります。UIもJupyterLabと変わりないのでSageMaker Studioに移ってもよいのではないでしょうか。