本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
自訂 SageMaker 影像規格
重要
截至 2023 年 11 月 30 日,以前的 Amazon SageMaker 工作室體驗現在被命名為 Amazon SageMaker 工作室經典。下面的部分是特定於使用 Studio 傳統版應用程序。如需使用更新後的 Studio 體驗的相關資訊,請參閱Amazon SageMaker 一室。
下列規格適用於以映像版本表示的容器 SageMaker映像檔。
- 執行映像
-
ENTRYPOINT
和CMD
指示被覆蓋,以使圖像作為一個 KernelGateway 應用程序運行。映像中的連接埠 8888 會保留用於執行 KernelGateway Web 伺服器。
- 停止映像
-
問
DeleteApp
API題相當於一個docker stop
命令。容器中的其他進程不會獲得SIGKILL/SIGTERM信號。 - Kernel 探索
-
SageMaker 識別 Jupyter 內核規範所定義的內核。
您可以指定在執行映像之前要顯示的核心清單。如果未指定,則顯示 python3。使用DescribeAppImageConfigAPI可檢視核心清單。
Conda 環境預設被識別為核心規格。
- 檔案系統
-
/opt/.sagemakerinternal
和/opt/ml
目錄已預留。執行期可能會看不到這些目錄中的任何資料。 - 使用者資料
-
網域中的每個使用者都會在映像中的共用 Amazon Elastic File System 磁碟區上取得一個使用者目錄。目前使用者目錄在 Amazon EFS 磁碟區上的位置是可設定的。預設目錄位置是
/home/sagemaker-user
。SageMaker 在映像和主機之間配置 POSIXUID/GID映射。這預設會將根使用者的UID/GID(0/0) 對應至主機GID上的UID/。
您可以使用指定這些值CreateAppImageConfigAPI。
- GID/UID限制
-
Amazon SageMaker 工作室經典版僅支持以下
DefaultUID
和DefaultGID
組合:-
預設值UID:1000 和預設值GID:100,對應於非授權使用者。
-
預設值UID:0 和預設值GID:0,對應於根存取權限。
-
- 中繼資料
-
中繼資料檔案位於
/opt/ml/metadata/resource-metadata.json
。映像中定義的變數不會新增其他環境變數。如需詳細資訊,請參閱取得應用程式中繼資料。 - GPU
-
在執行個GPU體上,映像檔會使用
--gpus
選項執行。只有工CUDA具包應該包含在圖像中,而不是NVIDIA驅動程序。若要取得更多資訊,請參閱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}