Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Замечание
В этой статье рассматриваются функции MLflow 3 для традиционных моделей машинного обучения и глубокого обучения. MLflow 3 также предлагает комплексные функции для разработки приложений GenAI, включая трассировку, оценку и сбор отзывов человека. Дополнительные сведения см. в разделе MLflow 3 для GenAI .
Эта статья поможет вам начать работу с MLflow 3 для разработки моделей машинного обучения. В нем описывается установка MLflow 3 для моделей и несколько демонстрационных записных книжек для начала работы. Она также содержит ссылки на страницы, охватывающие новые функции MLflow 3 для моделей более подробно.
Что такое MLflow 3 для моделей?
MLflow 3 для моделей в Azure Databricks обеспечивает отслеживание экспериментов, оценку производительности и управление рабочей средой для моделей машинного обучения. MLflow 3 предоставляет значительные новые возможности при сохранении основных концепций отслеживания, что делает миграцию из MLflow 2.x быстрой и простой.
Что такое MLflow 3 для GenAI?
Помимо MLflow 3 для моделей, MLflow 3 для GenAI представляет широкий спектр новых функций и улучшений для разработки приложений агента и GenAI. Полный обзор см. в разделе MLflow 3 для GenAI.
Основные функции MLflow 3 для GenAI:
- Трассировка и наблюдаемость — сквозная наблюдаемость для приложений GenAI с автоматическим инструментированием для 20+ фреймворков, включая OpenAI, LangChain, LlamaIndex и Anthropic
- Оценка и мониторинг — всеобъемлющие возможности оценки GenAI для измерения и улучшения качества в процессе разработки и эксплуатации. Включает встроенные судьи LLM, настраиваемые судьи, управление наборами данных оценки и мониторинг в режиме реального времени.
- Сбор отзывов о людях — настраиваемый пользовательский интерфейс проверки для сбора отзывов экспертов домена и интерактивного тестирования агентов с структурированными сеансами маркировки для организации и отслеживания хода выполнения проверки
- Prompt Registry — централизованное управление версиями и контролем изменений, А/B тестирование с интеграцией Unity Catalog
Как MLflow 3 для моделей отличается от MLflow 2
MLflow 3 для моделей в Azure Databricks позволяет:
- Централизованно отслеживайте и анализируйте производительность моделей во всех средах, от интерактивных запросов в записной книжке разработки через рабочий пакет или развертывание в режиме реального времени.
- Просматривайте и получайте доступ к метрикам и параметрам модели на странице версии модели в Unity Catalog и REST API во всех рабочих областях и экспериментах.
- Оркестрируйте рабочие процессы оценки и развертывания с помощью каталога Unity и доступа к полным журналам состояния для каждой версии модели.
Эти возможности упрощают и оптимизируют разработку, оценку и внедрение в производство моделей машинного обучения.
Зарегистрированные модели
Большая часть новых функций MLflow 3 является производным от новой концепции LoggedModel. Для глубокого обучения и традиционных моделей LoggedModels машинного обучения повышает концепцию модели, созданной учебным запуском, устанавливая ее в качестве выделенного объекта для отслеживания жизненного цикла модели в разных запусках обучения и оценки.
LoggedModels фиксирует метрики, параметры и трассировки на этапах разработки (обучение и оценка) и в разных средах (разработка, стейджинг и продакшн).
LoggedModel При продвижении в каталоге Unity в качестве версии модели все данные о производительности из исходного LoggedModel становятся видимыми на странице версии модели Unity Catalog (UC), обеспечивая видимость во всех рабочих областях и экспериментах. Дополнительные сведения см. в разделе "Отслеживание и сравнение моделей" с помощью моделей MLflow Logged.
Задания развертывания
MLflow 3 также представляет концепцию задания развертывания. Задания развертывания используют задания Lakeflow для управления жизненным циклом модели, включая шаги оценки, утверждения и развертывания. Эти рабочие процессы модели управляются каталогом Unity, и все события сохраняются в журнале действий, доступном на странице версии модели в каталоге Unity.
Миграция с MLflow 2.x
Хотя в MLflow 3 есть много новых функций, основные понятия экспериментов и запусков, а также их метаданные, такие как параметры, теги и метрики, все остаются одинаковыми. Миграция с MLflow 2.x на 3.0 очень проста и должна требовать минимальных изменений кода в большинстве случаев. В этом разделе рассматриваются некоторые ключевые отличия от MLflow 2.x и то, что следует учитывать для простого перехода.
Модели ведения журнала
При логировании моделей в версии 2.x используется параметр artifact_path.
with mlflow.start_run():
mlflow.pyfunc.log_model(
artifact_path="model",
python_model=python_model,
...
)
В MLflow 3 используйте name вместо этого, что позволяет модели позже выполнять поиск по имени. Параметр artifact_path по-прежнему поддерживается, но не рекомендуется. Кроме того, для логирования модели в MLflow больше не требуется активный запуск, потому что модели стали полноправными объектами в MLflow 3. Вы можете напрямую зарегистрировать модель без выполнения запуска.
mlflow.pyfunc.log_model(
name="model",
python_model=python_model,
...
)
Артефакты модели
В MLflow 2.x артефакты модели сохраняются как артефакты запуска в каталоге артефактов данного запуска. В MLflow 3 артефакты модели теперь хранятся в другом месте, в соответствии с путем артефактов модели.
# MLflow 2.x
experiments/
└── <experiment_id>/
└── <run_id>/
└── artifacts/
└── ... # model artifacts are stored here
# MLflow 3
experiments/
└── <experiment_id>/
└── models/
└── <model_id>/
└── artifacts/
└── ... # model artifacts are stored here
Рекомендуется загрузить модели с mlflow.<model-flavor>.load_model, используя URI модели, возвращаемый mlflow.<model-flavor>.log_model, чтобы избежать каких-либо проблем. Этот URI модели имеет формат models:/<model_id> (а не runs:/<run_id>/<artifact_path> как в MLflow 2.x) и может быть создан вручную, если доступен только идентификатор модели.
Реестр моделей
В MLflow 3 теперь используется URI реестра по умолчанию, то есть databricks-ucбудет использоваться реестр моделей MLflow в каталоге Unity (дополнительные сведения см. в разделе "Управление жизненным циклом модели в каталоге Unity "). Имена моделей, зарегистрированных в каталоге Unity, имеют форму <catalog>.<schema>.<model>. При вызове API, требующих зарегистрированного имени модели, например mlflow.register_model, используется полное трехуровневое имя.
Для рабочих областей с включенным Unity Catalog и каталога по умолчанию в Unity Catalog, вы также можете использовать <model> в качестве имени, и каталог по умолчанию и схема будут автоматически выводиться (без изменения поведения по сравнению с MLflow 2.x). Если в рабочей области активирован Unity Catalog, но его каталог по умолчанию не настроен для использования вместе с Unity Catalog, необходимо указать полное трехуровневое имя.
Databricks рекомендует использовать реестр моделей MLflow в каталоге Unity для управления жизненным циклом моделей.
Если вы хотите продолжить использование реестра моделей рабочего пространства (устаревшая версия), используйте один из следующих методов, чтобы задать URI реестра следующим образом: databricks
- Используйте
mlflow.set_registry_uri("databricks"). - Задайте переменную среды MLFLOW_REGISTRY_URI.
- Чтобы задать переменную среды для URI реестра в больших масштабах, можно использовать скрипты инициализации. Для этого требуется универсальное вычисление.
Другие важные изменения
- Клиенты MLflow 3 могут загружать все запуски, модели и трассировки, зарегистрированные с помощью клиентов MLflow 2.x. Однако обратное не обязательно верно, поэтому модели и трассировки, зарегистрированные с помощью клиентов MLflow 3, могут не быть загружены с более старыми версиями клиента 2.x.
- API
mlflow.evaluateустарел. Для традиционных моделей машинного обучения или глубокого обучения используйтеmlflow.models.evaluate, который поддерживает полную совместимость с исходнымmlflow.evaluateAPI. Вместо этого используйтеmlflow.genai.evaluateAPI для приложений LLMs или GenAI. - Атрибут
run_uuidбыл удален изRunInfoобъекта. Используйтеrun_idвместо этого в вашем коде.
Установка MLflow 3
Чтобы использовать MLflow 3, необходимо обновить пакет, чтобы использовать правильную версию (>= 3.0). При каждом запуске записной книжки должны выполняться следующие строки кода:
%pip install mlflow>=3.0 --upgrade
dbutils.library.restartPython()
Примеры записных книжек
На следующих страницах показан рабочий процесс отслеживания моделей MLflow 3 для традиционных машинного обучения и глубокого обучения. Каждая страница содержит пример записной книжки.
Limitation
Хотя логирование модели Spark (mlflow.spark.log_model) продолжает работать в MLflow 3, оно не использует новую LoggedModel концепцию. Модели, зарегистрированные с помощью ведения журнала моделей Spark, продолжают использовать запуски MLflow 2.x и артефакты выполнения.
Дальнейшие шаги
Дополнительные сведения о новых возможностях MLflow 3 см. в следующих статьях: