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