Piloto automático Amazon SageMaker hace posible que las organizaciones construyan e implementen rápidamente un modelo de aprendizaje automático (ML) de extremo a extremo y una canalización de inferencia con solo unas pocas líneas de código o incluso sin ningún código en absoluto con Estudio Amazon SageMaker. El piloto automático descarga el trabajo pesado de configurar la infraestructura y el tiempo que lleva construir una canalización completa, incluida la ingeniería de funciones, la selección de modelos y el ajuste de hiperparámetros.
En esta publicación, mostramos cómo pasar de datos sin procesar a una canalización de inferencia sólida y completamente implementada con Autopilot.
Resumen de la solución
Utilizamos Conjunto de datos públicos de Lyft sobre bicicletas compartidas para que esta simulación prediga si un usuario participa o no en el Programa de bicicletas compartidas para todos. Este es un problema simple de clasificación binaria.
Queremos mostrar lo fácil que es crear una tubería de inferencia automatizada y en tiempo real para clasificar a los usuarios en función de su participación en el programa Bike Share for All. Con este fin, simulamos una canalización de ingesta e inferencia de datos de extremo a extremo para una empresa imaginaria de bicicletas compartidas que opera en el Área de la Bahía de San Francisco.
La arquitectura se divide en dos partes: la canalización de ingestión y la canalización de inferencia.
Nos enfocamos principalmente en la canalización de ML en la primera sección de esta publicación y revisamos la canalización de ingesta de datos en la segunda parte.
Requisitos previos
Para continuar con este ejemplo, complete los siguientes requisitos previos:
- Crear una nueva instancia de bloc de notas de SageMaker.
- Crear una Manguera de bomberos de datos de Amazon Kinesis flujo de entrega con un AWS Lambda función de transformación. Para obtener instrucciones, consulte Amazon Kinesis Firehose Transformación de datos con AWS Lambda. Este paso es opcional y solo es necesario para simular la transmisión de datos.
Exploración de datos
Descarguemos y visualicemos el conjunto de datos, que se encuentra en un lugar público. Servicio de almacenamiento simple de Amazon (Amazon S3) depósito y sitio web estático:
La siguiente captura de pantalla muestra un subconjunto de los datos antes de la transformación.
La última columna de datos contiene el objetivo que queremos predecir, que es una variable binaria que toma un valor de Sí o No, que indica si el usuario participa en el programa Bike Share for All.
Echemos un vistazo a la distribución de nuestra variable objetivo para cualquier desequilibrio de datos.
Como se muestra en el gráfico anterior, los datos están desequilibrados, con menos personas participando en el programa.
Necesitamos equilibrar los datos para evitar un sesgo de representación excesiva. Este paso es opcional porque Autopilot también ofrece un enfoque interno para manejar el desequilibrio de clase automáticamente, que por defecto es una métrica de validación de puntuación F1. Además, si elige equilibrar los datos usted mismo, puede usar técnicas más avanzadas para manejar el desequilibrio de clases, como HERIDO or GAN.
Para esta publicación, reducimos la muestra de la clase mayoritaria (No) como técnica de balanceo de datos:
El siguiente código enriquece los datos y submuestrea la clase sobrerrepresentada:
Dejamos deliberadamente nuestras características categóricas sin codificar, incluido nuestro valor objetivo binario. Esto se debe a que Autopilot se encarga de codificar y decodificar los datos por nosotros como parte de la implementación automática de ingeniería de funciones y canalización, como veremos en la siguiente sección.
La siguiente captura de pantalla muestra una muestra de nuestros datos.
Los datos en los siguientes gráficos parecen normales, con una distribución bimodal que representa los dos picos para las horas de la mañana y las horas pico de la tarde, como era de esperar. También observamos actividades bajas los fines de semana y por la noche.
En la siguiente sección, alimentamos los datos a Autopilot para que pueda ejecutar un experimento por nosotros.
Construir un modelo de clasificación binaria
El piloto automático requiere que especifiquemos los cubos de destino de entrada y salida. Utiliza el depósito de entrada para cargar los datos y el depósito de salida para guardar los artefactos, como la ingeniería de características y los cuadernos Jupyter generados. Retenemos el 5 % del conjunto de datos para evaluar y validar el rendimiento del modelo después de completar el entrenamiento y cargamos el 95 % del conjunto de datos en el depósito de entrada de S3. Ver el siguiente código:
Después de cargar los datos en el destino de entrada, es hora de iniciar Autopilot:
Todo lo que necesitamos para comenzar a experimentar es llamar al método fit(). El piloto automático necesita la ubicación S3 de entrada y salida y la columna de atributos de destino como parámetros obligatorios. Después del procesamiento de características, las llamadas de Autopilot Ajuste automático del modelo SageMaker para encontrar la mejor versión de un modelo ejecutando muchos trabajos de entrenamiento en su conjunto de datos. Agregamos el parámetro opcional max_candidates para limitar la cantidad de candidatos a 30, que es la cantidad de trabajos de capacitación que lanza Autopilot con diferentes combinaciones de algoritmos e hiperparámetros para encontrar el mejor modelo. Si no especifica este parámetro, el valor predeterminado es 250.
Podemos observar el progreso de Autopilot con el siguiente código:
El entrenamiento tarda algún tiempo en completarse. Mientras se ejecuta, veamos el flujo de trabajo de Autopilot.
Para encontrar el mejor candidato, utilice el siguiente código:
La siguiente captura de pantalla muestra nuestro resultado.
Nuestro modelo logró una precisión de validación del 96 %, por lo que vamos a implementarlo. Podríamos agregar una condición de modo que solo usemos el modelo si la precisión está por encima de cierto nivel.
Canalización de inferencia
Antes de implementar nuestro modelo, examinemos nuestro mejor candidato y lo que está sucediendo en nuestra canalización. Ver el siguiente código:
El siguiente diagrama muestra nuestra salida.
Autopilot ha creado el modelo y lo ha empaquetado en tres contenedores diferentes, cada uno de los cuales ejecuta secuencialmente una tarea específica: transformación, predicción y transformación inversa. Esta inferencia de varios pasos es posible con un Canalización de inferencia de SageMaker.
Una inferencia de varios pasos también puede encadenar varios modelos de inferencia. Por ejemplo, un contenedor puede realizar análisis de componentes principales antes de pasar los datos al contenedor XGBoost.
Implementar la canalización de inferencia en un punto final
El proceso de implementación implica solo unas pocas líneas de código:
Configuremos nuestro punto final para la predicción con un predictor:
Ahora que tenemos nuestro punto final y predictor listos, es hora de usar los datos de prueba que reservamos y probar la precisión de nuestro modelo. Comenzamos definiendo una función de utilidad que envía los datos una línea a la vez a nuestro punto final de inferencia y obtiene una predicción a cambio. porque tenemos un XGBoost modelo, soltamos la variable de destino antes de enviar la línea CSV al punto final. Además, eliminamos el encabezado del CSV de prueba antes de recorrer el archivo, que también es otro requisito para XGBoost en SageMaker. Ver el siguiente código:
La siguiente captura de pantalla muestra nuestro resultado.
Ahora calculemos la precisión de nuestro modelo.
Ver el siguiente código:
Obtenemos una precisión del 92%. Esto es ligeramente inferior al 96 % obtenido durante el paso de validación, pero sigue siendo lo suficientemente alto. No esperamos que la precisión sea exactamente la misma porque la prueba se realiza con un nuevo conjunto de datos.
Ingestión de datos
Descargamos los datos directamente y los configuramos para el entrenamiento. En la vida real, es posible que deba enviar los datos directamente desde el dispositivo perimetral al lago de datos y hacer que SageMaker los cargue directamente desde el lago de datos a la computadora portátil.
Kinesis Data Firehose es una buena opción y la forma más sencilla de cargar de manera confiable datos de transmisión en lagos de datos, almacenes de datos y herramientas de análisis. Puede capturar, transformar y cargar datos de transmisión en Amazon S3 y otros almacenes de datos de AWS.
Para nuestro caso de uso, creamos un flujo de entrega de Kinesis Data Firehose con una función de transformación de Lambda para realizar una limpieza ligera de datos a medida que atraviesa el flujo. Ver el siguiente código:
Esta función Lambda realiza una transformación ligera de los datos transmitidos desde los dispositivos al lago de datos. Espera un archivo de datos con formato CSV.
Para el paso de ingestión, descargamos los datos y simulamos un flujo de datos en Kinesis Data Firehose con una función de transformación Lambda y en nuestro lago de datos S3.
Simulemos la transmisión de unas pocas líneas:
Limpiar
Es importante eliminar todos los recursos utilizados en este ejercicio para minimizar el costo. El siguiente código elimina el extremo de inferencia de SageMaker que creamos, así como los datos de capacitación y prueba que cargamos:
Conclusión
Los ingenieros de ML, los científicos de datos y los desarrolladores de software pueden usar Autopilot para crear e implementar una canalización de inferencia con poca o ninguna experiencia en programación de ML. El piloto automático ahorra tiempo y recursos, utilizando la ciencia de datos y las mejores prácticas de ML. Las grandes organizaciones ahora pueden cambiar los recursos de ingeniería de la configuración de la infraestructura hacia la mejora de los modelos y la resolución de casos de uso comercial. Las empresas emergentes y las organizaciones más pequeñas pueden comenzar con el aprendizaje automático con poca o ninguna experiencia en ML.
Para comenzar con SageMaker Autopilot, consulte la la página del producto o acceda a SageMaker Autopilot dentro de SageMaker Studio.
También recomendamos obtener más información sobre otras características importantes que SageMaker tiene para ofrecer, como el Tienda de funciones de Amazon SageMaker, que se integra con Canalizaciones de Amazon SageMaker para crear, agregar funciones de búsqueda y descubrimiento, y reutilizar flujos de trabajo de ML automatizados. Puede ejecutar múltiples simulaciones de Autopilot con diferentes características o variantes de objetivos en su conjunto de datos. También podría abordar esto como un problema de asignación dinámica de vehículos en el que su modelo intenta predecir la demanda de vehículos en función del tiempo (como la hora del día o el día de la semana) o la ubicación, o una combinación de ambos.
Acerca de los autores
doug mbaya es un arquitecto de soluciones sénior con un enfoque en datos y análisis. Doug trabaja en estrecha colaboración con los socios de AWS, ayudándolos a integrar la solución de análisis y datos en la nube. La experiencia previa de Doug incluye el apoyo a los clientes de AWS en el segmento de viajes compartidos y entrega de alimentos.
Valerio Perrone es un administrador de ciencias aplicadas que trabaja en Amazon SageMaker Automatic Model Tuning y Autopilot.
- Coinsmart. El mejor intercambio de Bitcoin y criptografía de Europa.
- Platoblockchain. Inteligencia del Metaverso Web3. Conocimiento amplificado. ACCESO LIBRE.
- CriptoHawk. Radar de altcoins. Prueba gratis.
- Fuente: https://aws.amazon.com/blogs/machine-learning/automate-a-shared-bikes-and-scooters-classification-model-with-amazon-sagemaker-autopilot/
- '
- "
- &
- 100
- Nuestra Empresa
- de la máquina
- alcanzado
- actividades
- avanzado
- algoritmos
- Todos
- asignación
- Amazon
- Analytics
- Otra
- abejas
- enfoque
- arquitectura
- Reservada
- argumentos
- Confirmación de Viaje
- AWS
- Bay
- MEJOR
- y las mejores prácticas
- build
- llamar al
- Puede conseguir
- servicios sociales
- cases
- el cambio
- opciones
- clasificación
- Limpieza
- Soluciones
- código
- Columna
- combinación
- combinaciones
- compañía
- componente
- condición
- Configuración
- Envase
- Contenedores
- contiene
- podría
- Clientes
- datos
- proceso de datos
- Ciencia de los datos
- día
- entrega
- Demanda
- desplegar
- despliegue
- desarrolladores
- dispositivo
- Dispositivos
- una experiencia diferente
- descubrimiento
- Pantalla
- DE INSCRIPCIÓN
- Soltar
- lugar de trabajo dinámico
- Southern Implants
- cifrado
- Punto final
- Ingeniería
- certificados
- Evento
- ejemplo
- Excepto
- Haz ejercicio
- espera
- experience
- experimento
- Experiencia
- Feature
- Caracteristicas
- Nombre
- Focus
- seguir
- siguiendo
- Comida
- Francisco
- función
- conseguir
- va
- candidato
- Manejo
- esta página
- Alta
- Cómo
- Como Hacer
- HTTPS
- importante
- Incluye
- EN LA MINA
- integrar
- IT
- Trabajos
- Empleo
- large
- pone en marcha
- aprendizaje
- Nivel
- Biblioteca
- luz
- ligero
- línea
- Etiqueta LinkedIn
- pequeño
- carga
- localmente
- Ubicación
- máquina
- máquina de aprendizaje
- Mayoría
- Realizar
- gerente
- ML
- modelo
- modelos
- MEJOR DE TU
- cuaderno
- LANZAMIENTO
- Ofertas
- funcionamiento
- Optión
- solicite
- para las fiestas.
- Otro
- de otra manera
- participación
- socios
- Personas
- actuación
- posible
- predicción
- Problema
- Programa
- Programación
- proporcionar
- público
- con rapidez
- Crudo
- en tiempo real
- recomiendan
- grabar
- archivos
- Requisitos
- Recursos
- devoluciones
- una estrategia SEO para aparecer en las búsquedas de Google.
- reglas
- Ejecutar
- correr
- prisa
- San
- San Francisco
- ahorro
- Ciencia:
- los científicos
- Buscar
- seleccionado
- Serie
- set
- Compartir
- compartido
- Turno
- sencillos
- simulación
- Tamaño
- sueño
- So
- Software
- dividido
- comienzo
- fundó
- Startups
- STORAGE
- tiendas
- stream
- streaming
- en streaming
- estudio
- Target
- técnicas
- test
- Pruebas
- A través de esta formación, el personal docente y administrativo de escuelas y universidades estará preparado para manejar los recursos disponibles que derivan de la diversidad cultural de sus estudiantes. Además, un mejor y mayor entendimiento sobre estas diferencias y similitudes culturales permitirá alcanzar los objetivos de inclusión previstos.
- equipo
- hoy
- Formación
- Transformar
- us
- utilizan el
- usuarios
- utilidad
- propuesta de
- vehículo
- Página web
- semana
- sean
- Wikipedia
- dentro de
- trabajando
- funciona