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

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

Идеи решения

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

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

Архитектура

Схема архитектуры, показывающая, как Azure Databricks работает со службами хранилища данных для уточнения и анализа данных и предоставления им доступа для других служб.

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

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

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

Поток данных

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

Data Lake Storage хранит данные в формате 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 Storage. Delta Lake оптимизирован для преобразования и очистки пакетных и потоковых данных. Эта платформа поддерживает следующие функции и функции:

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

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

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

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

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

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

В этой статье описывается решение для согласованной надежной платформы машинного обучения. Azure Databricks формирует основу архитектуры. Уровень хранилища Delta Lake и платформа машинного обучения также играют важную роль. Эти компоненты легко интегрируются с другими службами, такими как Azure Data Lake Storage, Машинное обучение 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 на этапе совместной работы. Авиакомпания также использует Машинное обучение для разработки прогнозных моделей. Определив шаблоны в данных компании, модели улучшают повседневные операции.