Condividi tramite


Intelligenza artificiale e Machine Learning in Databricks

Questo articolo descrive gli strumenti forniti da Azure Databricks per semplificare la compilazione e il monitoraggio dei flussi di lavoro di intelligenza artificiale e Machine Learning. Il diagramma mostra come questi componenti interagiscono per implementare il processo di sviluppo e distribuzione del modello.

Diagramma di Machine Learning: Sviluppo e distribuzione di modelli in Databricks

Perché usare Databricks per Machine Learning e Deep Learning?

Con Databricks, una singola piattaforma serve ogni passaggio del processo di sviluppo e distribuzione del modello, dai dati non elaborati alle tabelle di inferenza che salvano ogni richiesta e risposta per un modello servito. I data scientist, i data engineer, i tecnici di Machine Learning e DevOps possono svolgere il proprio lavoro usando lo stesso set di strumenti e una singola fonte di verità per i dati.

Con la piattaforma di business intelligence per i dati, la piattaforma ml e lo stack di dati sono lo stesso sistema. La piattaforma ML è basata sul livello dati. Tutti gli asset di dati e gli artefatti, ad esempio modelli e funzioni, sono individuabili e regolati in un unico catalogo. L'uso di una singola piattaforma per dati e modelli consente di tenere traccia della derivazione dai dati non elaborati al modello di produzione. Il monitoraggio predefinito dei dati e dei modelli salva le metriche di qualità nelle tabelle archiviate anche nella piattaforma, semplificando l'identificazione della causa radice dei problemi di prestazioni del modello. Per altre informazioni su come Databricks supporta l'intero ciclo di vita di Machine Learning e MLOps, vedere Flussi di lavoro MLOps in Azure Databricks e Che cos'è MLOps Stacks?.

Alcuni dei componenti chiave della piattaforma di business intelligence per i dati sono:

Attività Componente
Gestire e gestire dati, funzionalità, modelli e funzioni. Individuazione, controllo delle versioni e derivazione. Catalogo unity
Tenere traccia delle modifiche apportate a dati, qualità dei dati e qualità del modello Lakehouse Monitoring, tabelle di inferenza
Sviluppo e gestione delle funzionalità Progettazione di funzionalità
Eseguire il training dei modelli Databricks AutoML, notebook di Databricks
Tenere traccia dello sviluppo di modelli Rilevamento MLflow
Gestire modelli personalizzati Mosaic AI Model Serve.
Distribuire llms API del modello di base, modelli esterni
Creare flussi di lavoro automatizzati e pipeline ETL pronte per la produzione Flussi di lavoro di Databricks
Integrazione di Git Cartelle Git di Databricks

Deep Learning su Databricks

La configurazione dell'infrastruttura per le applicazioni di Deep Learning può essere difficile.

Databricks Runtime per Machine Learning si occupa di questo aspetto, con cluster con versioni compatibili predefinite delle librerie di Deep Learning più comuni come TensorFlow, PyTorch e Keras e librerie di supporto come Petastorm, Hyperopt e Horovod. I cluster di Machine Learning di Databricks Runtime includono anche il supporto gpu preconfigurato con driver e librerie di supporto. Supporta anche librerie come Ray per parallelizzare l'elaborazione di calcolo per il ridimensionamento dei flussi di lavoro di Machine Learning e delle applicazioni di intelligenza artificiale.

I cluster di Machine Learning di Databricks Runtime includono anche il supporto gpu preconfigurato con driver e librerie di supporto. Mosaic AI Model Serving consente la creazione di endpoint GPU scalabili per i modelli di Deep Learning senza alcuna configurazione aggiuntiva.

Per le applicazioni di Machine Learning, Databricks consiglia di usare un cluster che esegue Databricks Runtime per Machine Learning. Vedere Creare un cluster con Databricks Runtime ML.

Per iniziare a usare l'apprendimento avanzato in Databricks, vedere:

Modelli di linguaggio di grandi dimensioni e intelligenza artificiale generativa in Databricks

Databricks Runtime per Machine Learning include librerie come Hugging Face Transformers e LangChain che consentono di integrare modelli con training preliminare esistenti o altre librerie open source nel flusso di lavoro. L'integrazione di Databricks MLflow semplifica l'uso del servizio di rilevamento MLflow con pipeline, modelli ed elaborazione dei trasformatori. È anche possibile integrare modelli o soluzioni OpenAI da partner come John Snow Labs nei flussi di lavoro di Azure Databricks.

Con Azure Databricks è possibile personalizzare un LLM sui dati per l'attività specifica. Grazie al supporto degli strumenti open source, ad esempio Hugging Face e DeepSpeed, è possibile prendere in modo efficiente una base LLM ed eseguirne il training con i propri dati per migliorarne l'accuratezza per il dominio e il carico di lavoro specifici. È quindi possibile sfruttare l'LLM personalizzato nelle applicazioni di intelligenza artificiale generative.

Databricks offre anche API modello di base e modelli esterni che consentono di accedere a modelli aperti all'avanguardia ed eseguire query su modelli aperti all'avanguardia da un endpoint di servizio. Usando le API del modello di base, gli sviluppatori possono creare applicazioni in modo rapido e semplice che sfruttano un modello di intelligenza artificiale generativa di alta qualità senza mantenere la propria distribuzione del modello.

Per gli utenti SQL, Databricks fornisce funzioni di intelligenza artificiale che gli analisti di dati SQL possono usare per accedere ai modelli LLM, tra cui OpenAI, direttamente all'interno delle pipeline di dati e dei flussi di lavoro. Vedere Funzioni di intelligenza artificiale in Azure Databricks.

Databricks Runtime per Machine Learning

Databricks Runtime per Machine Learning (Databricks Runtime ML) automatizza la creazione di un cluster con l'infrastruttura di Machine Learning e Deep Learning predefinita, incluse le librerie ML e DL più comuni. Per l'elenco completo delle librerie in ogni versione di Databricks Runtime ML, vedere le note sulla versione.

Per accedere ai dati in Unity Catalog per i flussi di lavoro di Machine Learning, la modalità di accesso per il cluster deve essere un singolo utente (assegnato). I cluster condivisi non sono compatibili con Databricks Runtime per Machine Learning. Inoltre, Databricks Runtime ML non è supportato in cluster o cluster TableACLs con spark.databricks.pyspark.enableProcessIsolation config impostato su true.

Creare un cluster con Databricks Runtime ML

Quando si crea un cluster, selezionare una versione di Databricks Runtime ML dal menu a discesa Versione runtime di Databricks. Sono disponibili sia i runtime di MACHINE Learning abilitati per LA CPU che la GPU.

Selezionare Databricks Runtime ML

Se si seleziona un cluster dal menu a discesa nel notebook, la versione di Databricks Runtime viene visualizzata a destra del nome del cluster:

Visualizzare la versione di Machine Learning di Databricks Runtime

Se si seleziona un runtime di Machine Learning abilitato per GPU, viene richiesto di selezionare un tipo di driver compatibile e un tipo di lavoro. I tipi di istanza incompatibili sono disattivati nel menu a discesa. I tipi di istanza abilitati per GPU sono elencati sotto l'etichetta con accelerazione GPU.

Nota

Per accedere ai dati in Unity Catalog per i flussi di lavoro di Machine Learning, la modalità di accesso per il cluster deve essere un singolo utente (assegnato). I cluster condivisi non sono compatibili con Databricks Runtime per Machine Learning. Per informazioni dettagliate su come creare un cluster, vedere Informazioni di riferimento sulla configurazione di calcolo.

Machine Learning photon e Databricks Runtime

Quando si crea un cluster CPU che esegue Databricks Runtime 15.2 ML o versione successiva, è possibile scegliere di abilitare Photon. Photon migliora le prestazioni per le applicazioni che usano Spark SQL, DataFrame Spark, progettazione di funzionalità, GraphFrame e xgboost4j. Non è previsto un miglioramento delle prestazioni nelle applicazioni che usano RDD Spark, funzioni definite dall'utente Pandas e linguaggi non JVM, ad esempio Python. Di conseguenza, i pacchetti Python come XGBoost, PyTorch e TensorFlow non vedranno un miglioramento con Photon.

Le API RDD Spark e Spark MLlib hanno una compatibilità limitata con Photon. Quando si elaborano set di dati di grandi dimensioni usando Spark RDD o Spark MLlib, è possibile che si verifichino problemi di memoria Spark. Vedere Problemi di memoria Spark.

Librerie incluse in Databricks Runtime ML

Databricks Runtime ML include un'ampia gamma di librerie di Machine Learning più diffuse. Le librerie vengono aggiornate con ogni versione per includere nuove funzionalità e correzioni.

Databricks ha designato un subset delle librerie supportate come librerie di livello superiore. Per queste librerie, Databricks offre una cadenza di aggiornamento più veloce, aggiornando le versioni più recenti del pacchetto con ogni versione di runtime (con conflitti di dipendenza). Databricks offre anche supporto avanzato, test e ottimizzazioni incorporate per le librerie di livello superiore.

Per un elenco completo delle librerie di livello superiore e di altre librerie fornite, vedere le note sulla versione per Databricks Runtime ML.

Passaggi successivi

Per iniziare, vedere:

Per un flusso di lavoro MLOps consigliato in Databricks Machine Learning, vedere:

Per informazioni sulle principali funzionalità di Machine Learning di Databricks, vedere: