In che modo Databricks supporta CI/CD per l’apprendimento automatico?
CI/CD (integrazione continua e recapito continuo) si riferisce a un processo automatizzato per lo sviluppo, la distribuzione, il monitoraggio e la gestione delle applicazioni. Automatizzando la compilazione, il test e la distribuzione del codice, i team di sviluppo possono distribuire versioni più frequentemente e in modo affidabile rispetto ai processi manuali ancora prevalenti in molti team di data engineering e data science. CI/CD per Machine Learning riunisce tecniche di MLOps, DataOps, ModelOps e DevOps.
Questo articolo descrive in che modo Databricks supporta CI/CD per le soluzioni di Machine Learning. Nelle applicazioni di Machine Learning, CI/CD è importante non solo per gli asset di codice, ma viene applicato anche alle pipeline di dati, inclusi i dati di input e i risultati generati dal modello.
Elementi di Machine Learning che necessitano di CI/CD
Una delle sfide dello sviluppo di MACHINE Learning è che i diversi team possiedono parti diverse del processo. Teams può basarsi su strumenti diversi e avere pianificazioni di rilascio diverse. Azure Databricks offre una singola piattaforma di dati unificata e ML con strumenti integrati per migliorare l'efficienza dei team e garantire coerenza e ripetibilità dei dati e delle pipeline di Machine Learning.
In generale per le attività di Machine Learning, è necessario tenere traccia di quanto segue in un flusso di lavoro CI/CD automatizzato:
- Dati di training, tra cui qualità dei dati, modifiche dello schema e modifiche alla distribuzione.
- Pipeline di dati di input.
- Codice per il training, la convalida e la gestione del modello.
- Stime e prestazioni del modello.
Integrare Databricks nei processi CI/CD
MLOps, DataOps, ModelOps e DevOps fanno riferimento all'integrazione dei processi di sviluppo con "operazioni", rendendo i processi e l'infrastruttura prevedibili e affidabili. Questo set di articoli descrive come integrare i principi delle operazioni ("operazioni") nei flussi di lavoro di Machine Learning nella piattaforma Databricks.
Databricks incorpora tutti i componenti necessari per il ciclo di vita di Machine Learning, inclusi gli strumenti per compilare la "configurazione come codice" per garantire la riproducibilità e l'"infrastruttura come codice" per automatizzare il provisioning dei servizi cloud. Include anche servizi di registrazione e avvisi che consentono di rilevare e risolvere i problemi quando si verificano.
DataOps: dati affidabili e sicuri
I modelli di Machine Learning validi dipendono da pipeline di dati affidabili e dall'infrastruttura. Con databricks Data Intelligence Platform, l'intera pipeline di dati dall'inserimento di dati agli output del modello servito si trova in una singola piattaforma e usa lo stesso set di strumenti, che facilita la produttività, la riproducibilità, la condivisione e la risoluzione dei problemi.
Attività e strumenti DataOps in Databricks
La tabella elenca le attività e gli strumenti di DataOps comuni in Databricks:
Attività DataOps | Strumento in Databricks |
---|---|
Inserire e trasformare i dati | Autoloader e Apache Spark |
Tenere traccia delle modifiche ai dati, inclusi il controllo delle versioni e la derivazione | tabelle Delta |
Creare, gestire e monitorare le pipeline di elaborazione dati | DLT |
Garantire la sicurezza e la governance dei dati | Unity Catalog |
Analisi esplorativa dei dati e dashboard | Databricks SQL, Dashboard e notebook di Databricks |
Codifica generale | Notebook di Databricks SQL e Databricks |
Pianificare le pipeline di dati | Attività Databricks |
Automatizzare i flussi di lavoro generali | Attività Databricks |
Creare, archiviare, gestire e scoprire le funzionalità per l'addestramento del modello | Archivio funzionalità di Databricks |
Monitoraggio dei dati | Monitoraggio di Lakehouse |
ModelOps: sviluppo e ciclo di vita del modello
Lo sviluppo di un modello richiede una serie di esperimenti e un modo per tenere traccia e confrontare le condizioni e i risultati di tali esperimenti. La piattaforma di Data Intelligence di Databricks include MLflow per il monitoraggio dello sviluppo dei modelli e l'MLflow Model Registry per gestire il ciclo di vita del modello, tra cui la transizione di versione, la distribuzione e l'archiviazione degli artefatti del modello.
Dopo il rilascio di un modello nell'ambiente di produzione, molte cose possono cambiare che potrebbero influire sulle sue prestazioni. Oltre a monitorare le prestazioni di stima del modello, è anche necessario monitorare i dati di input per individuare le modifiche apportate alle caratteristiche di qualità o statistiche che potrebbero richiedere la ripetizione del training del modello.
Attività e strumenti ModelOps in Databricks
La tabella elenca le attività e gli strumenti ModelOps comuni forniti da Databricks:
Attività ModelOps | Strumento su Databricks |
---|---|
Tenere traccia dello sviluppo di modelli | Monitoraggio dei modelli MLflow |
Gestire il ciclo di vita del modello | Modelli nel catalogo Unity |
Controllo e condivisione della versione del codice del modello | Cartelle Git di Databricks |
Sviluppo di modelli senza codice | AutoML |
Monitoraggio di modelli | Monitoraggio di Lakehouse |
DevOps: produzione e automazione
La piattaforma Databricks supporta i modelli di Machine Learning nell'ambiente di produzione con gli elementi seguenti:
- Tracciabilità end-to-end dei dati e dei modelli: dai modelli in produzione alla fonte dati grezza, sulla stessa piattaforma.
- Gestione modelli a livello di produzione: aumenta o riduce automaticamente le prestazioni in base alle esigenze aziendali.
- Attività: automatizza le attività e crea flussi di lavoro di Machine Learning pianificati.
- Cartelle Git: il controllo delle versioni del codice e la condivisione dall'area di lavoro aiutano anche i team a seguire le procedure consigliate per la progettazione del software.
- Provider Databricks Terraform: automatizza l'infrastruttura di distribuzione tra cloud per i processi di inferenza ml, gestisce gli endpoint e i processi di definizione delle funzionalità.
Gestione dei modelli
Per la distribuzione di modelli nell'ambiente di produzione, MLflow semplifica notevolmente il processo, fornendo una distribuzione a clic singolo come processo batch per grandi quantità di dati o come endpoint REST in un cluster di scalabilità automatica. L'integrazione di Databricks Feature Store con MLflow garantisce anche la coerenza delle funzionalità per il training e la gestione; Inoltre, i modelli MLflow possono cercare automaticamente le funzionalità dall'Archivio funzionalità, anche per la gestione online a bassa latenza.
La piattaforma Databricks supporta molte opzioni di distribuzione del modello:
- Codice e contenitori.
- Gestione batch.
- Servizio online a bassa latenza.
- Elaborazione sul dispositivo o alla periferia.
- Multi-cloud, ad esempio, eseguire il training del modello in un cloud e distribuirlo con un altro.
Per altre informazioni, vedere Mosaic AI Model Serving.For more information, see Mosaic AI Model Serving.
Lavori
I processi di Databricks consentono di automatizzare e pianificare qualsiasi tipo di carico di lavoro, da ETL a ML. Databricks supporta anche le integrazioni con gli agenti di orchestrazione di terze parti più diffusi, ad esempio Airflow.
Cartelle Git
La piattaforma Databricks include il supporto Git nell'area di lavoro per aiutare i team a seguire le procedure consigliate di progettazione software eseguendo operazioni Git tramite l'interfaccia utente. Gli amministratori e i tecnici DevOps possono usare le API per configurare l'automazione con gli strumenti CI/CD preferiti. Databricks supporta qualsiasi tipo di distribuzione Git, incluse le reti private.
Per altre informazioni sulle procedure consigliate per lo sviluppo di codice con le cartelle Git di Databricks, vedere Flussi di lavoro CI/CD con l'integrazione git di Git e Cartelle Git di Databricks e Usare CI/CD. Queste tecniche, insieme all'API REST di Databricks, consentono di creare processi di distribuzione automatizzati con GitHub Actions, pipeline di Azure DevOps o processi Jenkins.
Catalogo Unity per la governance e la sicurezza
La piattaforma Databricks include Unity Catalog, che consente agli amministratori di configurare controlli di accesso, criteri di sicurezza e governance granulari per tutti gli asset di dati e intelligenza artificiale in Databricks.