JupyterLab ユーザーガイド - Amazon SageMaker

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

JupyterLab ユーザーガイド

このガイドでは、 SageMaker Studio 内で分析ワークフローと機械学習ワークフローを実行する JupyterLab 方法について説明します。必要に応じて、高速ストレージを取得し、コンピューティングをスケールアップまたはスケールダウンできます。

JupyterLab は、プライベートスペースと共有スペースの両方をサポートします。プライベートスペースの範囲は、ドメイン内の 1 人のユーザーに限定されます。共有スペースを使用すると、ドメイン内の他のユーザーがリアルタイムでコラボレーションできます。Studio スペースの詳細については、「」を参照してくださいAmazon SageMaker Studio スペース

の使用を開始するには JupyterLab、スペースを作成してアプリケーションを起動します JupyterLab。 JupyterLab アプリケーションを実行するスペースは JupyterLab スペースです。この JupyterLab スペースでは、コンピューティングに 1 つの Amazon EC2インスタンスを使用し、ストレージに 1 つの Amazon EBSボリュームを使用します。コード、git プロファイル、環境変数など、スペース内のすべてのものが同じ Amazon EBSボリュームに保存されます。ボリュームは 3000 IOPSで、スループットは 125 メガバイト/秒 () ですMBps。高速ストレージを使用して、同じインスタンスで複数の Jupyter Notebook を開いて実行できます。ノートブック内のカーネルを非常に迅速に切り替えることもできます。

管理者がスペースのデフォルトの Amazon EBSストレージ設定を構成しました。デフォルトのストレージサイズは 5 GB ですが、取得する容量を増やすことができます。管理者に連絡して、ガイドラインを提供してください。

の実行に使用している Amazon EC2インスタンスタイプを切り替えて JupyterLab、必要に応じてコンピューティングをスケールアップまたはスケールダウンできます。高速起動インスタンスは、他のインスタンスよりもはるかに高速に起動します。

管理者は、環境をカスタマイズするライフサイクル設定を提供する場合があります。ライフサイクル設定は、スペースの作成時に指定できます。

管理者が Amazon へのアクセスを許可している場合はEFS、アクセスするスペースを設定できます JupyterLab。

デフォルトでは、 JupyterLab アプリケーションは SageMaker ディストリビューションイメージを使用します。これには、多くの機械学習、分析、深層学習パッケージのサポートが含まれます。ただし、カスタムイメージが必要な場合は、管理者がカスタムイメージへのアクセスを提供できます。

Amazon EBSボリュームは、インスタンスの存続期間とは無関係に保持されます。インスタンスを変更しても、データが失われることはありません。conda および pip パッケージ管理ライブラリを使用して、インスタンスタイプを切り替える場合でも持続する再現可能なカスタム環境を作成します。

の使用を開始するには JupyterLab、スペースを作成するか、管理者が作成したスペースを選択して を開きます JupyterLab。

次の手順に従ってスペースを作成し、 を開きます JupyterLab。

スペースを作成して開くには JupyterLab
  1. Studio を開きます。Studio を開く方法については、「」を参照してくださいAmazon SageMaker Studio を起動する

  2. を選択しますJupyterLab

  3. JupyterLab スペースの作成 を選択します。

  4. 名前 には、スペースの名前を指定します。

  5. (オプション) ドメインと共有 を選択して、共有スペースを作成します。

  6. スペースの作成 を選択します。

  7. (オプション) インスタンス で、スペースを実行する Amazon EC2インスタンスを指定します。

  8. (オプション) イメージ で、管理者が環境をカスタマイズするために提供したイメージを指定します。

  9. (オプション) スペース設定 には、以下を指定します。

    • ストレージ (GB) – 最大 100 GB、または管理者が指定した量。

    • ライフサイクル設定 — 管理者が指定するライフサイクル設定。

    • カスタムEFSファイルシステムをアタッチEFSする — 管理者がアクセスを提供する Amazon。

  10. 実行スペース を選択します。

  11. Open JupyterLabを選択します。

スペースの設定

JupyterLab スペースを作成したら、以下を実行するように設定できます。

  • インスタンスタイプを変更します。

  • ストレージボリュームを変更します。

  • (管理者設定が必要) カスタムイメージを使用します。

  • (管理者設定が必要) ライフサイクル設定を使用します。

  • (管理者のセットアップが必要) カスタム Amazon をアタッチしますEFS。

重要

設定するたびに JupyterLab スペースを停止する必要があります。スペースを設定するには、次の手順に従います。

スペースを設定するには
  1. Studio 内で、 JupyterLab アプリケーションページに移動します。

  2. スペースの名前を選択します。

  3. (オプション) イメージ で、管理者が環境をカスタマイズするために提供したイメージを指定します。

  4. (オプション) スペース設定 には、以下を指定します。

    • ストレージ (GB) – 最大 100 GB、または管理者がスペース用に設定した量。

    • ライフサイクル設定 — 管理者が指定するライフサイクル設定。

    • カスタムEFSファイルシステムをアタッチEFSする — 管理者がアクセスを提供する Amazon。

  5. 実行スペース を選択します。

JupyterLab アプリケーションを開くと、スペースの設定が更新されます。

を開くと JupyterLab、ターミナルを使用して環境を設定できます。ターミナルを開くには、ランチャーに移動し、ターミナル を選択します。

以下は、 で環境を設定するさまざまな方法の例です JupyterLab。

注記

Studio では、ライフサイクル設定を使用して環境をカスタマイズできますが、代わりにパッケージマネージャーを使用することをお勧めします。ライフサイクル設定を使用することは、エラーが発生しやすい方法です。ライフサイクル設定スクリプトをデバッグするよりも、依存関係を追加または削除する方が簡単です。また、 JupyterLab 起動時間を増やすこともできます。

ライフサイクル設定の詳細については、「」を参照してくださいでのライフサイクル設定の使用 JupyterLab

パッケージマネージャーを使用して環境をカスタマイズする

pip または conda を使用して環境をカスタマイズします。ライフサイクル設定スクリプトの代わりにパッケージマネージャーを使用することをお勧めします。

カスタム環境を作成してアクティブ化する

このセクションでは、 で環境を設定するさまざまな方法の例を示します JupyterLab。

基本的な conda 環境には、 のワークフローに必要な最小数のパッケージがあります SageMaker。次のテンプレートを使用して、基本的な conda 環境を作成します。

# initialize conda for shell interaction conda init # create a new fresh environment conda create --name test-env # check if your new environment is created successfully conda info --envs # activate the new environment conda activate test-env # install packages in your new conda environment conda install pip boto3 pandas ipykernel # list all packages install in your new environment conda list # parse env name information from your new environment export CURRENT_ENV_NAME=$(conda info | grep "active environment" | cut -d : -f 2 | tr -d ' ') # register your new environment as Jupyter Kernel for execution python3 -m ipykernel install --user --name $CURRENT_ENV_NAME --display-name "user-env:($CURRENT_ENV_NAME)" # to exit your new environment conda deactivate

次の図は、作成した環境の場所を示しています。

test-env 環境は、画面の右上隅に表示されます。

環境を変更するには、環境を選択し、ドロップダウンメニューからオプションを選択します。

チェックマークとそれに対応するテキストは、以前に作成した環境の例を示しています。

選択 を選択して、環境のカーネルを選択します。

conda 環境をクリーンアップする

使用していない conda 環境をクリーンアップすると、ディスク容量を解放し、パフォーマンスを向上させることができます。次のテンプレートを使用して conda 環境をクリーンアップします。

# list your environments to select an environment to clean conda info --envs # or conda info -e # once you've selected your environment to purge conda remove --name test-env --all # run conda environment list to ensure the target environment is purged conda info --envs # or conda info -e

特定の Python バージョンで conda 環境を作成する

使用していない conda 環境をクリーンアップすると、ディスク容量を解放し、パフォーマンスを向上させることができます。次のテンプレートを使用して conda 環境をクリーンアップします。

# create a conda environment with a specific python version conda create --name py38-test-env python=3.8.10 # activate and test your new python version conda activate py38-test-env & python3 --version # Install ipykernel to facilicate env registration conda install ipykernel # parse env name information from your new environment export CURRENT_ENV_NAME=$(conda info | grep "active environment" | cut -d : -f 2 | tr -d ' ') # register your new environment as Jupyter Kernel for execution python3 -m ipykernel install --user --name $CURRENT_ENV_NAME --display-name "user-env:($CURRENT_ENV_NAME)" # deactivate your py38 test environment conda deactivate

特定のパッケージセットを使用して conda 環境を作成する

次のテンプレートを使用して、特定のバージョンの Python と一連のパッケージを持つ conda 環境を作成します。

# prefill your conda environment with a set of packages, conda create --name py38-test-env python=3.8.10 pandas matplotlib=3.7 scipy ipykernel # activate your conda environment and ensure these packages exist conda activate py38-test-env # check if these packages exist conda list | grep -E 'pandas|matplotlib|scipy' # parse env name information from your new environment export CURRENT_ENV_NAME=$(conda info | grep "active environment" | cut -d : -f 2 | tr -d ' ') # register your new environment as Jupyter Kernel for execution python3 -m ipykernel install --user --name $CURRENT_ENV_NAME --display-name "user-env:($CURRENT_ENV_NAME)" # deactivate your conda environment conda deactivate

既存の環境から conda をクローンする

conda 環境をクローンして、動作状態を維持します。テスト環境に重大な変更を導入する心配をすることなく、クローンされた環境で実験します。

環境のクローンを作成するには、次のコマンドを使用します。

# create a fresh env from a base environment conda create --name py310-base-ext --clone base # replace 'base' with another env # activate your conda environment and ensure these packages exist conda activate py310-base-ext # install ipykernel to register your env conda install ipykernel # parse env name information from your new environment export CURRENT_ENV_NAME=$(conda info | grep "active environment" | cut -d : -f 2 | tr -d ' ') # register your new environment as Jupyter Kernel for execution python3 -m ipykernel install --user --name $CURRENT_ENV_NAME --display-name "user-env:($CURRENT_ENV_NAME)" # deactivate your conda environment conda deactivate

リファレンスYAMLファイルから conda のクローンを作成する

リファレンスYAMLファイルから conda 環境を作成します。以下は、使用できるYAMLファイルの例です。

# anatomy of a reference environment.yml name: py311-new-env channels: - conda-forge dependencies: - python=3.11 - numpy - pandas - scipy - matplotlib - pip - ipykernel - pip: - git+https://github.com/huggingface/transformers

ではpip、conda で使用できない依存関係のみを指定することをお勧めします。

ファイルから conda 環境を作成するには、次のコマンドYAMLを使用します。

# create your conda environment conda create -f environment.yml # activate your env conda activate py311-new-env

インスタンスタイプ間で環境を共有する

conda 環境は、Amazon EBSボリューム外の Amazon EFS ディレクトリに保存することで共有できます。別のユーザーは、保存したディレクトリ内の環境にアクセスできます。

重要

環境の共有には制限があります。例えば、インスタンスで実行されている環境ではなく、GPUAmazon EC2インスタンスで実行することを意図した環境はお勧めしませんCPU。

次のコマンドをテンプレートとして使用して、カスタム環境を作成するターゲットディレクトリを指定します。特定のパス内に conda を作成しています。Amazon EFS ディレクトリ内に作成します。新しいインスタンスを起動し、conda アクティブ化パスを実行して Amazon 内で実行できますEFS。

# if you know your environment path for your conda environment conda create --prefix /home/sagemaker-user/my-project/py39-test python=3.9 # activate the env with full path from prefix conda activate home/sagemaker-user/my-project/py39-test # parse env name information from your new environment export CURRENT_ENV_NAME=$(conda info | grep "active environment" | awk -F' : ' '{print $2}' | awk -F'/' '{print $NF}') # register your new environment as Jupyter Kernel for execution python3 -m ipykernel install --user --name $CURRENT_ENV_NAME --display-name "user-env-prefix:($CURRENT_ENV_NAME)" # deactivate your conda environment conda deactivate

Amazon Q を使用してMachine Learningワークフローを高速化する

Amazon Q Developer は、AI を活用した機械学習開発のコンパニオンです。Amazon Q デベロッパーでは、次のことができます。

  • SageMaker 機能を個別に、または他の AWS サービスと組み合わせて使用するための step-by-step ガイダンスを受け取ります。

  • データの準備、トレーニング、推論、 などの ML タスクを開始するためのサンプルコードを取得しますMLOps。

  • でコードを実行中に発生したエラーをデバッグおよび解決するためのトラブルシューティングサポートを受け取ります JupyterLab。

Amazon Q Developer はお客様の JupyterLab 環境にシームレスに統合されます。Amazon Q Developer を使用するには、 JupyterLab 環境の左側のナビゲーションから Q を選択します。

Q アイコンが表示されない場合は、管理者が設定する必要があります。Amazon Q Developer の設定の詳細については、「」を参照してくださいユーザー用に Amazon Q Developer をセットアップする

Amazon Q は、コードの記述に役立つ提案を自動的に提供します。チャットインターフェイスから提案を求めることもできます。

提案を取得したら、セル内のコードを置き換えるか、新しいセルに追加できます。