Administración de una instancia de proceso de Azure Machine Learning

SE APLICA A:Extensión ML de la CLI de Azure v2 (actual)SDK de Python azure-ai-ml v2 (actual)

Aprenda a administrar una instancia de proceso en el área de trabajo de Azure Machine Learning.

Use una instancia de proceso como entorno de desarrollo completamente configurado y administrado en la nube. Para el desarrollo y las pruebas, también puede usar la instancia como un destino de proceso de entrenamiento. Una instancia de proceso puede ejecutar varios trabajos en paralelo y tiene una cola de trabajos. Como entorno de desarrollo, una instancia de proceso no se puede compartir con otros usuarios del área de trabajo.

En este artículo, aprenderá a iniciar, detener, reiniciar y eliminar una instancia de proceso. Consulte Creación de una instancia de proceso de Azure Machine Learning para aprender a crear una instancia de proceso.

Nota:

En este artículo se muestra la CLI v2 en las secciones siguientes. Si sigue usando la CLI v1, consulte Creación de una CLI de clúster de proceso v1 de Azure Machine Learning.

Requisitos previos

  • Un área de trabajo de Azure Machine Learning. Para más información, consulte Creación de un área de trabajo de Azure Machine Learning. En la cuenta de almacenamiento, la opción "Permitir el acceso a la clave de la cuenta de almacenamiento" debe estar habilitada para que la creación de la instancia de proceso se realice correctamente.

  • La extensión de la CLI de Azure para Machine Learning Service (v2), el SDK de Python para Azure Machine Learning (v2) o la extensión de Visual Studio Code para Azure Machine Learning.

  • Si usa el SDK de Python, configure el entorno de desarrollo con un área de trabajo. Una vez configurado el entorno, conéctelo al área de trabajo en el script de Python:

    SE APLICA A: SDK de Python azure-ai-ml v2 (actual)

    Ejecute este código para conectarse al área de trabajo de Azure ML.

    Reemplace el identificador de suscripción, el nombre del grupo de recursos y el nombre del área de trabajo en el código siguiente. Para establecer estos valores:

    1. Inicie sesión en Azure Machine Learning Studio.
    2. Abra el área de trabajo que quiere usar.
    3. En la barra de herramientas de Estudio de Azure Machine Learning superior derecha, seleccione el nombre del área de trabajo.
    4. Copie el valor del área de trabajo, el grupo de recursos y el identificador de suscripción en el código.
    5. Si usa un cuaderno dentro de Studio, deberá copiar un valor, cerrar el área y pegarlo y, luego, volver a la siguiente.
    # 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 es un controlador del área de trabajo que usará para administrar otros recursos y trabajos.

Administrar

Inicie, detenga, reinicie y elimine una instancia de proceso. Una instancia de proceso no siempre se reduce verticalmente de forma automática, por lo que deberá asegurarse de detener el recurso para evitar cargos continuos. Al detener una instancia de proceso, se cancela su asignación. A continuación, inícielo de nuevo cuando lo necesite. Si bien detener la instancia de proceso detiene la facturación de las horas de proceso, se le seguirá facturando por el disco, la dirección IP pública y el equilibrador de carga estándar.

Puede habilitar el apagado automático para detener automáticamente la instancia de proceso después de un tiempo especificado.

También es posible crear una programación para que la instancia de proceso se inicie y detenga automáticamente a una hora y un día de la semana.

Sugerencia

La instancia de proceso tiene un disco de SO de 120 GB. Si se queda sin espacio en disco, use el terminal para borrar al menos entre 1 y 2 GB antes de detener o reiniciar la instancia de proceso. No detenga la instancia de proceso mediante la emisión del comando sudo shutdown desde el terminal. El tamaño del disco temporal en la instancia de proceso depende del tamaño de máquina virtual elegido y se monta en /mnt.

SE APLICA A: SDK de Python azure-ai-ml v2 (actual)

En los ejemplos que tiene a continuación, el nombre de la instancia de proceso se almacena en la variable ci_basic_name.

  • Obtener estado

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

    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()
  • Reinicio

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

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

RBAC de Azure permite controlar qué usuarios del área de trabajo pueden crear, eliminar, iniciar, detener y reiniciar una instancia de proceso. Todos los usuarios del rol colaborador y propietario del área de trabajo pueden crear, eliminar, iniciar, detener y reiniciar las instancias de proceso en el área de trabajo. Sin embargo, solo el creador de una instancia de proceso específica o el usuario asignado, si se creó en su nombre, tienen permiso para acceder a Jupyter, JupyterLab y RStudio en esa instancia de proceso. Una instancia de proceso está dedicada a un solo usuario que tenga acceso raíz. Ese usuario tiene acceso al elemento Jupyter/JupyterLab/RStudio que se ejecuta en la instancia. La instancia de proceso incluirá el inicio de sesión de un solo usuario y todas las acciones usarán la identidad de ese usuario para Azure RBAC y la atribución de trabajos de experimentos. El acceso SSH se controla mediante un mecanismo de clave pública-privada.

RBAC de Azure puede controlar estas acciones:

  • 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

Para crear una instancia de proceso, debe tener permisos para realizar las siguientes acciones:

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

Auditoría y observación de la versión de la instancia de proceso

Una vez implementada una instancia de proceso, no se actualiza automáticamente. Microsoft publica nuevas imágenes de la máquina virtual mensualmente. Para comprender las opciones para mantenerse con la versión más reciente, consulte Administración de vulnerabilidades.

Para realizar un seguimiento de si la versión del sistema operativo de una instancia es actual, puede consultarla mediante la CLI, el SDK o la interfaz de usuario de Studio.

SE APLICA A: SDK de Python azure-ai-ml v2 (actual)

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

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

Para más información acerca de las clases, los métodos y los parámetros que se usan en este ejemplo, consulte los siguientes documentos de referencia:

Los administradores de TI pueden usar Azure Policy para supervisar el inventario de instancias entre áreas de trabajo en el portal de cumplimiento de Azure Policy. Asigne la directiva integrada Auditar instancias de proceso de Azure Machine Learning con un sistema operativo obsoleto en una suscripción de Azure o un ámbito de grupo de administración de Azure.

Pasos siguientes