Vad är beräkningsmål i Azure Machine Learning?
Ett beräkningsmål är en angiven 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 är det enkelt att senare ändra beräkningsmiljön utan att behöva ändra koden.
I en typisk livscykel för modellutveckling kan du:
- 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 en molnbaserad virtuell dator (VM) som beräkningsmål.
- Skala upp till större data eller distribuerad träning med hjälp av något av dessa beräkningsmål för träning.
- När din modell är klar distribuerar du den till en webbvärdmiljö med något av dessa beräkningsmål för distributionen.
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äningsbearbetningsmål
Azure Machine Learning har varierande stöd för olika beräkningsmål. En typisk modellutvecklingslivscykel 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 på större datauppsättningar eller utför distribuerad träning kan du använda Azure Machine Learning Compute för att skapa ett kluster med en eller flera noder som skalar automatiskt varje gång du skickar en körning. Du kan också koppla en egen beräkningsresurs, men 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äningsbearbetningsmål för de flesta jobb. Alla resurser kan inte användas för automatiserad maskininlärning, pipelines för maskininlärning eller designer. Azure Databricks kan användas som en utbildningsresurs för lokala körningar och maskininlärningspipelines, men inte som ett fjärrmål för annan utbildning.
| 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 |
| Fjärransluten virtuell dator | 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 | ||
| Azure Kubernetes Service (förhandsversion) | Ja | Ja | Ja |
| Azure Arc Kubernetes (förhandsversion) | Ja | Ja | Ja |
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 en träningskörning till ett beräkningsmål.
Beräkningsmål för slutsatsledning
När du utför inferens 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änds för begränsad testning och felsökning. Maskinvaruacceleration beror på användningen av bibliotek i det lokala systemet. | ||
| Azure Kubernetes Service (AKS) | Inferens i realtid Rekommenderas för produktionsarbetsbelastningar. |
Ja (webbtjänstdistribution) | Ja | Används för storskaliga produktionsdistributioner. Ger snabb svarstid och automatisk skalning av den distribuerade tjänsten. Automatisk skalning av kluster stöds inte via Azure Machine Learning SDK. Om du vill ändra noderna i AKS-klustret använder du användargränssnittet för ditt AKS-kluster i Azure Portal. Stöds i designern. |
| Azure Container Instances | Inferens i realtid Rekommenderas endast för utveckling/testning. |
Används för lågskaliga CPU-baserade arbetsbelastningar 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-inferens | Ja (maskininlärningspipeline) | Kör batchbedömning på serverlös beräkning. Stöder normala och lågprioriterade virtuella datorer. Inget stöd för slutsatsledning i realtid. | |
| Azure Arc-aktiverade Kubernetes | Inferens i realtid Batch-inferens |
Yes | Ej tillämpligt | Köra inferensarbetsbelastningar på lokala Kubernetes-, moln- och gränskluster som hanteras i Azure Arc |
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 användning av GPU för slutsatsledning när de distribueras som en webbtjänst endast på AKS.
Användning av en GPU för slutsatsledning vid bedömning med en maskininlärningspipeline stöds endast Azure Machine Learning beräkning.
När du väljer en kluster-SKU skalar du först upp och sedan skalar 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 kan du öka antalet datorer så att de passar dina behov av samtidig inferens.
Anteckning
- Containerinstanser är bara lämpliga för små modeller som är mindre än 1 GB.
- Använd AKS-kluster med en nod för utveckling/testning av större modeller.
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äkningarna.
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.
- Ett maskininlärningstillägg för Azure CLI.
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 en körning | ✓ | |
| 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 på och skalas inte automatiskt. Du bör stoppa beräkningsinstansen när du inte använder den för att undvika extra kostnader.
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 utvalda VM-storlekar som är tillgängliga i Azure. Azure erbjuder en mängd storlekar för Linux och Windows för olika arbetsbelastningar. Mer information finns i Typer och storlekar för virtuella datorer.
Det finns några undantag och begränsningar för att välja storlek på en virtuell dator:
- Vissa VM-serier stöds inte i Azure Machine Learning.
- Vissa VM-serier är begränsade. Om du vill använda en begränsad serie kontaktar du supporten och begär en kvotökning för serien. Information om hur du kontaktar supporten finns i Supportalternativ för Azure.
I följande tabell kan du läsa mer om serier och begränsningar som stöds.
| VM-serie som stöds | Begränsningar | Kategori | Stöds av |
|---|---|---|---|
| DDSv4 | Inga. | Generellt syfte | Beräkningskluster och instanser |
| Dv2 | Inga. | Generellt syfte | Beräkningskluster och instanser |
| Dv3 | Inga. | Generellt syfte | Beräkningskluster och instanser |
| DSv2 | Inga. | Generellt syfte | Beräkningskluster och instanser |
| DSv3 | Inga. | Generellt syfte | Beräkningskluster och instanser |
| EAv4 | Inga. | Minnesoptimerad | Beräkningskluster och instanser |
| Ev3 | Inga. | Minnesoptimerad | Beräkningskluster och instanser |
| FSv2 | Inga. | Beräkningsoptimerad | Beräkningskluster och instanser |
| FX | Kräver godkännande. | Beräkningsoptimerad | Beräkningskluster |
| H | Inga. | Databehandling med höga prestanda | Beräkningskluster och instanser |
| HB | Kräver godkännande. | Databehandling med höga prestanda | Beräkningskluster och instanser |
| HBv2 | Kräver godkännande. | Databehandling med höga prestanda | Beräkningskluster och instanser |
| HBv3 | Kräver godkännande. | Databehandling med höga prestanda | Beräkningskluster och instanser |
| HC | Kräver godkännande. | Databehandling med höga prestanda | Beräkningskluster och instanser |
| LSv2 | Inga. | Lagringsoptimerad | Beräkningskluster och instanser |
| M | Kräver godkännande. | Minnesoptimerad | Beräkningskluster och instanser |
| NC | Inga. | GPU | Beräkningskluster och instanser |
| NC-kampanj | Inga. | GPU | Beräkningskluster och instanser |
| NCv2 | Kräver godkännande. | GPU | Beräkningskluster och instanser |
| NCv3 | Kräver godkännande. | GPU | Beräkningskluster och instanser |
| ND | Kräver godkännande. | GPU | Beräkningskluster och instanser |
| NDv2 | Kräver godkännande. | GPU | Beräkningskluster och instanser |
| NV | Inga. | GPU | Beräkningskluster och instanser |
| NVv3 | Kräver godkännande. | GPU | Beräkningskluster och instanser |
| NCasT4_v3 | Kräver godkännande. | GPU | Beräkningskluster och instanser |
| NDasrA100_v4 | Kräver godkännande. | GPU | Beräkningskluster och instanser |
Även Azure Machine Learning stöder dessa VM-serier är de kanske inte tillgängliga i alla Azure-regioner. Om du vill kontrollera om VM-serien är tillgänglig kan du läsa Produkt tillgänglig efter region.
Anteckning
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 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 vilken 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 ska du även se till att CUDA-versionen är kompatibel med den version av maskininlärningsramverket som du använder:
- För PyTorch kan du kontrollera kompatibiliteten här.
- För Tensorflow kan du kontrollera kompatibiliteten här.
Beräkningsisolering
Azure Machine Learning beräkning erbjuder VM-storlekar som är isolerade till en specifik maskinvarutyp och som är 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 skäl som uppfyller efterlevnads- och regelkrav. Användning av en isolerad storlek garanterar att den virtuella datorn är den enda som körs på den specifika serverinstansen.
De aktuella isolerade VM-erbjudandena ä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 det 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
- Virtuella fjärrdatorer
- Azure HDInsight
- Azure Batch
- Azure Databricks
- Azure Data Lake Analytics
- Azure Container-instans
- Azure Kubernetes Service & Azure Arc aktiverat Kubernetes (förhandsversion)
Mer information finns i Konfigurera beräkningsmål för modellträning och -distribution
Nästa steg
Lär dig att: