Partilhar via


Tutorial: Gerar imagens usando GPUs sem servidor em Aplicativos de Contêiner do Azure

Neste artigo, você aprenderá a criar um aplicativo de contêiner que usa GPUs sem servidor para alimentar um aplicativo de IA.

Com GPUs sem servidor, você tem acesso direto aos recursos de computação da GPU sem ter que fazer a configuração manual da infraestrutura, como a instalação de drivers. Tudo o que você precisa fazer é implantar a imagem do seu modelo de IA.

Neste tutorial, você:

  • Criar um novo aplicativo e ambiente de contêiner
  • Configurar o ambiente para usar GPUs sem servidor
  • Implantar seu aplicativo em Aplicativos de Contêiner do Azure
  • Use o novo aplicativo habilitado para GPU sem servidor
  • Ative o streaming de artefatos para reduzir a inicialização a frio da GPU

Pré-requisitos

Recurso Descrição
Conta do Azure Você precisa de uma conta do Azure com uma assinatura ativa. Se não tiver uma, pode criar uma gratuitamente.
Acesso a GPUs sem servidor O acesso às GPUs só está disponível depois de solicitar cotas de GPU. Você pode enviar sua solicitação de quota de GPU por meio de um caso de suporte ao cliente.
Recurso Descrição
Conta do Azure Você precisa de uma conta do Azure com uma assinatura ativa. Se não tiver uma, pode criar uma gratuitamente.
Acesso a GPUs sem servidor O acesso às GPUs só está disponível depois de solicitar cotas de GPU. Você pode enviar sua solicitação de quota de GPU por meio de um caso de suporte ao cliente.
da CLI do Azure Instale a CLI do Azure ou atualize para a versão mais recente.

Crie seu aplicativo de contêiner

  1. Vá para o portal do Azure e procure e selecione Aplicativos de contêiner.

  2. Selecione Criar e, em seguida, selecione Aplicativo de contêiner.

  3. Na janela Noções básicas, insira os seguintes valores em cada seção.

    Em Detalhes do projeto, insira os seguintes valores:

    Configuração Valor
    Subscrição Selecione a subscrição do Azure.
    Grupo de recursos Selecione Criar novo e insira my-gpu-demo-group.
    Nome do aplicativo de contêiner Digite my-gpu-demo-app.
    Origem da implementação Selecione Imagem de contêiner.

    Em Ambiente de aplicativos de contêiner, insira os seguintes valores:

    Configuração Valor
    Região Selecione Suécia Central.

    Para obter mais regiões com suporte, consulte Usando GPUs sem servidor no Azure.
    Ambiente de aplicativos de contêiner Selecione Criar novo.

    Na janela do ambiente Create Container Apps, insira os seguintes valores:

    Configuração Valor
    Nome do ambiente Introduza my-gpu-demo-env.

    Selecione Criar.

    Selecione Seguinte: Container >.

  4. Na janela Contêiner, insira os seguintes valores:

    Configuração Valor
    Nome Aceda a my-gpu-demo-container.
    Origem da imagem Selecione Docker Hub ou outros registros.
    Tipo de imagem Selecione público.
    Servidor de login do Registro Digite mcr.microsoft.com.
    Imagem e marcador Digite k8se/gpu-quickstart:latest.
    Perfil da carga de trabalho Selecione Consumo - Até 4 vCPUs, 8 GiB de memória.
    GPU Marque a caixa de seleção.
    Tipo de GPU Selecione Consumption-GPU-NC8as-T4 - Até 8 vCPUs, 56 GiB de memória e clique no link para adicionar o perfil ao seu ambiente.

    Selecione Seguinte: Ingressar >.

  5. Na janela Ingress, insira os seguintes valores:

    Configuração Valor
    Entrada Marque a caixa de seleção Habilitado.
    Tráfego de entrada Selecione o aceitar tráfego de qualquer lugar.
    Porta de destino Digite 80.
  6. Selecione Analisar + criar.

  7. Selecione Criar.

  8. Aguarde alguns momentos até que a implantação seja concluída e selecione Ir para recurso.

    Esse processo pode levar até cinco minutos para ser concluído.

Usa o teu aplicativo GPU

Na janela Visão geral, selecione o link da URL do aplicativo para abrir o front-end do aplicativo Web no seu navegador e usar o aplicativo GPU.

Nota

  • Para obter o melhor desempenho dos seus aplicativos GPU, siga as etapas para melhorar o arranque a frio para as GPUs sem servidor.
  • Quando há vários contêineres em seu aplicativo, o primeiro contêiner obtém acesso à GPU.

Criar variáveis de ambiente

Defina as seguintes variáveis de ambiente. Antes de executar este comando, substitua o <PLACEHOLDERS> por seus valores.

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"

Crie seu aplicativo de contêiner

  1. Crie o grupo de recursos para conter os recursos criados neste tutorial. Este comando deve produzir Succeeded.

    az group create \
      --name $RESOURCE_GROUP \
      --location $LOCATION \
      --query "properties.provisioningState"
    
  2. Crie um ambiente de aplicativos de contêiner para hospedar seu aplicativo de contêiner. Este comando deve produzir Succeeded.

    az containerapp env create \
      --name $ENVIRONMENT_NAME \
      --resource-group $RESOURCE_GROUP \
      --location "$LOCATION" \
      --query "properties.provisioningState"
    
  3. Adicione um perfil de carga de trabalho ao seu ambiente.

    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. Crie seu aplicativo de contêiner.

    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
    

    Este comando gera a URL do aplicativo para seu aplicativo contêiner.

Usa o teu aplicativo GPU

Abra a URL do aplicativo de contêiner no navegador. Observe que pode levar até cinco minutos para que o aplicativo de contêiner seja iniciado.

O aplicativo Aplicativos de Contêiner do Azure com GPUs sem servidor permite inserir um prompt para gerar uma imagem. Você também pode simplesmente selecionar Generate Image para usar o prompt padrão. Na próxima etapa, você visualiza os resultados do processamento da GPU.

Nota

  • Para obter o melhor desempenho dos seus aplicativos GPU, siga as etapas para melhorar o arranque a frio para as GPUs sem servidor.
  • Quando há vários contêineres em seu aplicativo, o primeiro contêiner obtém acesso à GPU.

Monitorize o seu GPU

Depois de gerar uma imagem, use as seguintes etapas para visualizar os resultados do processamento da GPU:

  1. Abra seu aplicativo de contêiner no portal do Azure.

  2. Na seção Monitoramento, selecione Console.

  3. Selecione sua réplica.

  4. Selecione o seu contentor.

  5. Selecione Reconectar.

  6. Na janela de Escolher comando de arranque, selecione /bin/bash e selecione Conectar.

  7. Assim que o shell estiver configurado, digite o comando nvidia-smi para revisar o status e a saída da sua GPU.

Limpar recursos

Os recursos criados neste tutorial têm um efeito na sua fatura do Azure.

Se você não vai usar esses serviços a longo prazo, use as etapas para remover tudo o que foi criado neste tutorial.

  1. No portal do Azure, procure e selecione Grupos de Recursos.

  2. Selecione my-gpu-demo-group.

  3. Selecione Eliminar grupo de recursos.

  4. Na caixa de confirmação, digite my-gpu-demo-group.

  5. Selecione Eliminar.

Execute o seguinte comando.

az group delete --name $RESOURCE_GROUP

Próximos passos