La arquitectura siguiente se extiende al escenario de Análisis de un extremo a otro con Azure Synapse Analytics. Permite que un modelo personalizado de aprendizaje automático (ML) se entrene en Azure Machine Learning y se implemente con una aplicación personalizada compilada con Microsoft Power Platform.
Architecture
Descargue un archivo Visio de esta arquitectura.
Flujo de trabajo
El flujo de trabajo consta de los pasos siguientes:
- Ingesta
- Tienda
- Entrenamiento e implementación de un modelo
- Consumo
Ingesta
Use canalizaciones de Azure Synapse para extraer datos por lotes de varios orígenes, tanto en el entorno local como en la nube. Esta arquitectura lambda tiene dos flujos de ingesta de datos: streaming y lote. Se describen aquí:
- Streaming: en la mitad superior del diagrama de arquitectura anterior se encuentran los flujos de datos de streaming (por ejemplo: flujos de macrodatos y dispositivos IoT).
- Puede usar Azure Event Hubs o Azure IoT Hubs para ingerir flujos de datos generados por aplicaciones cliente o dispositivos IoT. Event Hubs o IoT Hub ingieren y almacenan datos de streaming conservando la secuencia de los eventos recibidos. Los consumidores pueden conectarse a los puntos de conexión del centro para recuperar mensajes para su procesamiento.
- Lote: en la mitad inferior del diagrama de arquitectura, los datos se ingieren y procesan en lotes, como:
Datos no estructurados (por ejemplo: vídeo, imágenes, audio y texto libre)
Datos semiestructurados (por ejemplo: JSON, XML, CSV y registros)
Datos estructurados (por ejemplo: bases de datos relacionales y servicios de datos de Azure)
Azure Synapse Link crea una integración perfecta y sin contratiempos entre Azure Cosmos DB y Azure Synapse Analytics. Las canalizaciones de Azure Synapse se puede activar en función de una programación predefinida o en respuesta a un evento. También se pueden invocar mediante una llamada a las API de REST.
Tienda
Los datos ingeridos pueden aterrizar directamente en formato sin procesar y luego ser transformados en Azure Data Lake. Los datos, una vez seleccionados y transformados en estructuras relacionales, se pueden presentar para su consumo en Azure Synapse Analytics.
Entrenamiento e implementación de un modelo
Machine Learning proporciona un servicio de ML empresarial para compilar e implementar modelos más rápidamente. Proporciona a los usuarios de todos los niveles de aptitud un diseñador de código bajo, ML automatizado y un entorno de Jupyter notebook hospedado. Los modelos se pueden implementar como puntos de conexión en tiempo real en Azure Kubernetes Service o como un punto de conexión administrado de Machine Learning. Para la inferencia por lotes de modelos de ML, puede usar canalizaciones de Machine Learning.
Consumo
Un modelo por lotes o en tiempo real publicado en Machine Learning puede generar un punto de conexión de REST que se puede consumir en una aplicación personalizada compilada mediante la plataforma Power Apps de código bajo. También puede llamar a un punto de conexión de Machine Learning en tiempo real desde un informe de Power BI para presentar predicciones en informes empresariales.
Nota:
Ambas pilas de Machine Learning y Microsoft Power Platform tienen una variedad de conectores integrados para ayudar a ingerir datos directamente. Estos conectores podrían ser útiles para un producto único mínimo viable (MVP). Sin embargo, las secciones "Ingerir" y "Almacenar" de la arquitectura brindan asesoramiento sobre el rol de las canalizaciones de datos estandarizados para el abastecimiento y el almacenamiento de datos de diferentes fuentes a escala. Normalmente son los equipos de la plataforma de datos empresariales quienes implementan y mantienen estos patrones.
Componentes
Puede usar los siguientes componentes.
Servicios de Microsoft Power Platform
- Power Platform: conjunto de herramientas para analizar datos, compilar soluciones, automatizar procesos y crear agentes virtuales. Incluye Power Apps, Power Automate, Power BI y Microsoft Copilot Studio (anteriormente Power Virtual Agents).
- Power Apps: conjunto de aplicaciones, servicios, conectores y plataforma de datos. Proporciona un entorno de desarrollo rápido de aplicaciones para compilar aplicaciones personalizadas para satisfacer sus necesidades empresariales.
- Power Automate: servicio que ayuda a crear flujos de trabajo automatizados entre sus aplicaciones y servicios favoritos. Úselo para sincronizar archivos, obtener notificaciones, recopilar datos, etc.
- Power BI: colección de servicios de software, aplicaciones y conectores que funcionan conjuntamente para convertir los orígenes de datos no relacionados en información coherente, interactiva y visualmente atractiva.
Servicios de Azure
- Machine Learning: servicio de ML empresarial para compilar e implementar modelos rápidamente. Proporciona a los usuarios en todos los niveles de aptitud un diseñador de código bajo, ML automatizado y un entorno de Jupyter Notebook hospedado para admitir su propio IDE preferido.
- Puntos de conexión administrados de Machine Learning: puntos de conexión en línea que permiten implementar el modelo sin tener que crear y administrar la infraestructura subyacente.
- Azure Kubernetes Service: ML tiene distintas modalidades de soporte técnico en los diferentes destinos de proceso. Azure Kubernetes Service es uno de estos destinos, que es una excelente opción para los puntos de conexión del modelo en tiempo real de nivel empresarial.
- Azure Data Lake: un sistema de archivos compatible con Hadoop. Tiene un espacio de nombres jerárquico integrado, y la escala y economía masivas de Azure Blob Storage.
- Azure Synapse Analytics: servicio de análisis ilimitado que combina la integración de datos, el almacenamiento de datos empresariales y el análisis de macrodatos.
- Event Hubs y IoT Hub: ambos servicios ingieren flujos de datos generados por aplicaciones cliente o dispositivos IoT. A continuación, ingieren y almacenan los datos de streaming, al tiempo que conservan la secuencia de los eventos recibidos. Los consumidores pueden conectarse a los puntos de conexión del centro para recuperar mensajes para su procesamiento.
Servicios de plataforma
Para ayudar a garantizar la calidad de las soluciones de Azure, siga las recomendaciones y las instrucciones del Marco de buena arquitectura de Azure. El marco consta de cinco pilares de excelencia arquitectónica:
- Optimización de costos
- Excelencia operativa
- Eficiencia del rendimiento
- Confiabilidad
- Seguridad
Para crear un diseño que respete estas recomendaciones, considere la posibilidad de usar los siguientes servicios:
- Microsoft Entra ID: servicios de identidad, inicio de sesión único y autenticación multifactor entre cargas de trabajo de Azure.
- Microsoft Cost Management: gobernanza financiera sobre las cargas de trabajo de Azure.
- Azure Key Vault: administración segura de credenciales y certificados.
- Azure Monitor: recopilación, análisis y visualización de datos de telemetría de sus recursos de Azure. Use Supervisión para identificar de forma proactiva los problemas y maximizar el rendimiento y la confiabilidad.
- Microsoft Defender for Cloud: refuerce y supervise la posición de seguridad de las cargas de trabajo de Azure.
- Azure DevOps y GitHub: implemente prácticas de DevOps para aplicar la automatización y el cumplimiento en las canalizaciones de implementación y desarrollo de cargas de trabajo para Azure Synapse Analytics y Azure Machine Learning.
- Azure Policy: implemente normas organizacionales y gobernanza para la coherencia de los recursos, el cumplimiento normativo, la seguridad, el costo y la administración.
Alternativas
Un MVP de aprendizaje automático se beneficia de la velocidad al resultado. En algunos casos, las necesidades de un modelo personalizado se pueden satisfacer mediante los servicios Azure Cognitive Services o Azure Applied AI Services entrenados previamente. En otros casos, Power Apps AI Builder podría proporcionar un ajuste para un modelo de finalidad.
Detalles del escenario
Una tendencia tecnológica general es la creciente popularidad de los roles de inteligencia artificial de los ciudadanos. Estos roles son profesionales de la empresa que buscan mejorar los procesos empresariales mediante la aplicación de tecnologías de ML e inteligencia artificial. Un colaborador significativo de esta tendencia es la creciente madurez y disponibilidad de las herramientas de poco código para desarrollar modelos de ML.
Por tener una tasa de errores alta conocida para estas iniciativas, la capacidad de crear rápidamente prototipos y validar una aplicación de inteligencia artificial en una configuración real se convierte en un factor clave para un enfoque de fracasar y responder rápido a los errores. Hay dos herramientas clave para desarrollar modelos que modernizan los procesos e impulsan resultados transformadores:
- Un kit de herramientas de ML para todos los niveles de aptitud
- Admite el desarrollo de ML sin código y totalmente codificado
- Tiene una interfaz gráfica de usuario (GUI) flexible y de poco código
- Permite a los usuarios abastecer y preparar datos rápidamente.
- Permite a los usuarios compilar e implementar modelos rápidamente.
- Tiene funcionalidades avanzadas y automatizadas de ML para el desarrollo de algoritmos de ML.
- Un kit de herramientas de desarrollo de aplicaciones con poco código
- Permite a los usuarios compilar aplicaciones personalizadas y flujos de trabajo de automatización.
- Crea flujos de trabajo para que los consumidores y los procesos empresariales puedan interactuar con un modelo de ML.
Machine Learning cumple el rol de una GUI de código bajo para el desarrollo de ML. Ha automatizado el aprendizaje automático y la implementación en puntos de conexión por lotes o en tiempo real. Power Platform, que incluye Power Apps y Power Automate, proporciona los kits de herramientas para compilar rápidamente una aplicación personalizada y un flujo de trabajo que implemente el algoritmo de ML. Los usuarios empresariales ahora pueden compilar aplicaciones de ML en producción para transformar procesos empresariales heredados.
Posibles casos de uso
Estos kits de herramientas minimizan el tiempo y el esfuerzo necesarios para crear prototipos de las ventajas de un modelo de ML en un proceso empresarial. Puede ampliar fácilmente un prototipo a una aplicación de nivel de producción. Entre los usos de estas técnicas se incluyen:
- Operaciones de fabricación con aplicaciones heredadas que usan predicciones deterministas obsoletas. Estas situaciones pueden beneficiarse de la precisión mejorada de un modelo de ML. La demostración de una precisión mejorada requiere un modelo y un esfuerzo de desarrollo para la integración con sistemas heredados locales.
- Operaciones del centro de llamadas con aplicaciones heredadas que no se ajustan cuando se produce un desfase de datos. Los modelos que se vuelven a entrenar automáticamente podrían proporcionar un aumento significativo en la predicción de abandono o la precisión de la generación de perfiles de riesgo. La validación requiere la integración con los sistemas existentes de administración de relaciones con clientes y administración de vales. La integración podría ser costosa.
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.
Confiabilidad
La confiabilidad garantiza que la aplicación pueda cumplir los compromisos contraídos con los clientes. Para obtener más información, consulte Lista de comprobación de revisión de diseño para confiabilidad.
La mayoría de los componentes usados en este escenario de ejemplo son servicios administrados que escalan automáticamente. La disponibilidad de los servicios usados en este ejemplo varía según la región.
Las apps basadas en aprendizaje automático suelen requerir un conjunto de recursos para el entrenamiento y otro para atender solicitudes. Los recursos necesarios para el entrenamiento no necesitan generalmente una alta disponibilidad, ya que las solicitudes de producción en vivo no afectan directamente a estos recursos. Los recursos necesarios para atender solicitudes necesitan alta disponibilidad.
Optimización de costos
La optimización de costes trata de buscar formas de reducir los gastos innecesarios y mejorar las eficiencias operativas. Para obtener más información, consulte Lista de comprobación de revisión de diseño para la optimización de costes.
Precios de Azure: los servicios de infraestructura como servicio (IaaS) y plataforma como servicio (PaaS) propios de Azure usan un modelo de precios basado en el consumo. No requieren una licencia ni una cuota de suscripción. En general, use la calculadora de precios de Azure para calcular los costos. Para otras consideraciones, consulte Optimización de costos en el marco de buena arquitectura.
Precios de Power Platform: Power Apps, Power Automate y Power BI son aplicaciones de software como un servicio (SaaS) y tiene sus propios modelos de precios, incluidos los planes por aplicación y por usuario.
Excelencia operativa
La excelencia operativa abarca los procesos de las operaciones que implementan una aplicación y la mantienen en ejecución en producción. Para obtener más información, consulte la Lista de comprobación de revisión de diseño para la excelencia operativa.
Las prácticas de DevOps se usan para organizar el enfoque integral que se usa en este ejemplo. En la guía de DevOps de Machine Learning se presentan los procedimientos recomendados y los aprendizajes sobre la adopción de operaciones de ML (MLOps) en la empresa con Machine Learning.
La automatización de DevOps se puede aplicar a la solución Microsoft Power Platform que se proporciona en este ejemplo. Para obtener más información sobre Microsoft Power Platform DevOps, consulte Power Platform Build Tools para Azure DevOps: Power Platform.
Implementación de este escenario
Considere este escenario empresarial. Un agente de campo usa una aplicación que calcula el precio de mercado de un automóvil. Puede usar Machine Learning para crear rápidamente un prototipo de un modelo de ML de esta aplicación. Use un diseñador de código bajo y las características de ML para crear el modelo y, a continuación, impleméntelo como un punto de conexión de REST en tiempo real.
El modelo podría demostrar el concepto, pero un usuario no tendría ninguna manera fácil de consumir un modelo implementado como una API de REST. Microsoft Power Platform puede ayudar a cerrar este último tramo, tal y como se representa aquí.
Esta es una interfaz de usuario para la aplicación, creada en Power Apps mediante la interfaz de código bajo que Power Apps proporciona.
Puede usar Power Automate para crear un flujo de trabajo de poco código para analizar la entrada del usuario, pasarla al punto de conexión de Machine Learning y recuperar la predicción. También puede usar Power BI para interactuar con el modelo de Machine Learning y crear paneles e informes empresariales personalizados.
Para implementar este ejemplo de un extremo a otro, siga las instrucciones paso a paso de Car Price Predictor - Azure Machine Learning + Power App Solution.
Escenarios ampliados
Considere los siguientes escenarios.
Implementación en Teams
La aplicación de ejemplo proporcionada en el ejemplo anterior también se puede implementar en Microsoft Teams. Teams proporciona un canal de distribución excelente para las aplicaciones y proporciona a los usuarios una experiencia de aplicación colaborativa. Para obtener más información sobre cómo implementar una aplicación en Teams mediante Power Apps, consulte Publicación de aplicaciones mediante Power Apps en Teams: Power Apps.
Consumo de la API desde varias aplicaciones y automatizaciones
En este ejemplo, se configura un flujo de la nube de Power Automate para consumir el punto de conexión de REST como una acción HTTP. En su lugar, podemos configurar un conector personalizado para el punto de conexión de REST y consumirlo directamente desde Power Apps o desde Power Automate. Este enfoque es útil cuando queremos que varias aplicaciones consuman el mismo punto de conexión. También proporciona gobernanza mediante el uso de la directiva de prevención de pérdida de datos (DLP) del conector en el Centro de administración de Microsoft Power Platform. Para crear un conector personalizado, consulte Uso de un conector personalizado desde una aplicación de Power Apps. Para obtener más información sobre el conector DLP de Microsoft Power Platform, consulte Políticas de prevención de pérdida de datos: Power Platform.
Colaboradores
Microsoft mantiene este artículo. Originalmente fue escrito por:
- Vyas Dev Venugopalan | Especialista sénior en datos e inteligencia artificial de Azure
Pasos siguientes
- Funcionamiento de Machine Learning: Arquitectura y conceptos
- Creación de aplicaciones inteligentes con inteligencia artificial de clase mundial