Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Эта статья поможет вам приступить к работе с MLflow 3. В нем описывается установка MLflow 3 и несколько демонстрационных записных книжек для начала работы. Он также содержит ссылки на страницы, охватывающие новые функции MLflow 3 более подробно.
Что такое MLflow 3 и как отличается от существующей версии MLflow?
MLflow 3 в Azure Databricks обеспечивает передовое отслеживание экспериментов, наблюдаемость и оценку производительности для моделей машинного обучения, генеративных приложений ИИ и агентов в Databricks Lakehouse. MLflow 3 предоставляет значительные новые возможности, сохраняя основные понятия отслеживания, что делает миграцию с 2.x быстрой и простой. С помощью MLflow 3 в Azure Databricks можно:
- Централизованно отслеживайте и анализируйте производительность моделей, приложений ИИ и агентов во всех средах, от интерактивных запросов в записной книжке разработки через рабочий пакет или развертывание в режиме реального времени.
- Просматривайте и получайте доступ к метрикам и параметрам модели на странице версии модели в Unity Catalog и REST API во всех рабочих областях и экспериментах.
- Аннотируйте запросы и ответы (трассировки) для комплексного наблюдения за всеми вашими генеративными AI приложениями и агентами, что позволяет экспертам и автоматизированным методам LLM в качестве судьи предоставлять богатую обратную связь. Эти отзывы можно использовать для оценки и сравнения производительности версий приложений и создания наборов данных для улучшения качества.
- Оценивайте приложения GenAI в большом масштабе с помощью нового
mlflow.genai.evaluate()
API с встроенными и пользовательскими судьями LLM для точности, релевантности, безопасности и многого другого, оценивая качество приложений GenAI во время разработки и на этапе производства.
- Оркестрируйте рабочие процессы оценки и развертывания с помощью каталога Unity и доступа к комплексным журналам состояния для каждой версии модели, приложения ИИ или агента.
Эти возможности облегчают и упорядочивают оценку, развертывание, отладку и мониторинг всех ваших инициатив в области ИИ.
Наблюдаемость и оценка GenAI
MLflow 3 предоставляет комплексные возможности GenAI, сочетающие наблюдаемость трассировки и средства СИ для надежного измерения качества GenAI, что позволяет отслеживать и улучшать качество приложений на протяжении всего их жизненного цикла. Теперь вы можете использовать пользовательский интерфейс эксперимента MLflow для создания панелей и мониторинга в реальном времени трассировки из рабочих приложений, будь то развернутых в Databricks или во внешнем режиме, аннотируя рабочие трассировки с использованием обратной связи и создавая наборы данных для будущих итераций.
MLflow 3 обеспечивает высокоуровневую поддержку для LLM-судьи и человеческой обратной связи непосредственно в трассировках MLflow с помощью новой функции оценок. Новый mlflow.genai.evaluate()
API предлагает более простой, более мощный подход к оценке, интегрируя судей LLM при помощи Agent Evaluation в пакет SDK MLflow. С поддержкой как готовых, так и пользовательских оценщиков вы можете быть уверены в качестве ваших приложений GenAI перед развертыванием. Кроме того, API оценки агента Databricks для арбитров, наборов данных и сессий маркировки (Review App) теперь унифицированы под mlflow.genai
пространством имен для беспрепятственного опыта. Дополнительные сведения см. в разделе MLflow 3 для GenAI.
Зарегистрированные модели
Большая часть новых функций MLflow 3 является производным от новой концепции LoggedModel
. При разработке генеративных приложений или агентов ИИ разработчики могут создавать LoggedModels
фиксации изменений в git или наборы параметров в качестве объектов, которые могут быть связаны с трассировками и метриками. Для глубокого обучения и классических приложений 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 и каталогом по умолчанию в каталоге Unity, можно также использовать <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.genai.evaluate
API для приложений LLMs или GenAI. Для традиционных моделей машинного обучения или глубокого обучения используйтеmlflow.models.evaluate
, который обеспечивает полную совместимость с оригинальнымmlflow.evaluate
API. - Атрибут
run_uuid
был удален изRunInfo
объекта. Используйтеrun_id
вместо этого в вашем коде.
Установка MLflow 3
Чтобы использовать MLflow 3, необходимо обновить пакет, чтобы использовать правильную версию (>= 3.0). При каждом запуске записной книжки должны выполняться следующие строки кода:
%pip install mlflow>=3.0 --upgrade
dbutils.library.restartPython()
Примеры записных книжек
На следующих страницах показан рабочий процесс отслеживания моделей MLflow 3 для традиционных машинного обучения и глубокого обучения. Каждая страница содержит пример записной книжки.
Дальнейшие шаги
Дополнительные сведения о новых возможностях MLflow 3 см. в следующих статьях: