Usar VMs de baixa prioridade para implantações em lote

APLICA-SE A:CLI do Azure ml extension v2 (current)Python SDK azure-ai-ml v2 (current)

Importante

As máquinas virtuais (VMs) de baixa prioridade foram retiradas para o Azure Machine Learning a 31 de março de 2026. Clusters de computação que especificam tier: low_priority ainda passam a validação e continuam a executar trabalhos, mas o Azure Batch agora aloca os seus nós como VMs Spot através de uma migração iniciada pelo sistema. O preço à vista e o comportamento de despejo à vista aplicam-se a todos os grupos descritos neste artigo, quer o tenha criado antes ou depois da data de reforma. Para detalhes ao nível de lote, veja Executar cargas de trabalho em lote em VMs Spot económicas.

As implementações Azure Batch suportam VMs de baixa prioridade para reduzir o custo das cargas de trabalho de inferência por lote. As VMs de baixa prioridade permitem que uma grande quantidade de poder de computação seja usada por um baixo custo. As VMs de baixa prioridade aproveitam a capacidade excedente no Azure. Quando você especifica VMs de baixa prioridade em seus pools, o Azure pode usar esse excedente, quando disponível.

Gorjeta

A contrapartida para o uso de VMs de baixa prioridade é que essas máquinas virtuais podem não estar disponíveis ou podem ser antecipadas a qualquer momento, dependendo da capacidade disponível. Por esse motivo, essa abordagem é mais adequada para cargas de trabalho de processamento em lote e assíncronas, onde o tempo de conclusão do trabalho é flexível e o trabalho é distribuído em muitas máquinas virtuais.

Como estes nós agora são alocados como VMs Spot, é cobrado a taxa Spot atual pelo tamanho da VM na região onde o cluster funciona. Essa taxa é variável e não um desconto fixo. Varia consoante a região e a procura, e pode aproximar-se do preço pay-as-you-go quando uma região tem pouca capacidade excedente. Nunca é cobrado mais do que o preço pay-as-you-go pelo mesmo tamanho de VM. Para mais informações, consulte Azure Spot Máquinas Virtuais.

Verifique a taxa atual para o tamanho e região da sua VM antes de escolher uma região. Pode consultá-lo na calculadora de preços do Azure ou através da API de preços de retalho do Azure. Para detalhes gerais de preços, consulte Azure Machine Learning ficing.

Nota

O Azure Batch não suporta definir um preço máximo para VMs Spot, por isso não podes limitar a taxa que um cluster de computação paga. Os nós são despejados apenas por razões de capacidade, nunca por causa do preço. Veja Executar cargas de trabalho Batch em VMs Spot económicas.

Como funciona a implantação em lote com VMs de baixa prioridade

As Implantações em Lote do Azure Machine Learning fornecem vários recursos que facilitam o consumo e se beneficiam de VMs de baixa prioridade:

  • Os trabalhos de implantação em lote consomem VMs de baixa prioridade executando em clusters de computação do Azure Machine Learning criados com VMs de baixa prioridade. Depois que uma implantação é associada a um cluster de VMs de baixa prioridade, todos os trabalhos produzidos por essa implantação usam VMs de baixa prioridade. A configuração por tarefa não é possível.
  • Os trabalhos de implantação em lote buscam automaticamente o número de destino de VMs no cluster de computação disponível com base no número de tarefas a serem enviadas. Se as VMs estiverem antecipadas ou indisponíveis, os trabalhos de implantação em lote tentarão substituir a capacidade perdida enfileirando as tarefas com falha no cluster.
  • As VMs de baixa prioridade têm uma cota de vCPU separada que difere da cota das VMs dedicadas. Os núcleos de baixa prioridade por região têm um limite padrão de 100 a 3.000, dependendo da sua assinatura. O número de núcleos de baixa prioridade por subscrição pode ser aumentado e é um valor único nas famílias de VM. Consulte Cotas de computação do Azure Machine Learning.

Considerações e casos de uso

