Distribuire l'intelligenza artificiale e l'elaborazione di Machine Learning in locale e nel perimetro

Registro Azure Container
Azure IoT Edge
Azure Machine Learning
Azure Stack Edge

Questa architettura di riferimento illustra come usare Azure Stack Edge per estendere l'inferenza rapida di Machine Learning dal cloud agli scenari locali o perimetrali. L'hub di Azure Stack offre funzionalità di Azure, ad esempio calcolo, archiviazione, rete e Machine Learning con accelerazione hardware in qualsiasi posizione perimetrale.

Architecture

Architecture diagram: on-premises data training a model in Azure Machine Learning, with model deployed back to the edge for inference.

Scaricare un file di Visio di questa architettura.

Workflow

L'architettura è costituita dai passaggi seguenti:

  • Azure Machine Learning. Machine Learning consente di creare, eseguire il training, distribuire e gestire modelli di Machine Learning in un ambiente basato sul cloud. Questi modelli possono quindi essere distribuiti nei servizi di Azure, tra cui Istanze di Azure Container, servizio Azure Kubernetes (servizio Azure Kubernetes) e Funzioni di Azure.
  • Registro Azure Container. Registro Container è un servizio che crea e gestisce il Registro Docker. Registro Container compila, archivia e gestisce le immagini dei contenitori Docker e può archiviare modelli di Machine Learning in contenitori.
  • Azure Stack Edge. Azure Stack Edge è un dispositivo di calcolo perimetrale progettato per l'inferenza di Machine Learning nei dispositivi perimetrali. I dati vengono pre-elaborati nella rete perimetrale prima del trasferimento in Azure. Azure Stack Edge include hardware di accelerazione di calcolo progettato per migliorare le prestazioni dell'inferenza di intelligenza artificiale nei dispositivi perimetrali.
  • Dati locali: I dati locali fanno riferimento a tutti i dati usati nel training del modello di Machine Learning. I dati possono trovarsi in qualsiasi soluzione di archiviazione locale, incluse le distribuzioni di Azure Arc.

Componenti

Dettagli dello scenario

Potenziali casi d'uso

Questa soluzione è ideale per il settore delle telecomunicazioni. Gli usi tipici per estendere l'inferenza includono quando è necessario:

  • Eseguire l'inferenza di Machine Learning locale e rapida sui dati durante l'inserimento e un footprint hardware locale significativo.
  • Creare soluzioni di ricerca a lungo termine in cui i dati locali esistenti vengono puliti e usati per generare un modello. Il modello viene quindi usato sia in locale che nel cloud; viene sottoposto regolarmente a training man mano che arrivano nuovi dati.
  • Creare applicazioni software che devono fare inferenze sugli utenti, sia in una posizione fisica che online.

Consigli

Inserimento, trasformazione e trasferimento di dati archiviati in locale

Azure Stack Edge può trasformare i dati originati dall'archiviazione locale prima di trasferire tali dati in Azure. Questa trasformazione viene eseguita da un dispositivo Azure IoT Edge distribuito nel dispositivo Azure Stack Edge. Questi dispositivi IoT Edge sono associati a una risorsa hub IoT di Azure nella piattaforma cloud di Azure.

Ogni modulo IoT Edge è un contenitore Docker che esegue un'attività specifica in un flusso di lavoro di inserimento, trasformazione e trasferimento. Ad esempio, un modulo IoT Edge può raccogliere dati da una condivisione locale di Azure Stack Edge e trasformare i dati in un formato pronto per l'apprendimento automatico. Il modulo trasferisce quindi i dati trasformati in una condivisione cloud di Azure Stack Edge. È possibile aggiungere moduli personalizzati o predefiniti al dispositivo IoT Edge o sviluppare moduli IoT Edge personalizzati.

Nota

I moduli IoT Edge vengono registrati come immagini del contenitore Docker nel Registro Contenitori.

Nella risorsa Azure Stack Edge nella piattaforma cloud di Azure la condivisione cloud è supportata da una risorsa dell'account di archiviazione BLOB di Azure. Tutti i dati nella condivisione cloud verranno caricati automaticamente nell'account di archiviazione associato. È possibile verificare la trasformazione e il trasferimento dei dati montando la condivisione locale o cloud oppure attraversando l'account Archiviazione di Azure.

Training e distribuzione di un modello

