Основные сведения о целевом объекте вычислений Kubernetes в Машинном обучении Azure

ОБЛАСТЬ ПРИМЕНЕНИЯ:Расширение машинного обучения Azure CLI версии 2 (current)Python SDK azure-ai-ml версии 2 (current)

В Машинное обучение Azure CLI/Python SDK версии 2 Машинное обучение Azure появился новый целевой объект вычислений Kubernetes. Вы можете легко включить существующий кластер Служба Azure Kubernetes (AKS) или кластер Kubernetes с поддержкой Azure Arc (Arc Kubernetes), чтобы стать целевым объектом вычислений Kubernetes в Машинное обучение Azure и использовать его для обучения или развертывания моделей.

Схема, демонстрирующая, как Машинное обучение Azure подключается к Kubernetes.

В этой статье раскрываются следующие темы:

  • Как это работает
  • Сценарии использования
  • Рекомендуемые лучшие методики
  • Целевые объекты KubernetesCompute и AksCompute (устаревший)

Как это работает

Машинное обучение Azure вычислительные ресурсы Kubernetes поддерживают два типа кластера Kubernetes:

  • Кластер AKS в Azure. Используя самостоятельно управляемый кластер AKS в Azure, вы можете получить средства безопасности и элементы управления для удовлетворения требований к соответствию и обеспечения гибкости управления рабочей нагрузкой команд ML.
  • Кластер Arc Kubernetes за пределами Azure. С помощью кластера Kubernetes с Arc можно обучать и развертывать модели в любой инфраструктуре в локальной или пограничной средах, а также в нескольких облаках.

При простом развертывании расширения кластера в кластере AKS или Arc Kubernetes кластер Kubernetes легко поддерживается в Машинное обучение Azure для выполнения рабочей нагрузки обучения или вывода. Легко включить и использовать существующий кластер Kubernetes для Машинное обучение Azure рабочей нагрузки, выполнив следующие простые действия.

  1. Подготовьте кластер Службы Azure Kubernetes или кластер Arc Kubernetes.
  2. Разверните расширение Машинное обучение Azure.
  3. Подключите кластер Kubernetes к рабочей области Машинное обучение Azure.
  4. Используйте целевой объект вычислений Kubernetes из CLI версии 2, пакета SDK версии 2 и пользовательского интерфейса Студии.

Команда, отвечающая за ИТ-операции. Группа ИТ-операций отвечает за первые три шага: подготовка кластера AKS или Arc Kubernetes, развертывание расширения кластера Машинное обучение Azure и подключение кластера Kubernetes к Машинное обучение Azure рабочей области. В дополнение к этим важным этапам настройки вычислений команда, отвечающая за ИТ-операции, также использует знакомые инструменты, такие как Azure CLI или kubectl, для решения следующих задач для команды по обработке и анализу данных:

  • Конфигурации сети и безопасности, такие как подключение к исходящему прокси-серверу или конфигурация брандмауэра Azure, настройка маршрутизатора вывода (azureml-fe), завершение SSL/TLS и конфигурация виртуальной сети.
  • Создавайте типы экземпляров и управляйте ими для различных сценариев рабочей нагрузки ML и добивайтесь эффективного использования вычислительных ресурсов.
  • Устраняйте неполадки с рабочей нагрузкой, связанные с кластером Kubernetes.

Команда по обработке и анализу данных. После завершения настройки вычислений и создания целевых объектов вычислений команда обработки и анализа данных может обнаружить список доступных целевых объектов вычислений и типов экземпляров в Машинное обучение Azure рабочей области. Эти ресурсы вычислений можно использовать для рабочей нагрузки обучения или вывода. Обработка и анализ данных указывает имя целевого объекта вычислений и имя типа экземпляра с помощью предпочитаемых средств или API. Например, эти имена могут быть Машинное обучение Azure CLI версии 2, пакет SDK для Python версии 2 или пользовательский интерфейс Студии.

Сценарии использования Kubernetes

Кластер Arc Kubernetes позволяет создавать, обучать и развертывать модели в любой локальной инфраструктуре и нескольких облаках с помощью Kubernetes. Это открывает некоторые новые возможности, ранее невозможные в среде параметров облака. В следующей таблице приведена сводка по новым шаблонам использования, включенным Машинное обучение Azure вычислений Kubernetes:

