Интеграция MLflow

MLflow — это платформа с открытым исходным кодом, предназначенная для управления жизненным циклом машинного обучения от начала до конца. Она предлагает функциональность для отслеживания экспериментов, упаковки кода в воспроизводимые запуски, а также для обмена и развертывания моделей.

NeuralProphet совместим с MLflow, и мы можем отслеживать наши задачи на платформе MLflow.

# Для этого учебного пособия нам нужно установить MLflow.
# !pip install mlflow

# Запустите MLflow tracking-сервер на вашем локальном компьютере
# !mlflow server --host 127.0.0.1 --port 8080

if "google.colab" in str(get_ipython()):
    # Удаляем предустановленные пакеты из Colab, чтобы избежать конфликтов
    !pip uninstall -y torch notebook notebook_shim tensorflow tensorflow-datasets prophet torchaudio torchdata torchtext torchvision
    !pip install git+https://github.com/ourownstory/neural_prophet.git  # может занять некоторое время

# Намного быстрее с использованием следующего кода, но может не иметь последних обновлений/исправлений ошибок
# pip install neuralprophet
import pandas as pd
from neuralprophet import NeuralProphet, set_log_level, save
import mlflow
import time

set_log_level("ERROR")  # Устанавливаем уровень логирования на ERROR, чтобы уменьшить количество выводимой информации

data_location = "https://raw.githubusercontent.com/ourownstory/neuralprophet-data/main/datasets/"
df = pd.read_csv(data_location + "air_passengers.csv")  # Читаем данные из CSV файла в DataFrame

Настройка сервера отслеживания MLflow

На этом этапе мы настраиваем MLflow для использования сервера отслеживания для регистрации и мониторинга наших экспериментов с машинным обучением. Сервер отслеживания служит центральным репозиторием для хранения данных о экспериментах в MLflow. Это включает в себя информацию, такую как параметры модели, метрики и выходные файлы.

Завершить предыдущий запуск

Если у вас есть активный процесс перед началом регистрации и мониторинга, это вызовет ошибку. Поэтому убедитесь, что вы завершили все предыдущие активные процессы. В обычной ситуации у вас не должно быть активных процессов, и вы можете игнорировать следующий блок.

Запуск эксперимента MLflow с NeuralProphet

В следующем шаге мы рассмотрим запуск и управление экспериментом с MLflow для обучения модели NeuralProphet. Акцент будет сделан на настройке эксперимента, определении гиперпараметров модели и регистрации основных метрик обучения.

Просмотрите запуск NeuralProphet в пользовательском интерфейсе MLflow.

Чтобы увидеть результаты нашего запуска, мы можем перейти в пользовательский интерфейс MLflow. Поскольку мы уже запустили сервер отслеживания по адресу http://localhost:8080, мы можем просто перейти к этому URL в нашем браузере и наблюдать за нашими экспериментами. Если мы нажмем на соответствующие эксперименты, мы увидим список всех запусков, связанных с экспериментом. Нажав на запуск, мы перейдем на страницу запуска, где будут показаны детали того, что мы зарегистрировали.

Расширенный пример

с: авторегистрацией MLflow, набором данных, требованиями и метаданными среды с выводом сигнатуры модели, еще одним экспериментом MLflow с NeuralProphet.

Last updated