Funzionalità di Machine Learning in Azure Synapse Analytics
Azure Synapse Analytics offre diverse funzionalità di Machine Learning. Questo articolo presenta una panoramica dell'applicazione di funzionalità di Machine Learning nel contesto di Azure Synapse.
In questa panoramica vengono illustrate le diverse funzionalità di Synapse correlate al Machine Learning, dalla prospettiva di un processo di data science.
Si potrebbe avere familiarità con l'aspetto di un tipico processo di data science. Si tratta di un processo noto, che viene adottato nella maggior parte dei progetti di Machine Learning.
A un livello generale, il processo include i passaggi seguenti:
- Riconoscimenti aziendali (non descritte in questo articolo)
- Acquisizione e comprensione dei dati
- Modellazione
- Distribuzione di modelli e assegnazione di punteggi
Questo articolo descrive le funzionalità di Machine Learning di Azure Synapse in diversi motori di analisi, dal punto di vista di un processo di data science. Per ogni passaggio del processo di data science, è riportato un riepilogo delle funzionalità di Azure Synapse che possono essere utili.
Acquisizione e comprensione dei dati
La maggior parte dei progetti di Machine Learning presuppone l'esecuzione di passaggi prestabiliti, uno dei quali consiste nell'accesso e nella comprensione dei dati.
Origine dati e pipeline
Grazie ad Azure Data Factory, una parte integrata in modo nativo di Azure Synapse, è disponibile un potente set di strumenti per l'inserimento dati e le pipeline di orchestrazione dei dati. Questo set consente di creare facilmente pipeline di dati per accedere ai dati e trasformarli in un formato che può essere utilizzato per il Machine Learning. In questo articolo sono disponibili altre informazioni sulle pipeline di dati in Synapse.
Preparazione ed esplorazione/visualizzazione dei dati
Una parte importante del processo di Machine Learning consiste nel comprendere i dati tramite l'esplorazione e le visualizzazioni.
A seconda della posizione di archiviazione dei dati, Synapse offre un set di strumenti diversi per esplorarli e prepararli per l'analisi e il Machine Learning. Uno dei modi più rapidi per iniziare l'esplorazione dei dati consiste nell'uso di pool di Apache Spark o di pool SQL serverless direttamente sui dati presenti nel data lake.
Apache Spark per Azure Synapse offre funzionalità per la trasformazione, la preparazione e l'esplorazione dei dati su larga scala. Per i pool di Spark sono disponibili strumenti quali PySpark/Python, Scala e .NET per l'elaborazione dei dati su larga scala. Grazie alle potenti librerie di visualizzazione, è possibile migliorare l'esperienza di esplorazione per una più facile comprensione dei dati. Altre informazioni su come esplorare e visualizzare i dati in Synapse usando Spark.
I pool SQL serverless offrono la possibilità di esplorare i dati usando T-SQL direttamente sul data lake. Per questi pool SQL serverless sono inoltre disponibili alcune visualizzazioni predefinite in Synapse Studio. Vedere altre informazioni su come esplorare i dati con i pool SQL serverless.
Modellazione
In Azure Synapse è possibile eseguire il training di modelli di Machine Learning nei pool di Apache Spark con strumenti quali PySpark/Python, Scala o .NET.
Eseguire il training dei modelli nei pool di Spark con MLlib
È possibile eseguire il training dei modelli di Machine Learning con il supporto di diversi algoritmi e librerie. Spark MLlib offre algoritmi di Machine Learning scalabili che consentono di risolvere i problemi di Machine Learning più classici. Per un'esercitazione su come eseguire il training di un modello usando MLlib in Synapse, vedere Creare un'app di apprendimento automatico con Apache Spark MLlib e Azure Synapse Analytics.
Oltre a MLlib, per lo sviluppo di modelli è possibile usare le librerie più diffuse, ad esempio Scikit Learn. Per informazioni dettagliate su come installare le librerie nei pool di Spark in Synapse, vedere Gestire le librerie per Apache Spark in Azure Synapse Analytics.
Distribuzione di modelli e assegnazione di punteggi
I modelli che sono stati sottoposti a training con Azure Synapse o con altre tecnologie possono essere usati facilmente per l'assegnazione di punteggi. Attualmente in Synapse sono disponibili due modi per eseguire l'assegnazione di punteggi in batch.
È possibile usare la funzione TSQL PREDICT nei pool di Synapse SQL per eseguire stime direttamente nella posizione in cui si trovano i dati. Questa funzione potente e scalabile consente di arricchire i dati senza spostarli dal data warehouse. In Synapse Studio è stata introdotta una nuova esperienza guidata per i modelli di Machine Learning in cui è possibile distribuire un modello ONNX dal registro dei modelli di Azure Machine Learning nei pool di Synapse SQL per l'assegnazione di punteggi in batch tramite la funzione PREDICT.
Un'altra opzione per l'assegnazione dei punteggi batch ai modelli di Machine Learning in Azure Synapse consiste nell'usare i pool di Apache Spark per Azure Synapse. A seconda delle librerie usate per il training dei modelli, per l'assegnazione di punteggi in batch è possibile usare un'esperienza basata su codice.
SynapseML
SynapseML (già noto come MMLSpark) è una libreria open source che semplifica la creazione di pipeline di Machine Learning (ML) estremamente scalabili. Si tratta di un ecosistema di strumenti usati per espandere il framework Apache Spark in diverse nuove direzioni. SynapseML unifica diversi framework di apprendimento automatico esistenti e nuovi algoritmi Microsoft in un'unica API scalabile utilizzabile in Python, R, Scala, .NET e Java. Per altre informazioni, vedere le funzionalità principali di SynapseML.