Versionarea datelor și a modelelor

Dezvoltarea modelelor de Machine Learning pentru producție

Sinan Ozdemir

Data Scientist, Entrepreneur, and Author

Versionare majoră și minoră

Două tipuri de versionare: majoră și minoră

  • Versionarea majoră indică o schimbare semnificativă în date sau model

  • Versionarea minoră indică o schimbare mică

Prin versiuni majore/minore putem vedea cum și ce modificări au fost efectuate

Dezvoltarea modelelor de Machine Learning pentru producție

Versionarea datelor de antrenament

  • Etichete majore/minore unice sau marcaje temporale
  • Asigurarea reproductibilității și trasabilității experimentelor
  • Revenire ușoară la o versiune anterioară a datelor
  • Urmărirea evoluției datelor în timp

Exemplu:

  1. Date V 1.0 – setul inițial de date
  2. Date V 1.1 – transformări suplimentare de caracteristici
  3. Date V 1.2 – adăugarea unei metode de selecție a caracteristicilor
  4. Date V 2.0 – o sursă de date complet nouă
Dezvoltarea modelelor de Machine Learning pentru producție

Depozite de caracteristici

  • Depozit central pentru stocarea și gestionarea versiunilor de caracteristici
  • Urmărirea ușoară a diferitelor versiuni de caracteristici
  • Utilizarea caracteristicilor în experimente diferite
  • Îmbunătățirea colaborării și integrității experimentelor
  • Reducerea duplicării muncii
Dezvoltarea modelelor de Machine Learning pentru producție

Versionarea modelelor ML

  • Urmărirea diferitelor versiuni ale modelelor ML
  • Asigurarea reproductibilității și trasabilității experimentelor
  • Revenire ușoară la o versiune anterioară a modelului
  • De obicei corespunde versiunii datelor de antrenament, dar nu întotdeauna

Exemplu:

  1. Model V 1.0 – modelul inițial (Random Forest)
  2. Model V 1.1 – același model reglat fin pe Date V 1.1
  3. Model V 2.0 – model XGBoost reglat fin pe Date V 1.2
  4. Model V 2.1 – modelul XGBoost reglat fin pe Date V 2.0
Dezvoltarea modelelor de Machine Learning pentru producție

Depozite de modele

  • Depozit central pentru stocarea și gestionarea versiunilor de modele
  • Urmărirea ușoară a diferitelor versiuni
  • Revenire la versiuni anterioare
Dezvoltarea modelelor de Machine Learning pentru producție

Exemplu de versionare a modelelor cu MLflow

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")
Dezvoltarea modelelor de Machine Learning pentru producție

Să exersăm!

Dezvoltarea modelelor de Machine Learning pentru producție

Preparing Video For Download...