Entrenamiento de modelos - Amazon SageMaker

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.

Entrenamiento de modelos

La etapa de entrenamiento del ciclo de vida completo de machine learning (ML) abarca desde el acceso al conjunto de datos de entrenamiento hasta la generación de un modelo final y la selección del modelo con mejor rendimiento para su implementación. En las siguientes secciones se proporciona una descripción general de las funciones y los recursos de SageMaker formación disponibles, con información técnica detallada sobre cada uno de ellos.

La arquitectura básica de SageMaker Training

Si es la primera vez que la usas SageMaker y quieres encontrar una solución rápida de aprendizaje automático para entrenar un modelo en tu conjunto de datos, considera usar una solución sin código o con poco código, como SageMaker Canvas, JumpStarten SageMaker Studio Classic, o SageMaker Autopilot.

Para experiencias de programación de nivel intermedio, considere la posibilidad de utilizar una libreta SageMaker Studio Classic o Notebook InstancesSageMaker . Para empezar, sigue las instrucciones Capacitación de un modelo de la guía de SageMaker introducción. Lo recomendamos para los casos de uso en los que cree su propio modelo y script de entrenamiento utilizando un marco de ML.

El núcleo de las SageMaker tareas es la contenedorización de las cargas de trabajo de aprendizaje automático y la capacidad de gestionar los recursos informáticos. La plataforma de SageMaker formación se encarga del trabajo pesado asociado a la configuración y la gestión de la infraestructura para las cargas de trabajo de formación en aprendizaje automático. Con SageMaker Training, puede centrarse en desarrollar, capacitar y ajustar su modelo.

El siguiente diagrama de arquitectura muestra cómo SageMaker gestiona los trabajos de formación en aprendizaje automático y aprovisiona las EC2 instancias de Amazon en nombre de SageMaker los usuarios. Como SageMaker usuario, puede traer su propio conjunto de datos de entrenamiento y guardarlo en Amazon S3. Puede elegir un modelo de aprendizaje automático entre los algoritmos SageMaker integrados disponibles, o bien utilizar su propio guion de entrenamiento con un modelo creado con los marcos de aprendizaje automático más populares.

Cómo proporcionan los usuarios los datos y eligen los algoritmos y SageMaker aprovisionan la infraestructura informática.

Vista completa del flujo de trabajo y las características de la SageMaker formación

El proceso completo de entrenamiento en ML incluye tareas que van más allá de la ingesta de datos para obtener modelos de ML, el entrenamiento de modelos en instancias de procesamiento y la obtención de artefactos y resultados de los modelos. Debe evaluar todas las fases de antes, durante y después del entrenamiento para asegurarse de que su modelo está bien entrenado para cumplir la precisión deseada para sus objetivos.

El siguiente diagrama de flujo muestra una descripción general de alto nivel de sus acciones (en recuadros azules) y las funciones de SageMaker capacitación disponibles (en recuadros de color azul claro) a lo largo de la fase de capacitación del ciclo de vida del aprendizaje automático.

Diagrama de flujo de los pasos y funciones recomendados para cada paso del flujo de trabajo de formación en aprendizaje automático.

En las siguientes secciones se explica cada fase de la formación descrita en el diagrama de flujo anterior y se explican las útiles funciones que se ofrecen SageMaker en las tres subetapas de la formación en aprendizaje automático.

Antes del entrenamiento

Hay varios escenarios de configuración de los recursos y el acceso a los datos que hay que tener en cuenta antes del entrenamiento. Consulte el siguiente diagrama y los detalles de cada etapa previa al entrenamiento para hacerse una idea de las decisiones que debe tomar.

Un diagrama de flujo que muestra las tareas previas al entrenamiento y las características asociadas SageMaker

Durante el entrenamiento

Durante el entrenamiento, es necesario mejorar continuamente la estabilidad, la velocidad y la eficiencia de la misma, a la vez que se amplían los recursos de cómputo, se optimizan los costes y, lo que es más importante, el rendimiento del modelo. Sigue leyendo para obtener más información sobre las etapas de entrenamiento durante el entrenamiento y las funciones relevantes del entrenamiento. SageMaker

