Vad är beräkningsmål i Azure Machine Learning?

Ett beräkningsmål är en avsedd 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. Om du använder beräkningsmål kan du enkelt ändra beräkningsmiljön senare utan att behöva ändra koden.

I en typisk modellutvecklingslivscykel kan du:

  1. Börja med att utveckla och experimentera med 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.
  2. Skala upp till större data eller utför distribuerad träning med hjälp av något av dessa träningsberäkningsmål.
  3. 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 arbetsytans användare.

Träningsberäkningsmål

Azure Machine Learning har varierande stöd för olika beräkningsmål. En typisk livscykel för modellutveckling börjar med utveckling eller experimentering på en liten mängd data. I det här skedet använder du en lokal miljö som din lokala dator eller en molnbaserad virtuell dator. När du skalar upp träningen för 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 en 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 träningsresurs för lokala körningar och maskininlärningspipelines, men inte som ett fjärrmål för annan träning.

Utbildningsmål Automatiserad maskininlärning Pipelines för maskininlärning Azure Machine Learning Designer
Lokal dator Yes    
Azure Machine Learning beräkningskluster Ja Ja Ja
Azure Machine Learning-beräkningsinstans Ja (via SDK) Ja Ja
Azure Machine Learning Kubernetes Ja Ja Ja
Fjärr-VM Ja Ja  
Apache Spark-pooler (förhandsversion) Ja (endast lokalt SDK-läge) Yes  
Azure Databricks Ja (endast lokalt SDK-läge) Yes  
Azure Data Lake Analytics   Yes  
Azure HDInsight   Yes  
Azure Batch   Yes  

Tips

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.

Läs mer om hur du skickar ett träningsjobb till ett beräkningsmål.

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 den distribuerade slutpunkten. 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 FPGA-stöd Description
Lokal webbtjänst Testa/felsöka     Använd 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

Batch-slutsatsdragning
Yes Ej tillämpligt Kör slutsatsdragningsarbetsbelastningar i lokala kubernetes-kluster, moln och gränskluster.
Azure Container Instances Slutsatsdragning i realtid

Rekommenderas endast för utvecklings-/teständamål.
    Använd för processorbaserade arbetsbelastningar i låg skala som kräver mindre än 48 GB RAM-minne. Kräver inte att du hanterar ett kluster.

Stöds i designern.
Azure Machine Learning-beräkningskluster Batch-slutsatsdragning Ja (pipeline för maskininlärning)   Kör batchbedömning på serverlös beräkning. Stöder normala och lågprioriterade virtuella datorer. Inget stöd för slutsatsdragning i realtid.

Anteckning

Även om beräkningsmål som lokala och Azure Machine Learning beräkningskluster stöder GPU för träning och experimentering, stöds GPU för slutsatsdragning när de distribueras som en webbtjänst endast på Azure Machine Learning Kubernetes.

Användning av en GPU för slutsatsdragning vid bedömning med en maskininlärningspipeline stöds endast på Azure Machine Learning beräkning.

När du väljer en kluster-SKU skalar du först upp och sedan 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 så att de passar ditt behov av samtidig slutsatsdragning.

Anteckning

  • Containerinstanser är endast lämpliga för små modeller som är mindre än 1 GB.

Lär dig var och hur du distribuerar din modell till ett beräkningsmål.

Azure Machine Learning beräkning (hanterad)

En hanterad beräkningsresurs skapas och hanteras av Azure Machine Learning. Den här beräkningen är optimerad för maskininlärningsarbetsbelastningar. Azure Machine Learning beräkningskluster och beräkningsinstanser är de enda hanterade beräkningen.

Du kan skapa Azure Machine Learning beräkningsinstanser eller beräkningskluster från:

När de här beräkningsresurserna skapas ingår de automatiskt i din arbetsyta, till skillnad från andra typer av beräkningsmål.

Funktion Beräkningskluster Beräkninsinstans
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

Anteckning

När ett beräkningskluster är inaktivt skalas det automatiskt till 0 noder, så du betalar inte när det inte används. En beräkningsinstans är alltid aktiverad och skalas inte automatiskt. Du bör stoppa beräkningsinstansen när du inte använder den för att undvika extra kostnad.

VM-serier och storlekar som stöds

När du väljer en nodstorlek för en hanterad beräkningsresurs i Azure Machine Learning kan du välja bland de virtuella datorstorlekar 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.
  • Det finns vissa VM-serier, till exempel GPU:er och andra särskilda SKU:er, som kanske inte visas i listan över tillgängliga virtuella datorer från början. 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ökningar. Se följande tabell om du vill veta mer om serier som stöds.
VM-serie som stöds Kategori Stöds av
DDSv4 Generellt syfte Beräkningskluster och instanser
Dv2 Generellt syfte Beräkningskluster och instanser
Dv3 Generellt syfte Beräkningskluster och instanser
DSv2 Generellt syfte Beräkningskluster och instanser
DSv3 Generellt syfte 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 hur du kontrollerar om VM-serien är tillgänglig finns i Tillgängliga produkter per region.

Anteckning

Azure Machine Learning stöder inte alla VM-storlekar som Stöds av Azure Compute. Om du vill visa en lista över tillgängliga VM-storlekar 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 är installerade 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:

Beräkningsisolering

Azure Machine Learning compute erbjuder VM-storlekar som är isolerade till en viss maskinvarutyp och dedikerade till en enda kund. Isolerade VM-storlekar passar bäst för arbetsbelastningar som kräver en hög grad av isolering från andra kunders arbetsbelastningar av orsaker som omfattar att uppfylla efterlevnads- och regelkrav. Om du använder en isolerad storlek garanteras 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-stöd

Mer information om isolering finns i Isolering i det offentliga Azure-molnet.

Ohanterad beräkning

Ett ohanterat beräkningsmål hanteras inte av Azure Machine Learning. Du skapar den här typen av beräkningsmål utanför Azure Machine Learning och kopplar den sedan till din arbetsyta. Ohanterade beräkningsresurser kan kräva ytterligare 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:

  • Din lokala dator
  • Fjärranslutna virtuella datorer
  • Azure HDInsight
  • Azure Batch
  • Azure Databricks
  • Azure Data Lake Analytics
  • Azure Container-instans
  • Kubernetes

Mer information finns i Konfigurera beräkningsmål för modellträning och distribution

Nästa steg

Lär dig att: