Creación de trabajos de Azure Machine Learning

Completado

El primer paso para poner en funcionamiento un modelo de aprendizaje automático es ejecutarlo como un trabajo de Azure Machine Learning. Puede ejecutar scripts individuales como trabajos de comando o grupos de scripts como un trabajo de canalización.

El equipo de ciencia de datos le proporciona su trabajo en un cuaderno Jupyter Notebook en el que se cargan, transforman y entrenan los datos. Para preparar el código y el modelo para producción, deberá:

  • Refactorizar el cuaderno en scripts.
  • Consultar los scripts en la definición del trabajo.
  • Desencadenar el trabajo para entrenar el modelo.

Refactorizar el código a scripts

Para preparar un modelo de aprendizaje automático para producción, primero debe preparar el código para producción. Si tiene un cuaderno Jupyter Notebook que debe convertirse en código de producción, deberá:

  • Limpiar código no esencial.
  • Exportar el código a scripts de Python.
  • Usar funciones en los scripts.

Mediante el uso de funciones en los scripts, será más fácil probar la calidad del código. Cuando tenga un script que quiera ejecutar, puede usar un trabajo de Azure Machine Learning para ejecutar el código.

Definición de trabajo de Azure Machine Learning

Para definir un trabajo en Azure Machine Learning, puede crear un archivo YAML. Tanto si desea ejecutar un script como un trabajo de comando o varios scripts secuencialmente como una canalización. Para ambos trabajos, de comando y canalización, deberá crear un archivo YAML, que detalle lo siguiente:

  • Qué scripts ejecutar.
  • Cuáles son las entradas y salidas de cada script.
  • Qué proceso se usará para ejecutar los scripts.
  • Qué entorno se debe instalar en el proceso para ejecutar los scripts.

Un ejemplo de un trabajo de comando que usa un recurso de datos registrado como entrada cuando se ejecuta el script main.py se muestra en el siguiente YAML:

$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
code: src
command: >-
  python main.py 
  --diabetes-csv ${{inputs.diabetes}}
inputs:
  diabetes:
    path: azureml:diabetes-data:1
    mode: ro_mount
environment: azureml:basic-env-scikit@latest
compute: azureml:aml-instance
experiment_name: diabetes-data-example
description: Train a classification model on diabetes data using a registered dataset as input.

En el archivo YAML encontrará los detalles necesarios que debe incluir:

  • El code hace referencia a la carpeta local, que almacena los scripts que desea ejecutar. La clave command especifica que el script main.py de la carpeta src se debe ejecutar utilizando el valor de inputs.diabetes para el parámetro diabetes-csv.
  • La versión 1 del recurso de datos diabetes-data registrado en el área de trabajo de Azure Machine Learning se monta en el proceso que se usará como entrada para el script.
  • La instancia de proceso aml-instance se usará para ejecutar los scripts.
  • La versión más reciente del entorno personalizado basic-env-scikit registrado se instalará en la instancia de proceso antes de ejecutar el script.

Para probar la definición de YAML del trabajo, puede desencadenarla mediante la CLI v2.

Desencadenamiento de canalizaciones de Azure Machine Learning

Siempre que quiera ejecutar un trabajo de Azure Machine Learning, puede usar la CLI v2. La CLI v2 se puede instalar en el dispositivo local o puede usar Azure Cloud Shell.

Tanto si desea desencadenar ejecuciones desde el dispositivo local como si usa Azure Cloud Shell, primero debe instalar la extensión Azure Machine Learning.

Para instalarla en Windows, use el siguiente comando:

az extension add -n ml -y

Una vez que haya instalado la extensión Azure Machine Learning para la CLI y tenga acceso a la suscripción de Azure con la que desea trabajar, puede enviar un trabajo de Azure Machine Learning mediante el siguiente comando:

az ml job create --file job.yml

Nota

Para más información sobre cómo administrar trabajos Azure Machine Learning con la CLI (v2), consulte la documentación de referencia de az ml job.