Den här artikeln beskriver hur du skapar och hanterar ett beräkningskluster på din Azure Machine Learning-arbetsyta.
Du kan använda Azure Machine Learning-beräkningskluster för att distribuera en tränings- eller batchinferensprocess över ett kluster med CPU- eller GPU-beräkningsnoder i molnet. Mer information om vm-storlekar som innehåller GPU:er finns i GPU-optimerade storlekar för virtuella datorer.
Lär dig att:
Skapa ett beräkningskluster.
Sänk kostnaden för beräkningsklustret med lågprioriterade virtuella datorer.
I stället för att skapa ett beräkningskluster använder du serverlös beräkning för att avlasta hantering av beräkningslivscykel till Azure Machine Learning.
Om du inte kör koden på en beräkningsinstans installerar du Azure Machine Learning Python SDK. Denna SDK är redan installerad åt dig på en beräkningsinstans.
Koppla till arbetsytan i Python-skriptet:
Kör den här koden för att ansluta till din Azure Machine Learning-arbetsyta.
Ersätt ditt prenumerations-ID, resursgruppsnamn och arbetsytenamn i följande kod. Så här hittar du följande värden:
# Enter details of your AML workspace
subscription_id = "<SUBSCRIPTION_ID>"
resource_group = "<RESOURCE_GROUP>"
workspace = "<AML_WORKSPACE_NAME>"
Python
# get a handle to the workspacefrom azure.ai.ml import MLClient
from azure.identity import DefaultAzureCredential
ml_client = MLClient(
DefaultAzureCredential(), subscription_id, resource_group, workspace
)
ml_client är en hanterare för den arbetsyta som du använder för att hantera andra resurser och jobb.
Autentisera och ange standardarbetsytan och resursgruppen. Låt terminalen vara öppen för att köra resten av kommandona i den här artikeln.
Om du använder en beräkningsinstans:
Azure CLI
az login --identity# next line needed only if you have multiple subscriptions:az account set --subscription"<SUBSCRIPTION-NAME>"# replace with your subscription nameaz configure --defaultsgroup=$CI_RESOURCE_GROUPworkspace=$CI_WORKSPACE
Om du kör kommandona lokalt utelämnar --identity och följer du anvisningarna för autentisering. Ersätt $CI_RESOURCE_GROUP också och $CI_WORKSPACE med dina värden.
När du konfigurerar ett virtuellt nätverk (VNet) som finns i en annan resursgrupp än din Azure Machine Learning-arbetsyta bör du vara medveten om att resurser som nätverkssäkerhetsgrupper (NSG), offentliga IP-adresser och lastbalanserare skapas i samma resursgrupp som det virtuella nätverket. Det här beteendet säkerställer korrekt nätverkshantering och isolering.
Vad är ett beräkningskluster?
Azure Machine Learning-beräkningskluster är en infrastruktur för hanterad beräkning som gör att du enkelt kan skapa en beräkning med en enda eller flera noder. Beräkningsklustret är en resurs som kan delas med andra användare på din arbetsyta. Beräkningen skalas upp automatiskt när ett jobb skickas och kan placeras i ett virtuellt Azure-nätverk. Beräkningsklustret har inte stöd för någon offentlig IP-distribution och i det virtuella nätverket. Beräkningen körs i en containerbaserad miljö och paketera dina modellberoenden i en Docker-container.
Beräkningskluster kan köra jobb på ett säkert sätt i antingen ett hanterat virtuellt nätverk eller i ett virtuellt Azure-nätverk, utan att företag behöver öppna SSH-portar. Jobbet körs i en containerbaserad miljö och paketera dina modellberoenden i en Docker-container.
Begränsningar
Beräkningskluster kan skapas i en annan region än din arbetsyta. Den här funktionen är endast tillgänglig för beräkningskluster, inte beräkningsinstanser.
Varning
När du använder ett beräkningskluster i en annan region än din arbetsyta eller dina datalager kan du se ökade kostnader för nätverksfördröjning och dataöverföring. Svarstiden och kostnaderna kan uppstå när klustret skapas och när jobb körs på det.
Med Azure kan du placera lås på resurser så att de inte kan tas bort eller är skrivskyddade.
Använd inte resurslås för den resursgrupp som innehåller din arbetsyta. Om du tillämpar ett lås på resursgruppen som innehåller din arbetsyta förhindrar du skalningsåtgärder för Azure Machine Learning-beräkningskluster. Mer information om hur du låser resurser finns i Lås resurser för att förhindra oväntade ändringar.
Varning
Om du tillämpar resurslås, till exempel "Ta bort" eller "Skrivskyddad", på den resursgrupp som innehåller din Machine Learning-arbetsyta eller till en separat resursgrupp där du har konfigurerat ett virtuellt nätverk kan du förhindra åtgärder som skapande, skalning eller borttagning av dessa kluster. Se till att resurslås är korrekt konfigurerade för att undvika oavsiktliga störningar.
Skapa
Tidsuppskattning: Cirka fem minuter.
Anteckning
Om du använder serverlös beräkning behöver du inte skapa ett beräkningskluster.
Azure Machine Learning Compute kan återanvändas mellan körningar. Beräkningen kan delas med andra användare på arbetsytan och behålls mellan körningar, automatiskt skala upp eller ned noder baserat på antalet skickade körningar och max_nodes uppsättningen i klustret. Inställningen min_nodes styr de minsta tillgängliga noderna.
De dedikerade kärnorna per region per VM-familjekvot och total regional kvot, som gäller för skapande av beräkningskluster, är enhetliga och delas med kvoten för Azure Machine Learning-träningsberäkningsinstanser.
Viktigt
Om du vill undvika avgifter när inga jobb körs anger du miniminoderna till 0. Med den här inställningen kan Azure Machine Learning avallokera noderna när de inte används. Alla värden som är större än 0 håller det antalet noder igång, även om de inte används.
Beräkningen skalas automatiskt ned till noll noder när den inte används. Dedikerade virtuella datorer skapas för att köra dina jobb efter behov.
Använd följande exempel för att skapa ett beräkningskluster:
Om du vill skapa en beständig Azure Machine Learning Compute-resurs i Python anger du size egenskaperna och max_instances . Azure Machine Learning använder sedan smarta standardvärden för de andra egenskaperna.
storlek: Den virtuella datorfamiljen för noderna som skapats av Azure Machine Learning Compute.
max_instances: Det maximala antalet noder som ska skalas upp automatiskt till när du kör ett jobb på Azure Machine Learning Compute.
Du kan också konfigurera flera avancerade egenskaper när du skapar Azure Machine Learning Compute. Med egenskaperna kan du skapa ett beständigt kluster med fast storlek eller inom ett befintligt Virtuellt Azure-nätverk i din prenumeration. Mer information finns i klassen AmlCompute.
Varning
Om det är en annan region än din arbetsyta eller dina datalager när du anger parametern location kan det uppstå ökade kostnader för nätverksfördröjning och dataöverföring. Svarstiden och kostnaderna kan uppstå när klustret skapas och när jobb körs på det.
När du använder ett beräkningskluster i en annan region än din arbetsyta eller dina datalager kan du se ökade kostnader för nätverksfördröjning och dataöverföring. Svarstiden och kostnaderna kan uppstå när klustret skapas och när jobb körs på det.
Skapa ett beräkningskluster med en eller flera noder för dina tränings-, batchinferens- eller förstärkningsinlärningsarbetsbelastningar.
Om du inte har några beräkningsresurser väljer du Nytt mitt på sidan.
Om du ser en lista över beräkningsresurser väljer du +Nytt ovanför listan.
På flikarna längst upp väljer du Beräkningskluster.
Fyll i formuläret på följande sätt:
Fält
beskrivning
Location
Den Azure-region där beräkningsklustret skapas. Som standard är detta samma plats som arbetsytan. Om du inte har tillräcklig kvot i standardregionen växlar du till en annan region för fler alternativ. När du använder en annan region än din arbetsyta eller dina datalager kan du se ökade kostnader för nätverksfördröjning och dataöverföring. Svarstiden och kostnaderna kan uppstå när klustret skapas och när jobb körs på det.
Typ av virtuell dator
Välj CPU eller GPU. Den här typen kan inte ändras när du har skapat den.
Prioritet för virtuell dator
Välj Dedikerad eller Låg prioritet. Virtuella datorer med låg prioritet är billigare men garanterar inte beräkningsnoderna. Jobbet kan vara föregripet.
Storlek för virtuell dator
Storlekar på virtuella datorer som stöds kan vara begränsade i din region. Kontrollera tillgänglighetslistan
Välj Nästa för att fortsätta till Avancerade inställningar och fyll i formuläret på följande sätt:
Fält
beskrivning
Namn på beräkning
* Namnet krävs och måste vara mellan 3 och 24 tecken långt.
* Giltiga tecken är versaler och gemener - , siffror och tecknet.
* Namnet måste börja med en bokstav.
* Namnet måste vara unikt för alla befintliga beräkningar i en Azure-region. Du ser en avisering om namnet du väljer inte är unikt.
* Om - tecknet används måste det följas av minst en bokstav senare i namnet.
Minsta antalet noder
Minsta antal noder som du vill etablera. Om du vill ha ett dedikerat antal noder anger du det antalet här. Spara pengar genom att ange minst 0, så att du inte betalar för noder när klustret är inaktivt.
Maximalt antal noder
Maximalt antal noder som du vill etablera. Beräkningen skalas automatiskt till maximalt antal noder när ett jobb skickas.
Inaktiva sekunder innan nedskalning
Inaktiv tid innan klustret skalas ned till minsta antal noder.
* Om ett virtuellt Azure-nätverk anger du resursgruppen, det virtuella nätverket och undernätet för att skapa beräkningsinstansen i nätverket. Mer information finns i nätverkskrav.
* Om ett Hanterat Azure Machine Learning-nätverk finns beräkningsklustret automatiskt i det hanterade nätverket. Mer information finns i Hanterade beräkningar med ett hanterat nätverk.
* Ingen offentlig IP-adress konfigurerar om beräkningsklustret har en offentlig IP-adress i ett nätverk.
SSH-åtkomst är inaktiverad som standard. Det går inte att ändra SSH-åtkomsten när den har skapats. Se till att aktivera åtkomst om du planerar att felsöka interaktivt med VS Code Remote.
När du har valt Nästa: Avancerade inställningar:
Aktivera Aktivera SSH-åtkomst.
I den offentliga SSH-nyckelkällan väljer du något av alternativen i listrutan:
Om du genererar ett nytt nyckelpar:
Ange ett namn för nyckeln i nyckelparets namn.
Välj Skapa.
Välj Ladda ned privat nyckel och skapa beräkning. Nyckeln laddas vanligtvis ned till mappen Nedladdningar .
Om du väljer Använd befintlig offentlig nyckel som lagras i Azure söker du efter och väljer nyckeln i Lagrad nyckel.
Om du väljer Använd befintlig offentlig nyckel anger du en offentlig RSA-nyckel i enkelradsformat (från och med "ssh-rsa") eller PEM-format med flera rader. Du kan generera SSH-nycklar med hjälp av ssh-keygen i Linux och OS X eller PuTTYGen i Windows.
Ansluta med SSH-åtkomst
När du har skapat en beräkning med SSH-åtkomst aktiverad använder du de här stegen för åtkomst.
Hitta beräkningen i dina arbetsyteresurser:
Välj Beräkning till vänster.
Använd flikarna längst upp för att välja Beräkningsinstans eller Beräkningskluster för att hitta datorn.
Välj beräkningsnamnet i listan över resurser.
Hitta anslutningssträng:
För en beräkningsinstans väljer du Anslut överst i avsnittet Information .
För ett beräkningskluster väljer du Noder överst och väljer sedan anslutningssträngen i tabellen för noden.
Kopiera anslutningssträng.
Öppna PowerShell eller en kommandotolk för Windows:
Gå till katalogen eller mappen där nyckeln lagras
Lägg till flaggan -i till anslutningssträng för att hitta den privata nyckeln och peka på den plats där den lagras:
ssh -i <keyname.pem> azureuser@... (rest of connection string)
Sänka kostnaden för beräkningsklustret med lågprioriterade virtuella datorer
Du kan också välja att använda virtuella datorer med låg prioritet för att köra vissa eller alla dina arbetsbelastningar. Dessa virtuella datorer har inte garanterad tillgänglighet och kan föregripas när de används. Du måste starta om ett förinställt jobb.
Med hjälp av virtuella Azure-datorer med låg prioritet kan du dra nytta av Azures outnyttjade kapacitet till betydande kostnadsbesparingar. När som helst när Azure behöver tillbaka kapaciteten avlägsnar Azure-infrastrukturen virtuella azure-datorer med låg prioritet. Därför är Azure Low Priority Virtual Machine perfekt för arbetsbelastningar som kan hantera avbrott. Mängden tillgänglig kapacitet kan variera beroende på storlek, region, tid på dagen med mera. När du distribuerar virtuella Azure-datorer med låg prioritet allokerar Azure de virtuella datorerna om det finns tillgänglig kapacitet, men det finns inget serviceavtal för dessa virtuella datorer. En virtuell Azure-dator med låg prioritet erbjuder inga garantier för hög tillgänglighet. När som helst när Azure behöver tillbaka kapaciteten avlägsnar Azure-infrastrukturen virtuella azure-datorer med låg prioritet.
Använd något av följande sätt för att ange en virtuell dator med låg prioritet:
Om du använder serverlös beräkning behöver du inte skapa ett beräkningskluster. Om du vill ange en serverlös beräkning med låg prioritet anger du job_tier till Spot i köinställningarna.
I studion väljer du Låg prioritet när du skapar en virtuell dator.
Delete
Medan beräkningsklustret skalas ned till noll noder när de inte används, bidrar oetablerade noder till din kvotanvändning. Om du tar bort beräkningsklustret tas beräkningsmålet bort från arbetsytan och kvoten frigörs.
Det finns en chans att vissa användare som skapade sin Azure Machine Learning-arbetsyta från Azure Portal innan GA-versionen kanske inte kan skapa AmlCompute på den arbetsytan. Du kan antingen skapa en supportbegäran mot tjänsten eller skapa en ny arbetsyta via portalen eller SDK för att avblockera dig själv omedelbart.
Viktigt
Om beräkningsinstansen eller beräkningskluster baseras på någon av dessa serier återskapar du med en annan VM-storlek.
Dessa serier drog sig tillbaka den 31 augusti 2023:
Om ditt Azure Machine Learning-beräkningskluster verkar ha fastnat vid storleksändring (0–> 0) för nodtillståndet kan Azure-resurslås vara orsaken.
Med Azure kan du placera lås på resurser så att de inte kan tas bort eller är skrivskyddade. Att låsa en resurs kan leda till oväntade resultat. Vissa åtgärder som inte verkar ändra resursen kräver i själva verket åtgärder som blockeras av låset.
Med Azure Machine Learning förhindrar användning av ett borttagningslås till resursgruppen för din arbetsyta skalningsåtgärder för Azure ML-beräkningskluster. För att undvika det här problemet rekommenderar vi att du tar bort låset från resursgruppen och i stället tillämpar det på enskilda objekt i gruppen.
Dessa resurser används för att kommunicera med och utföra åtgärder som att skala på beräkningsklustret. Om du tar bort resurslåset från dessa resurser bör du tillåta automatisk skalning för dina beräkningskluster.
Azure HPC är en specialbyggd molnfunktion för HPC & AI-arbetsbelastning, med hjälp av ledande processorer och HPC-klass InfiniBand-anslutning, för att leverera bästa programprestanda, skalbarhet och värde. Med Azure HPC kan användarna frigöra innovation, produktivitet och affärsflexialitet genom ett brett utbud av HPC- och AI-tekniker som kan allokeras dynamiskt när dina affärs- och tekniska behov ändras. Den här utbildningsvägen är en serie moduler som hjälper dig att komma igång med Azure HPC – du kan väl
Hantera datainmatning och förberedelse, modellträning och distribution samt övervakning av maskininlärningslösningar med Python, Azure Machine Learning och MLflow.
Du behöver inte längre skapa ett eget beräkningskluster för att träna din modell på ett skalbart sätt. Nu kan du använda ett beräkningskluster som Azure Machine Learning har gjort tillgängligt för dig.
Skapa en anpassad beräkningsinstans med hjälp av ett startskript. Använd beräkningsinstansen som utvecklingsmiljö eller som beräkningsmål i utvecklings-/testsyfte.