Preparación de datos, entrenamiento de modelos e implementación unificados con Amazon SageMaker Data Wrangler y Amazon SageMaker Autopilot: parte 2 PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Preparación de datos, entrenamiento de modelos e implementación unificados con Amazon SageMaker Data Wrangler y Amazon SageMaker Autopilot: parte 2

Según la calidad y la complejidad de los datos, los científicos de datos dedican entre el 45 y el 80 % de su tiempo a tareas de preparación de datos. Esto implica que la preparación y la limpieza de datos quitan un tiempo valioso del trabajo real de ciencia de datos. Después de que un modelo de aprendizaje automático (ML) se entrena con datos preparados y está listo para su implementación, los científicos de datos a menudo deben reescribir las transformaciones de datos utilizadas para preparar los datos para la inferencia de ML. Esto puede alargar el tiempo que lleva implementar un modelo útil que pueda inferir y calificar los datos a partir de su forma y forma sin procesar.

En la Parte 1 de esta serie, demostramos cómo Data Wrangler permite que un preparación de datos unificados y entrenamiento de modelos experiencia con Piloto automático Amazon SageMaker en unos pocos clics. En esta segunda y última parte de esta serie, nos centramos en una función que incluye y reutiliza Wrangler de datos de Amazon SageMaker transformaciones, como imputers de valores perdidos, codificadores ordinales o one-hot, y más, junto con los modelos Autopilot para la inferencia de ML. Esta función permite el preprocesamiento automático de los datos sin procesar con la reutilización de las transformaciones de la función Data Wrangler en el momento de la inferencia, lo que reduce aún más el tiempo necesario para implementar un modelo entrenado en producción.

Resumen de la solución

Data Wrangler reduce el tiempo para agregar y preparar datos para ML de semanas a minutos, y Autopilot crea, entrena y ajusta automáticamente los mejores modelos de ML en función de sus datos. Con Autopilot, aún mantiene el control total y la visibilidad de sus datos y modelo. Ambos servicios están diseñados específicamente para hacer que los profesionales de ML sean más productivos y aceleren el tiempo de generación de valor.

El siguiente diagrama ilustra la arquitectura de nuestra solución.

Requisitos previos

Debido a que esta publicación es la segunda de una serie de dos partes, asegúrese de haber leído e implementado con éxito Parte 1 Antes de continuar.

Exportar y entrenar el modelo

En la Parte 1, después de la preparación de datos para ML, discutimos cómo puede usar la experiencia integrada en Data Wrangler para analizar conjuntos de datos y crear fácilmente modelos de ML de alta calidad en Autopilot.

Esta vez, usamos la integración de Autopilot una vez más para entrenar un modelo con el mismo conjunto de datos de entrenamiento, pero en lugar de realizar una inferencia masiva, realizamos una inferencia en tiempo real con un Amazon SageMaker punto final de inferencia que se crea automáticamente para nosotros.

Además de la comodidad que brinda la implementación automática de terminales, demostramos cómo también puede implementar todas las transformaciones de funciones de Data Wrangler como una canalización de inferencia en serie de SageMaker. Esto permite el preprocesamiento automático de los datos sin procesar con la reutilización de las transformaciones de funciones de Data Wrangler en el momento de la inferencia.

Tenga en cuenta que esta característica actualmente solo es compatible con los flujos de Data Wrangler que no usan transformaciones de unión, agrupación, concatenación y serie temporal.

Podemos usar la nueva integración de Data Wrangler con Autopilot para entrenar directamente un modelo desde la interfaz de usuario de flujo de datos de Data Wrangler.

  1. Elija el signo más junto a la Valores de escala nodo y elija Modelo de tren.
  2. Ubicación de Amazon S3, especifica el Servicio de almacenamiento simple de Amazon (Amazon S3) ubicación donde SageMaker exporta sus datos.
    Si se le presenta una ruta de depósito raíz de forma predeterminada, Data Wrangler crea un subdirectorio de exportación único debajo de él; no es necesario que modifique esta ruta raíz predeterminada a menos que lo desee. Autopilot usa esta ubicación para entrenar automáticamente un modelo, ahorrándole tiempo de tener que definir la ubicación de salida del flujo de Data Wrangler y luego definir la ubicación de entrada de los datos de entrenamiento de Autopilot. Esto hace que la experiencia sea más fluida.
  3. Elige Exportar y entrenar para exportar los datos transformados a Amazon S3.
    Preparación de datos, entrenamiento de modelos e implementación unificados con Amazon SageMaker Data Wrangler y Amazon SageMaker Autopilot: parte 2 PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.
    Cuando la exportación se realiza correctamente, se le redirige a la Crear un experimento de piloto automático página, con la Datos de entrada La ubicación de S3 ya se completó por usted (se completó a partir de los resultados de la página anterior).
  4. Nombre del experimento, ingrese un nombre (o mantenga el nombre predeterminado).
  5. Target, escoger Resultado como la columna que desea predecir.
  6. Elige Siguiente: Método de entrenamiento.
    Preparación de datos, entrenamiento de modelos e implementación unificados con Amazon SageMaker Data Wrangler y Amazon SageMaker Autopilot: parte 2 PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Como se detalla en la publicación. Amazon SageMaker Autopilot es hasta ocho veces más rápido con el nuevo modo de entrenamiento de conjunto con tecnología de AutoGluon, puede dejar que Autopilot seleccione el modo de entrenamiento automáticamente en función del tamaño del conjunto de datos, o seleccionar el modo de entrenamiento manualmente para el ensamblaje o la optimización de hiperparámetros (HPO).

