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. Para obtener información sobre cómo crear una instancia de proceso, consulte Creación de una instancia de proceso de Azure Machine Learning.

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

Seleccione la pestaña adecuada para el resto de los requisitos previos en función del método preferido para administrar la instancia de proceso.

  • Si no ejecuta el código en una instancia de proceso, instale el SDK de Azure Machine Learning para Python. Este SDK ya está instalado para usted en una instancia de proceso.

  • Adjunte al área de trabajo en el script de Python:

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

    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. Seleccione el nombre del área de trabajo en la barra de herramientas de Estudio de Azure Machine Learning superior derecha.
    4. Copie el valor del área de trabajo, el grupo de recursos y el identificador de suscripción en el código.

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

    # 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 se usa 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 5 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 estos ejemplos, 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 tiene inicio de sesión de un solo usuario y todas las acciones usan 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