自訂 SageMaker AI 映像規格 - Amazon SageMaker AI

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

自訂 SageMaker AI 映像規格

重要

截至 2023 年 11 月 30 日,先前的 Amazon SageMaker Studio 體驗現在已命名為 Amazon SageMaker Studio Classic。以下章節是使用 Studio Classic 應用程式的特定部分。如需使用更新 Studio 體驗的相關資訊,請參閱 Amazon SageMaker Studio

下列規格適用於由 SageMaker AI 映像版本表示的容器映像。

執行映像

覆寫 ENTRYPOINTCMD 指示,以使映像能夠做為 KernelGateway 應用程式執行映像。

映像中的連接埠 8888 會保留用於執行 KernelGateway 網頁伺服器。

停止映像

DeleteApp API 為發行與 docker stop 命令的等效的命令。容器中的其他程序將無法獲得 SIGKILL/SIGTERM 訊號。

Kernel 探索

SageMaker AI 會辨識 Jupyter 核心規格定義的核心

您可以指定在執行映像之前要顯示的核心清單。如果未指定,則顯示 python3。使用描述應用程式映像設定 API 來檢視核心清單。

Conda 環境預設被識別為核心規格。

檔案系統

/opt/.sagemakerinternal/opt/ml 目錄已預留。執行期可能會看不到這些目錄中的任何資料。

使用者資料

網域中的每個使用者都會在映像中的共用 Amazon Elastic File System 磁碟區上取得一個使用者目錄。目前使用者目錄在 Amazon EFS 磁碟區上的位置是可設定的。預設目錄位置是 /home/sagemaker-user

SageMaker AI 會設定映像和主機之間的 POSIX UID/GID 映射。這預設會將根使用者的 UID/GID (0/0) 對應至主機上的 UID/GID。

您可以使用建立應用程式映像設定 API 來指定這些值。

GID/UID 限制

Amazon SageMaker Studio Classic 僅支援下列 DefaultUIDDefaultGID組合:

  • 預設 ID:1000 和預設值:100,對應於未授權的使用者。

  • 預設 ID:0 和預設值:0,它對應於根存取權限。

中繼資料

中繼資料檔案位於 /opt/ml/metadata/resource-metadata.json。映像中定義的變數不會新增其他環境變數。如需更多更多資訊,請參閱取得應用程式中繼資料

GPU

在 GPU 執行個體上,映像檔會使用 --gpus 選項執行。只有 CUDA 工具包應該包含在映像中,而不是 NVIDIA 驅動程序。如需更多資訊,請參閱 NVIDIA 使用者指南

指標和日誌記錄

來自 KernelGateway 程序的日誌會傳送到客戶帳戶中的 Amazon CloudWatch。日誌群組的名稱為 /aws/sagemaker/studio。日誌串流名稱為 $domainID/$userProfileName/KernelGateway/$appName

映像大小

限制為 35 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}