El detalle de cada opción es el siguiente:

  • Auto – El piloto automático elige automáticamente el modo de ensamblaje o HPO en función del tamaño de su conjunto de datos. Si su conjunto de datos tiene más de 100 MB, Autopilot elige HPO; de lo contrario, elige el ensamblaje.
  • Ensamblaje – El piloto automático utiliza el AutoGluón técnica de ensamblaje para entrenar varios modelos base y combina sus predicciones mediante el apilamiento de modelos en un modelo predictivo óptimo.
  • Optimización de hiperparámetros – El piloto automático encuentra la mejor versión de un modelo ajustando los hiperparámetros mediante la técnica de optimización bayesiana y ejecutando trabajos de entrenamiento en su conjunto de datos. HPO selecciona los algoritmos más relevantes para su conjunto de datos y elige el mejor rango de hiperparámetros para ajustar los modelos. Para nuestro ejemplo, dejamos la selección predeterminada de Auto.
  1. Elige Siguiente: Implementación y configuración avanzada para continuar.
    Preparación de datos, entrenamiento de modelos e implementación unificados con Amazon SageMaker Data Wrangler y Amazon SageMaker Autopilot: parte 2 PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.
  2. En Implementación y configuración avanzada página, seleccione una opción de implementación.
    Es importante comprender las opciones de implementación con más detalle; lo que elijamos afectará si las transformaciones que hicimos anteriormente en Data Wrangler se incluirán o no en la tubería de inferencia:
    • Implementación automática del mejor modelo con transformaciones de Data Wrangler – Con esta opción de implementación, cuando prepara datos en Data Wrangler y entrena un modelo invocando Autopilot, el modelo entrenado se implementa junto con todas las transformaciones de características de Data Wrangler como una Canalización de inferencia en serie de SageMaker. Esto permite el preprocesamiento automático de los datos sin procesar con la reutilización de las transformaciones de funciones de Data Wrangler en el momento de la inferencia. Tenga en cuenta que el extremo de inferencia espera que el formato de sus datos tenga el mismo formato que cuando se importan al flujo de Data Wrangler.
    • Implementación automática del mejor modelo sin transformaciones desde Data Wrangler – Esta opción implementa un punto final en tiempo real que no utiliza transformaciones de Data Wrangler. En este caso, debe aplicar las transformaciones definidas en su flujo de Data Wrangler a sus datos antes de la inferencia.
    • No implementar automáticamente el mejor modelo – Debe usar esta opción cuando no desee crear un punto final de inferencia. Es útil si desea generar un mejor modelo para su uso posterior, como una inferencia masiva ejecutada localmente. (Esta es la opción de implementación que seleccionamos en la Parte 1 de la serie). Tenga en cuenta que cuando selecciona esta opción, el modelo creado (del mejor candidato de Autopilot a través del SDK de SageMaker) incluye las transformaciones de la función Data Wrangler como una canalización de inferencia en serie de SageMaker.

    Para esta publicación, usamos el Implementación automática del mejor modelo con transformaciones de Data Wrangler .

  3. Opción de implementación, seleccione Implementación automática del mejor modelo con transformaciones de Data Wrangler.
  4. Deje las otras configuraciones como predeterminadas.
  5. Elige Siguiente: Revisar y crear para continuar.
    En Revisar y crear En la página, vemos un resumen de la configuración elegida para nuestro experimento de Autopilot.
  6. Elige Crear experimento para comenzar el proceso de creación del modelo.
    Preparación de datos, entrenamiento de modelos e implementación unificados con Amazon SageMaker Data Wrangler y Amazon SageMaker Autopilot: parte 2 PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Se le redirigirá a la página de descripción del trabajo de Autopilot. Los modelos muestran en la fexibles ficha a medida que se generan. Para confirmar que el proceso se ha completado, vaya a la Perfil de trabajo pestaña y busque un Completed valor para el Estado campo.

