Implemente con Amazon SageMaker

Amazon SageMaker facilita la generación de predicciones, ya que proporciona todo lo que se necesita para implementar los modelos de aprendizaje automático en la etapa de producción y para monitorear la calidad de los modelos.

Características

Monitoreo de modelos

Por lo general, los modelos de aprendizaje automático se entrenan y evalúan con datos históricos, pero la calidad disminuye luego de su implementación en la producción. Esto se debe a que la distribución de los datos que se envían a los modelos para las predicciones puede diferir de la distribución de los datos utilizados para el entrenamiento. La validez de los resultados de las predicciones puede cambiar con el tiempo, y los errores se pueden introducir de manera ascendente, lo que puede afectar la calidad del modelo. Para evitar esto, es necesario monitorear la calidad de los modelos en producción, identificar los problemas rápidamente y tomar acciones correctivas, como auditar los modelos o volver a entrenarlos. Para lograr esto, debe crear herramientas para almacenar los datos relacionados con las predicciones de manera segura y, a continuación, debe implementar diferentes técnicas estadísticas a fin de analizar estos datos y evaluar la calidad del modelo. Finalmente, tiene que identificar las desviaciones en la calidad del modelo para tomar las acciones correctivas adecuadas. Como una alternativa a la creación de herramientas adicionales, se puede volver a entrenar los modelos con regularidad, aunque tal vez resulte costoso.

El monitor de modelos de Amazon SageMaker elimina la necesidad de crear herramientas para monitorear los modelos en producción y detectar cuándo se deben implementar acciones correctivas. Esta herramienta monitorea continuamente la calidad de los modelos de aprendizaje automático en la etapa de producción y le avisa cuando encuentra desviaciones en la calidad de los modelos.

El monitor de modelos de SageMaker analiza con regularidad los datos recopilados según las reglas integradas o sus propias reglas personalizadas, con el fin de determinar si se está infringiendo alguna regla. Las reglas integradas se pueden utilizar para analizar datos tabulares y detectar problemas comunes, como los valores atípicos en los datos de predicción, las desviaciones en la distribución de los datos en comparación con los conjuntos de datos de entrenamiento y los cambios en la precisión de las predicciones en virtud de las observaciones del mundo real. El monitor de modelos de SageMaker puede utilizarse dentro de SageMaker Studio, y las métricas se pueden emitir a Amazon CloudWatch de manera que se puedan configurar alarmas para auditar y volver a entrenar los modelos. Puede visualizar las alertas para identificar qué datos son los que están causando las desviaciones y así poder ajustar los datos de entrenamiento en consecuencia. Las solicitudes y las respuestas de predicción se almacenan de forma segura para todos los modelos implementados en SageMaker, sin necesidad de realizar cambios en los códigos.

Monitor de modelos

Implementación con un solo clic

Amazon SageMaker facilita la implementación de su modelo entrenado en producción con un solo clic para comenzar a generar predicciones para datos en lotes o en tiempo real. Puede implementar su modelo con un clic en instancias de aprendizaje automático de Amazon con escalado automático en varias zonas de disponibilidad para lograr un mayor nivel de redundancia. Tan solo debe especificar el tipo de instancia y los valores máximo y mínimo, y SageMaker se encargará del resto. SageMaker lanzará las instancias, implementará el modelo y configurará el punto de enlace HTTPS seguro para la aplicación. La aplicación simplemente debe incluir una llamada de la API a este punto de conexión para lograr una inferencia con alto nivel de procesamiento y baja latencia. La arquitectura permite integrar modelos nuevos en la aplicación en cuestión de minutos, gracias a que los cambios realizados en el modelo ya no implican modificaciones en el código de la aplicación.

Transformación en lotes

La mayor parte del tiempo, el procesamiento de lotes de datos para realizar predicciones que no sean en tiempo real se lleva a cabo mediante el reajuste del tamaño de los grandes conjuntos de datos en fragmentos más pequeños y la administración de los puntos de enlace en tiempo real. Esto puede ser costoso y propenso a errores. Gracias a la característica de transformación por lotes de Amazon SageMaker, no es necesario de desglosar los conjuntos de datos en varios fragmentos ni administrar los puntos de enlace en tiempo real. La transformación por lotes le permite ejecutar predicciones en conjuntos de datos de lotes grandes o pequeños. Con una API simple, puede solicitar predicciones para una gran cantidad de registros de datos y transformarlos de manera rápida y sencilla. La cantidad de datos para ejecutar exploraciones puede ser tan grande como para ocupar petabytes o tan pequeña como para ocupar unos pocos bytes, o cualquier punto intermedio.

Un único entrenamiento para todo tipo de implementación

Para alcanzar un alto rendimiento en la inferencia de una variedad de dispositivos de borde, normalmente debe pasar semanas o meses ajustando a mano un modelo para cada dispositivo de destino, ya que cada una de las configuraciones de hardware tiene un único conjunto de capacidades y restricciones. Con Amazon SageMaker Neo, puede entrenar modelos de aprendizaje automático una única vez e implementarlos en cualquier lugar en la nube y en el borde.

