Implementación de procesos de inteligencia artificial y aprendizaje automático en el entorno local y en el perímetro

Azure Container Registry
Azure IoT Edge
Azure Machine Learning
Azure Stack Edge

Esta arquitectura de referencia muestra cómo usar Azure Stack Edge para ampliar la inferencia rápida de aprendizaje automático desde la nube hasta escenarios locales o perimetrales. Azure Stack Hub ofrece funcionalidades de Azure, como proceso, almacenamiento, redes y aprendizaje automático con aceleración por hardware, a cualquier ubicación perimetral.

Architecture

Diagrama de arquitectura: datos locales entrenando un modelo en Azure Machine Learning, con el modelo implementado de nuevo en el perímetro para inferencia.

Descargue un archivo Visio de esta arquitectura.

Flujo de trabajo

La arquitectura consta de los siguientes pasos:

  • Azure Machine Learning . Machine Learning le permite crear, entrenar, implementar y administrar modelos de Machine Learning en entornos basados en la nube. Después, estos modelos se pueden implementar en servicios de Azure, incluidos (entre otros) Azure Container Instances, Azure Kubernetes Service (AKS) y Azure Functions.
  • Azure Container Registry . Container Registry es un servicio que crea y administra el registro de Docker. Container Registry compila, almacena y administra imágenes de contenedor de Docker y puede almacenar modelos de Machine Learning en contenedores.
  • Azure Stack Edge . Azure Stack Edge es un dispositivo de proceso perimetral diseñado para realizar inferencias de aprendizaje automático en el perímetro. Los datos se preprocesan en el perímetro antes de transferirse a Azure. Azure Stack Edge incluye hardware de aceleración de procesos diseñado para mejorar el rendimiento de inferencia de IA en el perímetro.
  • Datos locales. Los datos locales hacen referencia a los datos que se usan en el entrenamiento del modelo de Machine Learning. Los datos pueden estar en cualquier solución de almacenamiento local, incluidas las implementaciones de Azure Arc.

Componentes

Detalles del escenario

Posibles casos de uso

Esta solución es ideal para el sector de las telecomunicaciones. Entre los usos típicos para extender la inferencia se incluyen los siguientes:

  • Ejecución de la inferencia local y rápida de aprendizaje automático en los datos a medida que se ingieren y se cuenta con una superficie de hardware local importante.
  • Creación de soluciones de investigación a largo plazo en las que los datos locales existentes se limpian y se usan para generar un modelo. Después, el modelo se usa tanto en el entorno local como en la nube. Se vuelve a entrenar periódicamente a medida que llegan nuevos datos.
  • Compilación de aplicaciones de software que necesitan realizar inferencias sobre los usuarios, tanto en una ubicación física como en línea.

Recomendaciones

Ingesta, transformación y transferencia de datos almacenados localmente

Azure Stack Edge puede transformar los datos con origen en el almacenamiento local antes de transferirlos a Azure. Esta transformación se realiza mediante un dispositivo Azure IoT Edge implementado en el dispositivo de Azure Stack Edge. Estos dispositivos IoT Edge están asociados a un recurso de Azure IoT Hub en la plataforma en la nube de Azure.

Cada módulo de IoT Edge es un contenedor de Docker que cumple una tarea específica en un flujo de trabajo de ingesta, transformación y transferencia. Por ejemplo, un módulo de IoT Edge puede recopilar datos de un recurso compartido local de Azure Stack Edge y transformar los datos en un formato listo para el aprendizaje automático. A continuación, el módulo transfiere los datos transformados a un recurso compartido en la nube de Azure Stack Edge. Puede agregar módulos personalizados o integrados al dispositivo de IoT Edge o desarrollar módulos de IoT Edge personalizados.

Nota

Los módulos de IoT Edge se registran como imágenes de contenedor de Docker en Container Registry.

En el recurso de Azure Stack Edge en la plataforma en la nube de Azure, el recurso compartido en la nube está respaldado por un recurso de la cuenta de Azure Blob Storage. Todos los datos del recurso compartido en la nube se cargarán automáticamente en la cuenta de almacenamiento asociada. Para comprobar la transformación de los datos y la transferencia, monte el recurso compartido local o en la nube o recorra la cuenta de Azure Storage.

Entrenamiento e implementación de un modelo

Después de preparar y almacenar los datos en Blob Storage, puede crear un conjunto de datos de Machine Learning que se conecte a Azure Storage. Un conjunto de datos representa una copia única de los datos en el almacenamiento a la que Machine Learning hace referencia directamente.

Puede usar la interfaz de la línea de comandos (CLI) de Machine Learning, el SDK de R, el SDK de Python, el diseñador o Visual Studio Code para compilar los scripts necesarios para entrenar el modelo.

Después de entrenar y preparar el modelo para su implementación, puede implementarlo en diversos servicios de Azure, incluidos, entre otros, los siguientes:

Nota

Para esta arquitectura de referencia, el modelo se implementa en Azure Stack Edge para que esté disponible para la inferencia en el entorno local. Asimismo, el modelo se implementa en Container Registry para garantizar que esté disponible para la inferencia en la más amplia variedad de servicios de Azure.

Inferencia con un modelo recién implementado

Azure Stack Edge puede ejecutar modelos de Machine Learning localmente de manera rápida con los datos locales mediante su hardware integrado de aceleración de procesos. Este cálculo se produce completamente en el perímetro. El resultado es la obtención rápida de información a partir de los datos mediante el uso de hardware que esté más cerca del origen de datos que una región de nube pública.

Además, Azure Stack Edge sigue transfiriendo datos a Machine Learning para volver a entrenar y mejorar de manera continua mediante una canalización de aprendizaje automático que está asociada con el modelo que ya se ejecuta con los datos almacenados localmente.

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

  • Considere la posibilidad de colocar el recurso de Azure Stack Edge en la misma región de Azure que los otros servicios de Azure que accederán a él. Para optimizar el rendimiento de la carga, considere la posibilidad de colocar la cuenta de Azure Blob Storage en la región en la que el dispositivo tiene la mejor conexión de red.
  • Considere la posibilidad de usar Azure ExpressRoute para una conexión estable y redundante entre el dispositivo y Azure.

Facilidad de uso

  • Los administradores pueden comprobar que el origen de datos del almacenamiento local se haya transferido al recurso de Azure Stack Edge correctamente. Para ello, pueden montar el recurso compartido de archivos del Bloque de mensajes del servidor (SMB) o Network File System (NFS) o conectarse a la cuenta de Blob Storage asociada mediante el Explorador de Azure Storage.
  • Use conjuntos de datos de Machine Learning para hacer referencia a los datos en Blob Storage mientras se entrena el modelo. Hacer referencia al almacenamiento elimina la necesidad de insertar secretos, rutas de acceso de datos o cadenas de conexión en los scripts de entrenamiento.
  • En el área de trabajo de Machine Learning, registre y haga un seguimiento de los modelos de aprendizaje automático para hacer un seguimiento de las diferencias entre los modelos en distintos momentos. También puede reflejar de forma similar los metadatos de seguimiento y control de versiones en las etiquetas que se usan para las imágenes de contenedor de Docker que se implementan en Container Registry.

DevOps

  • Revise el enfoque de administración del ciclo de vida de MLOps para Machine Learning. Por ejemplo, use GitHub o Azure Pipelines para crear un proceso de integración continua que entrene y vuelva a entrenar automáticamente un modelo. El entrenamiento se puede desencadenar cuando los nuevos datos rellenan el conjunto de datos o se hace un cambio en los scripts de entrenamiento.
  • El área de trabajo de Azure Machine Learning registrará y administrará automáticamente las imágenes de contenedor de Docker para los modelos de Machine Learning y los módulos de IoT Edge.

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.

Pasos siguientes

Documentación del producto

Módulos de Microsoft Learn: