Логирование экспериментов в MLFlow

Сквозное машинное обучение

Joshua Stapleton

Machine Learning Engineer

MLFlow

Без MLflow...

  • Неотслеживаемые, неупорядоченные запуски
  • Несопоставимые эксперименты
  • Невоспроизводимые, потерянные запуски

С MLflow...

  • Отслеживаемые, упорядоченные запуски
  • Сравнение стандартизированных запусков
  • Воспроизводимые запуски
  • Публикация и развёртывание моделей
Сквозное машинное обучение

Создание экспериментов

mlflow.set_experiment()

  • Задаёт имя эксперимента
  • Создаёт рабочее пространство для запусков

 

Использование:

import mlflow

# Set an experiment name, which is a workspace for your runs
mlflow.set_experiment("Heart Disease Classification")
Сквозное машинное обучение

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

# 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
Сквозное машинное обучение

Получение данных экспериментов

 

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}
Сквозное машинное обучение

Интерфейс MLFlow

 

Дашборд экспериментов MLFlow

 

Пример страницы эксперимента MLFlow

Сквозное машинное обучение

Интерфейс MLFlow (продолжение)

 

Пример графика улучшения метрики

 

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

Сквозное машинное обучение

Ресурсы по MLflow

  • Введение в MLflow Введение в MLflow
  • Официальный сайт MLflow Официальный сайт MLflow
Сквозное машинное обучение

Давайте потренируемся!

Сквозное машинное обучение

Preparing Video For Download...