カスタム SageMaker イメージの仕様 - Amazon SageMaker

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

カスタム SageMaker イメージの仕様

重要

2023 年 11 月 30 日現在、以前の Amazon SageMaker Studio エクスペリエンスは Amazon SageMaker Studio Classic と名付けられています。次のセクションは、Studio Classic アプリケーションの使用に固有のものです。更新された Studio エクスペリエンスの使用については、「」を参照してくださいAmazon SageMaker Studio

イメージバージョンで表されるコンテナイメージには、 SageMaker次の仕様が適用されます。

イメージを実行する

ENTRYPOINT および CMDの手順は上書きされ、イメージを KernelGateway アプリケーションとして実行できるようになります。

イメージ内のポート 8888 は、 KernelGateway ウェブサーバーの実行用に予約されています。

イメージを停止する

は、docker stopコマンドと同等のDeleteAppAPIものを発行します。コンテナ内の他のプロセスは SIGKILL/SIGTERM シグナルを取得しません。

カーネル検出

SageMaker は、Jupyter カーネル仕様 で定義されているカーネルを認識します

イメージを実行する前に、表示するカーネルのリストを指定できます。指定しない場合、python3 と表示されます。を使用してDescribeAppImageConfigAPIカーネルのリストを表示します。

デフォルトで、Conda 環境はカーネル仕様として認識されます。

ファイルシステム

/opt/.sagemakerinternal ディレクトリと /opt/ml ディレクトリは予約されています。これらのディレクトリにあるデータは、実行時には表示されない場合があります。

ユーザーデータ

イメージでは、ドメイン内の各ユーザーは共有の Amazon Elastic File System ボリュームにユーザーディレクトリを得ます。Amazon EFSボリューム上の現在のユーザーのディレクトリの場所は設定可能です。デフォルトのディレクトリは /home/sagemaker-user です。

SageMaker はPOSIX、イメージとホスト間の UID/GID マッピングを設定します。デフォルトでは、ルートユーザーの UID/GID (0/0) をホストの UID/GID にマッピングします。

これらの値は、 CreateAppImageConfig を使用して指定できますAPI。

GID/UID 制限

Amazon SageMaker Studio Classic では、次の DefaultUIDDefaultGIDの組み合わせのみがサポートされています。

  • デフォルト UID: 1000 およびデフォルト GID: 100。これは、権限のないユーザーに対応します。

  • デフォルト UID: 0 およびデフォルト GID: 0。これはルートアクセスに対応します。

メタデータ

メタデータファイルは /opt/ml/metadata/resource-metadata.json にあります。イメージで定義されている変数には、その他の環境変数は追加されません。詳細については、「アプリのメタデータを取得する」を参照してください。

GPU

GPU インスタンスでは、イメージは --gpusオプションで実行されます。NVIDIA ドライバーではなく、CUDAツールキットのみをイメージに含める必要があります。詳細については、「 NVIDIAユーザーガイド」を参照してください。

メトリクスとログ記録

KernelGateway プロセスからのログは、 CloudWatch お客様のアカウントの Amazon に送信されます。ロググループの名前は /aws/sagemaker/studio です。ログストリームの名前は $domainID/$userProfileName/KernelGateway/$appName です。

イメージのサイズ

25 GB の制限があります。イメージのサイズを表示するには、docker image ls を実行します。

サンプル Dockerfile

次のサンプル Dockerfile は、Amazon Linux 2 ベースのイメージの作成、サードパーティのパッケージと python3 カーネルのインストール、権限のないユーザーへのスコープの設定を行います。

FROM public.ecr.aws/amazonlinux/amazonlinux:2 ARG NB_USER="sagemaker-user" ARG NB_UID="1000" ARG NB_GID="100" RUN \ yum install --assumeyes python3 shadow-utils && \ useradd --create-home --shell /bin/bash --gid "${NB_GID}" --uid ${NB_UID} ${NB_USER} && \ yum clean all && \ python3 -m pip install ipykernel && \ python3 -m ipykernel install USER ${NB_UID}