Freigeben über


Erstellen und Verwalten einer Azure Machine Learning-Compute-Instanz mit CLI v1

GILT FÜR:Azure CLI-ML-Erweiterungv1Python SDK azureml v1

Wichtig

Dieser Artikel enthält Informationen zur Verwendung des Azure Machine Learning SDK v1. SDK v1 ist ab dem 31. März 2025 veraltet. Der Support für sie endet am 30. Juni 2026. Sie können SDK v1 bis zu diesem Datum installieren und verwenden.

Es wird empfohlen, vor dem 30. Juni 2026 zum SDK v2 zu wechseln. Weitere Informationen zu SDK v2 finden Sie unter Was ist Azure Machine Learning CLI und Python SDK v2? und die SDK v2-Referenz.

Hier erfahren Sie, wie Sie eine Compute-Instanz in Ihrem Azure Machine Learning-Arbeitsbereich mit CLI v1 erstellen und verwalten.

Nutzen Sie eine Compute-Instanz als Ihre vollständig konfigurierte und verwaltete Entwicklungsumgebung in der Cloud. Zu Entwicklungs- und Testzwecken können Sie die Instanz auch als Trainingscomputeziel oder Rückschlussziel verwenden. Compute-Instanzen können mehrere Aufträge parallel ausführen und verfügen über eine Auftragswarteschlange. Da es sich bei einer Compute-Instanz um eine Entwicklungsumgebung handelt, kann diese nicht für andere in Ihrem Arbeitsbereich freigegeben werden.

Sie können Aufträge sicher in einer virtuellen Netzwerkumgebung ausführen, ohne dass Unternehmen hierfür SSH-Ports öffnen müssen. Der Auftrag wird in einer Containerumgebung ausgeführt und packt die Abhängigkeiten Ihres Modells in einen Docker-Container.

In diesem Artikel wird Folgendes behandelt:

  • Erstellen einer Compute-Instanz
  • Verwalten einer Compute-Instanz (Starten, Beenden, Neu starten und Löschen)

Hinweis

In diesem Artikel wird nur beschrieben, wie Sie diese Aufgaben mit CLI v1 ausführen. Weitere aktuellere Möglichkeiten zum Verwalten einer Compute-Instanz finden Sie unter Erstellen eines Azure Machine Learning-Computeclusters.

Voraussetzungen

Erstellen

Wichtig

Die unten markierten Elemente (Vorschau) sind aktuell als öffentliche Vorschau verfügbar. Die Vorschauversion wird ohne Vereinbarung zum Servicelevel bereitgestellt und wird nicht für Produktionsworkloads empfohlen. Manche Features werden möglicherweise nicht unterstützt oder sind nur eingeschränkt verwendbar. Weitere Informationen finden Sie unter Ergänzende Nutzungsbedingungen für Microsoft Azure-Vorschauversionen.

Geschätzter Zeitaufwand: Ca. fünf Minuten.

Das Erstellen einer Compute-Instanz ist ein für Ihren Arbeitsbereich einmaliger Prozess. Sie können die Compute-Instanz als Entwicklungsarbeitsstation oder als Computeziel für das Training wiederverwenden. Sie können mehrere Compute-Instanzen an Ihren Arbeitsbereich anfügen.

Das Kontingent dedizierter Kerne pro Region pro VM-Familie und das gesamte regionale Kontingent, das für die Erstellung von Compute-Instanzen gilt, ist einheitlich und wird mit dem Kontingent für Azure Machine Learning-Trainingcomputecluster gemeinsam genutzt. Das Beenden der Compute-Instanz gibt keine Kontingente frei, um sicherzustellen, dass Sie die Compute-Instanz erneut starten können. Es ist nicht möglich, die Größe der VM einer Compute-Instanz zu ändern, nachdem sie erstellt wurde.

Das folgende Beispiel veranschaulicht das Erstellen einer Compute-Instanz:

GILT FÜR:Azure Machine Learning SDK v1 für Python

import datetime
import time

from azureml.core.compute import ComputeTarget, ComputeInstance
from azureml.core.compute_target import ComputeTargetException

# Choose a name for your instance
# Compute instance name should be unique across the azure region
compute_name = "ci{}".format(ws._workspace_id)[:10]

# Verify that instance does not exist already
try:
    instance = ComputeInstance(workspace=ws, name=compute_name)
    print('Found existing instance, use it.')
except ComputeTargetException:
    compute_config = ComputeInstance.provisioning_configuration(
        vm_size='STANDARD_D3_V2',
        ssh_public_access=False,
        # vnet_resourcegroup_name='<my-resource-group>',
        # vnet_name='<my-vnet-name>',
        # subnet_name='default',
        # admin_user_ssh_public_key='<my-sshkey>'
    )
    instance = ComputeInstance.create(ws, compute_name, compute_config)
    instance.wait_for_completion(show_output=True)

