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

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

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

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

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

Как работает целевой объект вычислений Kubernetes

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

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

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

Ниже приведены основные обязанности в этом процессе:

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

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

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

    • Устранение проблем с рабочей нагрузкой, связанных с кластером Kubernetes.

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

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

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

Шаблон использования Расположение данных Цели и требования Конфигурация сценария
Обучение модели в облаке, развертывание модели в локальной среде Облако Используйте облачные вычисления для поддержки эластичных вычислений или специального оборудования, например GPU.

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

Перенос облачных и локальных вычислений под одной панелью стекла.

Доступ к одному источнику истины для данных в облаке и репликации локальной среды (не только для использования или упреждающего использования).

Включите основное использование облачных вычислений, если локальные ресурсы недоступны (в использовании или обслуживании) или не соответствуют определенным требованиям к оборудованию (GPU).
— Управляемые Azure вычисления в облаке.
Локально управляемые клиентом Kubernetes
— Полностью автоматизированные операции машинного обучения в гибридном режиме, включая шаги обучения и развертывания модели, которые легко переходить между облаком и локальной средой
— Повторяющиеся, все ресурсы правильно отслеживаются, модель переобучена по мере необходимости, развертывание обновляется автоматически после повторного обучения
Обучение модели в локальной среде, развертывание модели в облаке Локально Хранение данных в локальной среде для удовлетворения требований к месту расположения данных.

Разверните модель в облаке для глобального доступа к службе или включите эластичность вычислений для масштабирования и пропускной способности.
— управляемые Azure вычисления в облаке
— локально управляемый клиентом Kubernetes
— Полностью автоматизированные операции машинного обучения в гибридном режиме, включая шаги обучения и развертывания модели, которые легко переходить между облаком и локальной средой
— Повторяющиеся, все ресурсы правильно отслеживаются, модель переобучена по мере необходимости, развертывание обновляется автоматически после повторного обучения
Использование собственной службы AKS в Azure Облако Получите больше средств безопасности и элементов управления.

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

Ограничения для целевого объекта вычислений Kubernetes

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

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

В этом разделе приведены рекомендации по работе с вычислительными ресурсами Kubernetes.

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

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

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

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

Сравнение целевых объектов KubernetesCompute и устаревших целевых объектов AksCompute

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

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

Учитывая эти различия, а также общую Машинное обучение эволюцию для использования интерфейса командной строки или пакета SDK версии 2, рекомендуется использовать целевой объект вычислений Kubernetes (KubernetesCompute) для развертывания модели AKS.

Дополнительные сведения см. в следующих статьях:

Примеры Машинного обучения

Примеры машинного обучения доступны в репозитории Машинное обучение Azure (azureml-examples) на GitHub. В любом примере замените имя целевого объекта вычислений целевым объектом Kubernetes и запустите пример.

Ниже приведено несколько вариантов.