Отслеживание экспериментов с MLflow
mlflow.start_run(), log_param(), log_metric(), log_artifact(), просмотр интерфейса MLflow
«Отслеживание экспериментов с MLflow» — бесплатный урок Learn AI with Python на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Learn AI with Python, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Learn AI with Python содержит 4 уроков всего.
Зачем отслеживать эксперименты?
Работа с машинным обучением включает десятки запусков с разными параметрами и данными. Без отслеживания Вы теряете информацию о том, какие настройки дали лучшую модель. MLflow записывает параметры, метрики и артефакты каждого запуска, чтобы результаты можно было воспроизводить и сравнивать.
Установка и импорт
Для MLflow достаточно одной установки через pip и импорта.
# pip install mlflow
import mlflow
import mlflow.sklearnКонтекст start_run
mlflow.start_run() открывает запуск как менеджер контекста. Всё, что записывается внутри блока with, относится к этому запуску, а при выходе запуск автоматически закрывается.
with mlflow.start_run():
# log params, metrics, model here
passЖурналирование параметров
log_param записывает один гиперпараметр (выбранный Вами входной параметр). Записывайте всё, что определяет запуск, чтобы позднее его можно было воспроизвести.
with mlflow.start_run():
mlflow.log_param("n_estimators", 200)
mlflow.log_param("max_depth", 8)Журналирование метрик
log_metric записывает числовой результат, например точность или значение функции потерь (выходной результат). Метрики можно записывать многократно, указывая step, чтобы отслеживать кривые обучения.
mlflow.log_metric("accuracy", 0.93)
mlflow.log_metric("val_loss", 0.21, step=epoch)Параметры и метрики
- Параметры: заданные Вами входные значения (скорость обучения, глубина). Записываются один раз.
- Метрики: измеряемые Вами выходные значения (точность, RMSE). Могут изменяться от шага к шагу.
Разделение этих данных позволяет MLflow сравнивать запуски в таблицах и на графиках.
Журналирование артефактов
log_artifact сохраняет вместе с запуском любой файл: графики, матрицы ошибок, образцы данных и файлы конфигурации. Артефакты позволяют прикрепить к запуску подтверждающие материалы.
mlflow.log_artifact("confusion_matrix.png")
mlflow.log_artifact("feature_importance.csv")Журналирование модели
mlflow.sklearn.log_model сериализует обученную модель scikit-learn как артефакт и упаковывает её зависимости, чтобы позднее модель можно было загрузить или развернуть. Для каждого фреймворка предусмотрен собственный вариант интеграции (mlflow.keras, mlflow.pytorch).
mlflow.sklearn.log_model(model, artifact_path="model")Идентификатор запуска run_id
Каждому запуску присваивается уникальный run_id. С его помощью можно программно обратиться к определённому запуску, загрузить его заново или сравнить с другими.
with mlflow.start_run() as run:
mlflow.log_metric("accuracy", 0.93)
print("Run ID:", run.info.run_id)Полный запуск
Объединим всё: откройте запуск, запишите параметры, обучите модель, запишите метрики и модель — всё в одном блоке.
with mlflow.start_run():
mlflow.log_param("max_depth", 8)
model.fit(X_train, y_train)
acc = model.score(X_test, y_test)
mlflow.log_metric("accuracy", acc)
mlflow.sklearn.log_model(model, "model")Просмотр экспериментов
Выполните mlflow ui в терминале, чтобы запустить локальную веб-панель (по умолчанию http://localhost:5000), где можно просматривать запуски, сортировать их по метрике и сопоставлять параметры.
# terminal
mlflow uiБыстрая проверка
Проверьте свои знания об отслеживании экспериментов в MLflow.
Итоги
Вы отслеживали эксперименты с помощью MLflow: start_run() открывает запуск, log_param/log_metric записывают входные и выходные значения, log_artifact сохраняет файлы, а mlflow.sklearn.log_model сохраняет модель. У каждого запуска есть run_id, а mlflow ui показывает все данные. Далее: реестр моделей и управление версиями.
Часто задаваемые вопросы
Урок «Отслеживание экспериментов с MLflow» бесплатный?
Да — полный текст урока «Отслеживание экспериментов с MLflow» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Learn AI with Python, подпишись на CoddyKit PRO. Курс Learn AI with Python содержит 4 уроков всего.
Чему я научусь в уроке «Отслеживание экспериментов с MLflow»?
mlflow.start_run(), log_param(), log_metric(), log_artifact(), просмотр интерфейса MLflow Ты практикуешь Learn AI with Python с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Learn AI with Python?
Предыдущий опыт не требуется. Learn AI with Python на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.
Сколько времени занимает урок «Отслеживание экспериментов с MLflow»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Learn AI with Python?
Да. Каждый урок Learn AI with Python включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Отслеживание экспериментов с MLflow
- Реестр моделей и управление версиями
- Создание воспроизводимых конвейеров машинного обучения
- Мониторинг производительности модели в продуктивной среде