Geautomatiseerd testen in MLOps

Volledig geautomatiseerde MLOps

Arturo Opsetmoen Amador

Senior Consultant - Machine Learning

Wat is softwaretesten?

$$

Het proces om te evalueren en te verifiëren dat software werkt zoals verwacht

$$

Drie meest voorkomende testtypen:

  • Unit-tests
  • Integratietests
  • End-to-end-tests

$$

$$

Een piramide met unit-tests onderaan, daarboven integratietests en bovenaan end-to-end-tests.

Volledig geautomatiseerde MLOps

ML-software is anders van aard

ML-toepassingen zijn niet expliciet geprogrammeerd

$$

Een schema van het leerproces in ML-systemen.

Ze hangen af van:

  • Data
  • Modellen
Volledig geautomatiseerde MLOps

Testen in een MLOps-systeem is anders

Een figuur met een traditioneel softwaresysteem dat wordt getest met unit- en integratietests. Aan de andere kant een ML-systeem met data-, model- en pijplijntests.

1 https://research.google/pubs/pub46555/
Volledig geautomatiseerde MLOps

ML-systemen testen

$$

Naast traditioneel softwaretesten:

  • Datatests
  • Modeltests
  • Pijplijntests
Volledig geautomatiseerde MLOps

Data testen

Tests voor features en data omvatten:

  • Featureverwachtingen
  • Waarde van datafeature rechtvaardigt kosten
  • Privacycontrole
  • Geen onrechtmatige data gebruiken

$$

Een set thermometers met verschillende metingen.

Volledig geautomatiseerde MLOps

Modellen testen

Tests voor modellen omvatten:

  • Business- en ML-metrics correleren
  • Alle hyperparameters zijn getuned

  • Overfitting

  • Modelveroudering
  • Vergelijking met baseline
Volledig geautomatiseerde MLOps

ML-pijplijnen testen

Tests voor ML-pijplijnen omvatten:

  • Training is reproduceerbaar
  • Integratietests van de ML-pijplijn

  • Debugbaarheid van het model

Volledig geautomatiseerde MLOps

Laten we oefenen!

Volledig geautomatiseerde MLOps

Preparing Video For Download...