Amazon SageMaker NotebooksがGAになったので使ってみました

2020.04.30

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、Mr.Moです。

Amazon SageMaker NotebooksがGA(Generally Available:正式リリース)になりましたね!これまでもNotebookインスタンスのサービスはありましたが何が違うのかも意識しながら早速使ってみたいと思います。

Amazon SageMaker Notebooksとは

Amazon SageMaker Studio ノートブックは、Amazon SageMaker Studio に組み込まれている共同作業用ノートブックで、すばやく起動できます。コンピューティングインスタンスとファイルストレージを設定しなくてもノートブックにアクセスできるので、すぐに作業を開始できます。Amazon SageMaker Studio を使用して組織をセットアップすると、コンピューティングリソースをプロビジョニングしなくても、組織のデータサイエンティスト、開発者、その他の SageMaker ユーザーが数秒でノートブックの作業を開始できます。 モデルの構築やデータの探索中に簡単に結果を再現し、共同作業を行うことができるよう、ノートブックを組織内の他のユーザーと共有します。ノートブックの依存関係はノートブックの環境設定に含まれているため、共有はシームレスです。共有すると、安全で共有可能な URL を使用して、ノートブック環境の再現可能なスナップショットが公開されます。

さっそく使ってみる

前提

Amazon SageMaker Studioの認証には下記2種類の方法がありますが、今回はAWS Single Sign-On (AWS SSO)の方を前提としています。

  • AWS Single Sign-On (AWS SSO)
  • AWS Identity and Access Management (IAM)

また、リージョンは「オハイオ」を選択します。
(現時点では米国東部(オハイオ)、米国東部(バージニア北部)、米国西部(オレゴン)、およびEU(アイルランド)のリージョンで利用可能)

Amazon SageMaker Studio にアクセスする

まず下記のリンクからコンソール画面にアクセスしてAmazon SageMaker Studioの画面を開くところまで進めます。

Notebookを新規追加

Amazon SageMaker Studioの画面を開いたらメニューから[File] -> [New] を選択し [Notebook] を選びます。

すると下記のようにKernelを選択するダイアログが出るので今回は「Data science」を選びます。

他にも下記のものが選べるようですね。

  • Base Python [python-3.6]
  • MXNet (optimized for CPU) [mxnet-1.6-cpu-py36]
  • MXNet (optimized for GPU) [mxnet-1.6-gpu-py36]
  • PyTorch (optimized for CPU) [pytorch-1.4-cpu-py36]
  • PyTorch (optimized for GPU) [pytorch-1.4-gpu-py36]
  • TensorFlow (optimized for CPU) [tensorflow-1.15-cpu-py36]
  • TensorFlow (optimized for GPU) [tensorflow-1.15-gpu-py36]
  • TensorFlow 2 (optimized for CPU) [tensorflow-2.1-cpu-py36]
  • TensorFlow 2 (optimized for GPU) [tensorflow-2.1-gpu-py36]

https://docs.aws.amazon.com/sagemaker/latest/dg/notebooks-available-images.html

Notebookの機能を確認する

Notebookを新規追加すると下記の画面が出ているのではないでしょうか。これがAmazon SageMaker NotebooksのNotebookなんですね。右上の赤枠の部分を見ると気になる機能がありそうです。1つずつ見ていきましょう。

インスタンスタイプとイメージの変更

先ほどの赤枠の左から1つ目の機能です。インスタンスタイプをNotebook内から変更できるようです。分析作業は小さいインスタンスから始めて必要に応じてインスタンスのスペックを上げていくと思うので、この設定が同じ画面で変更できるのは便利ですね!

使用できるインスタンスタイプは下記をご参照ください。

また、先ほどの赤枠の左から2つ目の機能は、Notebookの新規追加時にKernelを選択しましたがここからも変更できるようです。

Notebookの共有

先ほどの赤枠の左から3つ目の機能です。自分の作業したNotebookの結果を同僚とシェアできます!

例えば下記のような新型コロナウイルスの分析結果を同僚に見てもらいたいなーとなった時に
(ちなみに「Data science」のKernelを選択してNotebookを作ったので、分析に必要なパッケージがプリインストールされていて分析が捗りました!)

右上のShareをクリックして共有リンクを発行し

同僚が下記のように共有リンクから自分のNotebookの分析結果を確認できています。

ちなみに共有したNotebookは直接編集できるものでは無いので、編集したい場合は上記の画面キャプチャー右上の[Create a copy]を選択して自分のところにNotebookをコピーしましょう。(コピーしたNotebookを編集しても元のNotebookには反映されません)

まとめ

Notebookを新規追加して使い始めるまでがすごく早いです。Amazon SageMaker Studio内で色々完結できるのも良いですね!Tokyoリージョンにはまだ来ていないですがこれから使用できるリージョンも増えそうです。今回触っていない機能もあるのでどこかでまた記事にしたいと思います。