Создание вычислительного кластера Машинного обучения Azure

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

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

Вычислительную среду Машинного обучения Azure можно использовать для распространения процесса обучения или пакетного вывода в кластере вычислительных узлов на основе ЦП или GPU, размещенном в облаке. Дополнительные сведения о размерах виртуальных машин, которые содержат GPU, см. в статье Размеры виртуальных машин, оптимизированных для GPU.

Вы узнаете, как выполнять следующие задачи:

  • Создайте вычислительный кластер.
  • Снижение затрат на вычислительный кластер с низкоприоритетными виртуальными машинами.
  • Настройте управляемое удостоверение для кластера.

Примечание.

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

Необходимые компоненты

Что такое вычислительный кластер?

Вычислительный кластер Машинного обучения Azure — это управляемая вычислительная инфраструктура, которая позволяет c легкостью создавать одно- и многоузловые вычислительные среды. Вычислительный кластер — это ресурс, который можно использовать совместно с другими пользователями в рабочей области. Вычислительная среда автоматически масштабируется при отправке задания, а также может быть размещена в виртуальной сети Azure. Вычислительный кластер не поддерживает развертывание общедоступных IP-адресов , а также в виртуальной сети. Она выполняется в контейнерной среде, упаковывая зависимости вашей модели в контейнер Docker.

Вычислительные кластеры могут безопасно выполнять задания в управляемой виртуальной сети или виртуальной сети Azure, не требуя от предприятий открывать порты SSH. Задание выполняется в контейнерной среде и упаковывает зависимости модели в контейнер Docker.

Ограничения

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

    Предупреждение

    При использовании вычислительного кластера в другом регионе, отличном от рабочей области или хранилища данных, может возникнуть повышенная задержка сети и затраты на передачу данных. Задержка и затраты могут возникать при создании кластера и при выполнении заданий на нем.

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

  • Azure позволяет размещать блокировки ресурсов, чтобы их нельзя было удалить или можно было использовать только для чтения. Не применяйте блокировки ресурсов к группе ресурсов, содержащей рабочую область. Применение блокировки к группе ресурсов, содержащей рабочую область, предотвращает масштабирование для Машинное обучение Azure вычислительных кластеров. Дополнительные сведения о блокировке ресурсов см. в статье Блокировка ресурсов для предотвращения непредвиденных изменений.

Создание

Оценка времени: около пяти минут.

Примечание.

Если вы используете бессерверные вычисления, вам не нужно создавать вычислительный кластер.

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

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

Важно!

Чтобы исключить взимание оплаты при отсутствии выполняющихся заданий, установите минимальное количество узлов равным 0. Такая настройка позволяет службе Машинного обучения Azure отменять распределение узлов, когда они не используются. При любом значении больше 0 количество работающих узлов остается равным этому значению, даже если они не используются.

Когда вычислительная среда не используется, она автоматически масштабируется до нуля узлов. Выделенные виртуальные машины создаются для выполнения заданий по мере необходимости.

Используйте следующие примеры для создания вычислительного кластера:

Чтобы создать постоянный Машинное обучение Azure вычислительный ресурс в Python, укажите size и max_instances свойства. Затем Машинное обучение Azure использует интеллектуальные значения по умолчанию для остальных свойств.

  • размер: семейство виртуальных машин узлов, созданных Машинное обучение Azure Вычисление.
  • max_instances. Максимальное количество узлов для автомасштабирования до запуска задания в Машинное обучение Azure вычислений.

ОБЛАСТЬ ПРИМЕНЕНИЯ: Пакет SDK для Python azure-ai-ml версии 2 (current)

from azure.ai.ml.entities import AmlCompute

cluster_basic = AmlCompute(
    name="basic-example",
    type="amlcompute",
    size="STANDARD_DS3_v2",
    location="westus",
    min_instances=0,
    max_instances=2,
    idle_time_before_scale_down=120,
)
ml_client.begin_create_or_update(cluster_basic).result()

При создании Вычислительной среды машинного обучения Azure вы можете также настроить несколько дополнительных свойств. Эти свойства позволяют создать постоянный кластер фиксированного размера, который может размещаться в существующей виртуальной сети Azure в вашей подписке. Дополнительные сведения см. в разделе о классе AmlCompute.

Предупреждение

При настройке location параметра, если это другой регион, отличный от рабочей области или хранилища данных, может возникнуть повышенная задержка сети и затраты на передачу данных. Задержка и затраты могут возникать при создании кластера и при выполнении заданий на нем.

Снижение затрат на вычислительный кластер с низкоприоритетными виртуальными машинами

Вы также можете использовать низкоприоритетные виртуальные машины для выполнения некоторых или всех рабочих нагрузок. Эти виртуальные машины не имеют гарантированной доступности и могут быть упрещены во время использования. Необходимо перезапустить предварительно созданное задание.

Использование Виртуальные машины с низким приоритетом Azure позволяет воспользоваться неиспользуемой емкостью Azure при значительной экономии затрат. В любой момент времени, когда Azure нуждается в емкости, инфраструктура Azure вытесниет azure с низким приоритетом Виртуальные машины. Поэтому виртуальная машина с низким приоритетом Azure отлично подходит для рабочих нагрузок, которые могут обрабатывать прерывания. Объем доступной емкости может варьироваться в зависимости от размера, региона, времени суток и других параметров. При развертывании azure с низким приоритетом Виртуальные машины Azure выделяет виртуальные машины, если есть доступная емкость, но для этих виртуальных машин нет соглашение об уровне обслуживания. Виртуальная машина с низким приоритетом Azure не гарантирует высокий уровень доступности. В любой момент времени, когда Azure нуждается в емкости, инфраструктура Azure вытесниет azure с низким приоритетом Виртуальные машины.

Используйте любой из следующих способов, чтобы указать виртуальную машину с низким приоритетом:

ОБЛАСТЬ ПРИМЕНЕНИЯ: Пакет SDK для Python azure-ai-ml версии 2 (current)

from azure.ai.ml.entities import AmlCompute

cluster_low_pri = AmlCompute(
    name="low-pri-example",
    size="STANDARD_DS3_v2",
    min_instances=0,
    max_instances=2,
    idle_time_before_scale_down=120,
    tier="low_priority",
)
ml_client.begin_create_or_update(cluster_low_pri).result()

Настройка управляемого удостоверения

Сведения о настройке управляемого удостоверения в вычислительном кластере см. в статье "Настройка проверки подлинности между Машинное обучение Azure и другими службами".

Устранение неполадок

Существует вероятность того, что некоторые пользователи, создавшие свою рабочую область Машинного обучения Azure на портале Azure до выпуска общедоступной версии, не смогут создать AmlCompute в этой рабочей области. Можно отправить соответствующий запрос в службу поддержки или создать новую рабочую область с помощью портала или пакета SDK, чтобы немедленно устранить эту проблему.

Важно!

Если вычислительный экземпляр или вычислительные кластеры основаны на любой из этих рядов, повторно создайте еще один размер виртуальной машины до даты выхода на пенсию, чтобы избежать сбоев в работе служб.

Эти серии выходят на пенсию 31 августа 2023 г.:

Эти серии выходят на пенсию 31 августа 2024 г.:

Зависание при изменении размера

Если Машинное обучение Azure вычислительный кластер отображается с изменением размера (0 –> 0) для состояния узла, блокировка ресурсов Azure может быть причиной.

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

При работе с Машинным обучением Azure применение блокировки удаления к группе ресурсов для рабочей области препятствует масштабированию для вычислительных кластеров Azure ML. Чтобы обойти эту проблему, рекомендуется удалить блокировку из группы ресурсов, а затем применить ее к отдельным элементам в группе.

Важно!

Не применяйте блокировку к следующим ресурсам:

Имя ресурса Тип ресурса
<GUID>-azurebatch-cloudservicenetworksecurityggroup группу безопасности сети;
<GUID>-azurebatch-cloudservicepublicip Общедоступный IP-адрес
<GUID>-azurebatch-cloudserviceloadbalancer Подсистема балансировки нагрузки

Эти ресурсы используются для взаимодействия с вычислительным кластером и выполнения в нем таких операций, как масштабирование. Удаление блокировки для этих ресурсов разрешает автоматическое масштабирование для вычислительных кластеров.

Дополнительные сведения о блокировке ресурсов см. в статье Блокировка ресурсов для предотвращения непредвиденных изменений.

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

Используйте вычислительный кластер для следующего: