Test automatizzati in MLOps

MLOps completamente automatizzato

Arturo Opsetmoen Amador

Senior Consultant - Machine Learning

Cos’è il testing software?

$$

Il processo per valutare e verificare che un software funzioni come previsto

$$

I tre tipi più comuni di test software:

  • Unit test
  • Test di integrazione
  • Test end-to-end

$$

$$

Una piramide con gli unit test alla base, poi i test di integrazione e in cima i test end-to-end.

MLOps completamente automatizzato

Il software ML ha natura diversa

Le applicazioni ML non sono programmate esplicitamente

$$

Un processo che illustra l’apprendimento nei sistemi ML.

Dipendono da:

  • Dati
  • Modelli
MLOps completamente automatizzato

Il testing in MLOps è diverso

Una figura mostra un sistema software tradizionale testato con unit e integration test. Dall’altra parte, un sistema ML con test su dati, modelli e pipeline.

1 https://research.google/pubs/pub46555/
MLOps completamente automatizzato

Testare i sistemi ML

$$

Oltre ai test software tradizionali:

  • Test sui dati
  • Test sui modelli
  • Test sulle pipeline
MLOps completamente automatizzato

Test sui dati

I test su feature e dati includono:

  • Aspettative sulle feature
  • Il valore della feature giustifica i costi
  • Controlli di privacy
  • Evitare dati illeciti

$$

Sono mostrati termometri con misurazioni diverse.

MLOps completamente automatizzato

Test sui modelli

I test sui modelli includono:

  • Correlazione tra metriche business e ML
  • Tuning di tutti gli iperparametri

  • Overfitting del modello

  • Obsolescenza del modello
  • Confronto con baseline
MLOps completamente automatizzato

Test delle pipeline ML

I test sulle pipeline ML includono:

  • Addestramento riproducibile
  • Test di integrazione della pipeline ML

  • Debuggabilità del modello

MLOps completamente automatizzato

Let's practice!

MLOps completamente automatizzato

Preparing Video For Download...