Automatiserad testning i MLOps

Fullt automatiserad MLOps

Arturo Opsetmoen Amador

Senior Consultant - Machine Learning

Vad är mjukvarutestning?

$$

Processen att utvärdera och verifiera att en mjukvaruprodukt eller applikation fungerar som förväntat

$$

Tre vanligaste typerna av mjukvarutestning:

  • Enhetstester
  • Integrationstester
  • End-to-end-tester

$$

$$

En pyramid med enhetstestning som bas, följt av integrationstestning, och längst upp end-to-end-tester.

Fullt automatiserad MLOps

ML-mjukvara har en annan natur

ML-applikationer är inte explicit programmerade

$$

En illustration av inlärningsprocessen i ML-system.

De beror på:

  • Data
  • Modeller
Fullt automatiserad MLOps

Testning i ett MLOps-system är annorlunda

En figur som visar ett traditionellt mjukvarusystem testat med enhetstester och integrationstester, samt ett ML-system med datatester, modelltester och pipelinetester.

1 https://research.google/pubs/pub46555/
Fullt automatiserad MLOps

Testning av ML-system

$$

Utöver traditionell mjukvarutestning:

  • Datatester
  • Modelltester
  • Pipelinetester
Fullt automatiserad MLOps

Testning av data

Tester för särdrag och data inkluderar:

  • Förväntningar på särdrag
  • Att värdet från ett särdrag motiverar dess kostnad
  • Integritetskontroll
  • Undvika användning av otillåten data

$$

En uppsättning termometrar som visar olika mätvärden.

Fullt automatiserad MLOps

Testning av modeller

Tester för modeller inkluderar:

  • Korrelation mellan affärsmässiga och ML-relaterade mätvärden
  • Att alla hyperparametrar har justerats

  • Modellens överanpassning

  • Modellens föråldring
  • Jämförelse med basmodell
Fullt automatiserad MLOps

Testning av ML-pipelines

Tester för ML-pipelines inkluderar:

  • Reproducerbar träning
  • Integrationstestning av ML-pipelinen

  • Möjlighet att felsöka modellen

Fullt automatiserad MLOps

Nu kör vi en övning!

Fullt automatiserad MLOps

Preparing Video For Download...