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


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

В этой статье вы узнаете, как создать приложение-контейнер, использующее бессерверные GPU для работы с приложением ИИ.

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

В этом руководстве вы:

  • Создайте новое контейнерное приложение и среду
  • Настройка среды для использования бессерверных GPU
  • Разверните свое приложение в Azure Container Apps
  • Использование нового бессерверного приложения для включения GPU
  • Активация потоковой передачи артефактов для сокращения времени холодного запуска GPU

Prerequisites

Resource Description
Учетная запись Azure Вам потребуется учетная запись Azure с активной подпиской. Если у вас нет учетной записи, вы можете создать ее бесплатно.
Доступ к бессерверным GPU Доступ к GPU доступен только после запроса квот GPU. Вы можете отправить запрос на квоту GPU с помощью обращения в службу поддержки клиентов.
Resource Description
Учетная запись Azure Вам потребуется учетная запись Azure с активной подпиской. Если у вас нет учетной записи, вы можете создать ее бесплатно.
Доступ к бессерверным GPU Доступ к GPU доступен только после запроса квот GPU. Вы можете отправить запрос на квоту GPU с помощью обращения в службу поддержки клиентов.
Azure CLI Установите Azure CLI или обновите ее до последней версии.

Создание приложения-контейнера

  1. Перейдите на портал Azure и найдите и выберите "Приложения контейнеров".

  2. Выберите "Создать " и выберите "Приложение контейнера".

  3. В окне "Основные сведения" введите следующие значения в каждый раздел.

    В разделе "Сведения о проекте" введите следующие значения:

    Setting Value
    Subscription Выберите подписку Azure.
    Группа ресурсов Выберите "Создать" и введите my-gpu-demo-group.
    Имя приложения-контейнера Введите my-gpu-demo-app.
    Источник развертывания Выберите образ контейнера.

    В среде "Приложения контейнеров" введите следующие значения:

    Setting Value
    Region Выберите Швецию Центральную.

    Дополнительные поддерживаемые регионы см. в статье Об использовании бессерверных GPU в Azure.
    Среда Контейнеров приложений Выберите Создать новое.

    В окне "Создание приложений контейнеров" введите следующие значения:

    Setting Value
    Имя среды Введите my-gpu-demo-env.

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

    Нажмите кнопку "Далее": контейнер >.

  4. В окне контейнера введите следующие значения:

    Setting Value
    Name Введите my-gpu-demo-container.
    Источник изображения Выберите Docker Hub или другие реестры.
    Тип изображения Выберите общедоступную.
    Сервер входа в реестр Введите mcr.microsoft.com.
    Изображение и тег Введите k8se/gpu-quickstart:latest.
    Профиль рабочей нагрузки Выберите Режим использования — до 4 виртуальных ЦП, 8 ГиБ памяти.
    GPU Установите флажок.
    Тип GPU Выберите "Потребление GPU-NC8as-T4 - до 8 виртуальных ЦП, 56 ГиБ памяти и выберите ссылку, чтобы добавить профиль в вашу среду.

    Выберите Далее: Ingress >.

  5. В окне Ingress введите следующие значения:

    Setting Value
    Ingress Установите флажок "Включен ".
    Входящий трафик Выберите радиокнопку Принятие трафика откуда угодно.
    Целевой порт Введите 80.
  6. Выберите Review + create.

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

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

    Этот процесс может занять до пяти минут.

Используйте ваше приложение GPU

В окне обзора выберите ссылку "URL-адрес приложения" , чтобы открыть интерфейс веб-приложения в браузере и использовать приложение GPU.

Note

Создание переменной среды

Определите следующие переменные среды. Перед выполнением этой команды замените <PLACEHOLDERS> на ваши значения.

RESOURCE_GROUP="<RESOURCE_GROUP>"
ENVIRONMENT_NAME="<ENVIRONMENT_NAME>"
LOCATION="swedencentral"
CONTAINER_APP_NAME="<CONTAINER_APP_NAME>"
CONTAINER_IMAGE="mcr.microsoft.com/k8se/gpu-quickstart:latest"
WORKLOAD_PROFILE_NAME="NC8as-T4"
WORKLOAD_PROFILE_TYPE="Consumption-GPU-NC8as-T4"

Создание приложения-контейнера

  1. Создайте группу ресурсов для размещения ресурсов, создаваемых в рамках этого руководства. Эта команда должна вывести выходные данные Succeeded.

    az group create \
      --name $RESOURCE_GROUP \
      --location $LOCATION \
      --query "properties.provisioningState"
    
  2. Создайте среду "Приложения контейнеров" для размещения приложения-контейнера. Эта команда должна вывести выходные данные Succeeded.

    az containerapp env create \
      --name $ENVIRONMENT_NAME \
      --resource-group $RESOURCE_GROUP \
      --location "$LOCATION" \
      --query "properties.provisioningState"
    
  3. Добавьте профиль рабочей нагрузки в среду.

    az containerapp env workload-profile add \
      --name $ENVIRONMENT_NAME \
      --resource-group $RESOURCE_GROUP \
      --workload-profile-name $WORKLOAD_PROFILE_NAME \
      --workload-profile-type $WORKLOAD_PROFILE_TYPE
    
  4. Создайте приложение-контейнер.

    az containerapp create \
      --name $CONTAINER_APP_NAME \
      --resource-group $RESOURCE_GROUP \
      --environment $ENVIRONMENT_NAME \
      --image $CONTAINER_IMAGE \
      --target-port 80 \
      --ingress external \
      --cpu 8.0 \
      --memory 56.0Gi \
      --workload-profile-name $WORKLOAD_PROFILE_NAME \
      --query properties.configuration.ingress.fqdn
    

    Эта команда выводит URL-адрес приложения для приложения-контейнера.

Используйте ваше приложение GPU

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

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

Note

Мониторинг GPU

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

  1. Откройте приложение контейнера на портале Azure.

  2. В разделе "Мониторинг" выберите консоль.

  3. Выберите свою реплику.

  4. Выберите контейнер.

  5. Выберите "Повторное подключение".

  6. В окне командной строки "Выбор запуска" выберите /bin/bash и нажмите кнопку "Подключить".

  7. После настройки оболочки введите команду nvidia-smi , чтобы просмотреть состояние и выходные данные gpu.

Очистите ресурсы

Ресурсы, созданные в этом руководстве, отражаются на вашем счете Azure.

Если вы не собираетесь использовать эти сервисы долго, выполните шаги, чтобы удалить все, созданное в этом руководстве.

  1. На портале Azure найдите и выберите группы ресурсов.

  2. Выберите my-gpu-demo-group.

  3. Выберите команду Удалить группу ресурсов.

  4. В поле подтверждения введите my-gpu-demo-group.

  5. Нажмите кнопку "Удалить".

Выполните следующую команду.

az group delete --name $RESOURCE_GROUP

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