Основные сведения о целевом объекте вычислений 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 и использовать его для обучения или развертывания моделей.
В этой статье раскрываются следующие темы:
- Принцип работы
- Сценарии использования
- Рекомендуемые лучшие методики
- Целевые объекты KubernetesCompute и AksCompute (устаревший)
Принцип работы
Машинное обучение Azure вычислительные ресурсы Kubernetes поддерживают два типа кластера Kubernetes:
- Кластер AKS в Azure. Используя самостоятельно управляемый кластер AKS в Azure, вы можете получить средства безопасности и элементы управления для удовлетворения требований к соответствию и обеспечения гибкости управления рабочей нагрузкой команд ML.
- Кластер Arc Kubernetes за пределами Azure. С помощью кластера Kubernetes с Arc можно обучать и развертывать модели в любой инфраструктуре в локальной или пограничной средах, а также в нескольких облаках.
При простом развертывании расширения кластера в кластере AKS или Arc Kubernetes кластер Kubernetes легко поддерживается в Машинное обучение Azure для выполнения рабочей нагрузки обучения или вывода. Легко включить и использовать существующий кластер Kubernetes для Машинное обучение Azure рабочей нагрузки, выполнив следующие простые действия.
- Подготовьте кластер Службы Azure Kubernetes или кластер Arc Kubernetes.
- Разверните расширение Машинное обучение Azure.
- Подключите кластер Kubernetes к рабочей области Машинное обучение Azure.
- Используйте целевой объект вычислений 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 для развертывания модели.
Другие ресурсы
- Доступность версий Kubernetes и доступность платформы в регионах
- Работа с пользовательским хранилищем данных
Примеры
Все Машинное обучение Azure примеры можно найти в https://github.com/Azure/azureml-examples.git.
Для любого Машинное обучение Azure примера необходимо обновить только имя целевого объекта вычислений до целевого объекта вычислений Kubernetes, а затем все готово.
- Изучение примеров заданий обучения с помощью CLI версии 2 — https://github.com/Azure/azureml-examples/tree/main/cli/jobs
- Изучение примеров развертывания модели с подключенными конечными точками с помощью CLI версии 2 — https://github.com/Azure/azureml-examples/tree/main/cli/endpoints/online/kubernetes
- Изучение примеров пакетных конечных точек с помощью CLI версии 2 — https://github.com/Azure/azureml-examples/tree/main/cli/endpoints/batch
- Изучение примеров заданий обучения с помощью пакета SDK версии 2 — https://github.com/Azure/azureml-examples/tree/main/sdk/python/jobs
- Изучение примеров развертывания модели с подключенными конечными точками с помощью пакета SDK версии 2 — https://github.com/Azure/azureml-examples/tree/main/sdk/python/endpoints/online/kubernetes