Entrene modelos con Amazon SageMaker

Amazon SageMaker facilita el entrenamiento de modelos de aprendizaje automático, ya que proporciona todo lo que necesita para ajustar y depurar modelos, y ejecutar experimentos de entrenamiento.

Características

Administración y seguimiento de experimentos

El aprendizaje automático es un proceso iterativo basado en la experimentación continua, por ejemplo, probar nuevos algoritmos de aprendizaje o retocar los hiperparámetros de un algoritmo y, al mismo tiempo, observar el impacto que estos cambios crecientes provocan en el rendimiento y la precisión del modelo. Con el paso del tiempo, la sobreabundancia de datos dificulta identificar los modelos con mejor rendimiento, las observaciones y las lecciones que estos aprendieron en el transcurso de la experimentación, y también los ingredientes exactos que conforman la receta de su creación.

La experimentación de Amazon SageMaker lo ayuda a llevar a cabo el seguimiento, la evaluación y la organización de los experimentos de entrenamiento de una manera fácil y escalable. La experimentación de SageMaker se incluye en Amazon SageMaker Studio, además de en un SDK para Python con integraciones de Jupyter profundas.

Con la experimentación de Amazon SageMaker, puede organizar miles de experimentos de entrenamiento y registrar artefactos de experimento, tales como los conjuntos de datos, los hiperparámetros y las métricas, para reproducir experimentos. Como esta característica está integrada en SageMaker Studio, puede visualizar modelos y evaluar cuáles son los mejores de manera rápida y sencilla. También puede realizar y mantener un registro constante con notas y comentarios sobre el experimento mientras este está en curso, y compartir experimentos con otros miembros del equipo de trabajo con un simple clic. Además, la experimentación preserva el linaje completo de los experimentos, de modo tal que, si un modelo comienza a desviarse de los resultados esperados, puede volver atrás e inspeccionar los artefactos que lo componen.

Experimentos

Análisis y depuración con información completa

Durante el proceso de entrenamiento del aprendizaje automático, obtener información y visibilidad completa resulta un desafío. No existe una manera fácil de asegurarse de que un modelo está aprendiendo progresivamente los valores correctos para sus parámetros. Cuando se entrena un modelo de visión artificial con una red neuronal convolucional, por ejemplo, es posible que tenga que ejecutar el trabajo de entrenamiento durante horas. En el transcurso de ese tiempo, no es posible observar de qué manera los distintos parámetros del modelo de aprendizaje automático influyen en el entrenamiento ni se puede saber si el proceso de entrenamiento está dando los resultados esperados.

El depurador de Amazon SageMaker le brinda una visibilidad total del proceso de entrenamiento. Facilita la inspección, ya que provee una interfaz visual para que los desarrolladores puedan analizar los datos de depuración, además de indicadores visuales para advertir sobre anomalías potenciales en el proceso de entrenamiento.

El depurador de SageMaker detecta de manera automática errores comunes, como que los valores de gradiente estén demasiado altos o demasiado bajos, y genera alertas al respecto. Puede también utilizar el SDK del depurador para detectar automáticamente nuevos tipos de error inherentes al modelo o para analizar de forma interactiva las ejecuciones de entrenamientos en un bloc de notas de SageMaker. Como consecuencia de todo esto, el esfuerzo necesario para la depuración de modelos de aprendizaje automático se puede reducir de días a minutos. Los datos recopilados por el depurador de SageMaker se conservan en su propia cuenta, lo que permite su uso para las aplicaciones que requieren el mayor nivel de privacidad.

El depurador de SageMaker crea las métricas de rendimiento en tiempo real de sus modelos. Estas métricas incluyen las pérdidas de entrenamiento y validación (que deberían ser lo más bajas posibles, ya que representan el error del modelo), matrices de confusión (para los modelos de clasificación, representan predicciones negativas y falsas alarmas, y cómo cambian durante el entrenamiento) y gradientes de aprendizaje (revisar la curva de aprendizaje de un modelo durante su entrenamiento se utiliza para diagnosticar problemas de aprendizaje, como un modelo con sobreajuste o subajuste, y también para asegurarse de que los conjuntos de datos de entrenamiento y de validación constituyan una representación fiel). Estas métricas pueden visualizarse en blocs de notas dentro de Amazon SageMaker Studio.

El depurador de SageMaker también genera advertencias y consejos de solución cuando se detectan problemas de entrenamiento comunes. Si sucede que, por ejemplo, su modelo ha aprendido todo lo posible de los datos, pero no mejora, y el entrenamiento continúa (lo que cuesta tiempo y dinero), el depurador de SageMaker lo ayudará a identificar el problema de manera temprana, de forma que pueda terminar el entrenamiento. El depurador puede también identificar problemas comunes de validación de datos, como que las ponderaciones de la red se configuren siempre en cero y notar si el modelo está sobreajustando los datos.

Depurador

Entrenamiento con un solo clic

Entrenar modelos es fácil con Amazon SageMaker. Cuando esté listo para realizar entrenamientos en SageMaker, solo especifique la ubicación de los datos en Amazon S3 e indique el tipo y el número de instancias de aprendizaje automático de SageMaker que necesita, y ya estará listo para comenzar a trabajar con un único clic. SageMaker configura un clúster de informática distribuida, realiza el entrenamiento, envía el resultado a Amazon S3 y desmantela el clúster cuando finaliza el proceso. 

Cuando especifique la ubicación de los datos en Amazon S3, SageMaker tomará su algoritmo y lo ejecutará en un clúster de entrenamiento aislado dentro de su propia red definida por software, que está configurada de acuerdo con sus necesidades. Cuando elija el tipo de instancia, como por ejemplo Amazon EC2 P3dn, la instancia basada en GPU más potente de la nube, SageMaker creará su clúster en un grupo de escalado automático. SageMaker también asociará volúmenes de EBS a cada nodo, configurará las canalizaciones de datos y comenzará el entrenamiento con su algoritmo personalizado o integrado de TensorFlow, MXNet, Pytorch, Chainer o los scripts de su marco. Una vez que el proceso se ha completado, los resultados se almacenan en S3, y el clúster se desmantela automáticamente.

Para simplificar la ejecución de entrenamientos a escala, hemos optimizado la manera en la que los datos de entrenamiento se transmiten desde Amazon S3. A través de la API, puede especificar si desea que todos los datos se envíen a cada nodo del clúster o si prefiere que SageMaker administre la distribución de los datos entre los nodos en función de las necesidades del algoritmo. Combinada con los algoritmos integrados, la escalabilidad del entrenamiento posible con Amazon SageMaker puede reducir radicalmente los plazos y el costo de las ejecuciones de entrenamientos.

Ajuste de modelo automático

Amazon SageMaker puede ajustar automáticamente su modelo mediante la adecuación de miles de combinaciones diferentes de parámetros de algoritmos para lograr las predicciones más precisas que el modelo es capaz de generar.

Cuando esté ajustando el modelo para que sea más preciso, tendrá dos opciones principales: modificar los datos entrantes que suministra al modelo (por ejemplo, tomar el registro de un número) y ajustar los parámetros que definen el comportamiento del modelo. Estos se denominan hiperparámetros, y encontrar los valores correctos puede ser una tarea ardua. Normalmente, comenzará al azar e iterará a través de los ajustes a medida que comience a ver las consecuencias de los cambios. Puede ser un ciclo prolongado en función de la cantidad de hiperparámetros que tenga el modelo.

SageMaker simplifica este proceso ofreciéndole la opción de ajustar el modelo automáticamente durante el entrenamiento. El ajuste de modelo automático utiliza el aprendizaje automático para ajustar su modelo rápidamente de forma que sea lo más preciso posible. Esta capacidad le permite omitir el tedioso proceso de ajuste manual de los hiperparámetros mediante prueba y error. En lugar de ello, el ajuste de modelo automático optimiza los hiperparámetros en varias ejecuciones de entrenamiento, para lo que detecta características interesantes en sus datos y averigua cómo interactúan para afectar la precisión. Puede ahorrar días, o incluso semanas, dedicados a mejorar la calidad de su modelo entrenado.

Tan solo especifique el número de trabajos de entrenamiento a través de la API o la consola, y SageMaker se ocupará de lo demás con el aprendizaje automático para ajustar su modelo. Funciona mediante el aprendizaje de las consecuencias que diferentes tipos de datos tienen sobre un modelo y la implementación de dicho conocimiento en muchas copias del modelo para buscar rápidamente el mejor resultado posible. Como desarrollador o científico de datos, esto significa que lo único por lo cual deberá preocuparse es por los ajustes que desee realizar en los datos que incorpora al modelo, lo que reduce de manera significativa el número de factores de los cuales debe ocuparse durante el entrenamiento.

Managed Spot Training

Es posible reducir el costo de entrenamiento de los modelos de aprendizaje automático hasta en un 90 % con Managed Spot Training. Managed Spot Training utiliza instancias de spot de Amazon EC2, que es una capacidad EC2 disponible, por lo que sus trabajos de entrenamiento se ejecutan a costos mucho más bajos en comparación con las instancias bajo demanda de Amazon EC2. Amazon SageMaker administra los trabajos de entrenamiento para que se ejecuten cuando esté disponible la capacidad de cómputo. Como resultado, no tiene que sondear continuamente la capacidad y con Managed Spot Training ya no es necesario crear herramientas adicionales para administrar las interrupciones. Managed Spot Training trabaja con el ajuste de modelo automático, los algoritmos y los marcos integrados que se incluyen en Amazon SageMaker, y los algoritmos personalizados.

Ajuste modelos automáticos con Amazon SageMaker

Adquiera experiencia práctica a través de ejercicios de ajuste de modelos automáticos en GitHub.

Entrene modelos de aprendizaje automático con TensorFlow en Amazon SageMaker

Aprenda a entrenar modelos de aprendizaje automático basados en TensorFlow.