Поделиться через


Использование бессерверных GPU в Azure Container Apps

Azure Container Apps предоставляет доступ к графическим процессорам по запросу без необходимости управлять базовой инфраструктурой. В качестве бессерверной функции вы платите только за используемые GPU. Если этот параметр включен, количество графических процессоров, используемых для вашего приложения, растет и падает в соответствии с требованиями нагрузки приложения. Бессерверные графические процессоры дают возможность без труда выполнять ваши рабочие нагрузки, обеспечивая автоматическое масштабирование, оптимизированный холодный старт, оплату за секунду и уменьшение масштаба до нуля, когда они не используются, а также снижение эксплуатационных затрат.

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

Замечание

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

Преимущества

Бессерверные графические процессоры ускоряют разработку ИИ, позволяя сосредоточиться на основном коде ИИ и меньшем управлении инфраструктурой при использовании GPU. Эта функция предоставляет параметр среднего уровня между бессерверными API каталога моделей Foundry и моделями размещения в управляемых вычислениях.

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

При использовании бессерверных GPU в контейнерных приложениях ваши приложения получают следующее:

  • Масштабирование до нуля GPU: поддержка автоматического бессерверного масштабирования GPU NVIDIA A100 и NVIDIA T4.

  • Выставление счетов в секунду: оплата только за используемые вычислительные ресурсы GPU.

  • Встроенное управление данными. Ваши данные никогда не покидают границу контейнера.

  • Гибкие параметры вычислений: можно выбрать типы GPU NVIDIA A100 или T4.

  • Средний уровень разработки ИИ: создание собственной модели на управляемой бессерверной вычислительной платформе.

Распространенные сценарии

В следующих сценариях описываются распространенные варианты использования бессерверных GPU.

  • Инференс в реальном времени и пакетной обработке: используйте пользовательские модели с открытым исходным кодом, обеспечивающие быстрое время запуска, автоматическое масштабирование и поминутное выставление счетов. Бессерверные GPU идеально подходят для динамических приложений. Вы платите только за используемые вычислительные ресурсы, а ваши приложения автоматически масштабируются в обоих направлениях, чтобы соответствовать спросу.

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

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

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

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

Соображения

При использовании бессерверных GPU следует учитывать следующие элементы:

  • Версия CUDA: бессерверные GPU поддерживают последнюю версию CUDA.

  • Ограничения поддержки:

    • Только один контейнер в приложении может одновременно использовать GPU. При наличии нескольких контейнеров в приложении первый контейнер получает доступ к GPU.
    • Несколько приложений могут совместно использовать один и тот же профиль рабочей нагрузки GPU, но для каждой из них требуется собственная реплика.
    • Многофакторные и дробные реплики GPU не поддерживаются.
    • Первый контейнер в приложении получает доступ к GPU.
  • IP-адреса: Потребительские GPU используют один IP-адрес для каждой реплики при настройке интеграции с собственной виртуальной сетью.

Поддерживаемые регионы

Бессерверные GPU доступны в следующих регионах:

Регион A100 T4
Восточная Австралия Да Да
Бразилия (Юг) Да Да
Центральная Индия нет Да
Центральная Канада Да Да
East US Да Да
Центральная Франция нет Да
Italy North Да Да
Japan East нет Да
северо-центральная часть США нет Да
Южно-Центральная часть США нет Да
Юго-Восточная Азия нет Да
South India нет Да
Центральная Швеция Да Да
Западная Европа1 нет Да
Западная часть США Да Да
Западная часть США 2 нет Да
Западная часть США 3 Да Да

1 . Чтобы добавить профиль рабочей нагрузки GPU без сервера T4 в Западной Европе, необходимо создать новую среду профиля рабочей нагрузки в регионе.

Использование бессерверных GPU

При создании приложения-контейнера на портале Azure можно настроить контейнер для использования ресурсов GPU.

На вкладке "Контейнер" процесса создания задайте следующие параметры:

  1. В разделе выделения ресурсов контейнера установите флажок GPU .

  2. Для типа GPU выберите вариант NVIDIA A100 или NVIDIA T4.

Управление профилем рабочей нагрузки GPU без сервера

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

Запрос квоты бессерверного GPU

Замечание

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

Для доступа к этой функции требуется бессерверная квота GPU. Вы можете отправить запрос на квоту GPU с помощью обращения в службу поддержки клиентов. При открытии случая поддержки для запроса на квоту GPU выберите следующие параметры:

  1. Откройте запрос на поддержку New на портале Azure.

  2. Введите следующие значения в форму:

    Недвижимость Ценность
    Тип проблемы Выбор ограничений службы и подписки (квоты)
    Subscription Выберите подписку.
    Тип квоты Выберите Приложения-контейнеры.
  3. Нажмите кнопку Далее.

  4. В окне "Дополнительные сведения" выберите ввод сведений , чтобы открыть окно сведений о запросе.

    Скриншот окна с деталями системы управления квотами Azure.

  5. Для типа квоты выберите либо управляемое потребление среды NCA100 GPU, либо управляемое потребление среды T4 GPU. Введите другие значения.

  6. Выберите Сохранить и продолжить.

  7. Заполните остальные соответствующие сведения в окне дополнительных сведений .

  8. Нажмите кнопку Далее.

  9. Нажмите кнопку "Создать".

Улучшение холодного запуска GPU

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

  • Artifact streaming: Реестр контейнеров Azure предлагает потоковую передачу изображений, что может значительно ускорить время загрузки образов. Чтобы использовать потоковую передачу артефактов, необходимо разместить образы контейнеров в Azure Container Registry уровня "Премиум".

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

Развертывание моделей Foundry на безсерверных графических процессорах (предпросмотр)

Azure Container Apps бессерверные GPU теперь поддерживают модели Microsoft Foundry в общедоступной предварительной версии. Модели Foundry имеют два варианта развертывания:

Azure Container Apps предоставляет бессерверный GPU, который предлагает сбалансированное решение для развертывания между бессерверными API и управляемыми вычислительными ресурсами для развертывания моделей Foundry. Этот параметр доступен по запросу с бессерверным масштабированием, которое уменьшается до нуля, когда не используется, и соответствует вашим требованиям к размещению данных. При использовании бессерверных GPU с помощью моделей Foundry можно гибко запускать любую поддерживаемую модель с автоматическим масштабированием, поминутной оплатой, полным управлением данными, поддержкой корпоративной сети и безопасности.

Поддерживаются языковые модели типа MLFLOW . Чтобы просмотреть список моделей, перейдите к списку моделей, доступных MLFLOW в реестре Azureml. Чтобы найти модели, добавьте фильтр для MLFLOW моделей, выполнив следующие действия.

  1. Выберите Фильтр.

  2. Выберите Добавить фильтр.

  3. Для правила фильтра введите Type = MLFLOW.

Для моделей, перечисленных здесь в репозитории Azure Container Apps, их можно развернуть непосредственно в бессерверных GPU без необходимости создания собственного образа с помощью следующей команды CLI:

az containerapp up \
  --name <CONTAINER_APP_NAME> \
  --location <LOCATION> \
  --resource-group <RESOURCE_GROUP_NAME> \
  --model-registry <MODEL_REGISTRY_NAME> \
  --model-name <MODEL_NAME> \
  --model-version <MODEL_VERSION>

Для любой модели, не в этом списке, необходимо:

  1. Скачайте шаблон GitHub для образа модели из репозитория Azure Container Apps.

  2. Измените файл score.py, чтобы он соответствовал типу модели. Скрипт оценки (с именем score.py) определяет взаимодействие с моделью. В следующем примере показано , как использовать пользовательский файл score.py.

  3. Создайте образ и разверните его в реестре контейнеров.

  4. Используйте предыдущую команду CLI для развертывания модели на безсерверных GPU, но укажите значение --image. При использовании параметров --model-registry, --model-name и --model-version задаются ключевые переменные среды для оптимизации холодного запуска приложения.

Отправка отзывов

Отправьте проблемы в репозиторий Azure Container Apps GitHub.

Дальнейшие шаги