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 Azure Databricks è possibile implementare il ciclo di vita completo di Ml in una singola piattaforma con governance end-to-end in tutta la pipeline di Machine Learning. Azure Databricks include gli strumenti predefiniti seguenti per supportare i flussi di lavoro di Machine Learning:

  • Catalogo unity per governance, individuazione, controllo delle versioni e controllo di accesso per dati, funzionalità, modelli e funzioni.
  • Monitoraggio di Lakehouse per il monitoraggio dei dati.
  • Progettazione e gestione delle funzionalità.
  • Supporto per il ciclo di vita del modello:
    • Databricks AutoML per il training automatizzato del modello.
    • MLflow per il rilevamento dello sviluppo di modelli.
    • Catalogo unity per la gestione dei modelli.
    • Modello di Databricks Che serve per il modello a disponibilità elevata e a bassa latenza. Ciò include la distribuzione di VM tramite:
      • API del modello di base che consentono di accedere a modelli aperti all'avanguardia ed eseguire query su query su modelli aperti da un endpoint di servizio.
      • Modelli esterni che consentono di accedere ai modelli ospitati all'esterno di Databricks.
    • Monitoraggio lakehouse per tenere traccia della qualità e della deriva del modello.
  • Flussi di lavoro di Databricks per flussi di lavoro automatizzati e pipeline ETL pronte per la produzione.
  • Cartelle Git di Databricks per la gestione del codice e l'integrazione git.

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. Databricks 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.

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: