L'architettura seguente si estende allo scenario di analisi end-to-end con Azure Synapse Analytics. Consente di eseguire il training di un modello di machine learning (ML) personalizzato in Azure Machine Learning e di implementarlo con un'applicazione personalizzata creata con Microsoft Power Platform.
Architettura
Scaricare un file Visio di questa architettura.
Workflow
Il flusso di lavoro è costituito dai passaggi seguenti.
- Inserimento
- Store
- Eseguire il training di un modello e distribuirlo
- Utilizzo
Inserimento
Usare le pipeline Azure Synapse per eseguire il pull di batch di dati da un'ampia gamma di origini, sia in locale che nel cloud. Questa architettura lambda include due flussi di inserimento dati: streaming e batch. Il contenuto è descritto di seguito:
- Streaming: nella metà superiore del diagramma dell'architettura precedente sono i flussi di dati di streaming (ad esempio, flussi di Big Data e dispositivi IoT).
- Usare Hub eventi di Azure o l'hub IoT di Azure per inserire flussi dei dati generati da applicazioni client o dispositivi IoT. Hub eventi o l'hub IoT inserisce e archivia i dati di streaming mantenendo la sequenza degli eventi ricevuti. I consumer possono connettersi agli endpoint dell'hub per recuperare i messaggi da elaborare.
- Batch: nella metà inferiore del diagramma dell'architettura i dati vengono inseriti ed elaborati in batch, ad esempio:
Dati non strutturati (ad esempio, video, immagini, audio e testo libero)
Dati semi-strutturati (ad esempio JSON, XML, CSV e log)
Dati strutturati (ad esempio, database relazionali e Servizi dati di Azure)
Collegamento ad Azure Synapse crea una stretta integrazione tra Azure Cosmos DB e Azure Synapse Analytics. Le pipeline Azure Synapse possono essere attivate in base a una pianificazione predefinita oppure in risposta a un evento e possono essere richiamate anche tramite le API REST.
Store
I dati inseriti possono essere trasferiti direttamente in formato non elaborato e quindi trasformati in Azure Data Lake. Dopo la cura e la trasformazione in strutture relazionali, possono essere usati in Azure Synapse Analytics.
Eseguire il training di un modello e distribuirlo
Machine Learning fornisce un servizio di ML di livello aziendale per la creazione e la distribuzione più rapida di modelli. Offre agli utenti a tutti i livelli di competenza una finestra di progettazione con uso limitato di codice, la funzionalità Machine Learning automatizzato e un ambiente Jupyter Notebook ospitato. I modelli possono essere distribuiti sia come endpoint in tempo reale nel Servizio Azure Kubernetes o nell'endpoint di Machine Learning gestito. Per l'inferenza batch di modelli ML, è possibile usare le pipeline di Machine Learning.
Utilizzo
Un modello, sia batch sia in tempo reale, pubblicato in Machine Learning può generare un endpoint REST che è possibile usare in un'applicazione personalizzata creata nella piattaforma Power Apps con uso limitato di codice. È anche possibile chiamare un endpoint di Machine Learning in tempo reale da un report di Power BI per presentare stime nei report aziendali.
Nota
Sia lo stack Machine Learning che Microsoft Power Platform dispongono di una gamma di connettori predefiniti per facilitare l'inserimento diretto dei dati. Questi connettori possono essere utili per un prodotto uno-off minimo funzionante (MVP). Tuttavia, le sezioni "Inserimento" e "Archiviazione" dell'architettura promuovono il ruolo delle pipeline di dati standardizzate per l'origine e l'archiviazione su larga scala dei dati da origini diverse. Questi modelli vengono in genere implementati e gestiti dai team della piattaforma dati aziendale.
Componenti
È possibile usare i componenti seguenti.
Servizi di Microsoft Power Platform
- Power Platform: set di strumenti per l'analisi dei dati, la compilazione di soluzioni, l'automazione dei processi e la creazione di agenti virtuali. Include Power Apps, Power Automate, Power BI e Microsoft Copilot Studio (in precedenza Power Virtual Agents).
- Power Apps: una suite di app, servizi, connettori e una piattaforma dati. Offre un ambiente per lo sviluppo rapido di applicazioni che consente di creare app personalizzate in base alle esigenze aziendali.
- Power Automate: servizio che consente di creare flussi di lavoro automatizzati tra le app e i servizi preferiti. Usarlo per sincronizzare i file, ricevere notifiche, raccogliere dati e così via.
- Power BI: una raccolta di servizi software, app e connettori che interagiscono per trasformare origini dati non correlate in informazioni dettagliate interattive, coerenti e visivamente accattivanti.
Servizi di Azure
- Machine Learning: servizio di ML di livello aziendale per la creazione e la distribuzione rapida di modelli. Offre agli utenti a tutti i livelli di competenza una finestra di progettazione con uso limitato di codice, la funzionalità Machine Learning automatizzato e un ambiente Jupyter Notebook ospitato che supporta l'ambiente di sviluppo integrato preferito.
- Endpoint gestiti di Machine Learning: endpoint online che consentono di distribuire il modello senza la necessità di creare e gestire l'infrastruttura sottostante.
- Servizio Azure Kubernetes: ML offre un supporto variabile per le diverse destinazioni di calcolo. Il servizio Azure Kubernetes è una destinazione di questo tipo, ideale per gli endpoint del modello in tempo reale di livello aziendale.
- Azure Data Lake: file system compatibile con Hadoop. È caratterizzato da uno spazio dei nomi gerarchico integrato e dalla grande quantità di scalabilità ed economia di Archiviazione BLOB di Azure.
- Azure Synapse Analytics: è un servizio di analisi senza limiti che combina integrazione dei dati, funzionalità aziendali di data warehousing e analisi di Big Data.
- Hub eventi e Hub IoT: consentono di inserire flussi di dati generati da applicazioni client o dispositivi IoT. Entrambi i servizi inseriscono e archiviano i dati di streaming mantenendo la sequenza di eventi ricevuti. I consumer possono connettersi agli endpoint degli hub per recuperare i messaggi da elaborare.
Servizi della piattaforma
Per migliorare la qualità delle soluzioni di Azure, seguire i consigli e le linee guida descritti in Well-Architected Framework di Azure. Il framework è costituito da cinque pilastri di eccellenza dell'architettura:
- Ottimizzazione dei costi
- Eccellenza operativa
- Efficienza prestazionale
- Affidabilità
- Sicurezza
Per creare una progettazione che rispetti queste indicazioni, prendere in considerazione i servizi seguenti:
- Microsoft Entra ID: servizi di gestione delle identità, Single Sign-On e autenticazione a più fattori in tutti i carichi di lavoro di Azure.
- Gestione costi Microsoft: governance finanziaria sui carichi di lavoro di Azure.
- Azure Key Vault: gestione sicura di credenziali e certificati.
- Monitoraggio di Azure: raccolta, analisi e visualizzazione dei dati di telemetria dalle risorse di Azure. Usare Monitoraggio per identificare in modo proattivo i problemi e per ottimizzare le prestazioni e l'affidabilità.
- Microsoft Defender for Cloud: consente di rafforzare e monitorare il comportamento in termini di sicurezza dei carichi di lavoro di Azure.
- Azure DevOps & GitHub: consentono di implementare procedure DevOps per applicare l'automazione e la conformità alle pipeline di sviluppo e distribuzione dei carichi di lavoro per Azure Synapse Analytics e Machine Learning.
- Criteri di Azure: consente di implementare gli standard aziendali e la governance per la coerenza delle risorse, la conformità alle normative, la sicurezza, i costi e la gestione.
Alternative
Un MVP di Machine Learning trae vantaggio dalla velocità al risultato. In alcuni casi, le esigenze di un modello personalizzato possono essere soddisfatte da modelli preaddestrati di Servizi cognitivi di Azure o Servizi di Azure AI. In altri casi, Power Apps AI Builder potrebbe offrire un modello adatto allo scopo.
Dettagli dello scenario
Una tendenza tecnologiche generale è la crescente popolarità dei ruoli di intelligenza artificiale per i citizen developer. Tali ruoli sono rappresentati da professionisti aziendali che cercano di migliorare i processi delle organizzazioni tramite l'applicazione di tecnologie ML e IA. Un contributo significativo a questa tendenza è dato dalla continua crescita di maturità e disponibilità di strumenti con uso limitato di codice per sviluppare modelli ML.
Per via dell'elevata percentuale di errori nota per tali iniziative, la possibilità di creare rapidamente prototipi e di convalidare un'applicazione di intelligenza artificiale in uno scenario reale diventa un elemento chiave per un approccio con risposta immediata agli errori. Sono presenti due strumenti chiave per lo sviluppo di modelli che modernizzano i processi e favoriscono risultati trasformativi:
- Toolkit ML per tutti i livelli di competenza
- Supporta l'assenza di codice per lo sviluppo ML completo
- Dispone di un'interfaccia utente grafica flessibile e a basso codice (GUI)
- Consente agli utenti di derivare rapidamente i dati da un'origine e di prepararli
- Consente agli utenti di compilare e distribuire rapidamente modelli
- Dispone di funzionalità ML avanzate e automatizzate per lo sviluppo di algoritmi ML
- Toolkit per lo sviluppo di applicazioni con uso limitato di codice
- Consente agli utenti di creare applicazioni e flussi di lavoro di automazione personalizzati
- Crea flussi di lavoro in modo che utenti e processi aziendali possano interagire con un modello ML
Azure Machine Learning svolge il ruolo d interfaccia utente grafica con uso limitato di codice per lo sviluppo ML. Sono presenti ML automatizzato e distribuzione in endpoint batch o in tempo reale. Power Platform, che include Microsoft Power Apps e Microsoft Power Automate, offre i toolkit per creare rapidamente un'applicazione e un flusso di lavoro personalizzati che implementano l'algoritmo ML. Gli utenti aziendali possono ora creare applicazioni ML a livello di produzione per trasformare i processi aziendali legacy.
Potenziali casi d'uso
Questi toolkit riducono il tempo necessario e il lavoro richiesto per creare un prototipo dei vantaggi di un modello ML in un processo aziendale. È possibile estendere facilmente un prototipo a un'applicazione a livello di produzione. I possibili casi d'uso per queste tecniche sono i seguenti:
- Operazioni di produzione con applicazioni legacy che usano stime deterministiche obsolete. Tali situazioni possono trarre vantaggio dalla migliore accuratezza di un modello ML. L'acquisizione di una maggiore accuratezza richiede sia un modello che un'attività di sviluppo per integrare i sistemi legacy in locale.
- Operazioni di call center con applicazioni legacy che non si adattano alla deriva dei dati. I modelli che si riqualificano automaticamente potrebbero offrire un aumento significativo dell'accuratezza in termini di previsione di abbandono e di profilatura del rischio. La convalida richiede l'integrazione con i sistemi di gestione dei rapporti con i clienti e di gestione dei ticket esistenti. L'integrazione potrebbe essere costosa.
Considerazioni
Queste considerazioni implementano i pilastri di Azure Well-Architected Framework, che è un set di principi guida che possono essere usati per migliorare la qualità di un carico di lavoro. Per altre informazioni, vedere Microsoft Azure Well-Architected Framework.
Affidabilità
L'affidabilità garantisce che l'applicazione possa soddisfare gli impegni che l'utente ha preso con i clienti. Per maggiori informazioni, consultare la sezione Elenco di controllo per la revisione della progettazione per l'affidabilità.
La maggior parte dei componenti usati in questo scenario è costituita da servizi gestiti con scalabilità automatica. La disponibilità dei servizi usati in questo esempio varia in base all'area.
Le app basate su apprendimento automatico richiedono in genere un set di risorse per il training e un altro per la gestione. Le risorse necessarie per il training in genere non richiedono disponibilità elevata, perché non sono interessate direttamente dalle richieste di produzione in tempo reale. Le risorse necessarie per la gestione delle richieste necessitano invece di disponibilità elevata.
Ottimizzazione dei costi
L'ottimizzazione dei costi riguarda l'analisi dei modi per ridurre le spese non necessarie e migliorare l'efficienza operativa. Per altre informazioni, vedere Elenco di controllo per la revisione della progettazione per l'ottimizzazione dei costi.
Prezzi di Azure: i servizi IaaS (Infrastructure-as-a-Service) e PaaS (Platform-as-a-Service) propri di Azure usano un modello con pagamento in base al consumo. Tali servizi non richiedono né una licenza né una tariffa di sottoscrizione. In linea generale, usare il calcolatore dei prezzi di Azure per stimare i costi. Per altre considerazioni, vedere Ottimizzazione dei costi in Well-Architected Framework.
Prezzi di Power Platform: Power Apps, Power Automate e Power BI sono applicazioni SaaS (Software-as-a-Service) e hanno modelli di prezzo propri, ad esempio un piano per app e per utente.
Eccellenza operativa
L'eccellenza operativa copre i processi operativi che distribuiscono un'applicazione e la mantengono in esecuzione nell'ambiente di produzione. Per maggiori informazioni, consultare la sezione Elenco di controllo per la revisione della progettazione per l'eccellenza operativa.
Le procedure di DevOps vengono usate per orchestrare l'approccio end-to-end usato in questo esempio. La guida DevOps per machine learning descrive le procedure consigliate e le informazioni sull'adozione delle operazioni ML (MLOps) in azienda con Machine Learning.
L'automazione DevOps può essere applicata alla soluzione Microsoft Power Platform descritta in questo esempio. Per maggiori informazioni su Microsoft Power Platform DevOps, consultare la sezione Power Platform Build Tools per Azure DevOps: Power Platform.
Distribuire lo scenario
Si consideri questo scenario aziendale. Un agente sul campo usa un'app che stima il prezzo di mercato di un'auto. È possibile usare Machine Learning per creare rapidamente un prototipo di un modello ML dell'app. Vengono usate una finestra di progettazione con uso limitato di codice e funzionalità ML per creare il modello e distribuirlo in seguito all'endpoint REST in tempo reale.
Il modello potrebbe dimostrare il concetto, ma un utente non dispone di un modo semplice per usare un modello implementato come API REST. Microsoft Power Platform consente di completare l'attività, come illustrato qui.
Di seguito viene illustrata un'interfaccia utente per l'app, creata in Power Apps tramite l'interfaccia con uso limitato di codice disponibile in Power Apps.
È possibile usare Power Automate per compilare un flusso di lavoro con uso limitato di codice per analizzare l'input dell'utente, passarlo all'endpoint Machine Learning e recuperare la previsione. È anche possibile usare Power BI per interagire con il modello di Machine Learning e creare report e dashboard aziendali personalizzati.
Per distribuire questo esempio end-to-end, seguire le istruzioni dettagliate in Car Price Predictor - Azure Machine Learning + Power App Solution.
Scenari estesi
Esaminare gli scenari seguenti:
Distribuzione in Teams
Anche l'app descritta nell'esempio precedente può essere distribuita in Microsoft Teams. Teams rappresenta un canale di distribuzione ottimale per le app e offre agli utenti un'esperienza collaborativa. Per maggiori informazioni sulla distribuzione di un'app Power Apps in Teams, consultare la sezione Pubblicare l'app in Teams con Power Apps - Power Apps | Microsoft Docs.
Usare l'API da più app e automazioni
In questo esempio viene configurato un flusso cloud Power Automate per usare l'endpoint REST come azione HTTP. È invece possibile configurare un connettore personalizzato per l'endpoint REST e usarlo direttamente in Power Apps o Power Automate. Questo approccio è utile quando si vuole che più app usino lo stesso endpoint Offre anche governance tramite i criteri DLP del connettore nell'interfaccia di amministrazione di Microsoft Power Platform. Per creare un connettore personalizzato, consultare la sezione Usare un connettore personalizzato da un'app Power Apps. Per maggiori informazioni sul connettore Microsoft Power Platform DLP, consultare la sezione Criteri di prevenzione della perdita dei dati: Power Platform.
Collaboratori
Questo articolo viene gestito da Microsoft. È stato originariamente scritto da:
- Vyas Dev Venugopalan | Sr. Specialist - Azure Data & AI
Passaggi successivi
- Modalità di funzionamento di Machine Learning: Architettura e concetti
- Build intelligent applications infused with world-class AI