Как Databricks поддерживает CI/CD для машинного обучения?
CI/CD (непрерывная интеграция и непрерывная доставка) — это автоматизированный процесс разработки, развертывания, мониторинга и обслуживания приложений. Автоматив сборку, тестирование и развертывание кода, команды разработчиков могут предоставлять выпуски чаще и надежно, чем процессы вручную, которые по-прежнему распространены во многих командах по проектированию и обработке и анализу данных. CI/CD для машинного обучения объединяет методы MLOps, DataOps, ModelOps и DevOps.
В этой статье описывается, как Databricks поддерживает CI/CD для решений машинного обучения. В приложениях машинного обучения ci/CD важно не только для ресурсов кода, но и применяется к конвейерам данных, включая входные данные и результаты, созданные моделью.
Элементы машинного обучения, требующие CI/CD
Одной из задач разработки машинного обучения является то, что разные команды имеют разные части процесса. Teams может полагаться на различные инструменты и иметь разные расписания выпуска. Azure Databricks предоставляет единую единую платформу данных и машинного обучения с интегрированными средствами для повышения эффективности команд и обеспечения согласованности и повторяемости конвейеров данных и машинного обучения.
Как правило, для задач машинного обучения необходимо отслеживать следующие действия в автоматизированном рабочем процессе CI/CD:
- Обучающие данные, включая качество данных, изменения схемы и изменения распределения.
- Конвейеры входных данных.
- Код для обучения, проверки и обслуживания модели.
- Прогнозирование модели и производительность.
Интеграция Databricks в процессы CI/CD
MLOps, DataOps, ModelOps и DevOps относятся к интеграции процессов разработки с "операциями", что делает процессы и инфраструктуру предсказуемыми и надежными. В этом наборе статей описывается интеграция принципов операций (ops) в рабочие процессы машинного обучения на платформе Databricks.
Databricks включает все компоненты, необходимые для жизненного цикла машинного обучения, включая средства для создания "конфигурации в виде кода", чтобы обеспечить воспроизводимость и "инфраструктуру в виде кода" для автоматизации подготовки облачных служб. Она также включает в себя службы ведения журнала и оповещений, помогающие обнаруживать и устранять проблемы при их возникновении.
DataOps: надежные и безопасные данные
Хорошие модели машинного обучения зависят от надежных конвейеров данных и инфраструктуры. С помощью Платформы аналитики данных Databricks весь конвейер данных от приема данных к выходным данным из обслуживаемой модели находится на одной платформе и использует тот же набор инструментов, который упрощает производительность, воспроизводимость, общий доступ и устранение неполадок.
Задачи и средства DataOps в Databricks
В таблице перечислены распространенные задачи и средства DataOps в Databricks:
Задача DataOps | Инструмент в Databricks |
---|---|
Прием и преобразование данных | Автозагрузчик и Apache Spark |
Отслеживание изменений данных, включая управление версиями и происхождение данных | Разностные таблицы |
Создание, управление и мониторинг конвейеров обработки данных | Разностные динамические таблицы |
Обеспечение безопасности и управления данными | Каталог Unity |
Анализ аналитических данных и панели мониторинга | Записные книжки Databricks SQL, панели мониторинга и Databricks |
Общее кодирование | Записные книжки Databricks SQL и Databricks |
Планирование конвейеров данных | Задания Databricks |
Автоматизация общих рабочих процессов | Задания Databricks |
Создание, хранение, управление и обнаружение функций для обучения модели | Хранилище признаков в Databricks |
Мониторинг данных | Мониторинг Lakehouse |
ModelOps: разработка моделей и жизненный цикл
Для разработки модели требуется ряд экспериментов и способ отслеживания и сравнения условий и результатов этих экспериментов. Платформа аналитики данных Databricks включает MLflow для отслеживания разработки моделей и реестра моделей MLflow для управления жизненным циклом модели, включая промежуточное, обслуживание и хранение артефактов модели.
После выпуска модели в рабочую среду многие вещи могут измениться, которые могут повлиять на ее производительность. Помимо мониторинга производительности прогнозирования модели, необходимо также отслеживать входные данные для изменений качества или статистических характеристик, которые могут потребовать повторного обучения модели.
Задачи и средства ModelOps в Databricks
В таблице перечислены распространенные задачи и средства ModelOps, предоставляемые Databricks:
Задача ModelOps | Инструмент в Databricks |
---|---|
Отслеживание разработки модели | Отслеживание моделей MLflow |
Управление жизненным циклом модели | Модели в каталоге Unity |
Управление версиями кода модели и общий доступ | Папки Databricks Git |
Разработка модели без кода | Мозаика AutoML |
Мониторинг моделей | Мониторинг Lakehouse |
DevOps: производство и автоматизация
Платформа Databricks поддерживает модели машинного обучения в рабочей среде следующим образом:
- Сквозное происхождение данных и моделей: от моделей в рабочей среде до источника необработанных данных на той же платформе.
- Обслуживание модели на уровне рабочей среды: автоматически масштабируется на основе бизнес-потребностей.
- Задания. Автоматизация заданий и создание запланированных рабочих процессов машинного обучения.
- Папки Git: управление версиями кода и совместное использование из рабочей области, также помогает командам следовать рекомендациям по проектированию программного обеспечения.
- Поставщик Databricks Terraform: автоматизирует инфраструктуру развертывания в облаках для заданий вывода машинного обучения, обслуживания конечных точек и заданий признаков.
Обслуживание модели
Для развертывания моделей в рабочей среде MLflow значительно упрощает процесс, предоставляя одно щелчком развертывание в качестве пакетного задания для больших объемов данных или в качестве конечной точки REST в кластере автомасштабирования. Интеграция Хранилища компонентов Databricks с MLflow также обеспечивает согласованность функций для обучения и обслуживания; Кроме того, модели MLflow могут автоматически искать функции из Хранилища компонентов, даже для низкой задержки в сети.
Платформа Databricks поддерживает множество вариантов развертывания моделей:
- Код и контейнеры.
- Пакетная служба.
- Низкая задержка в сети.
- На устройстве или пограничной службе.
- Например, в нескольких облаках обучайте модель в одном облаке и развертывайте ее с помощью другого.
Дополнительные сведения см. в разделе "Мозаичная модель ИИ", обслуживающая модель.
Работы
Задания Databricks позволяют автоматизировать и планировать любую рабочую нагрузку от ETL до машинного обучения. Databricks также поддерживает интеграцию с популярными сторонними оркестраторами, такими как Airflow.
Папки Git
Платформа Databricks включает Git в рабочую область, чтобы помочь командам следовать рекомендациям по проектированию программного обеспечения, выполняя операции Git через пользовательский интерфейс. Администраторы и инженеры DevOps могут использовать API для настройки автоматизации с помощью любимых средств CI/CD. Databricks поддерживает любое развертывание Git, включая частные сети.
Дополнительные сведения о рекомендациях по разработке кода с помощью папок Databricks Git см . в рабочих процессах CI/CD с интеграцией Git и папками Databricks Git и использование CI/CD. Эти методы вместе с REST API Databricks позволяют создавать автоматизированные процессы развертывания с помощью GitHub Actions, конвейеров Azure DevOps или заданий Jenkins.
Каталог Unity для управления и безопасности
Платформа Databricks включает каталог Unity, который позволяет администраторам настраивать точное управление доступом, политики безопасности и управление для всех данных и ресурсов ИИ в Databricks.