Was sind Computeziele in Azure Machine Learning?
Ein Computeziel ist eine festgelegte Computeressource oder -Umgebung, in der Ihr Trainingsskript ausgeführt oder Ihre Dienstbereitstellung gehostet wird. Hierbei kann es sich um Ihren lokalen Computer oder eine cloudbasierte Computeressource handeln. Mithilfe von Computezielen können Sie Ihre Compute-Umgebung später problemlos ändern, ohne den Code anpassen zu müssen.
Azure Machine Learning bietet unterschiedliche Unterstützung für verschiedene Computeziele. In einem typischen Modellentwicklungslebenszyklus gehen Sie unter Umständen wie folgt vor:
- Sie entwickeln und experimentieren zunächst mit einer kleinen Datenmenge. In dieser Phase verwenden Sie Ihre lokale Umgebung, z. B. einen lokalen Computer oder einen cloudbasierten virtuellen Computer (VM), als Ihr Computeziel.
- Skalieren Sie Ihre Umgebung für größere Datenmengen hoch, oder führen Sie ein verteiltes Training mithilfe eines dieser Trainingscomputeziele durch.
- Wenn Ihr Modell bereit ist, stellen Sie es in einer Webhostingumgebung mit einem dieser Bereitstellungscomputeziele bereit.
Die Computeressourcen, die Sie für Ihre Computeziele verwenden, werden an einen Arbeitsbereich angefügt. Andere Computeressourcen als der lokale Computer werden von Benutzern des Arbeitsbereichs gemeinsam genutzt.
Trainieren von Computezielen
Wenn Sie Ihr Training zur Verwendung größerer Datasets hochskalieren oder sich für ein verteiltes Training entscheiden, verwenden Sie Azure Machine Learning Compute, um einen Cluster mit einem einzelnen oder mehreren Knoten zu erstellen, der bei jeder Übermittlung einer Ausführung automatisch skaliert wird. Sie können auch Ihre eigene Computeressource anfügen. Die Unterstützung für verschiedene Szenarien kann jedoch variieren.
Computeziele können für mehrere Trainingsaufträge wiederverwendet werden. Beispielsweise können Sie eine Remote-VM, die Sie an Ihren Arbeitsbereich angefügt haben, für mehrere Aufträge wiederverwenden. Verwenden Sie für Machine Learning-Pipelines den entsprechenden Pipelineschritt für jedes Computeziel.
Sie können für die meisten Aufträge eine beliebige der folgenden Ressourcen als Trainingscomputeziel verwenden. Allerdings können nicht alle Ressourcen für automatisiertes maschinelles Lernen, Machine Learning-Pipelines oder den Machine Learning-Designer verwendet werden. Azure Databricks kann als Trainingsressource für lokale Ausführungen und Machine Learning-Pipelines verwendet werden, jedoch nicht als Remoteziel für andere Trainings.
Trainingsziele | Automatisiertes maschinelles Lernen | Machine Learning-Pipelines | Azure Machine Learning-Designer |
---|---|---|---|
Lokaler Computer | Ja | ||
Azure Machine Learning Compute-Cluster | Ja | Ja | Ja |
Azure Machine Learning: Serverloses Computing | Ja | Ja | Ja |
Azure Machine Learning-Computeinstanz | Ja (über SDK) | Ja | Ja |
Azure Machine Learning Kubernetes | Ja | Ja | |
Remote-VM | Ja | Ja | |
Apache Spark-Pools (Vorschauversion) | Ja (nur lokaler SDK-Modus) | Ja | |
Azure Databricks | Ja (nur lokaler SDK-Modus) | Ja | |
Azure Data Lake Analytics | Ja | ||
Azure HDInsight | Ja | ||
Azure Batch | Ja |
Tipp
Die Compute-Instanz verfügt über einen 120 GB Betriebssystemdatenträger. Wenn Ihnen der Speicherplatz ausgeht, verwenden Sie das Terminal, um mindestens 1–2 GB zu löschen, bevor Sie die Compute-Instanz beenden oder neu starten.
Computeziele für Rückschlüsse
Beim Durchführen von Rückschlüssen erstellt Azure Machine Learning einen Docker-Container, der das Modell und zugehörige Ressourcen hostet, die für die Verwendung erforderlich sind. Dieser Container wird dann in einem Computeziel verwendet.
Das Computeziel, das Sie zum Hosten Ihres Modells verwenden, wirkt sich auf die Kosten und die Verfügbarkeit Ihres bereitgestellten Endpunkts aus. Verwenden Sie die folgende Tabelle, um ein geeignetes Computeziel auszuwählen:
Computeziel | Syntaxelemente | GPU-Unterstützung | Beschreibung |
---|---|---|---|
Azure Machine Learning-Endpunkte | Echtzeitrückschluss Batchrückschluss |
Ja | Vollständig verwaltete Compute-Instanzen für die Echtzeit- (verwaltete Online-Endpunkte) und Batchbewertung (Batch-Endpunkte) bei serverlosem Computing. |
Azure Machine Learning Kubernetes | Echtzeitrückschluss Batchrückschluss |
Ja | Ausführen von Rückschlussworkloads in lokalen Clustern, Cloudclustern und Kubernetes-Edgeclustern |
Computeziel | Syntaxelemente | GPU-Unterstützung | BESCHREIBUNG |
---|---|---|---|
Lokaler Webdienst | Testen/Debuggen | Für eingeschränkte Tests und Problembehandlung verwenden. Die Hardwarebeschleunigung hängt von der Verwendung von Bibliotheken im lokalen System ab. | |
Azure Machine Learning Kubernetes | Echtzeitrückschluss | Ja | Ausführen von Rückschlussworkloads in der Cloud |
Azure Container Instances | Echtzeitrückschluss Nur empfohlen für Entwicklungs-/Testzwecke. |
Für CPU-lastige Workloads im kleinen Maßstab verwenden, die weniger als 48 GB Arbeitsspeicher erfordern. Sie müssen keinen Cluster verwalten. Nur geeignet für Modelle unter 1 GB. Wird im Designer unterstützt. |
Hinweis
Bei der Auswahl einer Cluster-SKU müssen Sie zuerst hochskalieren und dann aufskalieren. Beginnen Sie mit einem Computer, der über 150 % des für Ihr Modell erforderlichen RAM verfügt, erstellen Sie ein Profil für das Ergebnis, und suchen Sie nach einem Computer mit der benötigten Leistung. Nachdem Sie sich damit vertraut gemacht haben, erhöhen Sie die Anzahl der Computer, um Ihren Anforderungen an gleichzeitige Rückschlüsse zu genügen.
Führen Sie die Schritte zum Bereitstellen und Bewerten eines Machine Learning-Modells mithilfe eines Onlineendpunkts durch.
Azure Machine Learning-Computeressource (verwaltet)
Azure Machine Learning erstellt und verwaltet die verwalteten Computeressourcen. Diese Art von Compute ist für Machine Learning-Workloads optimiert. Azure Machine Learning-Computecluster, serverlose Compute- und Computeinstanzen sind die einzigen verwalteten Computes.
Es ist nicht erforderlich, serverlose Berechnungen zu erstellen. Sie können Azure Machine Learning-Compute-Instanzen oder -Computecluster erstellen mithilfe von:
- Azure Machine Learning Studio
- Das Python SDK und die Azure CLI:
- Azure Resource Manager-Vorlage Eine Beispielvorlage finden Sie unter Erstellen eines Azure Machine Learning-Computeclusters.
Hinweis
Anstatt einen Computecluster zu erstellen, verwenden Sie serverloses Computing, um das Compute-Lifecycle-Management an Azure Machine Learning auszulagern.
Nach der Erstellung sind diese Computeressourcen im Gegensatz zu anderen Arten von Computezielen automatisch Teil Ihres Arbeitsbereichs.
Funktion | Computecluster | Compute-Instanz |
---|---|---|
Cluster mit einem oder mehreren Knoten | ✓ | Einzelknotencluster |
Automatische Skalierung bei jeder Übermittlung der Einzelvorgänge | ✓ | |
Automatische Clusterverwaltung und Auftragsplanung | ✓ | ✓ |
Unterstützt CPU- und GPU-Ressourcen | ✓ | ✓ |
Hinweis
So vermeiden Sie Gebühren, wenn sich die Compute-Instanz im Leerlauf befindet
- Stellen Sie für einen Computecluster sicher, dass die Mindestanzahl der Knoten auf 0 festgelegt ist, oder verwenden Sie serverloses Computing.
- Aktivieren Sie für eine Compute-Instanz das Herunterfahren im Leerlauf. Das Beenden der Compute-Instanz stoppt zwar die Abrechnung der Computestunden, es fallen aber weiterhin Kosten für Datenträger, öffentliche IP-Adresse und Standardlastenausgleich an.
Unterstützte VM-Serien und -Größen
Wichtig
Wenn Ihre Compute-Instanz oder Ihr Computecluster auf einer dieser Serien basiert, erstellen Sie die Instanz bzw. den Cluster mit einer anderen VM-Größe neu.
Folgende Serien wurden am 31. August 2023 eingestellt:
Folgende Serien wurden am 31. August 2024 eingestellt:
Wenn Sie eine Knotengröße für eine verwaltete Computeressource in Azure Machine Learning auswählen, können Sie unter den in Azure verfügbaren VM-Größen auswählen. Azure bietet eine Reihe von Größen für Linux und Windows für verschiedene Workloads. Weitere Informationen finden Sie unter VM-Typen und -Größen.
Bei der Auswahl einer VM-Größe gelten einige Ausnahmen und Einschränkungen:
- Einige VM-Serien werden in Azure Machine Learning nicht unterstützt.
- Einige VM-Serien, z. B. GPUs und andere spezielle SKUs, werden möglicherweise nicht in Ihrer Liste der verfügbaren VMs angezeigt. Aber Sie können sie trotzdem nutzen, sobald Sie eine Kontingentänderung anfordern. Weitere Informationen zur Kontingentanforderung finden Sie unter Anfordern von Kontingent- und Grenzwerterhöhungen.
In der folgenden Tabelle finden Sie weitere Informationen zu den unterstützten Serien.
Unterstützte VM-Serie | Kategorie | Unterstützt von |
---|---|---|
DDSv4 | Allgemeiner Zweck | Computecluster und -instanzen |
Dv2 | Allgemeiner Zweck | Computecluster und -instanzen |
Dv3 | Allgemeiner Zweck | Computecluster und -instanzen |
DSv2 | Allgemeiner Zweck | Computecluster und -instanzen |
DSv3 | Allgemeiner Zweck | Computecluster und -instanzen |
EAv4 | Arbeitsspeicheroptimiert | Computecluster und -instanzen |
Ev3 | Arbeitsspeicheroptimiert | Computecluster und -instanzen |
ESv3 | Arbeitsspeicheroptimiert | Computecluster und -instanzen |
FSv2 | Computeoptimiert | Computecluster und -instanzen |
FX | Für Compute optimiert | Computecluster |
H | High Performance Computing | Computecluster und -instanzen |
HB | High Performance Computing | Computecluster und -instanzen |
HBv2 | High Performance Computing | Computecluster und -instanzen |
HBv3 | High Performance Computing | Computecluster und -instanzen |
HC | High Performance Computing | Computecluster und -instanzen |
LSv2 | Speicheroptimiert | Computecluster und -instanzen |
M | Arbeitsspeicheroptimiert | Computecluster und -instanzen |
NC | GPU | Computecluster und -instanzen |
NC Promo | GPU | Computecluster und -instanzen |
NCv2 | GPU | Computecluster und -instanzen |
NCv3 | GPU | Computecluster und -instanzen |
ND | GPU | Computecluster und -instanzen |
NDv2 | GPU | Computecluster und -instanzen |
SH | GPU | Computecluster und -instanzen |
NVv3 | GPU | Computecluster und -instanzen |
NCasT4_v3 | GPU | Computecluster und -instanzen |
NDasrA100_v4 | GPU | Computecluster und -instanzen |
Obwohl Azure Machine Learning diese VM-Serien unterstützt, sind sie möglicherweise nicht in allen Azure-Regionen verfügbar. Informationen zum Überprüfen, ob VM-Serien verfügbar sind, finden Sie unter Verfügbare Produkte nach Region.
Hinweis
Azure Machine Learning unterstützt nicht alle VM-Größen, die von Azure Compute unterstützt werden. Verwenden Sie die folgende Methode, um die verfügbaren VM-Größen aufzulisten:
Hinweis
Azure Machine Learning unterstützt nicht alle VM-Größen, die von Azure Compute unterstützt werden. Wenn Sie die verfügbaren VM-Größen auflisten möchten, die von bestimmten Compute-VM-Typen unterstützt werden, verwenden Sie eine der folgenden Methoden:
Bei der Verwendung GPU-fähiger Computeziele ist es wichtig, sicherzustellen, dass die richtigen CUDA-Treiber in der Trainingsumgebung installiert sind. Bestimmen Sie anhand der folgenden Tabelle die richtige CUDA-Version, die verwendet werden soll:
GPU-Architektur | Azure-VM-Serie | Unterstützte CUDA-Versionen |
---|---|---|
Ampere | NDA100_v4 | 11.0+ |
Turing | NCT4_v3 | 10.0 und höher |
Volta | NCv3, NDv2 | 9.0+ |
Pascal | NCv2, ND | 9.0+ |
Maxwell | NV, NVv3 | 9.0+ |
Kepler | NC, NC Promo | 9.0+ |
Stellen Sie nicht nur sicher, dass die CUDA-Version und -Hardware kompatibel sind, sondern auch, dass die CUDA-Version mit der Version des verwendeten Machine-Learning-Frameworks kompatibel ist:
- Für PyTorch können Sie die Kompatibilität überprüfen, indem Sie die Seite vorherige Versionen von Pytorch besuchen.
- Für Tensorflow können Sie die Kompatibilität überprüfen, indem Sie die Seite zur Erstellung aus einer Quelle von Tensorflow besuchen.
Computeisolation
Azure Machine Learning Compute bietet VM-Größen, die für einen bestimmten Hardwaretyp isoliert und für einen einzelnen Kunden bestimmt sind. Die Größen isolierter VMs eignen sich am besten für Workloads, die ein hohes Maß an Isolation von den Workloads anderer Kunden erfordern, beispielsweise um Compliance zu erzielen und gesetzliche Anforderungen zu erfüllen. Durch die Verwendung einer isolierten Größe wird gewährleistet, dass ausschließlich Ihre VM auf dieser bestimmten Serverinstanz ausgeführt wird.
Die aktuellen Angebote für isolierte VMs umfassen Folgendes:
- Standard_M128ms
- Standard_F72s_v2
- Standard_NC24s_v3
- Standard_NC24rs_v3 (RDMA-fähig)
Weitere Informationen zur Isolation finden Sie unter Isolation in der öffentlichen Azure-Cloud.
Nicht verwaltete Computeressourcen
Azure Machine Learning verwaltet keine nicht verwalteten Computeziele. Sie erstellen diese Art von Computeziel außerhalb von Azure Machine Learning und fügen es anschließend an Ihren Arbeitsbereich an. Nicht verwaltete Computeressourcen können zusätzliche Schritte erfordern, damit Sie die Leistung für Machine-Learning-Workloads beibehalten oder verbessern können.
Azure Machine Learning unterstützt die folgenden nicht verwalteten Computetypen:
- Virtuelle Remotecomputer
- Azure HDInsight
- Azure Databricks
- Azure Data Lake Analytics
Weitere Informationen finden Sie unter Verwalten von Computeressourcen.