Machine Learning in Azure Databricks

Completato

Azure Databricks offre un ambiente completo basato sul cloud per lo sviluppo di modelli di Machine Learning. Machine Learning è una disciplina che implica la collaborazione tra data scientist, che analizzano e modellano i dati e tecnici di Machine Learning, che distribuiscono e gestiscono i modelli. Azure Databricks consente ai data scientist di eseguire attività di inserimento, esplorazione e preparazione dei dati, nonché attività di training, valutazione e gestione dei modelli.

Screenshot of the Azure Databricks portal for the Machine Learning persona.

Runtime di Databricks di Machine Learning

Quando si crea un cluster in un'area di lavoro di Azure Databricks, è possibile specificare il runtime di Databrick da installare nel cluster. Azure Databricks include alcuni runtime di databrick ottimizzati per Machine Learning. Questi includono il supporto per le librerie comunemente usate nei carichi di lavoro di Machine Learning, inclusi i framework di Machine Learning e le utilità per la gestione delle operazioni di Machine Learning.

Se si implementano soluzioni di Machine Learning, creare un cluster con uno dei runtime di Machine Learning. È possibile scegliere un runtime basato su CPU per scenari classici di Machine Learning o un runtime basato su GPU se è necessario creare reti neurali complesse con framework di Deep Learning, che possono sfruttare in modo efficiente la capacità di elaborare in modo efficiente la matrice e i dati basati su vettori.

Framework di Machine Learning in Azure Databricks

Azure Databricks si basa su Apache Spark, una piattaforma altamente scalabile per l'elaborazione dei dati distribuita. In Spark, i data scientist e i tecnici di Machine Learning lavorano in genere in notebook interattivi in cui il codice che prepara i dati e li usa per eseguire il training dei modelli di Machine Learning viene scritto in PySpark (una variante di Python ottimizzata per Spark). All'interno dell'ecosistema Python sono disponibili molti framework di Machine Learning usati comunemente, tra cui:

  • Scikit-Learn: framework popolare per Machine Learning che offre un'ampia gamma di algoritmi e altre librerie per consentire di eseguire il training e valutare i modelli predittivi.
  • Spark MLlib: una libreria di Machine Learning creata in modo specifico per Spark. MLlib offre due modi per eseguire il training e la valutazione dei modelli di Machine Learning:
    • Classi basate sulla struttura RDD (Resilient Distributed Dataset) di Spark.
    • Classi basate sulla struttura del dataframe Spark. Questo framework (comunemente denominato Spark ML) è quello preferito per l'uso di MLlib.
  • PyTorch: framework di deep learning usato per creare modelli di rete neurale per carichi di lavoro di previsione, visione artificiale ed elaborazione del linguaggio naturale.
  • TensorFlow: altro framework di Deep Learning comunemente usato.

È possibile usare uno di questi framework (e altro) in Azure Databricks per eseguire il training e valutare i modelli di Machine Learning.