Amazon SageMaker Notebook インスタンスを作成する - Amazon SageMaker

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon SageMaker Notebook インスタンスを作成する

重要

Amazon SageMaker Studio または Amazon SageMaker Studio Classic が Amazon SageMaker リソースを作成できるようにするカスタム IAM ポリシーは、それらのリソースにタグを追加するアクセス許可も付与する必要があります。Studio と Studio Classic は、作成したリソースに自動的にタグ付けするため、リソースにタグを追加するアクセス許可が必要です。IAM ポリシーで Studio と Studio Classic がリソースの作成を許可しているが、タグ付けを許可していない場合、リソースの作成時にAccessDenied「」エラーが発生する可能性があります。詳細については、「リソースにタグ付け SageMakerするためのアクセス許可を提供する」を参照してください。

AWS Amazon の マネージドポリシー SageMaker SageMaker リソースを作成するアクセス許可を付与する には、それらのリソースの作成中にタグを追加するアクセス許可が既に含まれています。

Amazon SageMaker Notebook インスタンスは、Jupyter Notebook application. SageMaker manages を実行する ML コンピューティングインスタンスで、インスタンスと関連リソースを作成します。ノートブックインスタンスで Jupyter ノートブックを使用して、次の操作を行います。

  • データの準備と処理

  • モデルをトレーニングするためのコードを記述する

  • SageMaker ホスティングへのモデルのデプロイ

  • モデルのテストまたは検証

ノートブックインスタンスを作成するには、 SageMaker コンソールまたは を使用します。 CreateNotebookInstance API。

選択するノートブックインスタンスタイプは、ノートブックインスタンスの使用方法によって異なります。ノートブックインスタンスがメモリ、CPU、または IO によってバインドされていないことを確認します。探索または前処理のためにデータセットをノートブックインスタンスのメモリにロードするには、データセットに十分な RAM メモリを持つインスタンスタイプを選択します。これには、16 GB 以上のメモリ (.xlarge 以上) を持つインスタンスが必要です。コンピューティング負荷の高い前処理にノートブックを使用する場合は、c4 や c5 などのコンピューティング最適化インスタンスを選択することをお勧めします。

SageMaker ノートブックを使用する際のベストプラクティスは、ノートブックインスタンスを使用して他の AWS サービスをオーケストレーションすることです。例えば、ノートブックインスタンスを使用して大規模なデータセット処理を管理できます。これを行うには、ETL (抽出、変換、ロード) サービスの場合は AWS Glue、Hadoop を使用したマッピングとデータ削減の場合は Amazon EMR を呼び出します。 AWS サービスは、データの一時的な計算またはストレージとして使用できます。

Amazon Simple Storage Service バケットを使用して、トレーニングデータとテストデータを保存および取得できます。その後、 SageMaker を使用してモデルのトレーニングと構築を行うことができます。その結果、ノートブックのインスタンスタイプは、モデルのトレーニングとテストの速度には影響しません。