Muitas cargas de trabalho em lote são uma boa opção para VMs de baixa prioridade. O uso de VMs de baixa prioridade pode introduzir atrasos de execução quando ocorre a desalocação de VMs. Se você tiver flexibilidade no tempo que os trabalhos têm para terminar, você pode tolerar as possíveis quedas na capacidade.

Quando você implanta modelos em pontos de extremidade de lote, o reagendamento pode ser feito no nível de minilote. Essa abordagem tem a vantagem de que a desalocação afeta apenas os minilotes que estão sendo processados e não concluídos no nó afetado. Todos os progressos concluídos são mantidos.

Limitações

  • Depois que uma implantação é associada a um cluster de VMs de baixa prioridade, todos os trabalhos produzidos por essa implantação usam VMs de baixa prioridade. A configuração por tarefa não é possível.
  • A reclassificação é feita ao nível do minibatch, independentemente do progresso. Nenhum recurso de ponto de verificação é fornecido.
  • É cobrado por cada nó do cluster enquanto está ligado, incluindo os nós que são despejados antes de terminarem qualquer trabalho, e incluindo o tempo que cada nó substituto passa a arrancar. O despejo não resulta em reembolso nem crédito, e as VMs Spot não têm SLA. Consulte estados das máquinas virtuais e estado de faturação e Boas práticas para Azure Batch.
  • Despejos frequentes podem fazer com que um cluster custe mais do que um dedicated cluster para a mesma carga de trabalho, especialmente em regiões onde a tarifa Spot está próxima da tarifa pay-as-you-go.

Aviso

Nos casos em que todo o cluster é antecipado ou executado em um cluster de nó único, o trabalho é cancelado porque não há capacidade disponível para ser executado. Neste caso, é necessário reenviar.

Criar implantações em lote que usam VMs de baixa prioridade

Os trabalhos de implantação em lote consomem VMs de baixa prioridade executando em clusters de computação do Azure Machine Learning criados com VMs de baixa prioridade.

Nota

Depois que uma implantação é associada a um cluster de VMs de baixa prioridade, todos os trabalhos produzidos por essa implantação usam VMs de baixa prioridade. A configuração por trabalho não é possível.

Você pode criar um cluster de computação do Azure Machine Learning de baixa prioridade da seguinte maneira:

Crie uma definição YAML de computação como a seguinte, low-pri-cluster.yml:

$schema: https://azuremlschemas.azureedge.net/latest/amlCompute.schema.json 
name: low-pri-cluster
type: amlcompute
size: STANDARD_DS3_v2
min_instances: 0
max_instances: 2
idle_time_before_scale_down: 120
tier: low_priority

Crie a computação usando o seguinte comando:

az ml compute create -f low-pri-cluster.yml

Depois de criar a nova computação, você pode criar ou atualizar sua implantação para usar o novo cluster:

Para criar ou atualizar uma implantação no novo cluster de computação, crie um arquivo de YAML configuração endpoint.yml:

$schema: https://azuremlschemas.azureedge.net/latest/batchDeployment.schema.json
endpoint_name: heart-classifier-batch
name: classifier-xgboost
description: A heart condition classifier based on XGBoost
type: model
model: azureml:heart-classifier@latest
compute: azureml:low-pri-cluster
resources:
  instance_count: 2
settings:
  max_concurrency_per_instance: 2
  mini_batch_size: 2
  output_action: append_row
  output_file_name: predictions.csv
  retry_settings:
    max_retries: 3
    timeout: 300

Em seguida, crie a implantação com o seguinte comando:

az ml batch-endpoint create -f endpoint.yml

Visualizar e monitorar a desalocação de nós

Novas métricas estão disponíveis no portal do Azure para VMs de baixa prioridade para monitorar VMs de baixa prioridade. Essas métricas são:

  • Nós antecipados
  • Núcleos antecipados

Para exibir essas métricas no portal do Azure:

  1. Navegue até seu espaço de trabalho do Azure Machine Learning no portal do Azure.
  2. Selecione Métricas na seção Monitoramento.
  3. Selecione as métricas desejadas na lista Métricas .

Captura de tela da seção de métricas no painel de monitoramento de recursos que mostra as métricas relevantes para VMs de baixa prioridade.