Especificaciones de imágenes de SageMaker personalizadas para Amazon SageMaker Studio Classic - Amazon SageMaker AI

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 ENTRYPOINT y CMD se 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 DeleteApp emite el equivalente de un comando docker 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/.sagemakerinternal y /opt/ml está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-user es 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 DefaultUID y DefaultGID:

  • 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}