Un diagrama de flujo que muestra las tareas durante el entrenamiento y las características asociadas SageMaker
  • Configure la infraestructura: elija el tipo de instancia y las herramientas de administración de infraestructura adecuados para su caso de uso. Puede empezar desde una instancia pequeña y ampliarla en función de su carga de trabajo. Para entrenar un modelo en un conjunto de datos tabular, comience con la CPU instancia más pequeña de las familias de instancias C4 o C5. Para entrenar un modelo grande para la visión artificial o el procesamiento del lenguaje natural, comienza con la GPU instancia más pequeña de las familias de instancias P2, P3, G4dn o G5. También puedes combinar distintos tipos de instancias en un clúster o mantener las instancias en grupos cálidos con las siguientes herramientas de administración de instancias que ofrece. SageMaker También puede utilizar la caché persistente para reducir la latencia y el tiempo facturable en los trabajos de entrenamiento iterativos, en lugar de reducir la latencia únicamente en los grupos cálidos. Para obtener más información, consulte los temas siguientes.

    Debe tener una cuota suficiente para realizar un trabajo de entrenamiento. Si realiza su trabajo de entrenamiento en una instancia en el que su cuota es insuficiente, recibirá un error ResourceLimitExceeded. Para comprobar las cuotas actualmente disponibles en su cuenta, utilice la consola Service Quotas. Para obtener más información sobre cómo solicitar un aumento de cuotas, consulte Cuotas y regiones compatibles. Además, para encontrar información sobre los precios y los tipos de instancias disponibles en función de Regiones de AWS ellos, consulta las tablas de la página de SageMaker precios de Amazon.

  • Ejecute un trabajo de formación desde un código local: puede anotar su código local con un decorador remoto para ejecutar el código como un trabajo de SageMaker formación desde Amazon SageMaker Studio Classic, un SageMaker bloc de notas de Amazon o desde su entorno de desarrollo integrado local. Para obtener más información, consulte Ejecuta tu código local como un trabajo SageMaker de formación.

  • Realice un seguimiento de los trabajos de formación: supervise y realice un seguimiento de sus trabajos de formación mediante SageMaker Experiments, SageMaker Debugger o Amazon CloudWatch. Puedes ver el rendimiento del modelo en términos de precisión y convergencia, y realizar un análisis comparativo de las métricas entre varios trabajos de formación mediante SageMaker experimentos. Puede ver la tasa de utilización de los recursos informáticos utilizando las herramientas de creación de perfiles de SageMaker Debugger o Amazon. CloudWatch Para obtener más información, consulte los temas siguientes.

    Además, para las tareas de aprendizaje profundo, utilice las herramientas de SageMaker depuración del modelo Amazon Debugger y las reglas integradas para identificar problemas más complejos en los procesos de convergencia de modelos y actualización de peso.

  • Formación distribuida: si su trabajo de formación va a pasar a una fase estable y no se interrumpe debido a una mala configuración de la infraestructura de formación o a out-of-memory problemas, tal vez le interese buscar más opciones para escalar su trabajo y prolongarlo durante un período de tiempo prolongado, durante días e incluso meses. Cuando esté preparado para ampliarlo, considere la posibilidad de impartir formación distribuida. SageMaker ofrece varias opciones para la computación distribuida, desde cargas de trabajo ligeras de aprendizaje automático hasta cargas de trabajo pesadas de aprendizaje profundo.

    Para las tareas de aprendizaje profundo que implican el entrenamiento de modelos muy grandes en conjuntos de datos muy grandes, considere la posibilidad de utilizar una de las estrategias de entrenamiento SageMaker distribuidas para escalar y lograr el paralelismo de datos, el paralelismo de modelos o una combinación de ambos. También puedes usar SageMaker Training Compiler para compilar y optimizar gráficos de modelos en instancias. GPU Estas SageMaker funciones son compatibles con marcos de aprendizaje profundo como PyTorch TensorFlow, y Hugging Face Transformers.

  • Ajuste de hiperparámetros del modelo: ajuste los hiperparámetros del modelo mediante el ajuste automático del modelo con. SageMaker SageMaker proporciona métodos de ajuste de hiperparámetros, como la búsqueda en cuadrículas y la búsqueda bayesiana, y lanza trabajos de ajuste de hiperparámetros paralelos con una funcionalidad de parada temprana para trabajos de ajuste de hiperparámetros que no mejoran.

  • Control y ahorro de costes con instancias de Spot: si el tiempo de entrenamiento no es un problema importante, podría considerar la posibilidad de optimizar los costes de entrenamiento de modelos con instancias de Spot gestionadas. Tenga en cuenta que debe activar los puntos de control para que el entrenamiento de Spot siga recuperándose de las pausas intermitentes de los trabajos debidas a la sustitución de instancias de Spot. También puede utilizar la función de puntos de control para hacer copias de seguridad de sus modelos en caso de que termine inesperadamente su trabajo de entrenamiento. Para obtener más información, consulte los temas siguientes.

Después del entrenamiento

Tras el entrenamiento, se obtiene un artefacto del modelo final para utilizarlo en la implementación y la inferencia del modelo. Hay acciones adicionales en la fase posterior al entrenamiento, como se muestra en el siguiente diagrama.

Un diagrama de flujo que muestra las tareas posteriores al entrenamiento y las características asociadas SageMaker