自訂 SageMaker 影像規格 - Amazon SageMaker

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

自訂 SageMaker 影像規格

重要

截至 2023 年 11 月 30 日,以前的 Amazon SageMaker 工作室體驗現在被命名為 Amazon SageMaker 工作室經典。下面的部分是特定於使用 Studio 傳統版應用程序。如需使用更新後的 Studio 體驗的相關資訊,請參閱Amazon SageMaker 一室

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

執行映像

ENTRYPOINTCMD指示被覆蓋,以使圖像作為一個 KernelGateway 應用程序運行。

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

停止映像

DeleteAppAPI題相當於一個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 工作室經典版僅支持以下DefaultUIDDefaultGID組合:

  • 預設值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}