SageMaker Neo utiliza el aprendizaje automático a fin de optimizar de forma automática un modelo entrenado para que funcione hasta dos veces más rápido y, además, consuma menos de una décima parte de la capacidad de memoria, sin perder en términos de precisión en el entorno de implementación de destino. Comienza con un modelo de aprendizaje automático creado con MXNet, TensorFlow, PyTorch o XGBoost, y entrenado con SageMaker. Luego, elige la plataforma de hardware de destino en la cual desea implementar el modelo. Con un solo clic, SageMaker Neo compilará el modelo entrenado en un archivo ejecutable. El compilador utiliza una red neuronal para detectar y aplicar todas las optimizaciones de rendimiento específicas que harán que su modelo se ejecute de manera más eficiente en la plataforma de hardware de destino. A continuación, se puede implementar el modelo para comenzar a generar predicciones en la nube o en el borde. La informática local y las capacidades de inferencia del aprendizaje automático pueden incorporarse en el borde con AWS IoT Greengrass.

Para simplificar las implementaciones de borde, Greengrass admite los modelos optimizados para Neo a fin de que pueda implementarlos directamente en el borde con actualizaciones inalámbricas. Neo también se encuentra disponible como código fuente abierto con el nombre de proyecto Neo-AI bajo la licencia de Apache Software, lo que permite a los desarrolladores personalizar el software para los distintos dispositivos y aplicaciones.

2 veces más

DE RENDIMIENTO

1/10

DEL TAMAÑO DEL MARCO ORIGINAL

Integración con Kubernetes

Kubernetes es un sistema de código abierto utilizado para automatizar la implementación, el escalado y la administración de aplicaciones en contenedores. Muchos clientes quieren utilizar las capacidades completamente administradas para aprendizaje automático de Amazon SageMaker, pero también quieren que los equipos de plataforma e infraestructura sigan utilizando Kubernetes para organizar y administrar las canalizaciones. SageMaker aborda estos requisitos dejando que los usuarios de Kubernetes entrenen e implementen modelos en SageMaker con las canalizaciones y las operaciones de SageMaker-Kubeflow. Con los operadores y las canalizaciones, los usuarios de Kubernetes pueden acceder de forma nativa desde Kubeflow a las herramientas y a los motores de aprendizaje automático completamente administrados de SageMaker. Esto elimina la necesidad de administrar y optimizar de forma manual la infraestructura de aprendizaje automático en Kubernetes, a la vez que se conserva el control de toda la organización a través de Kubernetes. Si utiliza los operadores y las canalizaciones de SageMaker para Kubernetes, puede acceder a los beneficios de un servicio completamente administrado de aprendizaje automático en Kubernetes, sin tener que migrar las cargas de trabajo.

Procesamiento de datos más allá del entrenamiento

Las cargas de trabajo de aprendizaje automático de la vida real normalmente requieren más que entrenamiento y predicciones. Los datos deben procesarse antes y después, y algunas veces en varios pasos. Es posible que se deban efectuar entrenamientos e implementaciones con una secuencia de algoritmos que deben colaborar en la entrega de predicciones generadas a partir de datos sin procesar. SageMaker le permite implementar canalizaciones de inferencia para poder transferir datos de entrada sin procesar y ejecutar procesamientos previos, predicciones y procesamientos posteriores en tiempo real, además de solicitudes de inferencia por lotes. Las canalizaciones de inferencia pueden constar de cualquier marco de aprendizaje automático, algoritmo integrado o contenedores personalizados que se puedan utilizar en Amazon SageMaker. Puede crear canalizaciones de procesamiento de datos de características y de ingeniería de características con una serie de transformadores de características disponibles en los contenedores de marco SparkML y Scikit-learn en Amazon SageMaker, e implementarlos como parte de las canalizaciones de inferencia para reutilizar el código de procesamiento de datos y facilitar la administración de los procesos de aprendizaje automático.

Puntos de enlace de varios modelos

Cada vez más, las empresas entrenan los modelos de aprendizaje automático en función de los datos de los usuarios individuales. Por ejemplo, un servicio de transmisión de música entrenará modelos personalizados según el historial de música de cada oyente, a fin de personalizar las recomendaciones musicales. Un servicio de taxis entrenará modelos personalizados en función de los patrones de tráfico de cada ciudad, con el fin de predecir los tiempos de espera de los pasajeros. La creación de modelos de aprendizaje automático personalizados para cada uno de los casos de uso da como resultado una mayor precisión en las inferencias, pero el costo de la implementación y la administración de los modelos aumenta de manera significativa. Estos desafíos se vuelven más complejos cuando no se accede a todos los modelos con la misma velocidad, pero igualmente deben estar disponibles en todo momento.

Los puntos de enlace de varios modelos de Amazon SageMaker brindan una manera escalable y rentable de implementar grandes cantidades de modelos personalizados de aprendizaje automático. Los puntos de enlace de varios modelos de SageMaker le permiten implementar múltiples modelos con un solo clic en un único punto de enlace y atenderlos con un solo contenedor como servidor. Tan solo debe especificar el tipo de instancia y los valores máximos y mínimos deseados, y SageMaker se encargará del resto. SageMaker lanzará las instancias, implementará el modelo y configurará el punto de enlace HTTPS seguro para la aplicación. La aplicación simplemente debe incluir una llamada a la API con el modelo de destino a este punto de enlace para lograr una inferencia con alto nivel de rendimiento y baja latencia.

Pase sus modelos de aprendizaje automático de la etapa de experimentación a la de producción

Aprenda a implementar modelos de aprendizaje automático en la etapa de producción con SageMaker.

Deploy trained Keras or TensorFlow models using Amazon SageMaker (Implemente modelos Keras o TensorFlow entrenados con Amazon SageMaker)

Aprenda a implementar un modelo Keras o TensorFlow entrenado con Amazon SageMaker.

Automatice los modelos de aprendizaje automático personalizados de Amazon SageMaker

Siga estos ejemplos de GitHub y automatice la creación, el entrenamiento y la implementación de modelos de aprendizaje automático personalizados.