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 Machine Learning.
Så här fungerar batchdistribution med lågprioriterade virtuella datorer
Azure Machine Learning Batch Deployments innehåller flera funktioner som gör det enkelt att använda och dra nytta av lågprioriterade virtuella datorer:
- Batchdistributionsjobb förbrukar virtuella datorer med låg prioritet genom att köras på Azure Machine Learning-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 Beräkningskvoter för Azure Machine Learning.
Ö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 Machine Learning-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 Machine Learning-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 Portal 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 Portal:
- Gå till din Azure Machine Learning-arbetsyta i Azure Portal.
- Välj Mått i avsnittet Övervakning .
- Välj de mått som du vill använda i listan Mått .