SageMakerでJupyterノートブックを利用したのですが、ノートブック環境が2種類あります。
1つはSageMaker Studioノートブック、もう1つはSageMakerノートブックインスタンスです。
どっちを使うのがいいんだろう。何か違いはあるのかな?
そうだね。違いを見てみよう!
SageMaker Studioノートブック
背景ブラックがデフォルトです。
サイドメニューには機械学習に便利なSageMakerの機能が集約されており、まさに統合開発環境ですね。
SageMakerノートブックインスタンス
こちらは従来のJupyterLab同様、デフォルト背景は白色でした。
こちらはStudioほどSageMaker機能が集約されている感じはなかったです。
両者の主な違い
ここでは以下3点について見ていきます。
- アーキテクチャ
- 機能
- ノートブックサーバーの課金
1.アーキテクチャ
Studioのアーキテクチャです。
Studio UIを利用するため、NotebookサーバーのEC2インスタンスにHTTPSとWebSocketを使って接続します。
このEC2インスタンスはAWS管理のようです。
次にノートブックインスタンスです。
ノートブックインスタンスにはStudio同様の接続のように見えますが、EC2インスタンスはユーザ管理のため起動停止は自分で行う必要があります。
2.機能
前述のとおり、Studioには機械学習モデルの開発に必要なSageMaker機能が集約されているので、モデル開発はStudio内でほとんど完結するのではないでしょうか。
3.ノートブックサーバーの課金
Studioのノートブックを閲覧するだけだとコンピュートリソースを利用しないため課金は発生しませんでした。
データを保存しているEFSに課金はあるのですが、大きなデータをここで保管しつづけなければEFSにそこまで料金はかかりません。
一方、ノートブックインスタンスは起動するだけで課金がスタートします。
まとめ
Studioノートブックとノートブックインスタンスの違いを見てきました。
ノートブックインスタンスでは出来ない要件を満たすためにStudioが登場し、Studioノートブックの利用がおすすめだとAWS公式ドキュメントに書かれていました。
Studioの機能を有効に使えるかはわかりませんが、今後はStudioノートブックを使っていこうと思います。
参考記事
https://aws.amazon.com/jp/blogs/machine-learning/dive-deep-into-amazon-sagemaker-studio-notebook-architecture/
https://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/notebooks-comparison.html
https://aws.amazon.com/jp/sagemaker/faqs/?nc=sn&loc=4#Build_models
https://aws.amazon.com/jp/sagemaker/pricing/
https://qiita.com/ishidahra/items/41132cb9ff1f2b838236