Dela via


Använda virtuella datorer med låg prioritet för batchdistributioner

GÄLLER FÖR:Azure CLI ml extension v2 (current)Python SDK azure-ai-ml v2 (aktuell)

Azure Batch-distributioner stöder virtuella datorer med låg prioritet (VM) för att minska kostnaden för batchinferensarbetsbelastningar. Virtuella datorer med låg prioritet gör det möjligt att använda en stor mängd beräkningskraft till en låg kostnad. Virtuella datorer med låg prioritet drar nytta av överskottskapacitet i Azure. När du anger virtuella datorer med låg prioritet i dina pooler kan Azure använda det här överskottet när det är tillgängligt.

Dricks

Kompromissen med att använda lågprioriterade virtuella datorer är att dessa virtuella datorer kanske inte är tillgängliga eller att de kan föregås när som helst, beroende på tillgänglig kapacitet. Därför är den här metoden mest lämplig för batch- och asynkrona bearbetningsarbetsbelastningar, där jobbets slutförandetid är flexibel och arbetet distribueras över många virtuella datorer.

Virtuella datorer med låg prioritet erbjuds till ett reducerat pris jämfört med dedikerade virtuella datorer. Prisinformation finns i Prissättning för Azure Mašinsko učenje.

Så här fungerar batchdistribution med lågprioriterade virtuella datorer

Azure Mašinsko učenje Batch-distributioner innehåller flera funktioner som gör det enkelt att använda och dra nytta av virtuella datorer med låg prioritet:

  • Batchdistributionsjobb förbrukar virtuella datorer med låg prioritet genom att köras på Azure Mašinsko učenje beräkningskluster som skapats med lågprioriterade virtuella datorer. När en distribution har associerats med ett kluster med låg prioritet för virtuella datorer använder alla jobb som skapas av en sådan distribution virtuella datorer med låg prioritet. Konfiguration per jobb är inte möjlig.
  • Batchdistributionsjobb söker automatiskt efter målantalet virtuella datorer i det tillgängliga beräkningsklustret baserat på antalet uppgifter som ska skickas. Om virtuella datorer är fördefinierade eller otillgängliga försöker batchdistributionsjobb ersätta den förlorade kapaciteten genom att köa de misslyckade uppgifterna till klustret.
  • Virtuella datorer med låg prioritet har en separat vCPU-kvot som skiljer sig från den för dedikerade virtuella datorer. Kärnor med låg prioritet per region har en standardgräns på 100 till 3 000, beroende på din prenumeration. Antalet lågprioritetskärnor per prenumeration kan ökas och är ett enskilt värde för VM-familjer. Se Azure Mašinsko učenje beräkningskvoter.

Överväganden och användningsfall

Många batcharbetsbelastningar passar bra för virtuella datorer med låg prioritet. Om du använder virtuella datorer med låg prioritet kan körningsfördröjningar uppstå när de virtuella datorerna frigörs. Om du har flexibilitet när jobben måste slutföras kan du tolerera potentiella kapacitetsfall.

När du distribuerar modeller under batchslutpunkter kan du schemalägga om på minibatchnivå. Den metoden har fördelen att frigöring endast påverkar de minibatcher som för närvarande bearbetas och inte slutförs på den berörda noden. Alla slutförda förlopp behålls.

Begränsningar

  • När en distribution har associerats med ett kluster med låg prioritet för virtuella datorer använder alla jobb som skapas av en sådan distribution virtuella datorer med låg prioritet. Konfiguration per jobb är inte möjlig.
  • Omplanering görs på mini-batch-nivå, oavsett förloppet. Det finns ingen kontrollpunktsfunktion.

Varning

I de fall då hela klustret förinstalleras eller körs i ett kluster med en nod avbryts jobbet eftersom det inte finns någon tillgänglig kapacitet för körning. I det här fallet krävs en ny inskickning.

Skapa batchdistributioner som använder virtuella datorer med låg prioritet

Batchdistributionsjobb förbrukar virtuella datorer med låg prioritet genom att köras på Azure Mašinsko učenje beräkningskluster som skapats med lågprioriterade virtuella datorer.

Kommentar

När en distribution har associerats med ett kluster med låg prioritet för virtuella datorer använder alla jobb som skapas av en sådan distribution virtuella datorer med låg prioritet. Det går inte att konfigurera per jobb.

Du kan skapa ett Azure Mašinsko učenje beräkningskluster med låg prioritet på följande sätt:

Skapa en beräkningsdefinition YAML som följande, 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

Skapa beräkningen med följande kommando:

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

När du har skapat den nya beräkningen kan du skapa eller uppdatera distributionen så att den använder det nya klustret:

Om du vill skapa eller uppdatera en distribution under det nya beräkningsklustret skapar du en YAML konfigurationsfil 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

Skapa sedan distributionen med följande kommando:

az ml batch-endpoint create -f endpoint.yml

Visa och övervaka nodallokering

Nya mått är tillgängliga i Azure-portalen för virtuella datorer med låg prioritet för att övervaka virtuella datorer med låg prioritet. Dessa mått är:

  • Fördefinierade noder
  • Fördefinierade kärnor

Så här visar du dessa mått i Azure-portalen:

  1. Gå till din Azure Mašinsko učenje-arbetsyta i Azure-portalen.
  2. Välj Mått i avsnittet Övervakning .
  3. Välj de mått som du vill använda i listan Mått .

Skärmbild av måttavsnittet i fönstret resursövervakning som visar relevanta mått för virtuella datorer med låg prioritet.