Обработка и анализ данных и машинное обучение с помощью Azure Databricks

Azure Databricks
Azure Data Lake Storage
Служба Azure Kubernetes (AKS)
Машинное обучение Azure

Идеи решения

Эта статья является идеей решения. Если вы хотите расширить содержимое с дополнительными сведениями, такими как потенциальные варианты использования, альтернативные службы, рекомендации по реализации или рекомендации по ценам, сообщите нам, предоставив отзыв GitHub.

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

Архитектура

Architecture diagram showing how Azure Databricks works with data storage services to refine and analyze data and make it available for other services.

На схеме содержится три серых прямоугольника: один помеченный процесс, одна метка "Служить" и "Магазин с метками". Прямоугольники процесса и обслуживания находятся рядом друг с другом в верхней части схемы. Прямоугольник "Служить" содержит белое поле со значками для Машинное обучение и Служба Azure Kubernetes. Еще один белый прямоугольник застраивает прямоугольники процесса и обслуживания. Он содержит значки для Azure Databricks и MLflow. Стрелка указывает от этого поля к белому прямоугольнику в прямоугольнике "Служить". Под прямоугольником процесса находится прямоугольник Магазина. Он содержит белое поле со значками для Data Lake служба хранилища, Delta Lake и трех таблиц баз данных с метками Бронза, Silver и Gold. Три строки соединяют прямоугольники процесса и хранилища со стрелками в каждой части каждой строки.

Скачайте файл Visio для этой архитектуры.

Решение хранит, обрабатывает и обслуживает данные:

Поток данных

Store (Сохранить)

Data Lake служба хранилища сохраняет данные в формате Delta Lake. Delta Lake формирует курированный слой озера данных. Архитектура медальона упорядочивает данные на три уровня:

  • Бронзовые таблицы содержат необработанные данные.
  • Серебряные таблицы содержат чистые отфильтрованные данные.
  • В таблицах Gold хранятся агрегированные данные, готовые к аналитике и отчетам.

Процесс

  • Код на различных языках, платформах и библиотеках подготавливает, обновляет и очищает необработанные данные (1). Возможности программирования включают Python, R, SQL, Spark, Pandas и Koalas.

  • Azure Databricks выполняет рабочие нагрузки для обработки и анализа данных. Эта платформа также создает и обучает модели машинного обучения (2). Azure Databricks использует предварительно установленные оптимизированные библиотеки. Примеры: scikit-learn, TensorFlow, PyTorch и XGBoost.

  • Отслеживание MLflow записывает эксперименты машинного обучения, запуски модели и результаты (3). Когда лучшая модель готова к рабочей среде, Azure Databricks развертывает ее в репозитории моделей MLflow. Этот централизованный реестр хранит сведения о рабочих моделях. Реестр также предоставляет модели другим компонентам:

    • Конвейеры Spark и Python могут получать модели. Эти конвейеры обрабатывают пакетные рабочие нагрузки или потоковые процессы ETL.
    • REST API предоставляют доступ к моделям во многих целях. Примеры включают тестирование и интерактивную оценку в мобильных и веб-приложениях.

Server

Azure Databricks может развертывать модели в других службах, таких как Машинное обучение и AKS (4).

