En esta arquitectura de ejemplo se muestra un enfoque integral de la visión informática de Internet de las cosas (IoT) en la fabricación.
Architecture
Descargue un archivo Visio de esta arquitectura.
Flujo de datos
- El módulo personalizado de IoT Edge captura la secuencia de vídeo en directo, la divide en fotogramas y realiza la inferencia en los datos de imagen para determinar si se ha producido un incidente.
- El módulo personalizado también usa métodos del SDK de Azure Storage o la API de blobs para cargar los archivos de vídeo sin procesar en Azure Storage, que actúa como almacén multimedia sin procesar.
- El módulo personalizado envía metadatos y resultados de inferencia a Azure IoT Hub, que actúa como un centro de mensajes para las comunicaciones bidireccionales.
- Azure Logic Apps supervisa IoT Hub para detectar mensajes sobre eventos de incidentes. Logic Apps dirige los metadatos y resultados de inferencia a Microsoft Dataverse para almacenarlos.
- Cuando se produce un incidente, Logic Apps envía notificaciones por correo electrónico y SMS al ingeniero local. El ingeniero local usa una aplicación móvil basada en Power Apps para confirmar y resolver el incidente.
- Power Apps extrae los metadatos y resultados de inferencia de Dataverse y los archivos de vídeo sin procesar de Blob Storage para mostrar información pertinente sobre el incidente. Power Apps actualiza Dataverse con la resolución de incidentes proporcionada por el ingeniero local. Este paso sirve de validación con intervención humana para fines de reentrenamiento del modelo.
- Azure Data Factory es el orquestador de datos que recopila archivos de vídeo sin procesar del almacén de contenido multimedia sin procesar y obtiene los metadatos y resultados de inferencia correspondientes de Dataverse.
- Data Factory almacena los archivos de vídeo sin procesar, además de los metadatos, en Azure Data Lake, que actúa como un archivo de vídeo con fines de auditoría.
- Data Factory divide los archivos de vídeo sin procesar en fotogramas, convierte los resultados de inferencia en etiquetas y carga los datos en Blob Storage, que actúa como almacén de datos de ML.
- Los cambios en el código del modelo desencadenan automáticamente la canalización del orquestador de modelos de Azure Pipelines, que los operadores también pueden desencadenar manualmente. Los cambios en el código también inician el proceso de entrenamiento y validación del modelo de ML en Azure Machine Learning.
- Azure Machine Learning empieza a entrenar el modelo validando los datos del almacén de datos de Machine Learning y copiando los conjuntos de datos necesarios en Azure Premium Blob Storage. Este nivel de rendimiento proporciona una caché de datos para un entrenamiento más rápido del modelo.
- Azure Machine Learning utiliza el conjunto de datos de la caché de datos Premium para entrenar el modelo, validar el rendimiento del modelo entrenado, puntuarlo en relación con el modelo recién entrenado e incluid el modelo en el registro de Azure Machine Learning.
- El orquestador de modelos de Azure Pipelines revisa el rendimiento del modelo de Machine Learning recién entrenado y determina si es mejor que los modelos anteriores. Si el nuevo modelo se desempeña mejor, la canalización descarga el modelo de Azure Machine Learning y compila una nueva versión del módulo de inferencia de ML que se publicará en Azure Container Registry.
- Cuando un nuevo ML módulo de inferencia está listo, Azure Pipelines implementa el contenedor de módulos de Container Registry en el módulo IoT Edge en IoT Hub.
- IoT Hub actualiza el dispositivo de IoT Edge con el nuevo módulo de inferencia de Machine Learning.
Componentes
- El servicio Azure IoT Edge analiza los datos del dispositivo localmente para enviar menos datos a la nube, reaccionar a eventos rápidamente y funcionar en condiciones de baja conectividad. Un módulo de aprendizaje automático de IoT Edge puede extraer información procesable de los datos de vídeo de streaming.
- Azure IoT Hub es un servicio totalmente administrado que permite la comunicación bidireccional confiable y segura entre millones de dispositivos IoT y un back-end basado en la nube. Iot Hub proporciona autenticación por dispositivo, enrutamiento de mensajes, integración con otros servicios de Azure y funciones de administración para controlar y configurar los dispositivos IoT.
- Azure Logic Apps es un servicio en la nube sin servidor que permite crear y ejecutar flujos de trabajo automatizados que integren aplicaciones, datos, servicios y sistemas. Los desarrolladores pueden usar un diseñador visual para programar y organizar flujos de trabajo de tareas comunes. Logic Apps incluye conectores para muchos servicios en la nube conocidos, productos locales u otras aplicaciones de software como servicio (SaaS). En esta solución, Logic Apps ejecuta el flujo de trabajo de notificaciones automatizadas que envía alertas por correo electrónico y SMS a los ingenieros locales.
- Power Apps es una plataforma de datos y un conjunto de aplicaciones, servicios y conectores. Sirve como un entorno de desarrollo rápido de aplicaciones. La plataforma de datos subyacente es Microsoft Dataverse.
- Dataverse es una plataforma de almacenamiento basada en la nube para Power Apps. Dataverse admite notificaciones humanas en bucle y almacena los metadatos asociados a la canalización de datos de MLOps.
- Azure Blob Storage proporciona almacenamiento de objetos escalable y seguro para datos no estructurados. Se puede usar para archivos, lagos de datos, informática de alto rendimiento, aprendizaje automático y cargas de trabajo nativas de nube. En esta solución, Blob Storage proporciona un almacén de datos local para el almacén de datos de ML y una caché de datos Premium para entrenar el modelo de ML. El nivel premium de Blob Storage es para cargas de trabajo que requieren tiempos de respuesta rápidos y altas tasas de transacciones, como el etiquetado de vídeo de persona en bucle en este ejemplo.
- Data Lake Storage es un servicio de almacenamiento seguro y escalable de forma masiva para cargas de trabajo de análisis de alto rendimiento. Los datos provienen normalmente de varios orígenes heterogéneos y pueden ser estructurados, semiestructurados o no estructurados. Azure Data Lake Storage Gen2 combina las funcionalidades de Azure Data Lake Storage Gen1 con Blob Storage, y proporciona semántica de sistema de archivos, seguridad de nivel de archivo y escala. Además, ofrece las funcionalidades de almacenamiento por niveles, alta disponibilidad y recuperación ante desastres de Blob Storage. En esta solución, Data Lake Store proporciona el almacén de vídeo archivado para los metadatos y los archivos de vídeo sin procesar.
- Azure Data Factory es una solución híbrida sin servidor totalmente administrada para flujos de trabajo de transformación e integración de datos. Proporciona una interfaz de usuario sin código y un panel de supervisión fácil de usar. Azure Data Factory usa canalizaciones para el movimiento de datos. Los flujos de datos de asignación realizan diversas tareas de transformación, como extraer, transformar y cargar (ETL), y extraer, cargar y transformar (ELT). En este ejemplo, Data Factory orquesta los datos de una canalización de ETL con los datos de inferencia, que almacena con fines de reentrenamiento.
- Azure Machine Learning es un servicio de aprendizaje automático empresarial para compilar e implementar modelos rápidamente. Proporciona a los usuarios de todos los niveles de conocimiento un diseñador con poco código, aprendizaje automático automatizado y un entorno de cuadernos de Jupyter Notebook hospedado que admite diversos IDE.
- Azure Pipelines, que forma parte de Azure DevOps servicios de desarrollo basados en equipos, crea canalizaciones de integración continua (CI) e implementación continua (CD). En este ejemplo, el orquestador del modelo Azure Pipelines valida el código ML, desencadena canalizaciones de tareas sin servidor, compara los modelos ML y compila el contenedor de inferencia.
- Container Registry crea y administra el registro de Docker para compilar, almacenar y administrar imágenes de contenedor de Docker, incluidos los modelos ML contenedores.
- Azure Monitor recopila telemetría de los recursos de Azure para que los equipos puedan identificar problemas de forma proactiva y maximizar el rendimiento y la confiabilidad.
Alternativas
En lugar de usar la canalización de datos para dividir la secuencia de vídeo en fotogramas de imagen, puede implementar un módulo de Azure Blob Storage en el dispositivo IoT Edge. A continuación, el módulo de inferencia carga los fotogramas de imagen inferenciados en el módulo de almacenamiento del dispositivo perimetral. El módulo de almacenamiento determina cuándo cargar los fotogramas directamente en el almacén de datos ML. La ventaja de este enfoque es que quita un paso de la canalización de datos. En compensación, el dispositivo perimetral está estrechamente asociado a Azure Blob Storage.
Para la orquestación de modelos, puede usar Azure Pipelines o Azure Data Factory.
- La ventaja de Azure Pipelines es la estrecha relación con el código del modelo ML. Puede desencadenar fácilmente la canalización de entrenamiento con cambios de código a través de CI/CD.
- La ventaja de Data Factory es que cada canalización puede aprovisionar los recursos de proceso necesarios. Data Factory no conserva los agentes de Azure Pipelines para ejecutar el entrenamiento de Machine Learning, lo que podría congestionar el flujo de CI/CD normal.
Detalles del escenario
Las fábricas inteligentes totalmente automatizadas usan inteligencia artificial (IA) y aprendizaje automático (ML) para analizar datos, ejecutar sistemas y mejorar los procesos a lo largo del tiempo.
En este ejemplo, las cámaras envían imágenes a un dispositivo de Azure IoT Edge que ejecuta un aprendizaje automático modelo. El modelo calcula las inferencias y envía la salida procesable a la nube para su procesamiento posterior. La intervención humana forma parte de la inteligencia que el modelo ML captura. ML es un ciclo continuo de entrenamiento, prueba, optimización y validación de los algoritmos ML.
Posibles casos de uso
Los procesos de fabricación usan Visión informática de IoT en aplicaciones de seguridad y control de calidad. Los sistemas de visión informática de IoT pueden:
- Ayudar a garantizar el cumplimiento de las directrices de fabricación, como el etiquetado adecuado.
- Identifique defectos de fabricación, como la desnivel de la superficie.
- Mejore la seguridad mediante la supervisión de entradas de edificio o área.
- Proteja la seguridad de los trabajadores mediante la detección del uso de equipos de protección personal (PPE) y otras prácticas de seguridad.
Consideraciones
Estas consideraciones implementan los pilares del marco de buena arquitectura de Azure, que es un conjunto de principios guía que se pueden usar para mejorar la calidad de una carga de trabajo. Para más información, consulte Marco de buena arquitectura de Microsoft Azure.
Disponibilidad
Las aplicaciones basadas en aprendizaje automático suelen requerir un conjunto de recursos para el entrenamiento y otro para atender solicitudes. Los recursos de entrenamiento no necesitan generalmente una alta disponibilidad, ya que las solicitudes de producción en vivo no usan directamente estos recursos. Los recursos necesarios para atender solicitudes necesitan alta disponibilidad.
Operaciones
La solución se divide en tres áreas operativas:
En las operaciones de IoT, un modelo de MACHINE en el dispositivo perimetral usa imágenes en tiempo real de cámaras conectadas a fotogramas de vídeo de inferencia. El dispositivo perimetral también envía secuencias de vídeo almacenadas en caché al almacenamiento en la nube para usarlas para la auditoría y el reentrenamiento del modelo. Después del reentrenamiento del ML, Azure IoT Hub actualiza el dispositivo perimetral con el nuevo módulo de inferencia de ML.
MLOps usa DevOps prácticas recomendadas para organizar el entrenamiento, las pruebas y las operaciones de implementación del modelo. La administración del ciclo de vida de MLOps automatiza el proceso de uso de ML modelos para la toma de decisiones complejas o la producción de los modelos. La clave de MLOps es una estrecha coordinación entre los equipos que crean, entrenan, evalúan e implementan los modelos de ML.
Las operaciones humanas en bucle notifican a las personas que intervengan en determinados pasos de la automatización. En las transacciones con intervención humana, los trabajadores comprueban y evalúan los resultados de las predicciones de aprendizaje automático. Las relaciones humanas se convierten en parte de la inteligencia que el modelo ML captura y ayudan a validar el modelo.
Los siguientes roles humanos forman parte de esta solución:
Los ingenieros de sitio reciben las notificaciones de incidentes que Logic Apps envía y validan manualmente los resultados o las predicciones del modelo ML. Por ejemplo, el ingeniero de sitio podría examinar una válvula que el modelo predijera que fallaría.
Los etiquetadores de datos etiquetan conjuntos de datos para reentrenamiento a fin de completar el bucle de la solución integral. El proceso de etiquetado de datos es especialmente importante para los datos de imagen, como primer paso para entrenar un modelo confiable a través de algoritmos. En este ejemplo, Azure Data Factory organiza los fotogramas de video en agrupaciones positivo y falso positivo, lo que hace que el trabajo del etiquetador de datos sea más fácil.
Los científicos de datos usan los conjuntos de datos etiquetados para entrenar los algoritmos con el objeto de hacer predicciones acertadas para situaciones reales. Los científicos de datos usan MLOps con Acciones de GitHub o Azure Pipelines en un proceso de CI para entrenar y validar automáticamente un modelo. El entrenamiento se puede desencadenar manualmente o automáticamente mediante la comprobación de nuevos scripts de entrenamiento o datos. Los científicos de datos trabajan en un área de trabajo de Azure Machine Learning que puede registrar, implementar y administrar modelos automáticamente.
Los ingenieros de IoT usan Azure Pipelines para publicar módulos de IoT Edge en contenedores de Container Registry. Los ingenieros pueden implementar y escalar la infraestructura a petición mediante una canalización de CD.
Los auditores de seguridad examinan las secuencias de vídeo archivadas para detectar anomalías, evaluar el cumplimiento y confirmar los resultados si surgen preguntas sobre las predicciones de un modelo.
En esta solución, IoT Hub ingiere grandes volúmenes de telemetría de las cámaras y envía las métricas a Azure Monitor, para que el ingeniero local pueda investigar y solucionar problemas. Azure Machine Learning envía métricas de observabilidad y telemetría del modelo a Azure Monitor, lo que ayuda a los ingenieros de IoT y a los científicos de datos a optimizar las operaciones.
Rendimiento
La memoria y la potencia de procesamiento de los dispositivos IoT son limitadas, por lo que es importante limitar el tamaño del contenedor de modelo enviado al dispositivo. Asegúrese de usar un dispositivo IoT que pueda realizar la inferencia de modelos y generar resultados en una cantidad de tiempo aceptable.
Para optimizar el rendimiento de los modelos de entrenamiento, esta arquitectura de ejemplo usa Azure Premium Blob Storage. Este nivel de rendimiento está diseñado para cargas de trabajo que requieren tiempos de respuesta rápidos y tasas de transacciones elevadas, como el escenario de etiquetado de vídeo con intervención humana.
Las consideraciones de rendimiento también se aplican a la canalización de ingesta de datos. Data Factory maximiza el movimiento de datos al proporcionar una solución rentable y de alto rendimiento.
Escalabilidad
La mayoría de los componentes usados de esta solución son servicios administrados que se escalan automáticamente.
La escalabilidad de la aplicación de IoT depende de las cuotas y límites de IoT Hub. Factores que deben tenerse en cuenta:
- La cuota diaria máxima de mensajes en IoT Hub.
- La cuota de los dispositivos conectados en una instancia de IoT Hub.
- Rendimiento de ingesta y procesamiento.
En Machine Learning, la escalabilidad hace referencia a los clústeres de escalabilidad horizontal que se usan para entrenar modelos con grandes conjuntos de datos. La escalabilidad también permite que el modelo de ML satisfaga las demandas de las aplicaciones que lo consumen. Para satisfacer estas necesidades, el clúster ML debe proporcionar escalabilidad horizontal en CPU y en nodos habilitados para la unidad de procesamiento gráfico (GPU).
Para obtener instrucciones generales sobre cómo diseñar soluciones escalables, consulte la lista de comprobación de eficiencia del rendimiento en el Centro de arquitectura de Azure.
Seguridad
La seguridad proporciona garantías contra ataques deliberados y el abuso de datos y sistemas valiosos. Para más información, consulte Introducción al pilar de seguridad.
La administración de acceso en Dataverse y otros servicios de Azure ayudan a garantizar que solo los usuarios autorizados puedan acceder al entorno, los datos y los informes. Esta solución usa Azure Key Vault para administrar las contraseñas y los secretos. El almacenamiento se cifra mediante claves administradas por el cliente.
Para obtener instrucciones generales sobre cómo diseñar soluciones de IoT seguras, consulte la documentación de seguridad de Azure .
Optimización de costos
La optimización de costos trata de buscar formas de reducir los gastos innecesarios y mejorar las eficiencias operativas. Para más información, vea Información general del pilar de optimización de costos.
En general, use la calculadora de precios de Azure para calcular los costos. Para otras consideraciones, consulte Optimización de costos.
Azure Machine Learning también implementa los servicios Container Registry, Azure Storage y Azure Key Vault, lo que supone costos adicionales. Para obtener más información, consulte Funcionamiento de Azure Machine Learning: Arquitectura y conceptos.
Los precios de Azure Machine Learning incluyen los cargos de las máquinas virtuales (VM) que se usan para entrenar el modelo en la nube. Para obtener información sobre la disponibilidad Azure Machine Learning máquinas virtuales por región de Azure, consulte Productos disponibles por región.
Colaboradores
Microsoft mantiene este artículo. Originalmente lo escribieron los siguientes colaboradores.
Autor principal:
- Wilson Lee | Ingeniero principal de software
Pasos siguientes
- Conceptos de IoT y Azure IoT Hub
- ¿Qué es Azure Logic Apps?
- ¿Qué es Power Apps?
- Documentación de Microsoft Power Apps
- ¿Qué es Microsoft Dataverse?
- Documentación de Microsoft Dataverse
- Introducción a Azure Data Lake Storage Gen2
- ¿Qué es Azure Data Factory?
- Documentación de Azure Machine Learning
- ¿Qué es Azure DevOps?
- ¿Qué es Azure Pipelines?
- Documentación de Azure Container Registry
- Introducción a Azure Monitor
- Azure IoT para lugares de trabajo más seguros
- Dow Chemical usa IA de visión en el perímetro para mejorar la seguridad de los empleados con Azure
- Ejemplo de detección de GitHub Edge