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


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

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

Заметка

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

Что такое MLflow?

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

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

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

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, используйте оценки агента ИИ Мозаики, которая использует MLflow для отслеживания результатов оценки.
  • Отслеживание MLflow для агентов также включает трассировку MLflow. Слежение MLflow позволяет просмотреть подробные сведения о выполнении служб агента. Трассировка записывает входные данные, выходные данные и метаданные, связанные с каждым промежуточным шагом запроса, что позволяет быстро найти источник неожиданного поведения в агентах.

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

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

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

  1. Хранилище векторных функций Vector &: автоматизированный поиск векторов и функций Databricks упрощает интеграцию и снижает вероятность ошибок.
  2. создать и оценить агентов ИИ: Платформа Mosaic AI Agent и Оценка Агента помогают создавать агентов и оценивать их выходные данные.
  3. отслеживание & трассирование: трассировка MLflow записывает подробную информацию о выполнении агента для улучшенной наблюдаемости genAI.
  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
Шифрование Недоступный Шифрование с использованием управляемых клиентом ключей