Поделиться через


MLflow для агента генеративного ИИ и жизненного цикла модели машинного обучения

В этой статье описывается, как MLflow в Databricks используется для разработки высококачественных агентов ИИ и моделей машинного обучения.

Заметка

Если вы только начинаете работу с Azure Databricks, попробуйте MLflow в Databricks Community Edition.

Что такое MLflow?

MLflow — это платформа с открытым исходным кодом для разработки моделей и создания приложений ИИ. Она содержит следующие основные компоненты:

  • Отслеживание. Позволяет отслеживать эксперименты для записи и сравнения параметров и результатов.
  • Модели. Позволяет управлять и развертывать модели из различных библиотек машинного обучения на различных платформах обслуживания и вывода моделей.
  • Реестр моделей: позволяет управлять процессом развертывания модели от тестирования до рабочей среды, с возможностями управления версиями моделей и аннотациями.
  • Оценка и трассировка агента ИИ: позволяет разрабатывать высококачественные агенты ИИ, помогая сравнивать, оценивать и устранять неполадки агентов.

MLflow поддерживает API Java, Python, R и REST.

MLflow 3.0 (бета-версия)

Это важно

Эта функция доступна в бета-версии.

MLflow 3.0 в Azure Databricks обеспечивает отслеживание экспериментов, наблюдаемость и оценку производительности для моделей машинного обучения, созданных приложений ИИ и агентов в Databricks lakehouse. С помощью MLflow 3.0 в Azure Databricks можно:

  • Централизованно отслеживайте и анализируйте производительность моделей, приложений ИИ и агентов во всех средах, от интерактивных запросов в записной книжке разработки через рабочий пакет или развертывание в режиме реального времени.

    Пользовательский интерфейс отслеживания моделей.

  • Оркестрируйте рабочие процессы оценки и развертывания с помощью каталога Unity и доступа к комплексным журналам состояния для каждой версии модели, приложения ИИ или агента.

    Сложное задание развертывания, включающее поэтапное развертывание и коллекцию метрик.

  • Просмотр и доступ к метрикам и параметрам модели на странице версии модели в каталоге Unity и из REST API.

    Страница версии модели в каталоге Unity с метриками из нескольких запусков.

  • Аннотируйте запросы и ответы (трассировки) для всех ваших генеративных ИИ приложений и агентов, что позволяет экспертам и автоматизированным методам (например, LLM-as-a-judge) предоставлять богатые отзывы. Эти отзывы можно использовать для оценки и сравнения производительности версий приложений и создания наборов данных для улучшения качества.

    Вкладка трассировки страницы модели с подробными сведениями о нескольких трассировках.

Эти возможности облегчают и упорядочивают оценку, развертывание, отладку и мониторинг всех ваших инициатив в области ИИ.

MLflow 3.0 также содержит основные понятия ведения журнала моделей и заданий развертывания.

  • Зарегистрированные модели помогают отслеживать прогресс модели в течение всего её цикла. При регистрации модели с помощью log_model() создается объект LoggedModel, который сохраняется в течение всего жизненного цикла модели в разных средах и запусках, а также содержит ссылки на артефакты, такие как метаданные, метрики, параметры и код, используемый для создания модели. Вы можете использовать зарегистрированную модель для сравнения моделей между собой, поиска наиболее эффективной модели и отслеживания сведений во время отладки.
  • Задания на развертывание используют Databricks Jobs для управления жизненным циклом модели, включая такие этапы, как оценка, утверждение и развертывание. Эти рабочие процессы модели управляются каталогом Unity, и все события сохраняются в журнале действий, доступном на странице версии модели в каталоге Unity.

Ознакомьтесь со следующими статьями, чтобы установить и приступить к работе с MLflow 3.0.

MLflow под управлением Databricks

Databricks предоставляет полностью управляемую и размещенную версию MLflow, опираясь на интерфейс с открытым кодом, чтобы сделать его более надежным и масштабируемым для корпоративного использования.

На следующей схеме показано, как Databricks интегрируется с MLflow для обучения и развертывания моделей машинного обучения.

MLflow интегрируется с Databricks для управления жизненным циклом машинного обучения.

Управляемый Databricks MLflow основан на каталоге Unity и Cloud Data Lake для объединения всех ваших данных и ресурсов ИИ в жизненном цикле машинного обучения:

  1. хранилище компонентов: автоматический поиск функций Databricks упрощает интеграцию и снижает ошибки.
  2. Обучение моделей: использовать мозаичный ИИ для обучения моделей или точной настройки базовых моделей.
  3. отслеживание: MLflow отслеживает обучение с помощью регистрации параметров, метрик и артефактов, для оценки и сравнения производительности модели.
  4. Реестр моделей: Реестр моделей MLflow, интегрированный с Каталогом Unity, централизует модели ИИ и артефакты.
  5. Развертывание моделей: Служба развертывания моделей Mosaic AI разворачивает модели на конечной точке REST API.
  6. Мониторинг : Mosaic AI Model Serving автоматически фиксирует запросы и ответы для мониторинга и отладки моделей. MLflow расширяет эти данные данными трассировки для каждого запроса.

Обучение модели

Модели MLflow находятся в основе разработки ИИ и машинного обучения в Databricks. Модели MLflow — это стандартный формат для упаковки моделей машинного обучения и агентов искусственного интеллекта. Стандартизованный формат гарантирует, что модели и агенты могут использоваться подчиненными инструментами и рабочими процессами в Databricks.

Databricks предоставляет функции для обучения различных типов моделей машинного обучения.

Отслеживание экспериментов

Databricks использует эксперименты MLflow как организационные единицы, чтобы отслеживать вашу работу при разработке моделей.

Отслеживание экспериментов позволяет регистрировать параметры, метрики, артефакты и версии кода во время обучения машинного обучения и разработки агента. Упорядочение журналов в эксперименты и запуски позволяет сравнивать модели, анализировать производительность и выполнять итерацию проще.

Реестр моделей с каталогом Unity

Реестр моделей MLflow — это централизованный репозиторий моделей, пользовательский интерфейс и набор API для управления процессом развертывания модели.

Databricks интегрирует реестр моделей с каталогом Unity, чтобы обеспечить централизованное управление моделями. Интеграция каталога Unity позволяет получать доступ к моделям в рабочих областях, отслеживать происхождение моделей и обнаруживать модели для повторного использования.

Обслуживание моделей

Служба моделей Databricks тесно интегрирована с реестром моделей MLflow и предоставляет унифицированный, масштабируемый интерфейс для развертывания, управления и запроса моделей ИИ. Каждая модель, которую вы обслуживаете, доступна как REST API, который можно интегрировать в веб-приложения или клиентские приложения.

Хотя они являются отдельными компонентами, служба моделей сильно зависит от реестра моделей MLflow для обработки управления версиями моделей, управления зависимостями, проверки и управления.

Разработка и оценка агента ИИ

Для разработки агента ИИ Databricks интегрируется с MLflow аналогично разработке моделей машинного обучения. Однако существует несколько ключевых различий:

  • Чтобы создать агентов ИИ в Databricks, используйте Mosaic AI Agent Framework, который использует MLflow для отслеживания кода агентов, метрик производительности и трассировок агентов.
  • Чтобы оценить агентов в Databricks, используйте оценку ИИ-агентов Mosaic, которая использует MLflow для отслеживания результатов оценки.
  • Ведение журнала MLflow для агентов также включает функцию трассировки MLflow. Функция отслеживания MLflow позволяет получить подробные сведения о выполнении сервисов вашего агента. Трассировка записывает входные данные, выходные данные и метаданные, связанные с каждым промежуточным шагом запроса, что позволяет быстро найти источник неожиданного поведения в агентах.

На следующей схеме показано, как Databricks интегрируется с MLflow для создания и развертывания агентов ИИ.

MLflow интегрируется с Databricks для управления жизненным циклом приложения генеративного ИИ.

Управляемый MLflow от Databricks, построенный на Unity Catalog и Cloud Data Lake, объединяет все ваши данные и ИИ-ресурсы в жизненном цикле генерирующих приложений ИИ.

  1. Хранилище векторных функций Vector &: автоматизированный поиск векторов и функций Databricks упрощает интеграцию и снижает вероятность ошибок.
  2. создать и оценить агентов ИИ: Платформа Mosaic AI Agent и Оценка Агента помогают создавать агентов и оценивать их выходные данные.
  3. отслеживание & мониторинг: трассировка MLflow записывает подробные сведения о выполнении агента для повышения наблюдаемости генеративного ИИ.
  4. Реестр моделей: Реестр моделей MLflow, интегрированный с Каталогом Unity, централизует модели ИИ и артефакты.
  5. Развертывание моделей: Служба развертывания моделей Mosaic AI разворачивает модели на конечной точке REST API.
  6. Мониторинг: MLflow автоматически записывает запросы и ответы для мониторинга и отладки моделей.

Функции MLflow с открытым исходным кодом по сравнению с управляемыми Databricks.

Для получения общей информации о концепциях MLflow, API и функциях, используемых как в версиях с открытым исходным кодом, так и в управляемых Databricks версиях, обратитесь к документации MLflow. Информацию о функциях, эксклюзивных для MLflow под управлением Databricks, см. в документации Databricks.

В следующей таблице перечислены основные различия между MLflow с открытым исходным кодом и управляемым MLflow Databricks и содержатся ссылки на документацию, которые помогут вам узнать больше:

Особенность Доступность в MLflow с открытым исходным кодом Доступность на платформе MLflow, управляемой Databricks
Безопасность Пользователь должен предоставить свой собственный уровень управления безопасностью Корпоративная безопасность Databricks
Аварийное восстановление Недоступный Аварийное восстановление Databricks
Отслеживание экспериментов API отслеживания MLflow API отслеживания MLflow, интегрированное с передовой системой отслеживания экспериментов Databricks
Реестр моделей реестр моделей MLflow реестр моделей MLflow, интегрированный с каталогом Databricks Unity
Интеграция каталога Unity Интеграция открытого исходного кода с каталогом Unity Каталог Unity от Databricks
Развертывание модели Пользовательские интеграции с внешними решениями обслуживания (SageMaker, Kubernetes, службы контейнеров и т. д.) Сервис моделей Databricks и внешние решения для предоставления услуг
Агенты ИИ разработка LLM с использованием MLflow Разработка MLflow LLM, интегрированная с Mosaic AI Agent Framework и Agent Evaluation
Шифрование Недоступный Шифрование с использованием управляемых клиентом ключей