Puede volver a esta página de descripción del trabajo de Autopilot en cualquier momento desde Estudio Amazon SageMaker:

  1. Elige Experimentos y Ensayos en Recursos de SageMaker Menú desplegable.
  2. Seleccione el nombre del trabajo de Autopilot que creó.
  3. Elija (clic derecho) el experimento y elija Describir el trabajo de AutoML.

Ver el entrenamiento y la implementación

Cuando Autopilot completa el experimento, podemos ver los resultados del entrenamiento y explorar el mejor modelo desde la página de descripción del trabajo de Autopilot.

Elija (haga clic con el botón derecho) el modelo etiquetado Mejor modelo, y elige Abrir en detalles del modelo.

Preparación de datos, entrenamiento de modelos e implementación unificados con Amazon SageMaker Data Wrangler y Amazon SageMaker Autopilot: parte 2 PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

La Rendimiento La pestaña muestra varias pruebas de medición del modelo, incluida una matriz de confusión, el área bajo la curva de precisión/recuperación (AUCPR) y el área bajo la curva característica operativa del receptor (ROC). Estos ilustran el rendimiento de validación general del modelo, pero no nos dicen si el modelo se generalizará bien. Todavía necesitamos realizar evaluaciones en datos de prueba no vistos para ver con qué precisión el modelo hace predicciones (para este ejemplo, predecimos si una persona tendrá diabetes).

Realizar inferencia contra el punto final en tiempo real

Cree un nuevo cuaderno de SageMaker para realizar inferencias en tiempo real para evaluar el rendimiento del modelo. Ingrese el siguiente código en un cuaderno para ejecutar la inferencia en tiempo real para la validación:

import boto3

### Define required boto3 clients

sm_client = boto3.client(service_name="sagemaker")
runtime_sm_client = boto3.client(service_name="sagemaker-runtime")

### Define endpoint name

endpoint_name = ""

### Define input data

payload_str = '5,166.0,72.0,19.0,175.0,25.8,0.587,51'
payload = payload_str.encode()
response = runtime_sm_client.invoke_endpoint(
    EndpointName=endpoint_name,
    ContentType="text/csv",
    Body=payload,
)

response["Body"].read()

Después de configurar el código para que se ejecute en su computadora portátil, debe configurar dos variables:

  • endpoint_name
  • payload_str

Configurar nombre_punto_final

endpoint_name representa el nombre del extremo de inferencia en tiempo real que la implementación creó automáticamente para nosotros. Antes de configurarlo, necesitamos encontrar su nombre.

  1. Elige Endpoints en Recursos de SageMaker Menú desplegable.
  2. Busque el nombre del extremo que tiene el nombre del trabajo de AutoPilot que creó con una cadena aleatoria adjunta.
  3. Elija (haga clic con el botón derecho) el experimento y elija Describir punto final.
    Preparación de datos, entrenamiento de modelos e implementación unificados con Amazon SageMaker Data Wrangler y Amazon SageMaker Autopilot: parte 2 PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.
    La Detalles del punto final Aparece la página.
  4. Resalte el nombre completo del terminal y presione Ctrl + C para copiarlo al portapapeles.
    Preparación de datos, entrenamiento de modelos e implementación unificados con Amazon SageMaker Data Wrangler y Amazon SageMaker Autopilot: parte 2 PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.
  5. Introduzca este valor (asegúrese de que esté citado) para endpoint_name en el cuaderno de inferencias.
    Preparación de datos, entrenamiento de modelos e implementación unificados con Amazon SageMaker Data Wrangler y Amazon SageMaker Autopilot: parte 2 PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Configurar payload_str

El portátil viene con una cadena de carga útil predeterminada payload_str que puede usar para probar su punto final, pero siéntase libre de experimentar con diferentes valores, como los de su conjunto de datos de prueba.

Para extraer valores del conjunto de datos de prueba, siga las instrucciones en Parte 1 para exportar el conjunto de datos de prueba a Amazon S3. Luego, en la consola de Amazon S3, puede descargarlo y seleccionar las filas para usar el archivo de Amazon S3.

Cada fila en su conjunto de datos de prueba tiene nueve columnas, siendo la última columna la outcome valor. Para este código de notebook, asegúrese de usar solo una sola fila de datos (nunca un encabezado CSV) para payload_str. También asegúrese de enviar solamente un payload_str con ocho columnas, donde ha eliminado el valor de resultado.

Por ejemplo, si los archivos de su conjunto de datos de prueba se parecen al siguiente código y queremos realizar una inferencia en tiempo real de la primera fila:

Pregnancies,Glucose,BloodPressure,SkinThickness,Insulin,BMI,DiabetesPedigreeFunction,Age,Outcome 
10,115,0,0,0,35.3,0.134,29,0 
10,168,74,0,0,38.0,0.537,34,1 
1,103,30,38,83,43.3,0.183,33,0

Nosotros fijamos payload_str a 10,115,0,0,0,35.3,0.134,29. Note cómo omitimos el outcome valor de 0 al final.

Si por casualidad el valor objetivo de su conjunto de datos no es el primero o el último valor, simplemente elimine el valor con la estructura de coma intacta. Por ejemplo, supongamos que estamos prediciendo la barra y nuestro conjunto de datos se parece al siguiente código:

foo,bar,foobar
85,17,20

En este caso, establecemos payload_str a 85,,20.

Cuando el portátil se ejecuta con el correctamente configurado payload_str y endpoint_name valores, obtiene una respuesta CSV en el formato de outcome (0 o 1), confidence (0-1).

Limpiar

Para asegurarse de no incurrir en cargos relacionados con el tutorial después de completar este tutorial, asegúrese de cerrar la aplicación Data Wrangler (https://docs.aws.amazon.com/sagemaker/latest/dg/data-wrangler-shut-down.html), así como todas las instancias de notebook utilizadas para realizar tareas de inferencia. Los puntos finales de inferencia creados a través de la implementación de Auto Pilot también deben eliminarse para evitar cargos adicionales.

Conclusión

En esta publicación, demostramos cómo integrar su procesamiento de datos, con ingeniería y creación de modelos utilizando Data Wrangler y Autopilot. Sobre la base de la Parte 1 de la serie, destacamos cómo puede entrenar, ajustar e implementar fácilmente un modelo en un punto final de inferencia en tiempo real con Autopilot directamente desde la interfaz de usuario de Data Wrangler. Además de la comodidad que brinda la implementación automática de terminales, demostramos cómo también puede implementar todas las transformaciones de funciones de Data Wrangler como una canalización de inferencia en serie de SageMaker, lo que proporciona un preprocesamiento automático de los datos sin procesar, con la reutilización de las transformaciones de funciones de Data Wrangler en el momento de la inferencia.

Las soluciones de código bajo y AutoML como Data Wrangler y Autopilot eliminan la necesidad de tener un conocimiento profundo de codificación para construir modelos de ML robustos. Comience a usar Data Wrangler hoy para experimentar lo fácil que es construir modelos ML usando Autopilot.


Sobre los autores

Preparación de datos, entrenamiento de modelos e implementación unificados con Amazon SageMaker Data Wrangler y Amazon SageMaker Autopilot: parte 2 PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.Geremy Cohen es arquitecto de soluciones en AWS, donde ayuda a los clientes a crear soluciones de vanguardia basadas en la nube. En su tiempo libre, disfruta de caminatas cortas en la playa, explora el área de la bahía con su familia, arregla cosas en la casa, rompe cosas en la casa y hace barbacoas.

Preparación de datos, entrenamiento de modelos e implementación unificados con Amazon SageMaker Data Wrangler y Amazon SageMaker Autopilot: parte 2 PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.Pradeep Reddy es gerente sénior de productos en el equipo de aprendizaje automático de código bajo/sin código de SageMaker, que incluye SageMaker Autopilot, SageMaker Automatic Model Tuner. Fuera del trabajo, a Pradeep le gusta leer, correr y divertirse con computadoras del tamaño de la palma de la mano como raspberry pi y otras tecnologías de automatización del hogar.

Preparación de datos, entrenamiento de modelos e implementación unificados con Amazon SageMaker Data Wrangler y Amazon SageMaker Autopilot: parte 2 PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.Dr. Juan Él es ingeniero senior de desarrollo de software en Amazon AI, donde se enfoca en el aprendizaje automático y la computación distribuida. Tiene un doctorado de la CMU.

Sello de tiempo:

Mas de Aprendizaje automático de AWS