Share via


Creare e gestire un'istanza di calcolo di Azure Machine Learning con l’interfaccia della riga di comando (CLI) v1

SI APPLICA A:estensione dell'interfaccia della riga di comando (CLI) di Azure Machine Learning v1azureml Python SDKv1

Informazioni su come creare e gestire un'istanza di calcolo nell'area di lavoro di Azure Machine Learning con l'interfaccia della riga di comando (CLI) v1.

Usare un'istanza di calcolo come ambiente di sviluppo completamente configurato e gestito nel cloud. Per lo sviluppo e il test, è anche possibile usare l'istanza come destinazione di calcolo di training o per una destinazione di inferenza. Un'istanza di ambiente di calcolo può eseguire più processi in parallelo e ha una coda di processi. Come ambiente di sviluppo, non è possibile condividere un'istanza di ambiente di calcolo con altri utenti nell'area di lavoro.

Le istanze di ambiente di calcolo possono eseguire processi in modo sicuro in un ambiente di rete virtuale senza richiedere alle aziende di aprire porte SSH. Il processo viene eseguito in un ambiente basato su contenitori e crea un pacchetto delle dipendenze del modello in un contenitore Docker.

In questo articolo vengono illustrate le operazioni seguenti:

  • Creare un'istanza di ambiente di calcolo
  • Gestire (avviare, arrestare, riavviare, eliminare) un'istanza di ambiente di calcolo

Nota

Questo articolo illustra solo come eseguire queste attività usando l'interfaccia della riga di comando (CLI) v1. Per modi più recenti per gestire un'istanza di ambiente di calcolo, vedere Creare un cluster di calcolo di Azure Machine Learning.

Prerequisiti

Creazione

Importante

Gli elementi seguenti contrassegnati (come anteprima) sono attualmente in anteprima pubblica. La versione di anteprima viene messa a disposizione senza contratto di servizio e non è consigliata per i carichi di lavoro di produzione. Alcune funzionalità potrebbero non essere supportate o potrebbero presentare funzionalità limitate. Per altre informazioni, vedere le Condizioni supplementari per l'uso delle anteprime di Microsoft Azure.

Tempo stimato: circa 5 minuti.

La creazione di un'istanza di ambiente di calcolo è un processo che viene eseguito una sola volta per l'area di lavoro. È possibile riutilizzare il calcolo come workstation di sviluppo o come destinazione di calcolo per il training. È possibile collegare diverse istanze di ambiente di calcolo all'area di lavoro.

I core dedicati per area e per quota di famiglia di macchine virtuali e quota totale a livello di area, che si applica alla creazione del cluster di istanze di ambiente di calcolo, è unificata e condivisa con la quota del cluster di elaborazione del training di Azure Machine Learning. L'arresto dell'istanza di ambiente di calcolo non rilascia la quota per assicurarsi di poterla riavviare. Non è possibile modificare le dimensioni della macchina virtuale dell'istanza di ambiente di calcolo dopo la creazione.

L'esempio seguente illustra come creare un'istanza di ambiente di calcolo:

SI APPLICA A:Azure Machine Learning Python SDK v1

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)

Per altre informazioni sulle classi, i metodi e i parametri usati in questo esempio, vedere i documenti di riferimento seguenti:

Gestione

Avviare, arrestare, riavviare ed eliminare un'istanza di ambiente di calcolo. Un'istanza di calcolo non viene ridotta automaticamente, quindi assicurarsi di arrestare la risorsa per evitare addebiti continuativi. L'arresto di un'istanza di calcolo la dealloca. e quindi riavviarla quando è necessario. Durante l'arresto dell'istanza di calcolo si arresta la fatturazione per le ore di calcolo; verrà comunque addebitata la fatturazione per il disco, l'indirizzo IP pubblico e il servizio di bilanciamento del carico standard.

Suggerimento

L'istanza di ambiente di calcolo ha un disco del sistema operativo da 120 GB. Se si esaurisce lo spazio su disco, usare il terminale per cancellare almeno 1-2 GB prima di arrestare o riavviare l'istanza di ambiente di calcolo. Non arrestare l'istanza di ambiente di calcolo eseguendo l'arresto sudo dal terminale. Le dimensioni del disco temporaneo nell'istanza di ambiente di calcolo dipendono dalle dimensioni della macchina virtuale scelte e il montaggio viene eseguito in /mnt.

SI APPLICA A:Azure Machine Learning Python SDK v1

Negli esempi seguenti il nome dell'istanza di ambiente di calcolo è istanza.

  • Ottenere lo stato

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

    # 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)
    
  • Inizio

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

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

    # 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)
    

Il Controllo degli accessi in base al ruolo di Azure consente di controllare quali utenti nell'area di lavoro possono creare, eliminare, avviare, arrestare e riavviare un'istanza di ambiente di calcolo. Tutti gli utenti con il ruolo collaboratore e proprietario dell'area di lavoro possono creare, eliminare, avviare, arrestare e riavviare le istanze di calcolo nell'area di lavoro. Tuttavia, solo l'autore di un'istanza di ambiente di calcolo specifica o l'utente assegnato, se creato in sostituzione, è autorizzato ad accedere a Jupyter, JupyterLab, RStudio e Posit Workbench (in precedenza RStudio Workbench) in tale istanza di ambiente di calcolo. Un'istanza di ambiente di calcolo è dedicata a un singolo utente che ha accesso alla radice. Tale utente ha accesso a Jupyter/JupyterLab/RStudio/Posit Workbench in esecuzione sull'istanza. L'istanza di ambiente di calcolo avrà l'accesso in modalità utente singolo e tutte le azioni useranno l'identità dell'utente per il Controllo degli accessi in base al ruolo di Azure e l'attribuzione dei processi delle esecuzioni dell’esperimento. L'accesso SSH viene controllato tramite il meccanismo di chiave pubblica/privata.

Queste azioni possono essere verificate dal Controllo degli accessi in base al ruolo di Azure:

  • 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

Per creare un'istanza di calcolo, sono necessarie autorizzazioni per le azioni seguenti:

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

Passaggi successivi