Benutzerdefinierte SageMaker-Image-Spezifikationen für Amazon SageMaker Studio Classic
Wichtig
Am 30. November 2023 wurde Amazon SageMaker Studio in Amazon SageMaker Studio umbenannt. Der folgende Abschnitt bezieht sich konkret auf die Verwendung der Studio-Classic-Anwendung. Informationen zur Verwendung der aktualisierten Studio-Konfiguration finden Sie unter Amazon SageMaker Studio.
Die folgenden Spezifikationen gelten für das Container-Image, das durch eine Image-Version von SageMaker AI dargestellt wird.
- Das Image wird ausgeführt
-
ENTRYPOINTundCMDAnweisungen werden überschrieben, damit das Image als KernelGateway-App ausgeführt werden kann.Port 8888 im Image ist für den Betrieb des KernelGateway-Webservers reserviert.
- Stoppen des Images
-
Die
DeleteApp-API gibt das Äquivalent zu einemdocker stop-Befehl aus. Andere Prozesse im Container erhalten die SIGKILL/SIGTERM-Signale nicht. - Kernel-Erkennung
-
SageMaker AI erkennt Kernel, wie sie in den Jupyter-Kernelspezifikationen
definiert sind. Sie können eine Liste von Kerneln angeben, die angezeigt werden sollen, bevor das Image ausgeführt wird. Wenn nicht angegeben, wird Python3 angezeigt. Verwenden Sie die DescribeAppImageConfig-API, um die Liste der Kernel anzuzeigen.
Conda-Umgebungen werden standardmäßig als Kernel-Spezifikationen erkannt.
- Dateisystem
-
Die Verzeichnisse
/opt/.sagemakerinternalund/opt/mlsind reserviert. Alle Daten in diesen Verzeichnissen sind zur Laufzeit möglicherweise nicht sichtbar. - Benutzerdaten
-
Jeder Benutzer in einer Domain erhält ein Benutzerverzeichnis auf einem gemeinsam genutzten Amazon Elastic File System-Volume im Image. Der Speicherort des aktuellen Benutzerverzeichnisses auf dem Amazon EFS-Volume ist konfigurierbar. Standardmäßig ist der Speicherort des Verzeichnisses
/home/sagemaker-user.SageMaker AI konfiguriert POSIX-UID/GID-Zuordnungen zwischen dem Image und dem Host. Standardmäßig wird die UID/GID (0/0) des Root-Benutzers der UID/GID auf dem Host zugeordnet.
Sie können diese Werte mithilfe der CreateAppImageConfig-API angeben.
- GID/UID-Grenzwerte
-
Amazon SageMaker Studio Classic unterstützt nur die folgenden Kombinationen von
DefaultUIDundDefaultGID:-
defaultUID: 1000 und defaultGID: 100, was einem Benutzer ohne Privilegien entspricht.
-
defaultUID: 0 und defaultGID: 0, was dem Root-Zugriff entspricht.
-
- Metadaten
-
Eine Metadatendatei befindet sich unter.
/opt/ml/metadata/resource-metadata.jsonDen im Image definierten Variablen werden keine zusätzlichen Umgebungsvariablen hinzugefügt. Weitere Informationen finden Sie unter Abrufen von App-Metadaten. - GPU
-
Auf einer GPU-Instance wird das Image mit der
--gpusOption ausgeführt. Nur das CUDA-Toolkit sollte im Image enthalten sein, nicht die NVIDIA-Treiber. Weitere Informationen finden Sie im NVIDIA Benutzerhandbuch. - Metriken und Protokollierung
-
Protokolle aus dem KernelGateway-Prozess werden im Kundenkonto an Amazon CloudWatch gesendet. Der Name der Protokollgruppe ist
/aws/sagemaker/studio. Der Name des Protokollstroms ist$domainID/$userProfileName/KernelGateway/$appName. - Größe des Images
-
Limitiert auf 35 GB. Führen Sie den Befehl aus, um die Größe Ihres Images anzuzeigen
docker image ls.
Beispiel-Dockerfile
Die folgende Beispiel-Dockerfile erstellt ein Image, das auf Amazon Linux 2 basiert, installiert Pakete von Drittanbietern und den python3 Kernel und legt den Bereich auf den Benutzer ohne Zugriffsrechte fest.
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 && \ jupyter-activity-monitor-extension \ python3 -m pip install ipykernel && \ python3 -m ipykernel install USER ${NB_UID}