リクエストを受け取った後、 SageMaker は以下を実行します。

  • ネットワークインターフェイスを作成する — オプションの VPC 設定を選択した場合、 は VPC にネットワークインターフェイス SageMaker を作成します。リクエストで指定したサブネット ID を使用して、サブネットを作成するアベイラビリティーゾーンを決定します。 は、リクエストで指定したセキュリティグループをサブネットに SageMaker 関連付けます。詳細については、「VPC 内のノートブックインスタンスを外部リソースに接続する」を参照してください。

  • ML コンピューティングインスタンスを起動する —SageMaker SageMaker VPC で ML コンピューティングインスタンスを起動します。ノートブックインスタンスを管理できるようにする設定タスク SageMaker を実行します。VPC を指定した場合、 SageMaker は VPC とノートブックインスタンス間のトラフィックを有効にします。

  • 一般的な深層学習プラットフォーム用の Anaconda パッケージとライブラリSageMaker をインストールします。インストーラに含まれているすべての Anaconda パッケージをインストールします。詳細については、「Anaconda パッケージリスト」を参照してください。 TensorFlow および Apache MXNet 深層学習ライブラリ SageMaker もインストールします。

  • ML ストレージボリュームをアタッチする —SageMaker ML ストレージボリュームを ML コンピューティングインスタンスにアタッチします。ボリュームを作業領域として使用して、トレーニングデータセットをクリーンアップしたり、検証やテスト、またはその他のデータを一時的に保存したりできます。ボリュームのサイズを 5 GB から 16384 GB の間で、1 GB 単位で選択します。デフォルトは 5 GB です。ML ストレージボリュームは暗号化されているため、 SageMaker はボリュームで使用可能な空き領域の量を決定できません。これにより、ボリュームのサイズを増やすことができますが、ノートブックインスタンスを更新するときに、ボリュームのサイズを小さくすることはできません。使用中の ML ストレージボリュームのサイズを小さくする場合は、目的のサイズで新しいノートブックインスタンスを作成します。

    ノートブックインスタンスセッション間では、/home/ec2-user/SageMaker フォルダ内に保存されたファイルとデータのみが保持されます。このディレクトリ外に保存されたファイルとデータは、ノートブックインスタンスが停止して再起動すると上書きされます。各ノートブックインスタンスの /tmp ディレクトリは、インスタンスストアに最低 10 GB のストレージを提供します。インスタンスストアは、永続的ではない一時的なブロックレベルのストレージです。インスタンスが停止または再起動されると、 はディレクトリの内容 SageMaker を削除します。この一時的なストレージは、ノートブックインスタンスのルートボリュームの一部です。

    ノートブックインスタンスが使用するインスタンスタイプに NVMe サポートがある場合、お客様はそのインスタンスタイプで使用できる NVMe インスタンスストアボリュームを使用できます。NVMe ストアボリュームを持つインスタンスの場合、起動時にすべてのインスタンスストアボリュームがインスタンスに自動的にアタッチされます。インスタンスタイプおよび関連する NVMe ストアボリュームの詳細については、「Amazon Elastic Compute Cloud インスタンスタイプの詳細」を参照してください。

    ノートブックインスタンスでアタッチされた NVMe ストアボリュームを使用できるようにするには、「インスタンスでインスタンスストアボリュームを使用できるようにする」の手順を実行します。ルートアクセスを使用するか、ライフサイクル設定スクリプトを使用してステップを完了します。

    注記

    NVMe インスタンスストアボリュームは永続的ストレージではありません。このストレージはインスタンスで存続期間が短く、このストレージを持つインスタンスが起動されるたびに再設定する必要があります。

  • Jupyter Notebook の例をコピーする — これらの Python コード例は、さまざまなアルゴリズムとトレーニングデータセットを使用したモデルトレーニングとホスティングの演習を示しています。

