Комплексное управление жизненным циклом машинного обучения с помощью MLflow на блоках данных
Databricks — это облачная платформа обработки данных, обработки данных и машинного обучения, основанная на архитектуре Lakehouse. Это новая архитектура управления данными, сочетающая в себе преимущества озер и хранилищ данных.
Управляемый MLflow — это служба, построенная на платформе MLflow с открытым исходным кодом, разработанной Databricks. Сервис позволяет управлять всем жизненным циклом машинного обучения с надежностью, безопасностью и масштабируемостью, подходящими для корпоративных проектов. Он предоставляет интегрированную среду для отслеживания и защиты обучения модели машинного обучения и проектов машинного обучения, работающих в рабочей среде. Давайте углубимся в тему.
официальная документация:https://docs.databricks.com/mlflow/index.html
Преимущества:
- Разработка моделей.Ускорьте и упростите управление жизненным циклом машинного обучения с помощью стандартизированной платформы для разработки готовых к производству моделей машинного обучения. С помощью управляемых рецептов MLflow вы можете запускать проекты машинного обучения, с легкостью выполнять быстрые итерации и поставлять высококачественные модели. модели для серийного производства.
- Отслеживание экспериментов. Проводите эксперименты с любой библиотекой машинного обучения, фреймворком или языком и автоматически отслеживайте параметры, показатели, код и модели каждого эксперимента. Используя MLflow в Databricks, вы можете безопасно обмениваться результатами экспериментов, управлять ими и сравнивать их с соответствующими артефактами и версиями кода.
- Управление моделями.Используйте единое центральное место для обнаружения моделей машинного обучения и обмена ими, совместно работайте над их переходом от экспериментов к онлайн-тестированию и производству, интегрируйте с рабочими процессами утверждения и управления и конвейерами непрерывной интеграции и непрерывной интеграции, а также отслеживайте развертывание машинного обучения и их производительность. Реестр моделей MLflow облегчает обмен опытом и знаниями, а также помогает вам сохранять контроль.
- Развертывание модели. Быстрое развертывание производственных моделей для пакетного вывода на Apache Spark™ или в виде REST API с помощью встроенной интеграции с контейнерами Docker, Azure ML или Amazon SageMaker. С помощью Managed MLflow на Databricks вы можете эксплуатировать и отслеживать производственные модели с помощью планировщика заданий Databricks и автоматически управляемых кластеров для масштабирования в зависимости от потребностей бизнеса.
1. Учетная запись Databricks
Поскольку версия сообщества блоков данных бесплатна, каждый может зарегистрироваться сегодня, и это лучший способ начать работу с блоками данных. Azure, которая поставляется с платной версией после окончания пробного периода (14 дней). Таким образом, мы можем создать учетную запись databricks в облаке.
Databricks на AWS позволяет хранить все данные S3 и управлять ими на простой открытой платформе Lakehouse, которая сочетает в себе лучшее из хранилищ данных и озер данных, чтобы вы могли унифицировать все свои аналитические и ИИ-рабочие нагрузки.
Databricks в Google Cloud обеспечивает преимущества открытого исходного кода в сочетании с управляемым портфелем облачной аналитики и продуктов искусственного интеллекта. Это дает клиентам выбор и гибкость для управления инфраструктурой и доступа к данным с помощью необходимых им инструментов.
Azure Databricks предоставляет последние версии Apache Spark и позволяет легко интегрироваться с библиотеками с открытым исходным кодом. Разворачивайте кластеры и быстро стройте в полностью управляемой среде Apache Spark с глобальным масштабом и доступностью Azure.
2. Записная книжка Databricks и рабочая область
Как только мы войдем в версию сообщества databricks, появится панель ниже, из которой мы можем создать блокнот и запустить несколько экспериментов.
Используйте «Создать» в левой строке меню, чтобы создать блокнот. После того, как мы откроем или создадим блокнот, он должен быть прикреплен к кластеру, чтобы начать его запуск, и его можно просмотреть в правом верхнем углу следующим образом:
Затем его можно проверить с помощью интегрированного сервиса Mlflow. Откройте набор запущенных экспериментов следующим образом:
На изображении выше показаны все эксперименты и их детали, такие как гиперпараметры, используемые на каждом этапе проверки, тест AUC и т. д.
3. Детали эксперимента MLflow
мы можем просмотреть и сравнить запуски на странице сведений об эксперименте MLflow, доступной через значок внешней ссылки в верхней части боковой панели Эксперимент.
На странице сведений об эксперименте нажмите значок "+", чтобы развернуть родительский запуск, затем выберите все запуски, кроме родительского, и нажмите Сравнить. Вы можете визуализировать различные прогоны, используя график с параллельными координатами, который показывает влияние различных значений параметров на метрику.
Отсюда мы можем сравнить разные тренировочные прогоны и визуализировать их, чтобы лучше понять.
4. Сервировочные модели
Модели обслуживания могут быть сложными, поскольку требуют запуска отдельной системы обслуживания, такой как Kubernetes, к которой разработчики машинного обучения могут не иметь доступа. Более того, разработчики должны быть осторожны при обновлении версий используемых там моделей по мере разработки новых моделей и перенаправления запросов в нужную модель.
Databricks MLflow Model Serving решает эту проблему за счет интеграции с реестром моделей. Реестр моделей может хранить модели из всех библиотек машинного обучения (TensorFlow, scikit-learn и т. д.) и позволяет хранить несколько версий модели, просматривать их и продвигать на разные этапы жизненного цикла, такие как подготовка и производство.
Подробнее: https://www.databricks.com/blog/2020/06/25/announcing-mlflow-model-serving-on-databricks.html
когда мы завершим или захотим просмотреть детали моделей MLflow , нажмите на конкретную модель в экспериментальном интерфейсе, откроется страница, как показано ниже:
Сделайте прогноз с помощью искры и pandas df. Мы также можем зарегистрировать его в реестре моделей для контроля версий и развернуть в качестве конечной точки REST для обслуживания в реальном времени.
Реестр моделей MLflow — это центр совместной работы, где команды могут обмениваться моделями ML, работать вместе от экспериментов до онлайн-тестирования и производства, интегрироваться с рабочими процессами утверждения и управления, а также отслеживать развертывания ML и их производительность.
Заключение
Эта статья поможет вам начать работу с блоками данных и узнать, как мы можем использовать интегрированную службу MLflow из блоков данных. Отслеживание, управление и оптимизация моделей — медленный процесс. Продолжайте экспериментировать с MLFlow, со временем вы станете лучше управлять моделями.
Вот код записной книжки с набором данных, который мы можем использовать для начала работы с блоками данных и MLflow. мы также можем загрузить эту записную книжку для быстрого старта с databricks. И установить необходимые пакеты рекомендуется при первом использовании.
Источник: сообщество Databricks.
Отслеживайте обучение машинному обучению без проблем!
Спасибо за прочтение
Это все на данный момент. До скорого! Заботиться. Если вы поддержите мою работу, не забудьте хлопнуть в ладоши. Если у вас есть какие-либо вопросы, дайте мне знать в разделе комментариев.
Свяжитесь со мной в Linkedin
Найди меня на Github