Компоненты

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

    • Вычислительные кластеры с одним узлом обрабатывают небольшие наборы данных и запуски одной модели.
    • Для больших наборов данных доступны вычислительные кластеры с несколькими узлами или кластеры графической обработки (GPU). Эти кластеры используют библиотеки и платформы, такие как HorovodRunner и Hyperopt для параллельных запусков модели.
  • Data Lake Storage — это масштабируемое и защищенное озеро данных для рабочих нагрузок аналитических данных с высокой производительностью. Эта служба управляет несколькими петабайтами информации, поддерживая сотни гигабит пропускной способности. Данные могут иметь следующие характеристики:

    • Быть структурированным, полуструктурированным или неструктурированным.
    • Из нескольких разнородных источников, таких как журналы, файлы и носители.
    • Быть статическим, из пакетов или потоковой передачи.
  • Delta Lake — это слой хранения, использующий открытый формат файла. Этот уровень выполняется поверх облачного хранилища, например Data Lake служба хранилища. Delta Lake оптимизирован для преобразования и очистки пакетных и потоковых данных. Эта платформа поддерживает следующие функции и функции:

    • Управление версиями данных и откат.
    • Атомарность, согласованность, изоляция и устойчивость транзакций (ACID) для надежности.
    • Согласованный стандарт подготовки данных, обучения модели и обслуживания моделей.
    • Перемещение времени для согласованных моментальных снимков исходных данных. Специалисты по обработке и анализу данных могут обучать модели на моментальных снимках вместо создания отдельных копий.
  • MLflow — это платформа с открытым исходным кодом для жизненного цикла машинного обучения. Компоненты MLflow отслеживают модели машинного обучения во время обучения и выполнения. Хранимая информация включает код, данные, сведения о конфигурации и результаты. MLflow также сохраняет модели и загружает их в рабочую среду. Так как MLflow использует открытые платформы, различные службы, приложения, платформы и средства могут использовать модели.

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

  • AKS — это высокодоступная, защищенная и полностью управляемая служба Kubernetes. AKS упрощает развертывание контейнерных приложений и управление ими.

Подробности сценария

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

  • Отслеживание экспериментов.
  • Воспроизведение результатов.
  • Развертывание моделей машинного обучения в рабочей среде.

В этой статье описывается решение для согласованной надежной платформы машинного обучения. Azure Databricks формирует основу архитектуры. Уровень хранилища Delta Lake и платформа машинного обучения также играют важную роль. Эти компоненты легко интегрируются с другими службами, такими как Azure Data Lake служба хранилища, Машинное обучение Azure и Служба Azure Kubernetes (AKS).

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

  • Простой: открытое озеро данных упрощает архитектуру. Озеро данных содержит курированный слой Delta Lake. Этот уровень предоставляет доступ к данным в формате с открытым кодом.

  • Open: Решение поддерживает открытый исходный код, открытые стандарты и открытые платформы. Этот подход сводит к минимуму потребность в будущих обновлениях. Azure Databricks и Машинное обучение изначально поддерживают MLflow и Delta Lake. Вместе эти компоненты обеспечивают ведущие в отрасли операции машинного обучения (MLOps) или DevOps для машинного обучения. Широкий спектр средств развертывания интегрируется с стандартизированным форматом модели решения.

  • Совместная работа: команды по обработке и анализу данных и MLOps работают вместе с этим решением. Эти команды используют отслеживание MLflow для записи и запроса экспериментов. Команды также развертывают модели в центральном реестре моделей MLflow. Затем инженеры данных используют развернутые модели в процессах приема данных, процессах извлечения и загрузки преобразования (ETL) и конвейерах потоковой передачи.

Потенциальные варианты использования

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

Помимо поставщиков энергии, это решение может воспользоваться любой организацией, которая:

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

Примеры включают организации в:

  • Розничная торговля и электронная коммерция.
  • Банковские услуги и финансы.
  • Здравоохранение и науки о жизни.
  • Автомобильные отрасли и производство.

Следующие шаги

  • AGL Energy создает стандартизованную платформу для тысяч параллельных моделей. Платформа обеспечивает быстрое и экономичное обучение, развертывание и управление жизненным циклом для моделей.
  • Open Grid Europe (OGE) использует модели искусственного интеллекта для мониторинга газовых трубопроводов. OGE использует Azure Databricks и MLflow для разработки моделей.
  • Скандинавская авиакомпания (SAS) использует Azure Databricks на этапе совместной работы. Авиакомпания также использует Машинное обучение для разработки прогнозных моделей. Определив шаблоны в данных компании, модели улучшают повседневные операции.