Vad är beräkningsmål i Azure Machine Learning?
Ett beräkningsmål är en utsedd beräkningsresurs eller miljö där du kör träningsskriptet eller är värd för tjänstdistributionen. Den här platsen kan vara din lokala dator eller en molnbaserad beräkningsresurs. Med hjälp av beräkningsmål kan du enkelt ändra beräkningsmiljön senare utan att behöva ändra koden.
Azure Machine Learning har varierande stöd för olika beräkningsmål. I en typisk modellutvecklingslivscykel kan du:
- Börja med att utveckla och experimentera på en liten mängd data. I det här skedet använder du din lokala miljö, till exempel en lokal dator eller molnbaserad virtuell dator (VM), som beräkningsmål.
- Skala upp till större data eller gör distribuerad träning med hjälp av något av dessa träningsberäkningsmål.
- När din modell är klar distribuerar du den till en webbvärdmiljö med något av dessa distributionsberäkningsmål.
De beräkningsresurser som du använder för dina beräkningsmål är kopplade till en arbetsyta. Andra beräkningsresurser än den lokala datorn delas av användare av arbetsytan.
Träningsberäkningsmål
När du skalar upp träningen på större datamängder eller utför distribuerad träning använder du Azure Machine Learning-beräkning för att skapa ett kluster med en eller flera noder som skalar automatiskt varje gång du skickar ett jobb. Du kan också koppla din egen beräkningsresurs, även om stödet för olika scenarier kan variera.
Beräkningsmål kan återanvändas från ett träningsjobb till nästa. När du till exempel har bifogat en fjärransluten virtuell dator till din arbetsyta kan du återanvända den för flera jobb. För maskininlärningspipelines använder du lämpligt pipelinesteg för varje beräkningsmål.
Du kan använda någon av följande resurser för ett träningsberäkningsmål för de flesta jobb. Alla resurser kan inte användas för automatiserad maskininlärning, maskininlärningspipelines eller designer. Azure Databricks kan användas som en träningsresurs för lokala körningar och maskininlärningspipelines, men inte som fjärrmål för annan utbildning.
Träningsmål | Automatiserad maskininlärning | Maskininlärningspipelines | Azure Machine Learning-designer |
---|---|---|---|
Lokal dator | Ja | ||
Azure Machine Learning-beräkningskluster | Ja | Ja | Ja |
Serverlös beräkning i Azure Machine Learning | Ja | Ja | Ja |
Azure Machine Learning-beräkningsinstans | Ja (via SDK) | Ja | Ja |
Azure Machine Learning Kubernetes | Ja | Ja | |
Fjärr-VM | Ja | Ja | |
Apache Spark-pooler (förhandsversion) | Ja (endast lokalt SDK-läge) | Ja | |
Azure Databricks | Ja (endast lokalt SDK-läge) | Ja | |
Azure Data Lake Analytics | Ja | ||
Azure HDInsight | Ja | ||
Azure Batch | Ja |
Dricks
Beräkningsinstansen har en OS-disk på 120 GB. Om diskutrymmet tar slut använder du terminalen för att rensa minst 1–2 GB innan du stoppar eller startar om beräkningsinstansen.
Beräkningsmål för slutsatsdragning
När du utför slutsatsdragning skapar Azure Machine Learning en Docker-container som är värd för modellen och associerade resurser som behövs för att använda den. Den här containern används sedan i ett beräkningsmål.
Beräkningsmålet som du använder som värd för din modell påverkar kostnaden och tillgängligheten för din distribuerade slutpunkt. Använd den här tabellen för att välja ett lämpligt beräkningsmål.
Beräkningsmål | Används för | GPU-stöd | beskrivning |
---|---|---|---|
Azure Machine Learning-slutpunkter | Slutsatsdragning i realtid Batch-slutsatsdragning |
Ja | Fullständigt hanterade beräkningar för realtid (hanterade onlineslutpunkter) och batchbedömning (batchslutpunkter) på serverlös beräkning. |
Azure Machine Learning Kubernetes | Slutsatsdragning i realtid Batch-slutsatsdragning |
Ja | Kör slutsatsdragningsarbetsbelastningar i lokala kubernetes-kluster, moln och gränskluster. |
Beräkningsmål | Används för | GPU-stöd | beskrivning |
---|---|---|---|
Lokal webbtjänst | Testa/felsöka | Används för begränsad testning och felsökning. Maskinvaruacceleration beror på användningen av bibliotek i det lokala systemet. | |
Azure Machine Learning Kubernetes | Slutsatsdragning i realtid | Ja | Kör slutsatsdragningsarbetsbelastningar i molnet. |
Azure Container Instances | Slutsatsdragning i realtid Rekommenderas endast för utvecklings-/teständamål. |
Används för lågskalig CPU-baserad arbetsbelastning som kräver mindre än 48 GB RAM-minne. Kräver inte att du hanterar ett kluster. Passar endast modeller som är mindre än 1 GB. Stöds i designern. |
Kommentar
När du väljer en kluster-SKU skalar du först upp och sedan skala ut. Börja med en dator som har 150 % av det RAM-minne som din modell kräver, profilera resultatet och hitta en dator som har den prestanda du behöver. När du har lärt dig det ökar du antalet datorer för att passa ditt behov av samtidig slutsatsdragning.
Azure Machine Learning-beräkning (hanterad)
Azure Machine Learning skapar och hanterar de hanterade beräkningsresurserna. Den här typen av beräkning är optimerad för maskininlärningsarbetsbelastningar. Azure Machine Learning-beräkningskluster, serverlös beräkning och beräkningsinstanser är de enda hanterade beräkningarna.
Du behöver inte skapa serverlös beräkning. Du kan skapa Azure Machine Learning-beräkningsinstanser eller beräkningskluster från:
- Azure Machine Learning-studio
- Python SDK och Azure CLI:
- En Azure Resource Manager-mall. En exempelmall finns i Skapa ett Azure Machine Learning-beräkningskluster.
Kommentar
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.
När de skapas är dessa beräkningsresurser automatiskt en del av din arbetsyta, till skillnad från andra typer av beräkningsmål.
Kapacitet | Beräkningskluster | Beräkningsinstans |
---|---|---|
Kluster med en eller flera noder | ✓ | Kluster med en nod |
Autoskalning varje gång du skickar ett jobb | ✓ | |
Automatisk klusterhantering och jobbschemaläggning | ✓ | ✓ |
Stöd för både CPU- och GPU-resurser | ✓ | ✓ |
Kommentar
Så här undviker du avgifter när beräkningen är inaktiv:
- För ett beräkningskluster kontrollerar du att det minsta antalet noder är inställt på 0 eller använder serverlös beräkning.
- Aktivera inaktiv avstängning för en beräkningsinstans. När du stoppar beräkningsinstansen stoppas debiteringen för beräkningstimmar, men du debiteras fortfarande för disk, offentlig IP och standardlastbalanserare.
VM-serier och storlekar som stöds
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:
Dessa serier drog sig tillbaka den 31 augusti 2024:
När du väljer en nodstorlek för en hanterad beräkningsresurs i Azure Machine Learning kan du välja bland de vm-storlekar som är tillgängliga i Azure. Azure erbjuder en mängd olika storlekar för Linux och Windows för olika arbetsbelastningar. Mer information finns i VM-typer och storlekar.
Det finns några undantag och begränsningar för att välja en VM-storlek:
- Vissa VM-serier stöds inte i Azure Machine Learning.
- Vissa VM-serier, till exempel GPU:er och andra särskilda SKU:er, kanske inte från början visas i listan över tillgängliga virtuella datorer. Men du kan fortfarande använda dem när du begär en kvotändring. Mer information om hur du begär kvoter finns i Begära kvot och gränsökningar.
Mer information om serier som stöds finns i följande tabell.
VM-serien som stöds | Kategori | Stöds av |
---|---|---|
DDSv4 | Generell användning | Beräkningskluster och instanser |
Dv2 | Generell användning | Beräkningskluster och instanser |
Dv3 | Generell användning | Beräkningskluster och instanser |
DSv2 | Generell användning | Beräkningskluster och instanser |
DSv3 | Generell användning | Beräkningskluster och instanser |
EAv4 | Minnesoptimerad | Beräkningskluster och instanser |
Ev3 | Minnesoptimerad | Beräkningskluster och instanser |
ESv3 | Minnesoptimerad | Beräkningskluster och instanser |
FSv2 | Beräkningsoptimerad | Beräkningskluster och instanser |
FX | Beräkningsoptimerad | Beräkningskluster |
H | Databehandling med höga prestanda | Beräkningskluster och instanser |
HB | Databehandling med höga prestanda | Beräkningskluster och instanser |
HBv2 | Databehandling med höga prestanda | Beräkningskluster och instanser |
HBv3 | Databehandling med höga prestanda | Beräkningskluster och instanser |
HC | Databehandling med höga prestanda | Beräkningskluster och instanser |
LSv2 | Lagringsoptimerad | Beräkningskluster och instanser |
M | Minnesoptimerad | Beräkningskluster och instanser |
NC | GPU | Beräkningskluster och instanser |
NC-kampanj | GPU | Beräkningskluster och instanser |
NCv2 | GPU | Beräkningskluster och instanser |
NCv3 | GPU | Beräkningskluster och instanser |
ND | GPU | Beräkningskluster och instanser |
NDv2 | GPU | Beräkningskluster och instanser |
NV | GPU | Beräkningskluster och instanser |
NVv3 | GPU | Beräkningskluster och instanser |
NCasT4_v3 | GPU | Beräkningskluster och instanser |
NDasrA100_v4 | GPU | Beräkningskluster och instanser |
Även om Azure Machine Learning stöder dessa VM-serier kanske de inte är tillgängliga i alla Azure-regioner. Information om huruvida VM-serien är tillgänglig finns i Produkter tillgängliga per region.
Kommentar
Azure Machine Learning stöder inte alla VM-storlekar som Azure Compute stöder. Om du vill visa en lista över tillgängliga VM-storlekar använder du följande metod:
Kommentar
Azure Machine Learning stöder inte alla VM-storlekar som Azure Compute stöder. Om du vill visa en lista över tillgängliga VM-storlekar som stöds av specifika typer av beräknings-VM använder du någon av följande metoder:
Om du använder GPU-aktiverade beräkningsmål är det viktigt att se till att rätt CUDA-drivrutiner installeras i träningsmiljön. Använd följande tabell för att fastställa rätt CUDA-version som ska användas:
GPU-arkitektur | Azure VM-serien | CUDA-versioner som stöds |
---|---|---|
Ampere | NDA100_v4 | 11.0+ |
Turing | NCT4_v3 | 10.0+ |
Volta | NCv3, NDv2 | 9.0+ |
Pascal | NCv2, ND | 9.0+ |
Maxwell | NV, NVv3 | 9.0+ |
Kepler | NC, NC-kampanj | 9.0+ |
Förutom att se till att CUDA-versionen och maskinvaran är kompatibla ser du även till att CUDA-versionen är kompatibel med den version av maskininlärningsramverket som du använder:
- För PyTorch kan du kontrollera kompatibiliteten genom att gå till Pytorchs tidigare versionssida.
- För Tensorflow kan du kontrollera kompatibiliteten genom att gå till Tensorflows version från källsidan.
Beräkningsisolering
Azure Machine Learning-beräkning erbjuder VM-storlekar som är isolerade till en viss maskinvarutyp och dedikerade till en enda kund. Storlekar på isolerade virtuella datorer passar bäst för arbetsbelastningar som kräver en hög grad av isolering från andra kunders arbetsbelastningar av orsaker som omfattar efterlevnad och regelkrav. Att använda en isolerad storlek garanterar att den virtuella datorn är den enda som körs på den specifika serverinstansen.
De aktuella erbjudandena för isolerade virtuella datorer är:
- Standard_M128ms
- Standard_F72s_v2
- Standard_NC24s_v3
- Standard_NC24rs_v3 (RDMA-kompatibel)
Mer information om isolering finns i Isolering i det offentliga Azure-molnet.
Ohanterad beräkning
Azure Machine Learning hanterar inte ett ohanterat beräkningsmål. Du skapar den här typen av beräkningsmål utanför Azure Machine Learning och kopplar det sedan till din arbetsyta. Ohanterade beräkningsresurser kan kräva extra steg för att underhålla eller förbättra prestanda för maskininlärningsarbetsbelastningar.
Azure Machine Learning stöder följande ohanterade beräkningstyper:
- Virtuella fjärrdatorer
- Azure HDInsight
- Azure Databricks
- Azure Data Lake Analytics
- Azure Kubernetes Service
- Azure Synapse Spark-pool (inaktuell)
Mer information finns i Hantera beräkningsresurser.