Automatyczne testowanie w MLOps

W pełni zautomatyzowany MLOps

Arturo Opsetmoen Amador

Senior Consultant - Machine Learning

Czym jest testowanie oprogramowania?

$$

Proces oceny i weryfikacji, czy oprogramowanie działa zgodnie z oczekiwaniami

$$

Trzy najpopularniejsze rodzaje testów oprogramowania:

  • Testy jednostkowe
  • Testy integracyjne
  • Testy end-to-end

$$

$$

Piramida przedstawiająca testy jednostkowe u podstawy, powyżej testy integracyjne, a na szczycie testy end-to-end.

W pełni zautomatyzowany MLOps

Oprogramowanie ML ma inny charakter

Aplikacje ML nie są jawnie programowane

$$

Diagram ilustrujący proces uczenia w systemach ML.

Zależą od:

  • Danych
  • Modeli
W pełni zautomatyzowany MLOps

Testowanie w systemie MLOps jest inne

Rysunek przedstawiający tradycyjny system testowany testami jednostkowymi i integracyjnymi oraz system ML testowany testami danych, modeli i potoków.

1 https://research.google/pubs/pub46555/
W pełni zautomatyzowany MLOps

Testowanie systemów ML

$$

Oprócz tradycyjnych testów oprogramowania:

  • Testy danych
  • Testy modeli
  • Testy potoków
W pełni zautomatyzowany MLOps

Testowanie danych

Testy cech i danych obejmują:

  • Oczekiwania dotyczące cech
  • Wartość cechy uzasadniająca jej koszty
  • Kontrola prywatności
  • Unikanie nielegalnych danych

$$

Zestaw termometrów pokazujących różne pomiary.

W pełni zautomatyzowany MLOps

Testowanie modeli

Testy modeli obejmują:

  • Korelacja metryk biznesowych i ML
  • Strojenie wszystkich hiperparametrów

  • Przeuczenie modelu

  • Przestarzałość modelu
  • Porównanie z punktem odniesienia
W pełni zautomatyzowany MLOps

Testowanie potoków ML

Testy potoków ML obejmują:

  • Reprodukowalność trenowania
  • Testy integracyjne potoku ML

  • Debugowalność modelu

W pełni zautomatyzowany MLOps

Czas na ćwiczenia!

W pełni zautomatyzowany MLOps

Preparing Video For Download...