Verwalten einer Compute-Instanz von Azure Machine Learning

GILT FÜR:Azure CLI ML-Erweiterung v2 (aktuell)Python SDK azure-ai-ml v2 (aktuell)

Erfahren Sie, wie Sie eine Compute-Instanz in Ihrem Azure Machine Learning-Arbeitsbereich 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 verwenden. Computeinstanzen 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.

In diesem Artikel erfahren Sie, wie Sie eine Compute-Instanz starten, beenden, neu starten und löschen. Unter Erstellen einer Azure Machine Learning-Compute-Instanz erfahren Sie, wie Sie eine Compute-Instanz erstellen.

Hinweis

Die folgenden Abschnitte in diesem Artikel zeigen die CLI v2. Wenn Sie noch die CLI v1 verwenden, lesen Sie Erstellen eines Azure Machine Learning-Computeclusters (CLI v1).

Voraussetzungen

  • Ein Azure Machine Learning-Arbeitsbereich. Weitere Informationen finden Sie unter Erstellen eines Azure Machine Learning-Arbeitsbereichs. Im Speicherkonto muss die Option „Zugriff auf Speicherkontoschlüssel zulassen“ aktiviert sein, damit die Erstellung der Compute-Instanz erfolgreich ist.

  • Die Azure CLI-Erweiterung für Machine Learning Service (v2), das Azure Machine Learning Python SDK (v2) oder die Visual Studio Code-Erweiterung für Azure Machine Learning

  • Wenn Sie das Python SDK verwenden, richten Sie Ihre Entwicklungsumgebung mit einem Arbeitsbereich ein. Sobald Ihre Umgebung eingerichtet ist, fügen Sie sie an den Arbeitsbereich in Ihrem Python-Skript an:

    GILT FÜR: Python SDK azure-ai-ml v2 (aktuell)

    Führen Sie diesen Code aus, um eine Verbindung mit Ihrem Azure ML-Arbeitsbereich herzustellen.

    Ersetzen Sie Ihre Abonnement-ID, den Namen der Ressourcengruppe und den Namen des Arbeitsbereichs in dem unten stehenden Code. So finden Sie diese Werte:

    1. Melden Sie sich bei Azure Machine Learning Studio an.
    2. Öffnen Sie den Arbeitsbereich, den Sie verwenden möchten.
    3. Wählen Sie auf der oben rechts angezeigten Azure Machine Learning Studio-Symbolleiste den Namen Ihres Arbeitsbereichs aus.
    4. Kopieren Sie den Wert für Arbeitsbereich, Ressourcengruppe und Abonnement-ID in den Code.
    5. Wenn Sie ein Notebook innerhalb von Studio verwenden, müssen Sie einen Wert kopieren, den Bereich schließen und einfügen und dann für den nächsten Wert zurückkehren.
    # Enter details of your AML workspace
    subscription_id = "<SUBSCRIPTION_ID>"
    resource_group = "<RESOURCE_GROUP>"
    workspace = "<AML_WORKSPACE_NAME>"
    # get a handle to the workspace
    from azure.ai.ml import MLClient
    from azure.identity import DefaultAzureCredential
    
    ml_client = MLClient(
        DefaultAzureCredential(), subscription_id, resource_group, workspace
    )

    ml_client ist ein Handler für den Arbeitsbereich, den Sie für die Verwaltung anderer Ressourcen und Aufträge verwenden.

Verwalten

Starten, Beenden, Neustarten und Löschen einer Compute-Instanz. Eine Compute-Instanz wird nicht immer 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 fallen aber weiterhin Kosten für Datenträger, öffentliche IP-Adresse und Standardlastenausgleich an.

Sie können das automatische Herunterfahren aktivieren, um die Compute-Instanz nach einer bestimmten Zeitspanne automatisch zu beenden.

Sie können für die Compute-Instanz einen Zeitplan erstellen, um diese automatisch zu einer bestimmten Uhrzeit und an einem bestimmten Wochentag zu starten und zu beenden.

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. Bitte beenden Sie die Compute-Instanz nicht, indem Sie sudo Herunterfahren im Terminal eingeben. Die Größe des temporären Datenträgers auf der Compute-Instanz hängt von der gewählten VM-Größe ab und wird in „/mnt“ eingebunden.

GILT FÜR: Python SDK azure-ai-ml v2 (aktuell)

In den unten stehenden Beispielen wird der Name der Compute-Instanz in der Variablen ci_basic_name gespeichert.

  • Abrufen des Status

    from azure.ai.ml.entities import ComputeInstance, AmlCompute
    
    # Get compute
    ci_basic_state = ml_client.compute.get(ci_basic_name)
  • Beenden

    from azure.ai.ml.entities import ComputeInstance, AmlCompute
    
    # Stop compute
    ml_client.compute.begin_stop(ci_basic_name).wait()
  • Start

    from azure.ai.ml.entities import ComputeInstance, AmlCompute
    
    # Start compute
    ml_client.compute.begin_start(ci_basic_name).wait()
  • Neu starten

    from azure.ai.ml.entities import ComputeInstance, AmlCompute
    
    # Restart compute
    ml_client.compute.begin_restart(ci_basic_name).wait()
  • Löschen

    from azure.ai.ml.entities import ComputeInstance, AmlCompute
    
    ml_client.compute.begin_delete(ci_basic_name).wait()

Mithilfe von Azure RBAC können Sie steuern, welche Benutzer im Arbeitsbereich eine Compute-Instanz erstellen, löschen, starten, beenden und neu starten können. Alle Benutzer 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 der Ersteller einer bestimmten Compute-Instanz oder der zugewiesene Benutzer (falls sie in seinem Namen erstellt wurde) auf dieser Compute-Instanz auf Jupyter, JupyterLab und RStudio zugreifen. Eine Compute-Instanz ist einem einzelnen Benutzer zugeordnet, der über Root-Zugriff verfügt. Dieser Benutzer hat Zugriff auf Jupyter/JupyterLab/RStudio, das auf der Instanz ausgeführt wird. Die Compute-Instanz verwendet eine Einzelbenutzeranmeldung, und diese Benutzeridentität wird bei allen Aktivitäten für Azure RBAC und die Zuordnung von Experimentaufträgen verwendet. 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/workspaces/computes/delete
  • 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

Überwachen und Beobachten der Version der Compute-Instanz

Sobald eine Compute-Instanz bereitgestellt ist, wird sie nicht mehr automatisch aktualisiert. Microsoft veröffentlicht neue VM-Images monatlich. Informationen zu den Optionen zum Aktualisieren der neuesten Version finden Sie im Artikel zur Verwaltung von Sicherheitsrisiken.

Um zu überprüfen, ob die Betriebssystemversion einer Instanz aktuell ist, können Sie die Version per CLI, SDK oder Studio-Benutzeroberfläche abfragen.

GILT FÜR: Python SDK azure-ai-ml v2 (aktuell)

from azure.ai.ml.entities import ComputeInstance, AmlCompute

# Display operating system version
instance = ml_client.compute.get("myci")
print instance.os_image_metadata

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

IT-Administrator*innen können Azure Policy verwenden, um den Bestand von Instanzen arbeitsbereichsübergreifend im Azure Policy-Complianceportal zu überwachen. Weisen Sie die integrierte Richtlinie Azure Machine Learning Compute-Instanzen mit einem veralteten Betriebssystem überwachen für ein Azure-Abonnement oder für einen Azure-Verwaltungsgruppenbereich zu.

Nächste Schritte