Dopo aver preparato e archiviato i dati nell'archivio BLOB, è possibile creare un set di dati di Machine Learning che si connette a Archiviazione di Azure. Un set di dati rappresenta una singola copia dei dati nell'archiviazione a cui fa riferimento direttamente Machine Learning.

È possibile usare l'interfaccia della riga di comando di Machine Learning, R SDK, Python SDK, progettazione o Visual Studio Code per compilare gli script necessari per eseguire il training del modello.

Dopo il training e la preparazione del modello da distribuire, è possibile distribuirlo in vari servizi di Azure, tra cui, a titolo esemplificativo:

Nota

Per questa architettura di riferimento, il modello viene distribuito in Azure Stack Edge per rendere il modello disponibile per l'inferenza in locale. Il modello viene distribuito anche in Registro Container per assicurarsi che il modello sia disponibile per l'inferenza nell'ampia gamma di servizi di Azure.

Inferenza con un modello appena distribuito

Azure Stack Edge può eseguire rapidamente modelli di Machine Learning in locale sui dati locali usando l'hardware di accelerazione di calcolo predefinito. Questo calcolo si verifica interamente al perimetro. Il risultato è una rapida analisi dei dati usando hardware più vicino all'origine dati rispetto a un'area cloud pubblica.

Inoltre, Azure Stack Edge continua a trasferire i dati in Machine Learning per ripetere e migliorare continuamente il training usando una pipeline di Machine Learning associata al modello già in esecuzione sui dati archiviati in locale.

Considerazioni

Queste considerazioni implementano i pilastri di Azure Well-Architected Framework, che è un set di set di principi guida che possono essere usati per migliorare la qualità di un carico di lavoro. Per altre informazioni, vedere Framework ben progettato di Microsoft Azure.

Disponibilità

  • Prendere in considerazione l'inserimento della risorsa Azure Stack Edge nella stessa area di Azure degli altri servizi di Azure a cui accederà. Per ottimizzare le prestazioni di caricamento, prendere in considerazione l'inserimento dell'account di archiviazione BLOB di Azure nell'area in cui l'appliance ha la migliore connessione di rete.
  • Prendere in considerazione Azure ExpressRoute per una connessione stabile e ridondante tra il dispositivo e Azure.

Gestione

  • Amministrazione istrator può verificare che l'origine dati dall'archiviazione locale sia stata trasferita correttamente alla risorsa di Azure Stack Edge. Possono verificarsi montando la condivisione file SMB (Server Message Block)/Network File System (NFS) o connettendosi all'account di archiviazione BLOB associato usando Archiviazione di Azure Explorer.
  • Usare i set di dati di Machine Learning per fare riferimento ai dati nell'archivio BLOB durante il training del modello. Il riferimento all'archiviazione elimina la necessità di incorporare segreti, percorsi di dati o stringa di connessione negli script di training.
  • Nell'area di lavoro di Machine Learning registrare e tenere traccia dei modelli di Machine Learning per tenere traccia delle differenze tra i modelli in momenti diversi. È possibile eseguire in modo analogo il mirroring e il rilevamento dei metadati nei tag usati per le immagini del contenitore Docker distribuite nel Registro Container.

DevOps

  • Esaminare l'approccio di gestione del ciclo di vita mlops per Machine Learning. Ad esempio, usare GitHub o Azure Pipelines per creare un processo di integrazione continua che esegue automaticamente il training e il training di un modello. Il training può essere attivato quando i nuovi dati popolano il set di dati o viene apportata una modifica agli script di training.
  • L'area di lavoro di Azure Machine Learning registrerà e gestirà automaticamente le immagini dei contenitori Docker per i modelli di Machine Learning e i moduli IoT Edge.

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 Panoramica del pilastro di ottimizzazione dei costi.

  • Usare il calcolatore dei prezzi di Azure per stimare i costi.
  • I prezzi di Azure Stack Edge sono calcolati come una sottoscrizione mensile a tariffa fissa con una tariffa di spedizione una tantum.
  • Azure Machine Learning distribuisce anche i servizi Registro Container, Archiviazione di Azure e Azure Key Vault, che comportano costi aggiuntivi. Per altre informazioni, vedere Funzionamento di Azure Machine Learning: Architettura e concetti.
  • I prezzi di Azure Machine Learning includono addebiti per le macchine virtuali usate per il training del modello nel cloud pubblico.

Passaggi successivi

Documentazione del prodotto

Moduli di Microsoft Learn: