MLflow — это платформа для оптимизации разработки машинного обучения, включая отслеживание экспериментов, упаковку кода в воспроизводимые прогоны, а также совместное использование и развертывание моделей. MLflow предлагает набор облегченных API-интерфейсов, которые можно использовать с любым существующим приложением или библиотекой машинного обучения (TensorFlow, PyTorch, XGBoost и т. д.), где бы вы в данный момент ни запускали код ML (например, в блокнотах, автономных приложениях или облаке). Текущие компоненты MLflow:
Отслеживание MLflow: API для регистрации параметров, кода и результатов экспериментов по машинному обучению и их сравнения с помощью интерактивного пользовательского интерфейса.
Проекты MLflow: формат упаковки кода для воспроизводимых запусков с использованием Conda и Docker, позволяющий делиться своим кодом ML с другими.
Модели MLflow: формат упаковки моделей и инструменты, которые позволяют легко развертывать одну и ту же модель (из любой библиотеки машинного обучения) для пакетной оценки и оценки в реальном времени на таких платформах, как Docker, Apache Spark, Azure ML и AWS SageMaker.
Реестр моделей MLflow: централизованное хранилище моделей, набор API и пользовательский интерфейс для совместного управления полным жизненным циклом моделей MLflow.
Пакеты
ПиПИ | |
Конда-Фордж | |
КРАН | |
Мавен Центральный |
Статусы заданий
Установите MLflow из PyPI через pip install mlflow
MLflow требует, чтобы conda
находилась в PATH
для функции проектов.
Здесь также доступны ночные снимки мастера MLflow.
Установите подмножество MLflow с более низким уровнем зависимостей из PyPI с помощью pip install mlflow-skinny
Дополнительные зависимости можно добавить в зависимости от желаемого сценария. Например, pip install mlflow-skinny pandas numpy
обеспечивает поддержку mlflow.pyfunc.log_model.
Официальную документацию по MLflow можно найти по адресу https://mlflow.org/docs/latest/index.html.
Текущая дорожная карта MLflow доступна по адресу https://github.com/mlflow/mlflow/milestone/3. Мы стремимся внести вклад во все пункты нашей дорожной карты с help wanted
. Пожалуйста, смотрите раздел «Вклад» для получения дополнительной информации.
Для получения помощи или вопросов об использовании MLflow (например, «как мне сделать X?») см. документацию или Stack Overflow.
Чтобы сообщить об ошибке, сообщить о проблеме с документацией или отправить запрос на добавление функции, откройте задачу на GitHub.
Для анонсов релизов и других обсуждений подпишитесь на нашу рассылку ([email protected]) или присоединяйтесь к нам в Slack.
Программы в examples
используют API отслеживания MLflow. Например, запустите:
примеры Python/quickstart/mlflow_tracking.py
Эта программа будет использовать API отслеживания MLflow, который записывает данные отслеживания в ./mlruns
. Затем это можно просмотреть с помощью пользовательского интерфейса отслеживания.
Пользовательский интерфейс отслеживания MLflow покажет запуски, зарегистрированные в ./mlruns
по адресу http://localhost:5000. Начните с:
пользовательский интерфейс mlflow
Примечание. Запускать mlflow ui
из клона MLflow не рекомендуется — при этом пользовательский интерфейс разработчика будет запущен из исходного кода. Мы рекомендуем запускать пользовательский интерфейс из другого рабочего каталога, указав внутреннее хранилище с помощью параметра --backend-store-uri
. Альтернативно, см. инструкции по запуску пользовательского интерфейса разработчика в руководстве для участников.
Команда mlflow run
позволяет запустить проект, упакованный с файлом MLproject, по локальному пути или по Git URI:
Примеры запуска mlflow/sklearn_elasticnet_wine -P альфа=0,4 запуск mlflow https://github.com/mlflow/mlflow-example.git -P альфа=0.4
См. examples/sklearn_elasticnet_wine
для примера проекта с файлом MLproject.
Чтобы проиллюстрировать управление моделями, пакет mlflow.sklearn
может регистрировать модели scikit-learn как артефакты MLflow, а затем снова загружать их для обслуживания. В examples/sklearn_logistic_regression/train.py
есть пример обучающего приложения, которое вы можете запустить следующим образом:
$ примеры Python/sklearn_ логистическая_регрессия/train.py Оценка: 0,666 Модель сохранена в запуске <run-id> Модели $ mlflow обслуживают запуски --model-uri:/<run-id>/model $ curl -d '{"dataframe_split": {"columns":[0],"index":[0,1],"data":[[1],[-1]]}}' -H 'Content -Тип: приложение/json' localhost:5000/вызовы
Примечание. Если для обслуживания модели используется MLflow Skinny ( pip install mlflow-skinny
), для работы сервера MLflow необходимо установить дополнительные необходимые зависимости (а именно, flask
).
Официальный образ Docker MLflow доступен в реестре контейнеров GitHub по адресу https://ghcr.io/mlflow/mlflow.
экспорт CR_PAT=ВАШ_ТОКЕНecho $CR_PAT | docker login ghcr.io -u USERNAME --password-stdin# Получить последнюю версиюdocker pull ghcr.io/mlflow/mlflow# Получить 2.2.1docker pull ghcr.io/mlflow/mlflow:v2.2.1
Мы с радостью приветствуем вклад в MLflow. Мы также ищем вклад в реализацию пунктов дорожной карты MLflow. Пожалуйста, ознакомьтесь с нашим руководством по вкладу, чтобы узнать больше о вкладе в MLflow.
В настоящее время MLflow поддерживается следующими основными участниками при значительном вкладе сотен исключительно талантливых членов сообщества.
Бен Уилсон
Кори Зумар
Дэниел Лок
Габриэль Фу
Харутака Кавамура
Серена Руан
Вэйчен Сюй
Юки Ватанабэ
Тому Хирата