При разработке моделей важно не только обучить модель, но и уметь:
- отслеживать параметры обучения
- сохранять метрики (точность, F1 и др.)
- версионировать модели и датасеты
- воспроизводить эксперименты
Для этого используются инструменты вроде MLflow и DVC.
Зачем нужен трекинг
Допустим, вы обучили три модели с разными параметрами. Какая из них лучше? Сколько эпох было? Какой learning_rate
? Где лежит файл модели?
Без трекинга это всё теряется в коде и папках. С трекингом — у вас есть история всех запусков и чёткая структура.
MLflow: метрики, параметры, модели
MLflow позволяет:
- логировать параметры (например,
lr
,batch_size
) - логировать метрики (
accuracy
,loss
) - сохранять артефакты (модели, графики, словари)
- запускать веб-интерфейс для просмотра экспериментов
Установка
pip install mlflow
Пример использования
import mlflow
mlflow.start_run()
mlflow.log_param("learning_rate", 0.001)
mlflow.log_metric("val_accuracy", 0.91)
mlflow.log_artifact("model.pt")
mlflow.end_run()
Веб-интерфейс
mlflow ui
Откроется на http://localhost:5000
DVC: версионирование данных и моделей
DVC (Data Version Control) — это как git, но для больших файлов.
С помощью DVC можно:
- хранить датасеты и модели в облаке (или на диске)
- логировать метрики в файле (
metrics.json
) - описывать весь пайплайн в
dvc.yaml
Установка
pip install dvc
Пример
dvc init
dvc add data/ads.csv
git add data/ads.csv.dvc .gitignore
git commit -m "добавил датасет"
Теперь можно загрузить данные с помощью DVC и быть уверенным, что версии совпадают у всех участников проекта.
Когда использовать
Что нужно | Что выбрать |
---|---|
Логировать метрики и параметры | MLflow |
Хранить и версионировать данные | DVC |
Работать в команде над моделями | MLflow + DVC |
Поддерживать полный ML-процесс | Оба |
Вывод
MLflow и DVC — это удобные и простые инструменты, которые помогают навести порядок в ML-проектах. Они не требуют большого порога входа, но дают много пользы: от логов и графиков до стабильной структуры версий и воспроизводимости.