Partilhar via


Usando GPUs sem servidor em Aplicativos de Contêiner do Azure

O Azure Container Apps oferece acesso a GPUs sob demanda sem que tenha de gerir a infraestrutura subjacente. Como funcionalidade serverless, pagas apenas pelas GPUs em uso. Quando habilitado, o número de GPUs usadas para seu aplicativo aumenta e diminui para atender às demandas de carga do seu aplicativo. As GPUs sem servidor permitem que você execute perfeitamente suas cargas de trabalho com dimensionamento automático, inicialização a frio otimizada, faturamento por segundo com redução para zero quando não estiver em uso e sobrecarga operacional reduzida.

GPUs serverless são suportadas apenas para perfis de carga de trabalho de consumo. O recurso não é suportado para ambientes de consumo exclusivo.

Nota

Tem de pedir quotas de GPU para aceder a GPUs. Você pode enviar a sua solicitação de cota de GPU através de um caso de suporte ao cliente.

Benefícios

As GPUs sem servidor aceleram o desenvolvimento de IA, permitindo que você se concentre em seu código de IA principal e menos no gerenciamento de infraestrutura ao usar GPUs. Esse recurso fornece uma opção de camada intermediária entre as APIs sem servidor do catálogo de modelos de IA do Azure e os modelos de hospedagem em computação gerenciada.

O suporte à GPU sem servidor Container Apps fornece governança de dados completa, pois seus dados nunca saem dos limites do contêiner e, ao mesmo tempo, fornecem uma plataforma gerenciada e sem servidor a partir da qual criar seus aplicativos.

Quando você usa GPUs sem servidor em Aplicativos de Contêiner, seus aplicativos obtêm:

  • GPUs escaláveis para zero: suporte para escalonamento automático sem servidor de GPUs NVIDIA A100 e NVIDIA T4.

  • Cobrança por segundo: pague apenas pelo cálculo da GPU que você usa.

  • Governança de dados integrada: seus dados nunca saem do limite do contêiner.

  • Opções de computação flexíveis: Você pode escolher entre os tipos de GPU NVIDIA A100 ou T4.

  • Camada intermediária para desenvolvimento de IA: traga seu próprio modelo em uma plataforma de computação gerenciada e sem servidor.

Cenários comuns

Os cenários seguintes descrevem casos de uso comuns para GPUs serverless.

  • Inferência em tempo real e por lote: Use modelos open-source personalizados com tempos de arranque rápidos, escalabilidade automática e um modelo de faturação por segundo. As GPUs sem servidor são ideais para aplicações dinâmicas. Você paga apenas pela potência computacional que utiliza, e os seus aplicativos ajustam automaticamente a escala de acordo com a procura.

  • Cenários de aprendizado de máquina: acelere significativamente os aplicativos que implementam modelos de IA generativa personalizados ajustados, aprendizado profundo, redes neurais ou análise de dados em larga escala.

  • Computação de Alto Desempenho (HPC): Utilize GPUs como recursos para exigências computacionais elevadas em aplicações que requerem cálculos e simulações complexas, como computação científica, modelagem financeira ou previsão meteorológica.

  • Renderização e Visualização: Use GPUs para acelerar o processo de renderização e permitir a visualização em tempo real em aplicações que envolvam renderização 3D, processamento de imagem ou transcodificação de vídeo.

  • Análise de Big Data: as GPUs podem acelerar o processamento e a análise de dados entre conjuntos de dados massivos.

Considerações

Tenha em mente os seguintes pontos ao usar GPUs serverless:

  • Versão CUDA: GPUs serverless suportam a versão mais recente do CUDA.

  • Limitações do suporte:

    • Apenas um contêiner em um aplicativo pode usar a GPU de cada vez. Se você tiver vários contêineres em um aplicativo, o primeiro contêiner terá acesso à GPU.
    • Vários aplicativos podem compartilhar o mesmo perfil de carga de trabalho da GPU, mas cada um requer sua própria réplica.
    • Não há suporte para réplicas de GPU fracionárias e múltiplas.
    • O primeiro contêiner em seu aplicativo obtém acesso à GPU.
  • Endereços IP: as GPUs de consumo usam um endereço IP por réplica quando se configura a integração com as suas próprias redes virtuais.

Regiões suportadas

GPUs sem servidor estão disponíveis nas seguintes regiões:

Região A100 T4
Leste da Austrália Sim Sim
Sul do Brasil Sim Sim
Índia Central Não Sim
E.U.A. Leste Sim Sim
Centro de França Não Sim
Norte de Itália Sim Sim
Leste do Japão Não Sim
E.U.A. Centro-Norte Não Sim
E.U.A. Centro-Sul Não Sim
Sudeste Asiático Não Sim
Sul da Índia Não Sim
Suécia Central Sim Sim
Europa Ocidental1 Não Sim
E.U.A. Oeste Sim Sim
E.U.A. Oeste 2 Não Sim
E.U.A. Oeste 3 Sim Sim

1 Para adicionar um perfil de carga de trabalho de GPU sem servidor T4 na Europa Ocidental, você deve criar um novo ambiente de perfil de carga de trabalho na região.

Usar GPUs sem servidor

Ao criar um aplicativo de contêiner por meio do portal do Azure, você pode configurar seu contêiner para usar recursos de GPU.

