SageMaker Training e Inference Toolkits - Amazon SageMaker AI

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

SageMaker Training e Inference Toolkits

Los toolkits SageMaker AI Training y SageMaker AI Inference implementan la funcionalidad que necesita para adaptar sus contenedores para ejecutar scripts, entrenar algoritmos e implementar modelos en SageMaker AI. Cuando se instala, la biblioteca define lo siguiente para los usuarios:

  • Las ubicaciones para almacenar código y otros recursos.

  • El punto de entrada que contiene el código que se ejecutará al iniciarse el contenedor. El Dockerfile debe copiar el código que debe ejecutarse en la ubicación esperada por un contenedor compatible con SageMaker AI.

  • Otra información que un contenedor necesita para gestionar implementaciones para entrenamiento e inferencia.

Estructura de contenedores de toolkits de SageMaker AI

Cuando SageMaker AI entrena un modelo, crea la siguiente estructura de carpetas de archivos en el directorio /opt/ml del contenedor.

/opt/ml ├── input │ ├── config │ │ ├── hyperparameters.json │ │ └── resourceConfig.json │ └── data │ └── <channel_name> │ └── <input data> ├── model │ ├── code │ ├── output │ └── failure

Cuando se ejecuta un trabajo de entrenamiento del modelo, el contenedor de SageMaker AI utiliza el directorio /opt/ml/input/, que contiene los archivos JSON que configuran los hiperparámetros para el algoritmo y el diseño de red utilizado para el entrenamiento distribuido. El directorio /opt/ml/input/ también contiene los archivos que especifican los canales a través de los cuales SageMaker AI obtiene acceso a los datos, que se almacenan en Amazon Simple Storage Service (Amazon S3). La biblioteca de contenedores de SageMaker AI coloca los scripts que el contenedor ejecutará en el directorio /opt/ml/code/. Su script debe escribir el modelo generado por su algoritmo en el directorio /opt/ml/model/. Para obtener más información, consulte Contenedores con algoritmos de entrenamiento personalizados.

Cuando aloja un modelo capacitado en SageMaker AI para crear inferencias, implementa el modelo en un punto de conexión HTTP. El modelo hace predicciones en tiempo real en respuesta a solicitudes de inferencia. El contenedor debe contener una pila de distribución para procesar estas solicitudes.

En un contenedor de transformación por lotes o alojamiento, los archivos del modelo se encuentran en la misma carpeta en la que se escribieron durante la entrenamiento.

/opt/ml/model │ └── <model files>

Para obtener más información, consulte Contenedores con código de inferencia personalizado.

Contenedores individuales frente a contenedores múltiples

Puede proporcionar imágenes de Docker independientes para el algoritmo de entrenamiento y código de inferencia, o puede utilizar una única imagen de Docker para ambos. Cuando se crean imágenes de Docker para su uso con SageMaker AI tenga en cuenta lo siguiente:

  • Proporcionar dos imágenes de Docker puede aumentar los requisitos de almacenamiento y el costo, ya que las bibliotecas comunes pueden duplicarse.

  • Por regla general, los contenedores más pequeños se inician más rápido para el alojamiento y la capacitación. Los modelos realizan una capacitación más rápida y el servicio de alojamiento puede reaccionar a los aumentos de tráfico mediante un escalado automático más rápido.

  • Es posible que pueda escribir un contenedor de inferencias que sea significativamente más pequeño que el contenedor de capacitación. Esto es especialmente común cuando utiliza GPU para la capacitación, pero el código de inferencia se optimiza para las CPU.

  • SageMaker AI requiere que los contenedores de Docker se ejecuten sin acceso privilegiado.

  • Tanto los contenedores de Docker que crea como los proporcionados por SageMaker AI pueden enviar mensajes a los archivos Stdout y Stderr. SageMaker AI envía estos mensajes a los registros de Amazon CloudWatch de su cuenta de AWS.

Para obtener más información sobre cómo crear contenedores de SageMaker AI y cómo se ejecutan los scripts dentro de ellos, consulte los repositorios SageMaker AI Training Toolkit y SageMaker AI Inference Toolkit en GitHub. También proporcionan listas de variables de entorno importantes y las variables de entorno proporcionadas por contenedores de SageMaker AI.