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.
Cree una imagen de contenedor Docker personalizada SageMaker y úsela para el entrenamiento de modelos en AWS Step Functions
Creada por Julia Bluszcz (AWS), Neha Sharma (), Aubrey Oosthuizen (AWS), Mohan Gowda Purushothama () y Mateusz Zaremba () AWS AWS AWS
Entorno: producción | Tecnologías: aprendizaje automático e inteligencia artificial; DevOps | AWSservicios: AmazonECR; Amazon SageMaker; AWS Step Functions |
Resumen
Este patrón muestra cómo crear una imagen de contenedor de Docker para Amazon SageMaker y utilizarla como modelo de entrenamiento en AWSStep Functions. Al empaquetar algoritmos personalizados en un contenedor, puede ejecutar casi cualquier código del SageMaker entorno, independientemente del lenguaje de programación, el marco o las dependencias.
En el SageMaker cuaderno de ejemplo proporcionado, la imagen del contenedor Docker personalizado se almacena en Amazon Elastic Container Registry (AmazonECR). Luego, Step Functions usa el contenedor que está almacenado en Amazon ECR para ejecutar un script de procesamiento de Python SageMaker. A continuación, el contenedor exporta el modelo a Amazon Simple Storage Service (Amazon S3).
Requisitos previos y limitaciones
Requisitos previos
Una AWS cuenta activa
Un rol de AWS Identity and Access Management (IAM) para SageMaker con permisos de Amazon S3
Conocimientos básicos sobre Python
Familiaridad con Amazon Python SageMaker SDK
Familiaridad con la interfaz de línea de AWS comandos () AWS CLI
Familiaridad con AWS SDK Python (Boto3)
Familiaridad con Amazon ECR
Familiaridad con Docker
Versiones de producto
AWSStep Functions Data Science SDK versión 2.3.0
Amazon SageMaker Python SDK versión 2.78.0
Arquitectura
En el siguiente diagrama se muestra un ejemplo de flujo de trabajo para crear una imagen de contenedor de Docker y utilizarla después como modelo de entrenamiento en Step Functions: SageMaker
En el diagrama, se muestra el siguiente flujo de trabajo:
Un científico o DevOps ingeniero de datos utiliza un SageMaker bloc de notas de Amazon para crear una imagen de contenedor Docker personalizada.
Un científico o DevOps ingeniero de datos almacena la imagen del contenedor de Docker en un repositorio ECR privado de Amazon que se encuentra en un registro privado.
Un científico o DevOps ingeniero de datos utiliza el contenedor de Docker para ejecutar un trabajo de SageMaker procesamiento de Python en un flujo de trabajo de Step Functions.
Automatizar y escalar
El ejemplo de SageMaker cuaderno de este patrón utiliza un tipo de instancia de ml.m5.xlarge
bloc de notas. Puede cambiar el tipo de instancia para que se ajuste a su caso de uso. Para obtener más información sobre los tipos de instancias de SageMaker notebook, consulta SageMaker los precios de Amazon
Herramientas
Amazon Elastic Container Registry (AmazonECR) es un servicio de registro de imágenes de contenedores gestionado que es seguro, escalable y fiable.
Amazon SageMaker es un servicio de aprendizaje automático gestionado (ML) que le ayuda a crear y entrenar modelos de aprendizaje automático y, a continuación, a implementarlos en un entorno hospedado listo para la producción.
Amazon SageMaker Python SDK
es una biblioteca de código abierto para entrenar e implementar modelos de aprendizaje automático en ellos. SageMaker AWSStep Functions es un servicio de organización sin servidor que le ayuda a combinar las funciones de AWS Lambda y otros AWS servicios para crear aplicaciones críticas para la empresa.
AWSStep Functions Data Science Python SDK
es una biblioteca de código abierto que le ayuda a crear flujos de trabajo de Step Functions que procesan y publican modelos de aprendizaje automático.
Epics
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Configura Amazon ECR y crea un nuevo registro privado. | Si aún no lo has hecho, configura Amazon ECR siguiendo las instrucciones de Configuración con Amazon ECR en la Guía del ECR usuario de Amazon. Cada AWS cuenta cuenta con un ECR registro de Amazon privado predeterminado. | DevOps ingeniero |
Crea un repositorio ECR privado de Amazon. | Sigue las instrucciones de Crear un repositorio privado en la Guía del ECR usuario de Amazon. Nota: El repositorio que cree es donde almacenará sus imágenes de contenedores de Docker personalizadas. | DevOps ingeniero |
Cree un Dockerfile que incluya las especificaciones necesarias para ejecutar su trabajo de SageMaker procesamiento. | Cree un Dockerfile que incluya las especificaciones necesarias para ejecutar su trabajo de SageMaker procesamiento configurando un Dockerfile. Para obtener instrucciones, consulta Cómo adaptar tu propio contenedor de formación en la Guía para SageMaker desarrolladores de Amazon. Para obtener más información sobre Dockerfiles, consulta la referencia de Dockerfile Ejemplo de celdas de código de un cuaderno de Jupyter para crear un Dockerfile Celda 1
Celda 2
| DevOps ingeniero |
Crea tu imagen de contenedor de Docker y envíala a AmazonECR. |
Para obtener más información, consulta Cómo crear y registrar el contenedor Ejemplo de celdas de código del cuaderno de Jupyter para crear y registrar una imagen de Docker Importante: antes de ejecutar las siguientes celdas, asegúrate de haber creado un Dockerfile y de haberlo guardado en el directorio denominado Celda 1
Celda 2
Celda 3
Celda 4
Nota: Debe autenticar su cliente de Docker en su registro privado para poder utilizar los comandos | DevOps ingeniero |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Cree un script de Python que incluya su procesamiento personalizado y su lógica de capacitación de modelos. | Escriba una lógica de procesamiento personalizada para ejecutarla en su script de procesamiento de datos. A continuación, guárdelo como un script de Python denominado Para obtener más información, consulte Utilice su propio modelo con el modo SageMaker script activado Ejemplo de script de Python que incluye procesamiento personalizado y lógica de capacitación de modelos
| Científico de datos |
Cree un flujo de trabajo de Step Functions que incluya su trabajo de SageMaker procesamiento como uno de los pasos. | Instale e importe AWSStep Functions Data Science SDK Importante: Asegúrese de haber creado un rol de IAM ejecución para Step Functions Ejemplo de configuración del entorno y script de capacitación personalizado para cargarlo en Amazon S3
Ejemplo SageMaker de definición de paso de procesamiento que utiliza una ECR imagen personalizada de Amazon y un script de Python Nota: Asegúrese de utilizar el parámetro
Ejemplo de flujo de trabajo de Step Functions que ejecuta un trabajo SageMaker de procesamiento Nota: Este flujo de trabajo de ejemplo incluye solo el paso del trabajo de SageMaker procesamiento, no un flujo de trabajo completo de Step Functions. Para ver un ejemplo completo de flujo de trabajo, consulte Cuadernos de ejemplo SageMaker en
| Científico de datos |
Recursos relacionados
Procesar datos (Amazon SageMaker Developer Guide)
Adaptación de tu propio contenedor de formación (Amazon SageMaker Developer Guide)