¿Cómo soluciono los problemas al llevar mi contenedor personalizado a Amazon SageMaker Studio?

Última actualización: 11/11/2022

Quiero solucionar problemas al crear un Amazon SageMaker Studio personalizado.

Resolución

Una imagen de SageMaker es un archivo que identifica los núcleos, los paquetes de idiomas y otras dependencias necesarias para ejecutar un cuaderno de Jupyter en SageMaker Studio. Estas imágenes se utilizan para crear un entorno desde el que puede ejecutar sus cuadernos de Jupyter. Si las imágenes integradas que proporciona SageMaker no son compatibles con su caso de uso, puede utilizar una imagen personalizada para utilizarla en SageMaker Studio.

Es posible que se produzcan errores al utilizar la imagen de su cliente en SageMaker Studio. Estos errores pueden deberse principalmente a una configuración incorrecta que configuró durante el proceso de creación de la imagen del contenedor. Por lo tanto, asegúrese de que la imagen personalizada sea compatible con SageMaker Studio.

Para ello, compruebe lo siguiente al crear el Dockerfile:

  • Ha establecido los valores DefaultUID y DefaultGID con precisión. SageMaker Studio solo admite una combinación específica deDefaultUID y DefaultGID. Asegúrese de que DefaultUID y DefaultGID estén configurados en 1000 y 100 respectivamente para un usuario sin privilegios. Asegúrese de que ambos valores estén establecidos en 0 para el usuario raíz.
  • No se utilizan los directorios «opt/.sagemakerinternal» y « opt/ml». Estos directorios están reservados.
  • Al crear el archivo de configuración app-image-config-input.json, asegúrese de que el valor de Nombre de KernelSpec de este archivo coincida con el valor de Nombre de la imagen asociada.

Ejemplo de Dockerfile que instala paquetes de Python y establece el alcance para los usuarios 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 && \
    python3 -m pip install ipykernel && \
    python3 -m ipykernel install

USER ${NB_UID}

Puede ver los mensajes de error en los registros de Amazon CloudWatch cuando ocurre cualquiera de las siguientes situaciones:

  • La creación de la versión de imagen falla.
  • Aparece un error al iniciar la imagen en SageMaker Studio.

Puede encontrar estos mensajes en el grupo de registro /aws/sagemaker/studio y en la flujo de registro $domainID/$userProfileName/KernelGateway/$appName.

Nota: en este artículo se asume que el usuario o rol de AWS Identity and Access Management (IAM) tiene adjunta la política AmazonSageMakerFullAccess.


¿Le resultó útil este artículo?


¿Necesita asistencia técnica o con la facturación?