Логування експериментів у MLflow

End-to-End Machine Learning

Joshua Stapleton

Machine Learning Engineer

MLflow

Без MLflow…

  • Багато незадокументованих, неорганізованих запусків
  • Різнорідні, важко порівнювані запуски
  • Невідтворювані, втрачені запуски

З MLflow…

  • Відстежені, організовані запуски експериментів
  • Порівняння стандартизованих запусків
  • Відтворювані запуски
  • Обмін і розгортання моделей
End-to-End Machine Learning

Створення експериментів

mlflow.set_experiment()

  • Встановлює назву експерименту
  • Створює простір для запусків експерименту

 

Використання:

import mlflow

# Set an experiment name, which is a workspace for your runs
mlflow.set_experiment("Heart Disease Classification")
End-to-End Machine Learning

Запуск експериментів

# Start a new run in this experiment
with mlflow.start_run():
    # Train a model, get the prediction accuracy
    logistic_model = LogisticRegression()

# Log parameters, eg: mlflow.log_param("n_estimators", logistic_model.n_estimators)
# Log metrics (accuracy in this case) mlflow.log_metric("accuracy", logistic_model.accuracy)
# Print out metrics print("Model accuracy: %.3f" % accuracy)
Model accuracy: 0.96
End-to-End Machine Learning

Отримання експериментів

 

mlflow.get_run(run_id)

  • Метадані конкретного запуску

 

mlflow.search_runs()

  • Повертає DataFrame з метриками для кількох запусків

Використання:

# Fetch the run data and print params
run_data = mlflow.get_run(run_id)
print(run_data.data.params)
print(run_data.data.metrics)

# Search all runs in experiment
exp_id = run_data.info.experiment_id
runs_df = mlflow.search_runs(exp_id)
{'epochs': '20', 'accuracy': 0.95}
End-to-End Machine Learning

Інтерфейс MLflow

 

Панель експериментів MLflow

 

Приклад сторінки експерименту MLflow

End-to-End Machine Learning

Інтерфейс MLflow (продовження)

 

Приклад графіка покращення метрики

 

Приклад порівняння метрик між запусками

End-to-End Machine Learning

Ресурси MLflow

  • Вступ до MLflow Вступ до MLflow
  • Офіційний сайт MLflow Офіційний сайт MLflow
End-to-End Machine Learning

Давайте потренуємось!

End-to-End Machine Learning

Preparing Video For Download...