Especificaciones de imágenes de SageMaker personalizadas para Amazon SageMaker Studio Classic
importante
A partir del 30 de noviembre de 2023, la experiencia anterior de Amazon SageMaker Studio pasa a denominarse Amazon SageMaker Studio Classic. La siguiente sección es específica del uso de la aplicación de Studio Classic. Para obtener información sobre el uso de la experiencia de Studio actualizada, consulte Amazon SageMaker Studio.
Las siguientes especificaciones se aplican a la imagen de contenedor representada por una versión de imagen de SageMaker AI.
- Ejecutar la imagen
-
Las instrucciones
ENTRYPOINTyCMDse anulan para permitir que la imagen se ejecute como aplicación KernelGateway.El puerto 8888 de la imagen está reservado para ejecutar el servidor web KernelGateway.
- Detención de la imagen
-
La API
DeleteAppemite el equivalente de un comandodocker stop. Otros procesos del contenedor no recibirán las señales SIGKILL/SIGTERM. - Descubrimiento de kernel
-
SageMaker AI reconoce los núcleos definidos por las especificaciones del núcleo
de Jupyter. Puede especificar una lista de kernels que se van a mostrar antes de ejecutar la imagen. Si no se especifica, se muestra python3. Utilice la API DescribeAppImageConfig para ver la lista de kernels.
Los entornos Conda se reconocen como especificaciones del kernel de forma predeterminada.
- Sistema de archivos
-
Los directorios
/opt/.sagemakerinternaly/opt/mlestán reservados. Es posible que los datos de estos directorios no estén visibles en tiempo de ejecución. - Datos de usuario
-
Cada usuario de un dominio obtiene un directorio de usuarios en un volumen compartido de Amazon Elastic File System de la imagen. La ubicación del directorio del usuario actual en el volumen de Amazon EFS se puede configurar. El directorio
/home/sagemaker-useres la ubicación predeterminada del archivo.SageMaker AI configura asignaciones UID/GID POSIX entre la imagen y el host. De forma predeterminada, se asigna el UID/GID del usuario raíz (0/0) al UID/GID del host.
Puede especificar estos valores mediante la API CreateAppImageConfig.
- Límites de GID/UID
-
Amazon SageMaker Studio Classic solo admite las siguientes combinaciones de
DefaultUIDyDefaultGID:-
DefaultUID: 1000 y DefaultGID: 100, que corresponde a un usuario sin privilegios.
-
DefaultUID: 0 y DefaultGID: 0, que corresponde al acceso raíz.
-
- Metadatos
-
Hay un archivo de metadatos en
/opt/ml/metadata/resource-metadata.json. No se añaden variables de entorno adicionales a las variables definidas en la imagen. Para obtener más información, consulte Obtener metadatos de aplicaciones. - GPU
-
En una instancia de GPU, la imagen se ejecuta con la opción
--gpus. Solo debe incluirse el kit de herramientas CUDA en la imagen, no en los controladores NVIDIA. Para obtener más información, consulte la Guía del usuario de NVIDIA. - Métricas y registro
-
Los registros del proceso de KernelGateway se envían a Amazon CloudWatch en la cuenta del cliente. El nombre del grupo de registro es
/aws/sagemaker/studio. El nombre del flujo de registro. es$domainID/$userProfileName/KernelGateway/$appName. - Tamaño de imagen
-
Limitado a 35 GB. Para ver el tamaño de la imagen, ejecute
docker image ls.
Ejemplo de Dockerfile
El siguiente ejemplo de Dockerfile crea un Amazon Linux 2 basado en imágenes, instala paquetes de terceros y el kernel python3, y establece el ámbito para el usuario sin privilegios.
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}