SageMaker ノートブックインスタンスを作成するには:
  1. https://console.aws.amazon.com/sagemaker/ で SageMaker コンソールを開きます。

  2. [ノートブックインスタンス] を選択して、[ノートブックインスタンスの作成] を選択します。

  3. [ノートブックインスタンスの作成] ページで、次の情報を入力します。

    1. [ノートブックインスタンス名] に、ノートブックインスタンスの名前を入力します。

    2. [ノートブックインスタンスタイプ] で、ユースケースに適したインスタンスサイズを選択します。サポートされているインスタンスタイプとクォータのリストについては、「Amazon SageMaker Service Quotas」を参照してください。

    3. Elastic Inference では、ノートブックインスタンスから推論を実行する予定がある場合は、ノートブックインスタンスに関連付ける推論アクセラレータータイプを選択します。ノートブックインスタンスから推論を実行する予定がない場合は、なしを選択します。Elastic Inference については、「Amazon SageMaker Elastic Inference (EI) を使用する 」を参照してください。

    4. [Platform Identifier] (プラットフォーム識別子) で、ノートブックインスタンスを作成するプラットフォームタイプを選択します。このプラットフォームタイプは、オペレーティングシステムとノートブックインスタンスの作成に使用する JupyterLab バージョンを決定します。プラットフォーム識別子タイプの詳細については、「Amazon Linux 2 ノートブックインスタンス」を参照してください。 JupyterLab バージョンの詳細については、「JupyterLab バージョニング」を参照してください。

    5. (オプション) 上級ユーザーの場合、[追加設定] を使用して、インスタンスの作成または起動時に実行できるシェルスクリプトを作成できます。このスクリプトはライフサイクル設定スクリプトと呼ばれ、ノートブックの環境を設定したり、その他の関数を実行したりするために使用できます。詳細については、「LCC スクリプトを使用して SageMaker ノートブックインスタンスをカスタマイズする」を参照してください。

    6. (オプション) [追加設定] では、ノートブックインスタンスにアタッチされている機械学習ストレージボリュームのサイズを GB 単位で指定することもできます。5 GB ~ 16,384 GB のサイズを 1 GB 単位で選択できます。ボリュームを使用してトレーニングデータセットをクリーンアップしたり、検証や他のデータを一時的に保存できます。

    7. (オプション) [最小 IMDS バージョン] で、ドロップダウンリストからバージョンを選択します。この値を v1 に設定すると、両方のバージョンをノートブックインスタンスで使用できます。v2 を選択すると、IMDSv2 のみをノートブックインスタンスで使用できます。IMDSv2 の詳細については、「IMDSv2 の使用」を参照してください。

      注記

      2022 年 10 月 31 日以降、 SageMaker ノートブックインスタンスのデフォルトの最小 IMDS バージョンは IMDSv1 から IMDSv2 に変更されます。

      2023 年 2 月 1 日以降、IMDSv1 はノートブックインスタンスの新規作成に使用できなくなります。これ以降は、IMDS バージョン 2 以上でノートブックインスタンスを作成できます。

    8. IAM ロール では、 リソースにアクセス SageMakerするために必要なアクセス許可を持つアカウント内の既存の IAM ロールを選択するか、新しいロール を作成します。新しいロールの作成 を選択した場合、 は という名前の IAM ロール SageMaker を作成しますAmazonSageMaker-ExecutionRole-YYYYMMDDTHHmmSS。 AWS 管理ポリシーAmazonSageMakerFullAccessはロールにアタッチされます。ロールは、ノートブックインスタンスが SageMaker および Amazon S3 を呼び出すことを許可するアクセス許可を提供します。

    9. ルートアクセス で、すべてのノートブックインスタンスユーザーにルートアクセスを許可するには、 を有効にする を選択します。ユーザーのルートアクセスを削除するには、 を無効化を選択します。ルートアクセスを付与すると、すべてのノートブックインスタンスユーザーに管理者権限が付与され、そのユーザー上のすべてのファイルにアクセスして編集できます。

    10. (オプション) 暗号化キーを使用すると、 AWS Key Management Service (AWS KMS) キーを使用して、ノートブックインスタンスにアタッチされた機械学習ストレージボリューム上のデータを暗号化できます。機密情報を機械学習ストレージボリュームに保存する場合は、情報を暗号化することを検討してください。

    11. (オプション) [ネットワーク] を使用すると、ノートブックインスタンスを Virtual Private Cloud (VPC) 内に配置できます。VPC はセキュリティを強化し、VPC 外のソースから VPC 内のリソースへのアクセスを制限します。VPC の詳細については、「Amazon VPC ユーザーガイド」を参照してください。

      ノートブックインスタンスを VPC に追加するには:

      1. VPC と を選択しますSubnetId

      2. [セキュリティグループ] で、VPC のデフォルトのセキュリティグループを選択します。

      3. ノートブックインスタンスにインターネットアクセスが必要な場合は、直接インターネットアクセスを有効にします。[直接インターネットアクセス][有効化] を選択します。インターネットアクセスにより、ノートブックインスタンスの安全性が低下する可能性があります。詳細については、「VPC 内のノートブックインスタンスを外部リソースに接続する」を参照してください。

    12. (オプション) Git リポジトリをノートブックインスタンスに関連付けるには、デフォルトのリポジトリと最大 3 つの追加リポジトリを選択します。詳細については、「Git リポジトリを SageMaker ノートブックインスタンスに関連付ける」を参照してください。

    13. [Create notebook instance] (ノートブックインスタンスの作成) を選択します。

      数分後、Amazon は ML コンピューティングインスタンス、この場合はノートブックインスタンス SageMaker を起動し、ML ストレージボリュームをアタッチします。ノートブックインスタンスには、事前設定された Jupyter ノートブックサーバーと一連の Anaconda ライブラリがあります。詳細については、「CreateNotebookInstance API」を参照してください。

  4. コンソールでノートブックインスタンスのステータスが InService の場合、ノートブックインスタンスを使用する準備ができています。ノートブック名の横にある [Jupyter を開く] を選択して、クラシック Jupyter ダッシュボードを開きます。

    注記

    Amazon SageMaker ノートブックインスタンスのセキュリティを強化するために、すべてのリージョンnotebook.region.sagemaker.awsドメインがインターネットパブリックサフィックスリスト (PSL) に登録されます。セキュリティを強化するために、__Host-プレフィックス付きの Cookie を使用して、 SageMaker ノートブックインスタンスのドメインに機密 Cookie を設定することをお勧めします。これは、クロスサイトリクエストフォージェリ (CSRF) 攻撃からドメインを防ぐ際に役立ちます。詳細については、mozilla.org デベロッパードキュメントウェブサイトの「Set-Cookie」ページを参照してください。

    Open を選択してダッシュボード JupyterLabを開く JupyterLabことができます。ダッシュボードでは、完全なコードチュートリアルを含むノートブックインスタンスとサンプル SageMaker ノートブックにアクセスできます。これらのチュートリアルでは、 SageMaker を使用して一般的な機械学習タスクを実行する方法を示します。詳細については、「サンプルノートブック」を参照してください。詳細については、「 SageMaker ノートブックインスタンスへのルートアクセスを制御する」を参照してください。

    Jupyter ノートブックの詳細については、Jupyter ノートブックを参照してください。