Weitere Informationen zu den in diesem Beispiel verwendeten Klassen, Methoden und Parametern finden Sie in den folgenden Referenzdokumenten:

Verwalten

Starten, Beenden, Neustarten und Löschen einer Compute-Instanz. Eine Compute-Instanz wird nicht automatisch herunterskaliert. Stellen Sie daher sicher, dass die Ressource beendet wird, um laufende Gebühren zu vermeiden. Das Beenden einer Compute-Instanz gibt diese frei. Starten Sie sie dann erneut, wenn Sie sie benötigen. Das Beenden der Compute-Instanz stoppt zwar die Abrechnung der Computestunden, es werden Ihnen aber weiterhin Datenträger, öffentliche IP-Adresse und Standardlastenausgleich in Rechnung gestellt.

Tipp

Die Compute-Instanz verfügt über einen Betriebssystemdatenträger mit 120 GB. 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. Beenden Sie die Compute-Instanz nicht, indem Sie „sudo shutdown“ über das Terminal ausführen. Die Größe des temporären Datenträgers in der Compute-Instanz hängt von der ausgewählten VM-Größe ab und wird in „/mnt“ eingebunden.

GILT FÜR:Azure Machine Learning SDK v1 für Python

In den unten stehenden Beispielen lautet der Name der Compute-Instanz instance.

  • Abrufen des Status

    # get_status() gets the latest status of the ComputeInstance target
    instance.get_status()
    
  • Beenden

    # stop() is used to stop the ComputeInstance
    # Stopping ComputeInstance will stop the billing meter and persist the state on the disk.
    # Available Quota will not be changed with this operation.
    instance.stop(wait_for_completion=True, show_output=True)
    
  • Starten

    # start() is used to start the ComputeInstance if it is in stopped state
    instance.start(wait_for_completion=True, show_output=True)
    
  • Neustarten

    # restart() is used to restart the ComputeInstance
    instance.restart(wait_for_completion=True, show_output=True)
    
  • Löschen

    # delete() is used to delete the ComputeInstance target. Useful if you want to re-use the compute name
    instance.delete(wait_for_completion=True, show_output=True)
    

Mithilfe von Azure RBAC können Sie steuern, welche Benutzenden im Arbeitsbereich eine Compute-Instanz erstellen, löschen, starten, beenden und neu starten können. Alle Benutzenden mit der Rolle „Mitwirkender“ und „Besitzer“ des Arbeitsbereichs können Compute-Instanzen im gesamten Arbeitsbereich erstellen, löschen, starten, beenden und neu starten. Allerdings darf nur die erstellende Person einer bestimmten Compute-Instanz oder die zugewiesene benutzende Person (falls die Instanz in ihrem Namen erstellt wurde) in dieser Compute-Instanz auf Jupyter, JupyterLab, RStudio und Posit Workbench (früher RStudio Workbench) zugreifen. Eine Compute-Instanz ist einer einzelnen benutzenden Person zugeordnet, die über Stammzugriff verfügt. Diese benutzende Person hat Zugriff auf die Jupyter-, JupyterLab-, RStudio- oder Posit Workbench-Umgebung, die in der Instanz ausgeführt wird. Die Compute-Instanz verfügt über eine Einzelbenutzeranmeldung, und alle Aktionen verwenden die Identität dieser benutzenden Person für Azure RBAC und die Zuordnung von Experimentausführungen. Der SSH-Zugriff wird über einen Mechanismus mit öffentlichem/privatem Schlüssel gesteuert.

Diese Aktionen können von Azure RBAC gesteuert werden:

  • Microsoft.MachineLearningServices/workspaces/computes/read
  • Microsoft.MachineLearningServices/workspaces/computes/write
  • Microsoft.MachineLearningServices/Arbeitsbereiche/Rechner/löschen
  • Microsoft.MachineLearningServices/workspaces/computes/start/action
  • Microsoft.MachineLearningServices/workspaces/computes/stop/action
  • Microsoft.MachineLearningServices/workspaces/computes/restart/action
  • Microsoft.MachineLearningServices/workspaces/computes/updateSchedules/action

Zum Erstellen einer Compute-Instanz benötigen Sie Berechtigungen für die folgenden Aktionen:

  • Microsoft.MachineLearningServices/workspaces/computes/write
  • Microsoft.MachineLearningServices/workspaces/checkComputeNameAvailability/action

Nächste Schritte