Na guia Contêiner do processo de criação, defina as seguintes configurações:

  1. Na secção Alocação de recursos do contentor, marque a caixa de seleção GPU.

  2. Para o Tipo de GPU, selecione a opção NVIDIA A100 ou NVIDIA T4.

Gerenciar perfil de carga de trabalho de GPU sem servidor

GPUs sem servidor funcionam com perfis de carga de trabalho de consumo de GPU. Você gerencia um perfil de carga de trabalho de GPU de consumo da mesma maneira que qualquer outro perfil de carga de trabalho. Pode gerir o seu perfil de carga de trabalho usando o CLI ou o portal Azure.

Solicitar cota de GPU sem servidor

Nota

Os clientes com contratos empresariais e clientes com pagamento conforme o uso têm quotas A100 e T4 ativadas por predefinição.

Precisas de uma quota de GPUs serverless para aceder a esta funcionalidade. Você pode enviar a sua solicitação de cota de GPU através de um caso de suporte ao cliente. Ao abrir um caso de suporte para um pedido de quota de GPU, selecione as seguintes opções:

  1. Abra o formulário Novo pedido de suporte no portal do Azure.

  2. Insira os seguintes valores no formulário:

    Propriedade Valor
    Tipo de problema Selecione Limites de serviço e assinatura (cotas)
    Subscription Selecione a sua subscrição.
    Tipo de quota Selecione Aplicativos de contêiner.
  3. Selecione Avançar.

  4. Na janela Detalhes adicionais , selecione Inserir detalhes para abrir a janela de detalhes da solicitação.

    Captura de ecrã da janela de detalhes do Sistema de Gestão de Quotas do Azure.

  5. Para Tipo de cota, selecione Consumo de ambiente gerenciado NCA100 Gpus ou Consumo de ambiente gerenciado T4 Gpus. Introduz os teus outros valores.

  6. Selecione Guardar e continuar.

  7. Preencha os restantes detalhes relevantes na janela de detalhes adicionais .

  8. Selecione Avançar.

  9. Selecione Criar.

Melhore o arranque a frio do GPU

Você pode melhorar significativamente os tempos de inicialização a frio habilitando o streaming de artefatos e localizando arquivos grandes, como modelos de linguagem grandes, em um suporte de armazenamento.

  • Streaming de artefactos: O Azure Container Registry oferece streaming de imagens, o que pode acelerar significativamente os tempos de arranque das imagens. Para usar o streaming de artefactos, deve alojar as suas imagens de contentores num Azure Container Registry premium.

  • Montagens de armazenamento: reduza os efeitos da latência da rede armazenando arquivos grandes em uma conta de armazenamento do Azure associada ao seu aplicativo de contêiner.

Implantar modelos do Foundry em GPUs sem servidor (visualização)

As GPUs sem servidor dos Aplicativos de Contêiner do Azure agora oferecem suporte aos modelos do Azure AI Foundry na visualização pública. Os Modelos de Fundição de IA do Azure têm duas opções de implantação:

  • APIs sem servidor que fornecem faturamento pré-pago para alguns dos modelos mais populares.

  • Computação gerenciada que permite implantar a seleção completa de modelos do Foundry com preços pagos por GPU.

A GPU sem servidor dos Aplicativos de Contêiner do Azure oferece uma opção de implantação equilibrada entre APIs sem servidor e computação gerenciada para você implantar modelos do Foundry. Essa opção é sob demanda com dimensionamento sem servidor que pode ser dimensionado para zero quando não está em uso e está em conformidade com suas necessidades de residência de dados. Com GPUs sem servidor, o uso de modelos do Foundry oferece flexibilidade para executar qualquer modelo suportado com dimensionamento automático, preço pago por segundo, governança de dados completa, rede corporativa pronta para uso e suporte de segurança.

Modelos de linguagem do tipo MLFLOW são suportados. Para ver uma lista de MLFLOW modelos, consulte a lista de modelos disponíveis no registo azureml. Para localizar os modelos, adicione um filtro para MLFLOW modelos usando as seguintes etapas:

  1. Selecione Filtro.

  2. Selecionar Adicionar Filtro.

  3. Para a regra de filtro, digite Type = MLFLOW.

Para modelos listados aqui no repositório de Aplicativos de Contêiner do Azure, você pode implantá-los diretamente em GPUs sem servidor sem precisar criar sua própria imagem usando o seguinte comando da 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>

Para qualquer modelo que não esteja nesta lista, você precisa:

  1. Descarregue o modelo do GitHub para a imagem do modelo do repositório Azure Container Apps.

  2. Modifique o arquivo score.py para corresponder ao seu tipo de modelo. O script de pontuação (chamado score.py) define como você interage com o modelo. O exemplo a seguir mostra como usar um arquivo de score.py personalizado.

  3. Crie a imagem e implante-a em um registro de contêiner.

  4. Use o comando anterior da CLI para implantar o modelo em GPUs sem servidor, mas especifique o --image. Quando usa os parâmetros --model-registry, --model-name e --model-version, as variáveis principais do ambiente são definidas para otimizar o início a frio da sua aplicação.

Enviar feedback

Submeter problemas para o repositório Azure Container Apps GitHub.

Próximos passos