MLflow

Тема дорожной карты · MLOps

MLflow — это открытая платформа для управления полным жизненным циклом машинного обучения. Она играет ключевую роль в автоматизации и стандартизации процессов обучения, тестирования и развертывания моделей. Четыре основных компонента MLflow работают совместно: Tracking логирует параметры, метрики и артефакты любого обучения через mlflow.log_param() / mlflow.log_metric(), Projects упаковывает код и зависимости в воспроизводимые окружения для запуска, Models определяет стандартный формат упаковки моделей (Python function, REST API, Docker image) с интеграцией 20+ целевых точек развертывания, а Model Registry управляет версионированием и переходами стадий. MLflow агностичен к фреймворкам и поддерживает auto-logging из scikit-learn, PyTorch, TensorFlow и XGBoost через единый вызов mlflow.autolog().

Как это работает

MLflow интегрируется с различными инструментами для отслеживания экспериментов, такими как Weights & Biases и TensorBoard. Эти инструменты логируют гиперпараметры, метрики, артефакты (model weights, plots, datasets), версию кода и окружение для каждого run. Это позволяет сравнивать различные запуски, воспроизводить результаты через месяцы и делиться результатами с командой. Современные настройки позволяют автоматически инструментировать процесс обучения (интеграции W&B, MLflow autolog), требуя минимальных изменений в коде. Организация экспериментов иерархически по проектам, наборам данных и целям позволяет легко находить и управлять экспериментами.

Когда применять

MLflow следует настроить с самого начала проекта. Это обеспечит возможность возвращения к предыдущим результатам и анализу данных, что может быть особенно полезно при первом столкновении с трудностями в воспроизведении результатов. Выбор одного инструмента для отслеживания экспериментов и последовательное его использование (MLflow для self-host, W&B для hosted окружений) помогает избежать путаницы. Логирование всех данных на диске является экономически эффективным решением, так как диск дешевле, чем сожаление о потерянных данных. Использование тегов для группировки экспериментов улучшает поиск и управление экспериментами, особенно при работе с тысячами экспериментов.

Типичные ошибки

Типичные ошибки при использовании MLflow включают полагание на конвенции имён файлов (run_v3_final_FINAL2.pkl) вместо использования Model Registry для управления версиями моделей. Это может привести к нерепродуцируемым результатам после обновлений данных. Не логирование версии данных также может привести к нерепродуцируемым результатам. Коммит API-ключей в git через autolog может привести к утечке конфиденциальной информации. Использование двух инструментов для отслеживания экспериментов может расщепить контекст и создать ситуацию, где нет единого источника истины.

Связанные понятия

Полезные ресурсы