本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
自訂 SageMaker AI 映像規格
重要
截至 2023 年 11 月 30 日,先前的 Amazon SageMaker Studio 體驗現在已命名為 Amazon SageMaker Studio Classic。以下章節是使用 Studio Classic 應用程式的特定部分。如需使用更新 Studio 體驗的相關資訊,請參閱 Amazon SageMaker Studio。
下列規格適用於由 SageMaker AI 映像版本表示的容器映像。
- 執行映像
-
覆寫
ENTRYPOINT
和CMD
指示,以使映像能夠做為 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 僅支援下列
DefaultUID
和DefaultGID
組合:-
預設 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}