Partilhar via


Utilização de GPUs serverless no Azure Container Apps

O Azure Container Apps oferece acesso a GPUs a pedido, 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. Esta funcionalidade oferece uma opção de camada intermédia entre as APIs serverless do catálogo de modelos Foundry e os modelos de alojamento em computação gerida.

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
Canadá Central Sim 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

Quando crias uma aplicação container através do portal Azure, podes configurar o teu container para usar recursos da 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 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 Cotas 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.

  • Artefact streaming: Azure Container Registry oferece streaming de imagem, que pode acelerar significativamente os tempos de arranque da imagem. Para usar o streaming de artefactos, deve hospedar as suas imagens de contentores num Azure Container Registry premium.

  • Montagens de armazenamento: Reduza os efeitos da latência de rede armazenando ficheiros grandes numa conta de armazenamento Azure associada à sua aplicação de contentores.

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

Os GPUs sem servidor do Azure Container Apps agora suportam modelos Microsoft Foundry em pré-visualização pública. Os modelos Foundry têm duas opções de implementaçã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.

Azure Container Apps com GPU em modo serverless oferece uma opção de implementação equilibrada entre APIs serverless e computação gerida para que possa implementar modelos 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 os modelos listados aqui no repositório Azure Container Apps, pode implementá-los diretamente em GPUs serverless sem precisar de construir a sua própria imagem, usando o seguinte comando 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 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

Submeta as edições ao repositório Azure Container Apps GitHub.

Próximos passos