Основные сведения о целевом объекте вычислений 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. Используйте вычислительные ресурсы в Машинное обучение для обучения или развертывания моделей.
В этой статье описывается, как использовать целевой объект вычислений Kubernetes в Машинное обучение, включая сценарии использования, рекомендуемые рекомендации и сравнение KubernetesCompute
целевых объектов и устаревших AksCompute
целевых объектов.
Как работает целевой объект вычислений Kubernetes
Машинное обучение Azure вычислительные ресурсы Kubernetes поддерживают два типа кластера Kubernetes.
Службы вычислений | Расположение | Description |
---|---|---|
Кластер AKS | В пределах Azure | С помощью локально управляемого кластера AKS в Azure вы можете получить средства безопасности и элементы управления, чтобы обеспечить соответствие требованиям и гибкость для управления рабочей нагрузкой машинного обучения вашей команды. |
Кластер Kubernetes с Arc | Вне Azure | С помощью кластера Arc Kubernetes можно обучать или развертывать модели в любой локальной или многооблачной инфраструктуре или в пограничной среде. |
При простом развертывании расширения кластера в кластере AKS или Arc Kubernetes кластер Kubernetes легко поддерживается в Машинное обучение для выполнения рабочей нагрузки обучения или вывода. Легко включить и использовать существующий кластер Kubernetes для Машинное обучение рабочей нагрузки с помощью следующего процесса:
Шаг 1. Подготовка кластера Служба Azure Kubernetes или кластера Arc Kubernetes.
Шаг 2. Развертывание расширения кластера Машинное обучение Azure.
Шаг 3. Присоединение кластера Kubernetes к рабочей области Машинное обучение Azure.
Шаг 4. Использование целевого объекта вычислений Kubernetes из интерфейса командной строки версии 2, пакета SDK версии 2 или пользовательского интерфейса Студия машинного обучения Azure.
Ниже приведены основные обязанности в этом процессе:
Группа ИТ-операций отвечает за шаги 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.
Дополнительные сведения см. в следующих статьях:
- Просмотр поддерживаемых версий и регионов Kubernetes
- Подключение заданий Машинное обучение с пользовательским хранилищем данных
Примеры Машинного обучения
Примеры машинного обучения доступны в репозитории Машинное обучение Azure (azureml-examples) на GitHub. В любом примере замените имя целевого объекта вычислений целевым объектом Kubernetes и запустите пример.
Ниже приведено несколько вариантов.
- Примеры заданий обучения с помощью CLI версии 2
- Примеры заданий обучения с помощью пакета SDK версии 2
- Развертывание модели с примерами веб-конечной точки и ИНТЕРФЕЙСом командной строки версии 2
- Развертывание модели с примерами веб-конечных точек и пакетом SDK версии 2
- Примеры пакетной конечной точки с помощью CLI версии 2