Introduzione a Continuous Integration/Continuous Delivery per Machine Learning

CI/CD per Machine Learning

Ravi Bhadauria

Machine Learning Engineer

Panoramica SDLC

  • SDLC: Software Development Life Cycle
  • Approccio sistematico che copre lo sviluppo software dall'inizio alla fine
  • Il flusso SDLC è la sequenza di passi per raggiungere obiettivi specifici:
    • Build: compilazione e/o packaging del codice, risoluzione delle dipendenze
    • Test: garantisce funzionalità, qualità e affidabilità della codebase
    • Deploy: rende il software disponibile in un ambiente specifico

  Grafico delle dipendenze dei passi del flusso SDLC. Build è il primo passo, seguito da test e deploy.

CI/CD per Machine Learning

SDLC nel Machine Learning

  • Lo sviluppo in Machine Learning può essere complesso e richiedere tempo
    • Il modello è un algoritmo che evolve dinamicamente
    • La data engineering è importante
  • Continuous Integration/Continuous Delivery riduce gli errori e accelera la consegna di software ML di qualità
  • Essenziale per ML ed esperimenti efficienti
1 https://cloud.google.com/blog/products/ai-machine-learning/making-the-machine-the-machine-learning-lifecycle
CI/CD per Machine Learning

Che cos'è CI/CD?

  • Continuous Integration (CI): pratica di build, test e merge frequenti delle modifiche in un repository condiviso
  • Permette di rilevare presto i problemi di integrazione e mantenere una codebase coerente
  • Continuous Delivery (CD): consente il deploy in produzione in qualsiasi momento, con approvazione manuale
  • Continuous Deployment (CD): esegue il deploy automatico in produzione senza intervento manuale
CI/CD per Machine Learning

CI/CD nel Machine Learning

  • Dipendenza dai dati: versionamento e strategie di gestione dei dati
  • Sperimentazione: automazione del tuning degli iperparametri
  • Versionamento dei modelli: migliore collaborazione
  • Paradigma di test: va oltre i test funzionali e unitari tradizionali
  • Sfide del Continuous Deployment: complessità in serving, monitoraggio e aggiornamenti del modello
CI/CD per Machine Learning

Ambito di questo corso

Diagramma dei passi di un progetto di Machine Learning, con enfasi su Preparazione dei dati, Sviluppo del modello e Valutazione e tuning del modello.

CI/CD per Machine Learning

Riepilogo

  • Il flusso dello SDLC include build, test e deploy del codice
  • La Continuous Integration (CI) garantisce merge frequenti e rilevamento precoce dei problemi
  • La Continuous Delivery (CD) consente il deploy con approvazione manuale
  • La Continuous Deployment (CD) automatizza il deploy senza intervento manuale
  • La CI/CD nel Machine Learning abilita
    • Versionamento dei dati
    • Creazione e versionamento dei modelli
    • Automazione degli esperimenti
    • Test
    • Deploy
CI/CD per Machine Learning

Esercitiamoci!

CI/CD per Machine Learning

Preparing Video For Download...