Hantera en Azure Machine Learning-beräkningsinstans

GÄLLER FÖR:Azure CLI ml-tillägg v2 (aktuellt)Python SDK azure-ai-ml v2 (aktuell)

Lär dig hur du hanterar en beräkningsinstans på din Azure Machine Learning-arbetsyta.

Använd en beräkningsinstans som en fullständigt konfigurerad och hanterad utvecklingsmiljö i molnet. För utveckling och testning kan du också använda instansen som träningsberäkningsmål. En beräkningsinstans kan köra flera jobb parallellt och ha en jobbkö. Som utvecklingsmiljö kan en beräkningsinstans inte delas med andra användare på din arbetsyta.

I den här artikeln får du lära dig hur du startar, stoppar, startar om och tar bort en beräkningsinstans. Se Skapa en Azure Machine Learning-beräkningsinstans för att lära dig hur du skapar en beräkningsinstans.

Anteckning

Den här artikeln visar CLI v2 i avsnitten nedan. Om du fortfarande använder CLI v1 läser du Skapa ett Azure Machine Learning-beräkningskluster CLI v1.

Förutsättningar

  • En Azure Machine Learning-arbetsyta. Mer information finns i Skapa en Azure Machine Learning-arbetsyta. I lagringskontot måste alternativet "Tillåt åtkomst till lagringskontonyckel" vara aktiverat för att skapandet av beräkningsinstansen ska lyckas.

  • Azure CLI-tillägget för Machine Learning Service (v2), Azure Machine Learning Python SDK (v2) eller Azure Machine Learning Visual Studio Code-tillägget.

  • Om du använder Python SDK konfigurerar du utvecklingsmiljön med en arbetsyta. När din miljö har konfigurerats ansluter du till arbetsytan i Python-skriptet:

    GÄLLER FÖR: Python SDK azure-ai-ml v2 (aktuell)

    Kör den här koden för att ansluta till din Azure ML-arbetsyta.

    Ersätt ditt prenumerations-ID, resursgruppsnamn och arbetsytenamn i koden nedan. Så här hittar du följande värden:

    1. Logga in på Azure Machine Learning-studio.
    2. Öppna den arbetsyta som du vill använda.
    3. Välj namnet på arbetsytan i det övre högra Azure Machine Learning-studio verktygsfältet.
    4. Kopiera värdet för arbetsyta, resursgrupp och prenumerations-ID till koden.
    5. Om du använder en notebook-fil i Studio måste du kopiera ett värde, stänga området och klistra in och sedan komma tillbaka till nästa.
    # 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 är en hanterare för arbetsytan som du ska använda för att hantera andra resurser och jobb.

Hantera

Starta, stoppa, starta om och ta bort en beräkningsinstans. En beräkningsinstans skalas inte alltid ned automatiskt, så se till att stoppa resursen för att förhindra löpande avgifter. Om du stoppar en beräkningsinstans frigörs den. Starta den sedan igen när du behöver den. När du stoppar beräkningsinstansen stoppas debiteringen för beräkningstimmar, men du debiteras fortfarande för disk, offentlig IP och standardlastbalanserare.

Du kan aktivera automatisk avstängning för att automatiskt stoppa beräkningsinstansen efter en angiven tid.

Du kan också skapa ett schema för beräkningsinstansen så att den startar och stoppar automatiskt baserat på en tid och en veckodag.

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. Stoppa inte beräkningsinstansen genom att utfärda sudo-avstängning från terminalen. Den temporära diskstorleken på beräkningsinstansen beror på den valda VM-storleken och är monterad på /mnt.

GÄLLER FÖR: Python SDK azure-ai-ml v2 (aktuell)

I exemplen nedan lagras namnet på beräkningsinstansen i variabeln ci_basic_name.

  • Hämta status

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

    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()
  • Starta om

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

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

Med Azure RBAC kan du styra vilka användare på arbetsytan som kan skapa, ta bort, starta, stoppa och starta om en beräkningsinstans. Alla användare i arbetsytans deltagar- och ägarroll kan skapa, ta bort, starta, stoppa och starta om beräkningsinstanser på arbetsytan. Men endast skaparen av en specifik beräkningsinstans, eller den användare som tilldelats den om den skapades för deras räkning, får åtkomst till Jupyter, JupyterLab och RStudio på den beräkningsinstansen. En beräkningsinstans är dedikerad till en enskild användare som har rotåtkomst. Den användaren har åtkomst till Jupyter/JupyterLab/RStudio som körs på instansen. Beräkningsinstansen har inloggning med en användare och alla åtgärder använder användarens identitet för Azure RBAC och tillskrivning av experimentjobb. SSH-åtkomst styrs via offentlig/privat nyckelmekanism.

Dessa åtgärder kan styras av Azure RBAC:

  • 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

Om du vill skapa en beräkningsinstans behöver du behörigheter för följande åtgärder:

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

Granska och observera versionen av beräkningsinstansen

När en beräkningsinstans har distribuerats uppdateras den inte automatiskt. Microsoft släpper nya VM-avbildningar månadsvis. Information om alternativ för att hålla dig uppdaterad med den senaste versionen finns i Sårbarhetshantering.

Om du vill hålla reda på om en instans operativsystemversion är aktuell kan du fråga dess version med hjälp av CLI, SDK eller Studio-användargränssnittet.

GÄLLER 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

Mer information om de klasser, metoder och parametrar som används i det här exemplet finns i följande referensdokument:

IT-administratörer kan använda Azure Policy för att övervaka inventeringen av instanser mellan arbetsytor i Azure Policy efterlevnadsportalen. Tilldela den inbyggda principen Granska Azure Machine Learning-beräkningsinstanser med ett inaktuellt operativsystem i en Azure-prenumeration eller Azure-hanteringsgruppsomfång.

Nästa steg