Wat zijn compute-doelen in Azure Machine Learning?
Een rekendoel is een aangewezen rekenresource of -omgeving waarin u uw trainingsscript uitvoert of uw service-implementatie host. Deze locatie is mogelijk uw lokale computer of een rekenresource in de cloud. Door rekendoelen te gebruiken, kunt u uw rekenomgeving later eenvoudig wijzigen zonder dat u uw code hoeft te wijzigen.
In een typische levenscyclus van modelontwikkeling kunt u het volgende doen:
- Startmenu door een kleine hoeveelheid gegevens te ontwikkelen en te experimenteren. Gebruik in deze fase uw lokale omgeving, zoals een lokale computer of een virtuele machine in de cloud (VM), als uw rekendoel.
- Schaal omhoog naar grotere gegevens of voer gedistribueerde training uit met behulp van een van deze trainings rekendoelen.
- Nadat uw model klaar is, implementeert u het in een webhostingomgeving met een van deze rekendoelen voor implementaties.
De rekenresources die u voor uw rekendoelen gebruikt, worden gekoppeld aan een werkruimte. Andere rekenresources dan de lokale computer worden gedeeld door gebruikers van de werkruimte.
Rekendoelen voor training
Azure Machine Learning heeft verschillende ondersteuning voor verschillende rekendoelen. Een typische levenscyclus van modelontwikkeling begint met ontwikkeling of experimenten op een kleine hoeveelheid gegevens. Gebruik in deze fase een lokale omgeving, zoals uw lokale computer of een vm in de cloud. Wanneer u uw training op grotere gegevenssets omhoog schaalt of gedistribueerde training uitvoert, gebruikt u Azure Machine Learning compute om een cluster met één of meerdere knooppunten te maken dat automatisch wordt geschaald telkens wanneer u een taak verzendt. U kunt ook uw eigen rekenresource koppelen, hoewel de ondersteuning voor verschillende scenario's kan variëren.
Rekendoelen kunnen opnieuw worden gebruikt voor trainingstaken. Als u een externe VM koppelt aan uw werkruimte, kunt u die bijvoorbeeld voor meerdere taken gebruiken. Voor machine learning-pijplijn gebruikt u de juiste pijplijnstap voor elk rekendoel.
U kunt voor de meeste taken een van de volgende resources gebruiken voor een rekendoel voor trainingsdoeleinden. Niet alle resources kunnen worden gebruikt voor geautomatiseerde machine learning, pijplijnen voor machine learning of de ontwerpfunctie. Azure Databricks kan worden gebruikt als trainingsresource voor lokale uitvoeringen en machine learning-pijplijnen, maar niet als een extern doel voor andere training.
Trainingsdoelen | Geautomatiseerde Machine Learning | Machine Learning-pijplijnen | Azure Machine Learning-ontwerpprogramma |
---|---|---|---|
Lokale computer | Ja | ||
Azure Machine Learning-rekenclusters | Ja | Ja | Ja |
Azure Machine Learning-rekeninstantie | Ja (via de SDK) | Ja | Ja |
Azure Machine Learning Kubernetes | Ja | Ja | Ja |
Externe VM | Ja | Ja | |
Apache Spark-pools (preview) | Ja (alleen lokale SDK-modus) | Ja | |
Azure Databricks | Ja (alleen lokale SDK-modus) | Ja | |
Azure Data Lake Analytics | Ja | ||
Azure HDInsight | Ja | ||
Azure Batch | Ja |
Tip
Het reken-exemplaar heeft een besturingssysteemschijf van 120 GB. Als u onvoldoende schijfruimte hebt, gebruikt u de terminal om ten minste 1-2 GB te wissen voordat u het rekenproces stopt of opnieuw start .
Meer informatie over het verzenden van een trainingstaak naar een rekendoel.
Rekendoelen voor deductie
Bij het uitvoeren van deductie maakt Azure Machine Learning een Docker-container die als host fungeert voor het model en de bijbehorende resources die nodig zijn om het te gebruiken. Deze container wordt vervolgens gebruikt in een rekendoel.
Het rekendoel dat u gebruikt als host voor uw model, is van invloed op de kosten en beschikbaarheid van het geïmplementeerde eindpunt. Gebruik deze tabel om een geschikt rekendoel te kiezen.
Rekendoel | Gebruikt voor | GPU-ondersteuning | FPGA-ondersteuning | Beschrijving |
---|---|---|---|---|
Lokale webservice | Testen/fouten opsporen | Gebruiken voor testen en problemen oplossen. Hardwareversnelling is afhankelijk van het gebruik van bibliotheken in het lokale systeem. | ||
Azure Machine Learning Kubernetes | Realtime deductie Batchdeductie |
Yes | N.v.t. | Voer deductieworkloads uit op on-premises, cloud- en edge Kubernetes-clusters. |
Azure Container Instances | Realtime deductie Alleen aanbevolen voor ontwikkel-/testdoeleinden. |
Gebruiken voor lage CPU-werkbelastingen waarvoor minder dan 48 GB RAM-geheugen nodig is. U hoeft geen cluster te beheren. Ondersteund in de ontwerpfunctie. |
||
Azure Machine Learning-rekenclusters | Batchdeductie | Ja (machine learning-pijplijn) | Batchscoreberekening uitvoeren op serverloze berekening. Ondersteunt VM's met normale en lage prioriteit. Geen ondersteuning voor realtime deductie. |
Notitie
Hoewel rekendoelen zoals lokaal en Azure Machine Learning rekenclusters GPU ondersteunen voor training en experimenten, wordt het gebruik van GPU voor deductie als geïmplementeerd als een webservice alleen ondersteund op Azure Machine Learning Kubernetes.
Het gebruik van een GPU voor deductie bij scoreberekening met een machine learning-pijplijn wordt alleen ondersteund in Azure Machine Learning Compute.
Bij het kiezen van een cluster-SKU moet u eerst omhoog schalen en vervolgens uitbreiden. Begin met een machine met 150% van het RAM-geheugen dat voor uw model is vereist, profileer het resultaat en zoek een machine met de prestaties die u nodig hebt. Zodra u dat weet, verhoogt u het aantal machines dat u nodig hebt voor gelijktijdige deductie.
Notitie
- Containerinstanties zijn alleen geschikt voor kleine modellen met een grootte van minder dan 1 GB.
Meer informatie over waar en hoe u uw model implementeert op een rekendoel.
Azure Machine Learning compute (beheerd)
Er wordt een beheerde rekenresource gemaakt en beheerd door Azure Machine Learning. Deze berekening is geoptimaliseerd voor machine learning-workloads. Azure Machine Learning rekenclusters en rekeninstanties zijn de enige beheerde berekeningen.
U kunt Azure Machine Learning rekeninstanties of rekenclusters maken op basis van:
- Azure Machine Learning-studio.
- De Python SDK en de Azure CLI:
- Een Azure Resource Manager-sjabloon. Zie Een Azure Machine Learning rekencluster maken voor een voorbeeldsjabloon.
Wanneer u deze rekenresources maakt, maken deze automatisch deel uit van uw werkruimte, in tegenstelling tot andere soorten rekendoelen.
Mogelijkheid | Rekencluster | Rekenproces |
---|---|---|
Cluster met één of meerdere knooppunten | ✓ | Cluster met één knooppunt |
Wordt elke keer dat u een taak verzendt, automatisch geschaald | ✓ | |
Automatisch clusterbeheer en taakplanning | ✓ | ✓ |
Ondersteuning voor cpu- en GPU-resources | ✓ | ✓ |
Notitie
Wanneer een rekencluster niet actief is, wordt het automatisch geschaald naar 0 knooppunten, zodat u niet betaalt wanneer het niet wordt gebruikt. Een rekenproces is altijd ingeschakeld en wordt niet automatisch geschaald. U moet het rekenproces stoppen wanneer u deze niet gebruikt om extra kosten te voorkomen.
Ondersteunde VM-serie en -grootten
Wanneer u een knooppuntgrootte selecteert voor een beheerde rekenresource in Azure Machine Learning, kunt u kiezen uit geselecteerde VM-grootten die beschikbaar zijn in Azure. Azure biedt verschillende grootten voor Linux en Windows voor verschillende workloads. Zie VM-typen en -grootten voor meer informatie.
Er zijn enkele uitzonderingen en beperkingen voor het kiezen van een VM-grootte:
- Sommige VM-reeksen worden niet ondersteund in Azure Machine Learning.
- Er zijn enkele VM-serie, zoals GPU's en andere speciale SKU's, die mogelijk niet in eerste instantie worden weergegeven in uw lijst met beschikbare VM's. Maar u kunt ze nog steeds gebruiken zodra u een quotumwijziging aanvraagt. Zie Quotumverhogingen aanvragen voor meer informatie over het aanvragen van quota. Zie de volgende tabel voor meer informatie over ondersteunde reeksen.
Ondersteunde VM-serie | Categorie | Ondersteund door |
---|---|---|
DDSv4 | Algemeen doel | Rekenclusters en exemplaren |
Dv2 | Algemeen doel | Rekenclusters en exemplaren |
Dv3 | Algemeen doel | Rekenclusters en exemplaren |
DSv2 | Algemeen doel | Rekenclusters en exemplaren |
DSv3 | Algemeen doel | Rekenclusters en exemplaren |
EAv4 | Geoptimaliseerd geheugen | Rekenclusters en exemplaren |
Ev3 | Geoptimaliseerd geheugen | Rekenclusters en exemplaren |
ESv3 | Geoptimaliseerd geheugen | Rekenclusters en exemplaren |
FSv2 | Geoptimaliseerde rekenkracht | Rekenclusters en exemplaren |
FX | Geoptimaliseerde rekenkracht | Rekenclusters |
H | Krachtig rekenvermogen | Rekenclusters en exemplaren |
HB | Krachtig rekenvermogen | Rekenclusters en exemplaren |
HBv2 | Krachtig rekenvermogen | Rekenclusters en exemplaren |
HBv3 | Krachtig rekenvermogen | Rekenclusters en exemplaren |
HC | Krachtig rekenvermogen | Rekenclusters en exemplaren |
LSv2 | Geoptimaliseerde opslag | Rekenclusters en exemplaren |
M | Geoptimaliseerd geheugen | Rekenclusters en exemplaren |
NC | GPU | Rekenclusters en exemplaren |
NC-promotie | GPU | Rekenclusters en -exemplaren |
NCv2 | GPU | Rekenclusters en -exemplaren |
NCv3 | GPU | Rekenclusters en -exemplaren |
ND | GPU | Rekenclusters en -exemplaren |
NDv2 | GPU | Rekenclusters en -exemplaren |
NV | GPU | Rekenclusters en -exemplaren |
NVv3 | GPU | Rekenclusters en -exemplaren |
NCasT4_v3 | GPU | Rekenclusters en -exemplaren |
NDasrA100_v4 | GPU | Rekenclusters en -exemplaren |
Hoewel Azure Machine Learning deze VM-serie ondersteunt, zijn ze mogelijk niet beschikbaar in alle Azure-regio's. Als u wilt controleren of de VM-serie beschikbaar is, raadpleegt u Producten die beschikbaar zijn per regio.
Notitie
Azure Machine Learning biedt geen ondersteuning voor alle VM-grootten die Door Azure Compute worden ondersteund. Gebruik een van de volgende methoden om de beschikbare VM-grootten weer te geven:
Als u de rekendoelen met GPU gebruikt, is het belangrijk om ervoor te zorgen dat de juiste CUDA-stuurprogramma's zijn geïnstalleerd in de trainingsomgeving. Gebruik de volgende tabel om de juiste CUDA-versie te bepalen die moet worden gebruikt:
GPU-architectuur | Azure VM-serie | Ondersteunde CUDA-versies |
---|---|---|
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-promotie | 9.0+ |
Naast ervoor te zorgen dat de CUDA-versie en -hardware compatibel zijn, moet u er ook voor zorgen dat de CUDA-versie compatibel is met de versie van het machine learning-framework dat u gebruikt:
- Voor PyTorch kunt u de compatibiliteit controleren door naar de pagina vorige versies van Pytorch te gaan.
- Voor Tensorflow kunt u de compatibiliteit controleren door naar de build van Tensorflow te gaan vanaf de bronpagina.
Rekenisolatie
Azure Machine Learning compute biedt VM-grootten die zijn geïsoleerd voor een specifiek hardwaretype en toegewezen aan één klant. Geïsoleerde VM-grootten zijn het meest geschikt voor workloads die een hoge mate van isolatie van workloads van andere klanten vereisen om redenen die onder andere voldoen aan nalevings- en regelgevingsvereisten. Het gebruik van een geïsoleerde grootte garandeert dat uw VM de enige is die wordt uitgevoerd op dat specifieke serverexemplaren.
De huidige geïsoleerde VM-aanbiedingen zijn onder andere:
- Standard_M128ms
- Standard_F72s_v2
- Standard_NC24s_v3
- Standard_NC24rs_v3*
*RDMA-compatibel
Zie Isolatie in de openbare Azure-cloud voor meer informatie over isolatie.
Onbeheerde rekenkracht
Een niet-beheerd rekendoel wordt niet beheerd door Azure Machine Learning. U maakt dit type rekendoel buiten Azure Machine Learning en koppelt deze vervolgens aan uw werkruimte. Onbeheerde rekenresources kunnen extra stappen vereisen om de prestaties voor machine learning-workloads te onderhouden of te verbeteren.
Azure Machine Learning ondersteunt de volgende niet-beheerde rekentypen:
- Uw lokale computer
- Externe virtuele machines
- Azure HDInsight
- Azure Batch
- Azure Databricks
- Azure Data Lake Analytics
- Azure Container Instance
- Kubernetes
Zie Rekendoelen instellen voor modeltraining en -implementatie voor meer informatie
Volgende stappen
Leer hoe u het volgende doet: