Condividi tramite


MLflow per l'agente di intelligenza artificiale generativa e il ciclo di vita del modello di apprendimento automatico

Questo articolo descrive il modo in cui MLflow in Databricks viene usato per sviluppare agenti di intelligenza artificiale generativi di alta qualità e modelli di Machine Learning.

Nota

Se hai appena iniziato a usare Azure Databricks, considera di provare MLflow su Databricks Community Edition.

Che cos'è MLflow?

MLflow è una piattaforma open source per lo sviluppo di modelli e applicazioni di intelligenza artificiale generative. Include i componenti principali seguenti:

  • Monitoraggio: consente di seguire gli esperimenti per registrare e confrontare parameters e i risultati.
  • Modelli: consente di gestire e distribuire modelli da varie librerie di Machine Learning a diverse piattaforme di gestione e inferenza del modello.
  • Registro modelli: consente di gestire il processo di distribuzione del modello dalla gestione temporanea all'ambiente di produzione, con funzionalità di controllo delle versioni e annotazione dei modelli.
  • Valutazione e monitoraggio degli agenti di intelligenza artificiale: consente di sviluppare agenti di intelligenza artificiale di alta qualità, permettendo di confrontare, valutare e individuare e risolvere problemi degli agenti.

MLflow supporta Java, Python, R e le API REST.

MLflow gestito da Databricks

Databricks offre una versione completamente gestita e ospitata di MLflow, basandosi sull'esperienza open source per renderla più affidabile e scalabile per l'uso aziendale.

Il diagramma seguente illustra come Databricks si integra con MLflow per eseguire il training e la distribuzione di modelli di Machine Learning.

MLflow si integra con Databricks per gestire il ciclo di vita di Machine Learning.

Databricks-managed MLflow è basato su Unity Catalog e Cloud Data Lake per unificare tutti i dati e gli asset di intelligenza artificiale nel ciclo di vita di Machine Learning:

  1. Feature store: Le ricerche automatiche delle feature di Databricks semplificano l'integrazione e riducono gli errori.
  2. Addestrare modelli: Usare Mosaic AI per addestrare modelli o ottimizzare i modelli di base.
  3. Rilevamento: MLflow tiene traccia del training registrando parameters, metriche e artefatti per valutare e confrontare le prestazioni del modello.
  4. Registro Modelli: Registro Modelli MLflow, integrato con Unity Catalog centralizza i modelli e gli artefatti di intelligenza artificiale.
  5. Model Serving: Mosaic AI Model Serving distribuisce i modelli in un endpoint dell'API REST.
  6. Monitoraggio : Mosaic AI Model Serving acquisisce automaticamente le richieste e le risposte per monitorare e risolvere i problemi dei modelli. MLflow arricchisce questi dati con dati di traccia per ogni richiesta.

Addestramento del modello

I modelli MLflow sono alla base dello sviluppo di intelligenza artificiale e Machine Learning in Databricks. I modelli MLflow sono un formato standardizzato per la creazione di pacchetti di modelli di Machine Learning e agenti di intelligenza artificiale generativi. Il formato standardizzato garantisce che i modelli e gli agenti possano essere usati da strumenti e flussi di lavoro downstream in Databricks.

  • Documentazione di MLflow - Modelli .

Databricks offre funzionalità che consentono di eseguire il training di diversi tipi di modelli di Machine Learning.

Monitoraggio degli esperimenti

Databricks utilizza gli esperimenti MLflow come unità organizzative per tenere traccia del tuo lavoro mentre sviluppi modelli.

Il monitoraggio degli esperimenti consente di registrare e gestire parameters, metriche, artefatti e versioni del codice durante l'addestramento e lo sviluppo di agenti di machine learning. L'organizzazione dei log in esperimenti ed esecuzioni consente di confrontare i modelli, analizzare le prestazioni e iterare più facilmente.

Registro dei modelli con Unity Catalog

MLflow Model Registry è un repository di modelli centralizzato, un'interfaccia utente e set di API per la gestione del processo di distribuzione del modello.

Databricks integra il Registro modelli con Unity Catalog per fornire governance centralizzata per i modelli. L'integrazione di Unity Catalog consente di accedere ai modelli tra aree di lavoro, tenere traccia della derivazione del modello e individuare i modelli per il riutilizzo.

Gestione dei modelli

Databricks Model Serving è strettamente integrato con MLflow Model Registry e offre un'interfaccia unificata e scalabile per la distribuzione, la governance e l'esecuzione di query sui modelli di intelligenza artificiale. Ogni modello usato è disponibile come API REST che è possibile integrare nelle applicazioni Web o client.

Sebbene siano componenti distinti, Model Serving si basa principalmente su MLflow Model Registry per gestire il controllo delle versioni dei modelli, la gestione delle dipendenze, la convalida e la governance.

Sviluppo e valutazione dell'agente di intelligenza artificiale

Per lo sviluppo di agenti di intelligenza artificiale, Databricks si integra con MLflow in modo analogo allo sviluppo di modelli di Machine Learning. Esistono tuttavia alcune differenze principali:

  • Per creare agenti di intelligenza artificiale in Databricks, usare Mosaic AI Agent Framework, che si basa su MLflow per tenere traccia del codice dell'agente, delle metriche delle prestazioni e delle tracce dell'agente.
  • Per valutare gli agenti in Databricks, usare Mosaic AI Agent Evaluation, che si basa su MLflow per tenere traccia dei risultati della valutazione.
  • Il tracciamento MLflow per gli agenti include anche il tracciamento MLflow . MLflow Tracing consente di visualizzare informazioni dettagliate sull'esecuzione dei servizi dell'agente. La traccia registra gli input, gli output e i metadati associati a ogni passaggio intermedio di una richiesta, consentendo di trovare rapidamente l'origine di un comportamento imprevisto negli agenti.

Il diagramma seguente illustra come Databricks si integra con MLflow per creare e distribuire agenti di intelligenza artificiale.

MLflow si integra con Databricks per gestire il ciclo di vita dell'app genAI.

Databricks-managed MLflow è basato su Unity Catalog e Cloud Data Lake per unificare tutti i dati e gli asset di intelligenza artificiale nel ciclo di vita dell'app genAI:

  1. l'archivio di funzionalità Vector &: vettori automatizzati e ricerche di funzionalità di Databricks semplificano l'integrazione e riducono gli errori.
  2. Creare e valutare gli agenti di intelligenza artificiale: Mosaic AI Agent Framework e Valutazione agente consentono di creare agenti e valutarne l'output.
  3. Tracciamento & tracciamento: Il tracciamento di MLflow acquisisce informazioni dettagliate sull'esecuzione dell'agente per migliorarne l'osservabilità genAI.
  4. Registro Modelli: Registro Modelli MLflow, integrato con Unity Catalog centralizza i modelli e gli artefatti di intelligenza artificiale.
  5. Model Serving: Mosaic AI Model Serving distribuisce i modelli in un endpoint dell'API REST.
  6. Monitoraggio : MLflow acquisisce automaticamente le richieste e le risposte per monitorare ed effettuare il debugging dei modelli.

Funzionalità open source e MLflow gestite da Databricks

Per i concetti generali di MLflow, le API e le funzionalità condivise tra versioni open source e gestite da Databricks, consultare la documentazione di MLflow. Per le funzionalità esclusive di Databricks-managed MLflow, vedere la documentazione di Databricks.

L'table seguente evidenzia le differenze principali tra MLflow open source e MLflow gestito da Databricks e fornisce collegamenti alla documentazione per altre informazioni:

Caratteristica Disponibilità di MLflow open source Disponibilità in MLflow gestito da Databricks
Sicurezza L'utente deve fornire il proprio livello di governance della sicurezza Sicurezza di Databricks di livello aziendale
Ripristino di emergenza Indisponibile Ripristino in caso di disastro di Databricks
Monitoraggio degli esperimenti API di tracciamento MLflow API MLflow Tracking integrata con monitoraggio avanzato degli esperimenti di Databricks
Registro modelli Registro modelli MLflow MLflow Model Registry integrato con Databricks Unity Catalog
Integrazione di Catalog Unity Integrazione open source con Unity Catalog Databricks Unity Catalog
Distribuzione di modelli Integrazioni configurate dall'utente con soluzioni di gestione esterne (SageMaker, Kubernetes, servizi contenitore e così via) Servizio Modello Databricks e soluzioni di servizio esterne
Agenti di intelligenza artificiale Sviluppo LLM MLflow Integrazione dello sviluppo di MLflow LLM con il Mosaic AI Agent Framework e la Agent Evaluation
Crittografia Indisponibile Crittografia utilizzando le chiavi gestite dal cliente