В этом решении показано, как команда машинного обучения может использовать Azure Databricks и Служба Azure Kubernetes для разработки и развертывания машинного обучения в качестве API для прогнозирования вероятности аттестации сотрудников. API можно интегрировать с внешними приложениями, которые используются командой отдела кадров для предоставления дополнительных сведений о вероятности вытеснения для данного сотрудника в организации. Эти сведения можно использовать для сохранения сотрудников с высоким уровнем влияния, которые, скорее всего, покидают организацию, предоставляя персоналу возможность упреждающего стимулирования таких сотрудников оставаться.
Apache®, Apache Ignite, Ignite и логотип пламени являются зарегистрированными товарными знаками или товарными знаками Apache Software Foundation в США и/или других странах. Использование этих меток не подразумевает подтверждения от Apache Software Foundation.
Архитектура
Скачайте файл PowerPoint для всех архитектур.
Рабочий процесс
На высоком уровне этот проект решения отвечает каждому этапу жизненного цикла машинного обучения:
Подготовка данных, которая включает в себя источник, очистку и преобразование данных для обработки и анализа. Данные могут находиться в озере данных или хранилище данных и храниться в хранилище компонентов после его лечения.
Разработка моделей, которая включает основные компоненты процесса разработки моделей, такие как отслеживание экспериментов и регистрация моделей с помощью MLflow.
Развертывание модели, включающее реализацию конвейера непрерывной интеграции и непрерывной доставки (CI/CD) для контейнеризации моделей машинного обучения в виде служб API. Эти службы развертываются в кластерах Azure Kubernetes для пользователей, которые будут использовать.
Мониторинг моделей, который включает мониторинг смещения данных API и данных модели путем анализа телеметрии журналов с помощью Azure Monitor.
После развертывания модели машинного обучения в качестве API для вывода в режиме реального времени разработчики могут легко интегрировать API с внешними приложениями, которые используются внешними командами, например персоналом. Данные телеметрии собираются, когда внешняя команда использует службу моделей. Команда машинного обучения может использовать эту телеметрию для определения необходимости повторного развертывания модели. Такой подход позволяет командам работать независимо и позволяет внешним командам воспользоваться навыками централизованной команды машинного обучения.
Примечание.
Компоненты
Следующие компоненты используются в рамках этой структуры:
Azure Databricks: служба аналитики для больших данных, которая легко используется, упрощает совместную работу и основана на Apache Spark. Azure Databricks предназначен для обработки и анализа данных.
Служба Azure Kubernetes. Служба, которая обеспечивает упрощенное развертывание и управление Kubernetes путем разгрузки операционных расходов в Azure.
Реестр контейнеров Azure: служба частного реестра для управления образами контейнеров и артефактами. Эта служба основана на Docker с открытым исходным кодом.
Azure Data Lake Storage: служба, которая предоставляет масштабируемое хранилище, оптимизированное для больших объемов неструктурированных данных. Data Lake Storage 2-го поколения предлагает семантику файловой системы, безопасность на уровне файлов и масштабирование.
Azure Monitor: комплексное решение для сбора, анализа и выполнения данных телеметрии из рабочих нагрузок.
MLflow: решение с открытым исходным кодом, интегрированное в Databricks для управления жизненным циклом машинного обучения от конца до конца.
Azure Управление API: полностью управляемая служба, которая помогает клиентам публиковать, защищать, преобразовывать, поддерживать и отслеживать API.
Шлюз приложений Azure. Подсистема балансировки нагрузки для веб-трафика, которая позволяет управлять трафиком в веб-приложения.
Azure DevOps или GitHub: решения для реализации методик DevOps для обеспечения автоматизации и соответствия конвейерам разработки и развертывания рабочей нагрузки.
Подробности сценария
Проблема аттестации сотрудников выросла с пандемии COVID-19. Эта тенденция, в которой сотрудники добровольно уволятся из своих рабочих мест в массовом порядке, известной как Великая отставка. Эта проблема также может быть увеличена для определенных отделов в организации, которые могут не иметь выделенных команд, которые выполняют расширенную аналитику, такие как кадровые ресурсы.
В этом примере показана операционная модель централизованного машинного обучения. Это центральная команда, которая отвечает за создание и развертывание моделей машинного обучения для внешних команд в пределах организации. Этот подход полезен, если отделы слишком малы, чтобы поддерживать команду, посвященную машинному обучению, в то время как организация стремится включить расширенную аналитику во все продукты и процессы.
Потенциальные варианты использования
Этот сценарий посвящен созданию модели машинного обучения для устрания сотрудников и интеграции его с внешними приложениями, которые используются командами кадров. Однако проектирование может быть обобщено во многих рабочих нагрузках машинного обучения, созданных централизованным и децентрализованным командами.
Этот обобщенный подход лучше всего подходит для:
Команды машинного обучения, стандартизированные в Databricks для проектирования данных или приложений машинного обучения.
Команды машинного обучения с опытом развертывания рабочих нагрузок Kubernetes и управления ими и предпочтения применения этих навыков для эксплуатации рабочих нагрузок машинного обучения.
Интеграция рабочих нагрузок машинного обучения с внешними приложениями, требующими низкой задержки и прогнозирования интерактивных моделей (например, вывод в режиме реального времени).
Рекомендации
Эти рекомендации реализуют основные принципы платформы Azure Well-Architected Framework, которая является набором руководящих принципов, которые можно использовать для улучшения качества рабочей нагрузки. Дополнительные сведения см. в статье Microsoft Azure Well-Architected Framework.
Перед реализацией этого решения некоторые факторы, которые могут потребоваться включить:
Это решение предназначено для команд, требующих высокой степени настройки и имеющих обширный опыт в развертывании рабочих нагрузок Kubernetes и управлении ими. Если у вашей команды по обработке и анализу данных нет этого опыта, рассмотрите возможность развертывания моделей в другой службе, например Машинное обучение Azure.
Рекомендации по машинному обучению DevOps (MLOps) с Машинное обучение Azure представляют рекомендации и рекомендации по внедрению операций машинного обучения (MLOps) в организации с машинным обучением.
Следуйте рекомендациям и рекомендациям, определенным в Azure Well-Architected Framework , чтобы повысить качество решений Azure.
При реализации конвейера CI/CD можно использовать различные средства, отличные от этого примера, например Azure Pipelines и GitHub Actions. Дополнительные сведения об CI/CD см. в разделе CI/CD для архитектур микрослужб.
Для конкретных бизнес-требований для варианта использования аналитики может потребоваться использование служб или функций, которые не рассматриваются в этой структуре.
Оптимизация затрат
Оптимизация затрат заключается в сокращении ненужных расходов и повышении эффективности работы. Дополнительные сведения см . в контрольном списке проверки конструктора для оптимизации затрат.
Все службы, развернутые в этом решении, используют модель ценообразования на основе потребления. Вы можете использовать калькулятор цен Azure для оценки затрат для конкретного сценария. Дополнительные сведения см. в статье "Оптимизация затрат" в хорошо спроектированной платформе.
Развертывание этого сценария
Проверка концепции этого сценария доступна на сайте GitHub в службе "Хранение сотрудников" с Databricks и Kubernetes.
Скачайте файл PowerPoint для всей архитектуры.
Это доказательство концепции иллюстрирует:
- Обучение модели MLflow для утери сотрудников в Azure Databricks.
- Как упаковать модели в качестве веб-службы с помощью средств с открытым кодом.
- Развертывание в Kubernetes с помощью CI/CD с помощью GitHub Actions.
- Мониторинг смещения данных о производительности и модели API в рабочих областях Azure Monitor и Azure Log Analytics.
Соавторы
Эта статья поддерживается корпорацией Майкрософт. Первоначально он был написан следующими участниками.
Автор субъекта:
- Николас Мур | Архитектор облачных решений
Следующие шаги
Документация по продукту:
- Что такое Azure Databricks?
- Руководство по MLflow
- Служба Azure Kubernetes
- Общие сведения о частных реестрах контейнеров Docker в Azure
- Сведения об управлении API
- What is Azure Application Gateway? (Что собой представляет шлюз приложений Azure)
- Общие сведения об Azure Data Lake Storage 2-го поколения
- Общие сведения о службе Azure Monitor
- Документация по Azure DevOps
- Интеграция Azure и GitHub
Модули Microsoft Learn.
- Выполнение обработки и анализа данных с помощью Azure Databricks
- Создание и эксплуатация решений машинного обучения с помощью Azure Databricks
- Общие сведения о Kubernetes в Azure
- Разработка и развертывание приложений в Kubernetes
- Автоматизация рабочего процесса с помощью GitHub Actions
Связанные ресурсы
Вы также можете найти следующие статьи центра архитектуры: