JupyterノートブックをサポートするAmazon SageMakerノートブックの2通りの作成方法について

はじめに

Amazon SageMakerのノートブックは、Jupyterノートブックをサポートしています。しかし、新規ノートブックの作成方法は、インスタンスベースのものとAmazon SageMaker Studioで作成するものの2通りあります。そこで本記事では、まず簡単にAmazon SageMakerとJupyterノートブックについて紹介した後で、前述の2通りの作成方法の特徴や、違いについて紹介します。

Amazon SageMaker

Amazon SageMakerは、機械学習モデルの構築とトレーニング、デプロイが素早くできるようにするフルマネージド型サービスです。Amazon SageMakerでは、機械学習分野におけるIDEのAmazon SageMaker Studioをはじめとする、各種サービスや機能を連携して、開発者は作業効率を高めることができます。

Jupyter ノートブックとは

Jupyter ノートブックは、ブラウザ上で動作するプログラムの対話型実行環境で、ノートブックというファイルにプログラムや文章、実行結果などをまとめて管理できます。TensorFlowをはじめとする、様々なライブラリをサポートしており、ノートブック上で記述したプログラムを段階的に実行し、その実行結果を記録しながら分析を進めることができます。

Amazon SageMaker と Jupyterについて

Amazon SageMakerでは、新しいノートブックの起動について次のように2通りの方法があります。いずれも Jupyter ノートブックをサポートしています。

  • Amazon SageMaker ノートブックインスタンス - Amazon SageMakerコンソールからノートブックインスタンスを起動する
  • Amazon SageMaker Studio ノートブック- Amazon SageMaker Studioでノートブックを作成する

それぞれの特徴について以下で示します。

Amazon SageMaker ノートブックインスタンス

Amazon SageMaker ノートブックインスタンスは、Jupyterノートブックアプリを実行しているフルマネージド型で機械学習用のAmazon EC2コンピューティングインスタンスです。ノートブックインスタンスでJupyterノートブックを使用すると、次のことが行われます。

  • データの準備や処理
  • モデルのトレーニング用のコードの作成
  • Amazon SageMakerホスティングへのモデルのデプロイ
  • モデルのテストと検証

Amazon SageMaker Studio ノートブック

Amazon SageMaker Studio ノートブックは、Amazon SageMaker Studioに組込まれている共同作業用のJupyterノートブックです。コンピューティングインスタンスやファイルストレージの設定をすることなく、ノートブックにアクセスできます。Amazon SageMaker Studio ノートブックの利点を紹介します。

  • ワンクリックでフレキシブルなコンピューティング能力を備えたJupyterノートブックを、素早く起動できる
  • 中断することなく、GPUリソースを含めたコンピューティングリソースを増減できる
  • 永続的なストレージが提供されており、状態の保存が自動的に行われるため、ノートブックを実行しているインスタンスがシャットダウンされても、ノートブックの表示と共有ができる
  • ワンクリックでノートブックの共有が簡単にできる

ノートブックインスタンスよりもStudio ノートブック

Amazon SageMaker では、新しいノートブックを起動する場合、Amazon SageMaker Studioからノートブックを作成することが勧められています。その理由は、次の利点によるためです。

  • 起動速度 -インスタンスベースのノートブックよりも Amazon SageMaker Studioノートブックの方が、5~10倍の速さで起動できます。
  • 共有が容易 - Amazon SageMaker Studioに統合されているノートブックの共有により、数回のクリックで、ノートブックコードとそれを実行するために必要なAmazon SageMaker イメージを再現する共有可能なリンクを生成できます。
  • SageMaker Python SDK - Amazon SageMaker Studioノートブックには、最新のSageMaker Python SDKがデフォルトでインストールされています。
  • 機能の一元化 - Amazon SageMaker Studioのノートブックには、Studio内からアクセスできるため、Studioを修了することなく、モデルの構築やトレーニング、デバッグ、追跡、監視を行うことができます。
  • 便利なディレクトリ - ノートブックやその他のファイルを保存する独自のホームディレクトリを取得できます。ディレクトリは、起動時にすべてのインスタンスとカーネルに自動的にマウントされるため、ノートブックやその他のファイルは常に共有できます。また、ホームディレクトリはAmazon EFSに格納され、他のサービスからもアクセスできます。
  • AWS SSOの利用 -AWSマネジメントコンソールからノートブックの実行をすることなく、SSO認証情報を使用して、Amazon SageMaker Studioに直接アクセスできます。
  • 事前定義されたイメージ設定 - Amazon SageMaker Studioノートブックには、事前に定義された一連のSageMakerイメージ設定が用意されているため、作業開始時間を短縮できます。

また、上記以外の特徴として、Amazon SageMaker Studioでノートブックを開くと、ビューは JupyterLabインターフェースの拡張機能となります。主な機能は同じであるため、JupyterノートブックとJupyterLabの一般的な機能を使うことができます。

Amazon SageMaker Studioノートブックの注意点

これまでAmazon SageMaker Studioノートブックの方が優れているという紹介をしてきましたが、Amazon SageMaker Studioノートブックはローカルモードをサポートしていないということに注意が必要です。ですが、Amazon SageMaker ノートブックインスタンスを使用してデータセットのサンプルをローカルでトレーニングし、Amazon SageMaker Studioノートブックで同じコードを使用してデータセット全体をトレーニングすることはできます。

まとめ

本記事では、Amazon SageMakerでの2通りの新しいノートブックの起動方法について特徴や利点などを紹介しました。Amazon SageMakerで利用できるAmazon SageMaker Studioにより、機械学習の開発に必要な作業がすべて一箇所で実行できるため、効率的な開発を行うことができます。Amazon SageMaker Studio内で利用した、その他のAWSサービスについての料金の発生はありますが、Amazon SageMaker Studioの利用は無料です。そのため、試しに利用してみてはいかがでしょうか。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です