Eseguire il training di modelli di Machine Learning

Apache Spark in Azure Synapse Analytics consente l'apprendimento automatico con Big Data, offrendo la possibilità di ottenere informazioni dettagliate preziose da grandi quantità di dati strutturati, non strutturati e in rapida evoluzione. 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 varie 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 unificato di elaborazione dei dati parallela open source che supporta l'elaborazione in memoria per migliorare 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 sostituisce MLlib come libreria di Machine Learning 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. Queste 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 supervisionati e può essere usato anche per il data mining e l'analisi dei dati.

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

  • PyTorch e Tensorflow sono potenti librerie di Deep Learning python. 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 funziona in questa configurazione, è 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 è progettata per rendere i data scientist più produttivi in Spark, aumentare il tasso di sperimentazione e sfruttare tecniche di Machine Learning all'avanguardia, tra cui deep learning, 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.

Machine Learning automatizzato in Azure Machine Learning

Azure Machine Learning offre un ambiente basato sul cloud che consente di sottoporre a training, distribuire, automatizzare, gestire e monitorare i modelli di Machine Learning. Machine Learning automatizzato in Azure Machine Learning accetta i dati di training e le impostazioni di configurazione e esegue automaticamente l'iterazione tramite combinazioni di metodi di normalizzazione/standardizzazione delle funzionalità diversi, modelli e impostazioni degli iperparametri per arrivare al modello migliore.

Quando si usa Ml automatizzato in Azure Synapse Analytics, è possibile sfruttare l'integrazione approfondita tra i diversi servizi per semplificare il training di autenticazione e modello.

Avviso

  • A partire dal 29 settembre 2023, Azure Synapse interromperà il supporto ufficiale per i runtime di Spark 2.4. Dopo il 29 settembre 2023 non verranno affrontati ticket di supporto correlati a Spark 2.4. Non sarà disponibile alcuna pipeline di versione per correzioni di bug o di sicurezza per Spark 2.4. L'uso di Spark 2.4 dopo la data di scadenza del supporto viene intrapresa a proprio rischio. Sconsigliamo vivamente il suo uso continuo a causa di potenziali problemi di sicurezza e funzionalità.
  • Come parte del processo di deprecazione per Apache Spark 2.4, si vuole segnalare che AutoML in Azure Synapse Analytics sarà deprecato. Sono incluse sia l'interfaccia a basso codice che le API usate per creare versioni di valutazione autoML tramite codice.
  • Si noti che la funzionalità AutoML era disponibile esclusivamente tramite il runtime di Spark 2.4.
  • Per i clienti che vogliono continuare a sfruttare le funzionalità autoML, è consigliabile salvare i dati nell'account Azure Data Lake Archiviazione Gen2 (ADLSg2). Da qui è possibile accedere facilmente all'esperienza AutoML tramite Azure Machine Learning (AzureML). Altre informazioni su questa soluzione alternativa sono disponibili qui.

Servizi di Azure AI

I servizi di intelligenza artificiale di Azure offrono funzionalità di Machine Learning per risolvere problemi generali, ad esempio l'analisi del testo per il sentimento emotivo o l'analisi delle immagini per riconoscere oggetti o visi. Per usare questi servizi, non è necessario avere conoscenze specifiche di Machine Learning o data science. Un servizio cognitivo fornisce parte o tutti i componenti di una soluzione di Machine Learning: dati, algoritmi e modelli sottoposti a training. Questi servizi sono destinati a richiedere conoscenze generali sui dati senza che sia necessaria esperienza nell'apprendimento automatico o nell'analisi scientifica dei dati. È possibile sfruttare questi servizi di intelligenza artificiale di Azure con 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: