MLflow - это инструмент для управления жизненным циклом машинного обучения, который предоставляет разработчикам и исследователям возможность отслеживать, управлять и развертывать модели машинного обучения. Одной из ключевых возможностей MLflow является трекинг экспериментов. Он позволяет записывать параметры модели, метрики и артефакты (например, веса модели) во время обучения и сохранять их. Это позволяет легко сравнивать различные модели и эксперименты, а также повторять эксперименты с теми же параметрами.
MLflow поддерживает множество фреймворков машинного обучения, включая PyTorch и Sklearn. После завершения проведения экспериментов все записанные параметры, метрики и артефакты и сами модели будут сохранены (сохранить данные можно локально на компьютере или с использованием любой базы данных). Данные можно легко просмотреть с помощью удобного веб-интерфейса MLflow или использовать API для доступа.
Пример того, как реализовать хранение данных об экспериментах без использования БД (то есть локально на компьютере):
Команды терминала:
Включим нужное окружение conda:
conda activate "название окружения conda"
Далее необходимо загрузить MLflow (если еще не установлен в выбранном окружении):
pip install mlflow
Запустим сервер:
mlflow server --backend-store-uri "папка на компьютере, где будут храниться результаты"
В конце можно добавить нужный порт (автоматом 5000) следующей командой: --host localhost --port 5000
пример:
mlflow server --backend-store-uri "file:///D:/ML_flow_server/data_local" --host localhost --port 5000
После запуска описанных выше команд по этой ссылке будет доступен MLflow:
Результаты представлены в формате jupiter notebook:
- Работа с PyTorch - test_mlflow_pytorch.ipynb
- Работа с Sklearn - test_mlflow_sklearn.ipynb