Шаблон использования Расположение данных Мотивация Реализация инфраструктуры и Машинное обучение Azure
Обучение модели в облаке, развертывание модели в локальной среде Облако Используйте облачные вычисления. Либо из-за потребностей в эластичных вычислениях, либо из-за специального оборудования, такого как GPU.
Модель должна быть развернута в локальной среде из-за требований к безопасности, соответствию или задержке.
1. Управляемые вычисления Azure в облаке.
2. Локально управляемая клиентом среда Kubernetes.
3. Полностью автоматизированные MLOps в гибридном режиме, включая этапы обучения и развертывания модели, обеспечивающие плавный переход из облака в локальную среду и наоборот.
4. Повторяемый процесс с правильным отслеживанием всех ресурсов. При необходимости модель переобучается с последующим обновлением развертывания.
Обучение локальной и облачной модели, развертывание как в облаке, так и в локальной среде Облако Организации, желающие объединить локальные инвестиции с масштабируемостью облака. Перенос облачных и локальных вычислений под одной панелью стекла. Один источник истины для данных находится в облаке, можно реплика локальной среде (т. е. лениво при использовании или упреждающем использовании). Основное использование облачных вычислений заключается в том, что локальные ресурсы недоступны (в использовании, обслуживании) или не имеют конкретных требований к оборудованию (GPU). 1. Управляемые вычисления Azure в облаке.
2. Локально управляемая клиентом среда Kubernetes.
3. Полностью автоматизированные MLOps в гибридном режиме, включая этапы обучения и развертывания модели, обеспечивающие плавный переход из облака в локальную среду и наоборот.
4. Повторяемый процесс с правильным отслеживанием всех ресурсов. При необходимости модель переобучается с последующим обновлением развертывания.
Обучение модели в локальной среде, развертывание модели в облаке Локально Данные должны оставаться в локальной среде из-за требований к расположению данных.
Развертывание модели в облаке для получения глобального доступа к службам или обеспечения эластичности вычислений для масштабирования и пропускной способности.
1. Управляемые вычисления Azure в облаке.
2. Локально управляемая клиентом среда Kubernetes.
3. Полностью автоматизированные MLOps в гибридном режиме, включая этапы обучения и развертывания модели, обеспечивающие плавный переход из облака в локальную среду и наоборот.
4. Повторяемый процесс с правильным отслеживанием всех ресурсов. При необходимости модель переобучается с последующим обновлением развертывания.
Использование собственной службы AKS в Azure Облако Дополнительные средства безопасности и элементы управления.
Машинное обучение с использованием всех частных IP-адресов для предотвращения утечки данных.
1. Кластер AKS за виртуальной сетью Azure.
2. Создайте частные конечные точки в той же виртуальной сети для Машинное обучение Azure рабочей области и связанных с ней ресурсов.
3. Полностью автоматизированный цикл MLOps.
Полный жизненный цикл ML в локальной среде Локально Защита конфиденциальных данных или частных IP-адресов, в том числе моделей ML и кода или скриптов. 1. Исходящее локальное подключение к прокси-серверу.
2. Подключение через Приватный канал Azure Arc и Azure ExpressRoute к ресурсам Azure.
3. Локально управляемая клиентом среда Kubernetes.
4. Полностью автоматизированный цикл MLOps.

Ограничения

KubernetesComputeЦелевой объект в Машинное обучение Azure рабочих нагрузок (обучение и вывод модели) имеет следующие ограничения:

  • Доступность функций предварительной версии в Машинное обучение Azure не гарантируется.
    • Определенное ограничение: модели (включая базовую модель) из каталога моделей и реестра не поддерживаются в сетевых конечных точках Kubernetes.

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

Создание типов экземпляров и управление ими для различных сценариев рабочих нагрузок ML. Каждая рабочая нагрузка ML использует разные объемы вычислительных ресурсов, таких как ЦП или GPU и память. Машинное обучение Azure реализует тип экземпляра в качестве пользовательского определения ресурсов Kubernetes (CRD) со свойствами nodeSelector и запроса ресурсов или ограничения. Благодаря тщательному курируемому списку типов экземпляров команда по ИТ-операциям может ориентироваться на рабочую нагрузку ML в определенных узлах и эффективно управлять использованием вычислительных ресурсов.

Несколько рабочих областей Машинное обучение Azure используют один кластер Kubernetes. Кластер Kubernetes можно подключить несколько раз к одной рабочей области Машинное обучение Azure или разным рабочим областям Машинное обучение Azure, создавая несколько целевых объектов вычислений в одной рабочей области или нескольких рабочих областях. Так как многие клиенты упорядочивают проекты обработки и анализа данных вокруг рабочей области Машинное обучение Azure, несколько проектов обработки и анализа данных теперь могут совместно использовать один кластер Kubernetes. Это значительно сокращает затраты на управление инфраструктурой ML и ИТ.

Изоляция рабочей нагрузки команды или проекта с использованием пространства имен Kubernetes. При присоединении кластера Kubernetes к рабочей области Машинное обучение Azure можно указать пространство имен Kubernetes для целевого объекта вычислений. Все рабочие нагрузки, выполняемые целевым объектом вычислений, помещаются в указанное пространство имен.

Целевые объекты KubernetesCompute и AksCompute (устаревший)

С помощью Машинное обучение Azure CLI/Python SDK версии 1 можно развернуть модели в AKS с помощью целевого объекта AksCompute. И KubernetesCompute, и AksCompute поддерживают интеграцию AKS, но эта поддержка реализована по-разному. В следующей таблице показаны основные различия.

Capabilities Интеграция AKS с AksCompute (устаревший целевой объект) Интеграция AKS с KubernetesCompute
CLI или пакет SDK версии 1 Да Нет
CLI или пакет SDK версии 2 Нет Да
Обучение Нет Да
Вывод в реальном времени Да Да
Пакетный вывод Нет Да
Новые функции вывода в реальном времени Новые функции не разрабатываются Активная стратегия развития

С этими ключевыми различиями и общей эволюцией Машинное обучение Azure для использования пакета SDK/CLI версии 2 Машинное обучение Azure рекомендуется использовать целевой объект вычислений Kubernetes для развертывания моделей, если вы решили использовать AKS для развертывания модели.

Другие ресурсы

Примеры

Все Машинное обучение Azure примеры можно найти в https://github.com/Azure/azureml-examples.git.

Для любого Машинное обучение Azure примера необходимо обновить только имя целевого объекта вычислений до целевого объекта вычислений Kubernetes, а затем все готово.

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