Wersjonowanie danych i modeli

Tworzenie modeli uczenia maszynowego na potrzeby produkcji

Sinan Ozdemir

Data Scientist, Entrepreneur, and Author

Wersjonowanie główne i pomocnicze

Dwa typy wersjonowania: główne i pomocnicze

  • Wersja główna oznacza istotną zmianę danych lub modelu

  • Wersja pomocnicza oznacza niewielką zmianę

Wersje główne i pomocnicze pozwalają śledzić, jakie zmiany zostały wprowadzone w danych lub modelu

Tworzenie modeli uczenia maszynowego na potrzeby produkcji

Wersjonowanie danych treningowych

  • Unikalne etykiety główne/pomocnicze lub znaczniki czasu
  • Zapewnienie odtwarzalności i identyfikowalności eksperymentów
  • Łatwy powrót do poprzedniej wersji danych
  • Śledzenie zmian danych w czasie

Przykład:

  1. Data V 1.0 – początkowy zbiór danych
  2. Data V 1.1 – dodatkowe transformacje cech
  3. Data V 1.2 – dodana metoda selekcji cech
  4. Data V 2.0 – zupełnie nowe źródło danych
Tworzenie modeli uczenia maszynowego na potrzeby produkcji

Magazyny cech

  • Centralne repozytorium do przechowywania i zarządzania wersjami cech
  • Łatwe śledzenie różnych wersji cech
  • Wykorzystanie cech w różnych eksperymentach
  • Lepsza współpraca i spójność eksperymentów
  • Ograniczenie powielania pracy
Tworzenie modeli uczenia maszynowego na potrzeby produkcji

Wersjonowanie modeli ML

  • Śledzenie różnych wersji modeli ML
  • Zapewnienie odtwarzalności i identyfikowalności eksperymentów
  • Łatwy powrót do poprzedniej wersji modelu
  • Zazwyczaj zgodne z wersją danych treningowych, ale nie zawsze

Przykład:

  1. Model V 1.0 – model początkowy (Random Forest)
  2. Model V 1.1 – ten sam model dostrojony na Data V 1.1
  3. Model V 2.0 – model XGBoost dostrojony na Data V 1.2
  4. Model V 2.1 – model XGBoost dostrojony na Data V 2.0
Tworzenie modeli uczenia maszynowego na potrzeby produkcji

Magazyny modeli

  • Centralne repozytorium do przechowywania i zarządzania wersjami modeli
  • Łatwe śledzenie różnych wersji modeli
  • Powrót do poprzednich wersji
Tworzenie modeli uczenia maszynowego na potrzeby produkcji

Wersjonowanie modeli z MLflow – przykład

import mlflow

# Start a new mlflow run
with mlflow.start_run() as run:
    # Log model version as a parameter
    mlflow.log_param("model_version", "1.0")

    # Train and save the model
    model = train_model()
    mlflow.sklearn.log_model(model, "model")
Tworzenie modeli uczenia maszynowego na potrzeby produkcji

Czas na ćwiczenia!

Tworzenie modeli uczenia maszynowego na potrzeby produkcji

Preparing Video For Download...