Condividi tramite


Eseguire il training di modelli di Machine Learning

Apache Spark in Azure Synapse Analytics permette di usare l'apprendimento automatico con Big Data, per ottenere informazioni approfondite di grande utilità da ingenti quantità di dati strutturati, non strutturati e che cambiano rapidamente. Sono disponibili diverse opzioni per il training di modelli di Machine Learning con Azure Spark in Azure Synapse Analytics: Apache Spark MLlib, Azure Machine Learning e altre librerie open source.

Apache SparkML e MLlib

Apache Spark in Azure Synapse Analytics è una delle implementazioni Microsoft di Apache Spark nel cloud. Offre un framework di elaborazione parallela dei dati unificato e open source che supporta l'elaborazione in memoria per ottimizzare l'analisi dei Big Data. Il motore di elaborazione Spark è costruito per la velocità, la semplicità d'uso e le analisi sofisticate. Le funzionalità di calcolo distribuite in memoria rendono Spark uno strumento valido per l'esecuzione di algoritmi iterativi utilizzati in calcoli grafici e di Machine Learning.

Sono disponibili due librerie di apprendimento automatico scalabili che integrano funzionalità di modellazione algoritmica nell'ambiente distribuito: MLlib e SparkML. MLlib contiene l'API originale basata su RDD. SparkML è un pacchetto più recente che contiene un'API di livello superiore basata su Spark DataFrames per la costruzione di pipeline di apprendimento automatico. SparkML non supporta ancora tutte le funzionalità di MLlib, ma sta sostituendo MLlib come libreria di apprendimento automatico standard di Spark.

Nota

Per altre informazioni sulla creazione di un modello SparkML, seguire questa esercitazione.

Ogni pool di Apache Spark in Azure Synapse Analytics include un set di librerie di Machine Learning precaricate e diffuse. Le librerie forniscono codice riutilizzabile che può essere utile includere nei programmi o nei progetti. Alcune delle librerie di Machine Learning pertinenti incluse per impostazione predefinita includono:

  • Scikit-learn è una delle librerie di Machine Learning a nodo singolo più diffuse per algoritmi di Machine Learning classici. Scikit-learn supporta la maggior parte degli algoritmi di apprendimento supervisionati e non, ed è possibile usarlo anche per il data mining e l'analisi dei dati.

  • XGBoost è una libreria di Machine Learning diffusa che contiene algoritmi ottimizzati per il training di alberi delle decisioni e foreste casuali.

  • PyTorch e Tensorflow sono librerie di Deep Learning Python efficienti. All'interno di un pool di Apache Spark in Azure Synapse Analytics, è possibile usare queste librerie per creare modelli a computer singolo impostando il numero di executor nel pool su zero. Anche se Apache Spark non è disponibile in questa configurazione, rappresenta un modo semplice ed economico per creare modelli a computer singolo.

Per altre informazioni sulle librerie disponibili e sulle versioni correlate, vedere il runtime di Azure Synapse Analytics pubblicato.

MMLSpark

La libreria di apprendimento automatico Microsoft per Apache Spark è MMLSpark. Questa libreria è stata progettata per incrementare la produttività dei data scientist in Spark, aumentare la velocità di sperimentazione e sfruttare le tecniche di apprendimento automatico più innovative, tra cui l'apprendimento avanzato, su set di dati di grandi dimensioni.

MMLSpark offre un livello superiore rispetto alle API di basso livello di SparkML per la creazione di modelli di apprendimento automatico scalabili, tra cui l'indicizzazione di stringhe, l'applicazione forzata ai dati di un layout previsto dagli algoritmi di apprendimento automatico e l'assemblaggio di vettori di funzionalità. La libreria MMLSpark semplifica queste e altre attività comuni per la creazione di modelli in PySpark.

Servizi di Azure AI

Servizi di Azure AI offre funzionalità di Machine Learning per risolvere problemi generali, ad esempio l'analisi del testo relativa al tono emozionale o l'analisi delle immagini volta al riconoscimento di oggetti o visi. Per usare questi servizi, non è necessario avere conoscenze specifiche di Machine Learning o data science. Un servizio cognitivo fornisce alcuni o tutti i componenti di una soluzione di Machine Learning: dati, algoritmi e modelli sottoposti a training. Questi servizi richiedono conoscenza generale dei dati senza che sia necessaria esperienza con Machine Learning o data science. È possibile sfruttare questi servizi di Azure AI soggetti a training preliminare all'interno di Azure Synapse Analytics.

Passaggi successivi

Questo articolo offre una panoramica delle varie opzioni per eseguire il training di modelli di Machine Learning nei pool di Apache Spark in Azure Synapse Analytics. Per altre informazioni sul training del modello, vedere l'esercitazione seguente: