Añadir una ejecución de flujo de trabajo a un experimento

Puedes usar la Google Cloud consola o el SDK de Vertex AI para Python para añadir una ejecución de un flujo de trabajo a un experimento o a una ejecución de un experimento.

Google Cloud consola

Sigue estas instrucciones para ejecutar un flujo de trabajo de aprendizaje automático y asociarlo a un experimento y, opcionalmente, a una ejecución de experimento mediante la consola de Google Cloud . Las ejecuciones de experimentos solo se pueden crear mediante el SDK de Vertex AI para Python (consulta Crear y gestionar ejecuciones de experimentos).
  1. En la Google Cloud consola, en la sección Vertex AI, ve a la página Pipelines.
    Ve a Flujos de procesamiento.
  2. En la lista desplegable Región, selecciona la región en la que quieras crear una ejecución de la canalización.
  3. Haz clic en Crear ejecución para abrir el panel Crear ejecución de la canalización.
  4. Especifica los siguientes detalles de Ejecutar.
    • En el campo Archivo, haz clic en Elegir para abrir el selector de archivos. Desplázate hasta el archivo JSON de la canalización compilada que quieras ejecutar, selecciona la canalización y haz clic en Abrir.
    • El nombre del flujo de procesamiento es el que especificó en la definición del flujo de procesamiento. También puedes especificar otro nombre de flujo de procesamiento.
    • Especifica un nombre de ejecución para identificar de forma única esta ejecución de la canalización.
  5. Para especificar que esta ejecución de la canalización usa una cuenta de servicio personalizada, una clave de cifrado gestionada por el cliente o una red de VPC emparejada, haz clic en Opciones avanzadas (opcional).
    Sigue estas instrucciones para configurar opciones avanzadas, como una cuenta de servicio personalizada.
    • Para especificar una cuenta de servicio, selecciona una de la lista desplegable Cuenta de servicio.
      Si no especificas ninguna cuenta de servicio, Vertex AI Pipelines ejecutará tu flujo de procesamiento con la cuenta de servicio predeterminada de Compute Engine.
      Consulta más información sobre cómo configurar una cuenta de servicio para usarla con Vertex AI Pipelines.
    • Para usar una clave de cifrado gestionada por el cliente (CMEK), selecciona Usar una clave de cifrado gestionada por el cliente. Aparecerá la lista desplegable Seleccionar una clave gestionada por el cliente. En la lista desplegable Seleccionar una clave gestionada por el cliente, elige la clave que quieras usar.
    • Para usar una red de VPC emparejada en esta ejecución de la canalización, introduce el nombre de la red de VPC en el cuadro Red de VPC emparejada.
  6. Haz clic en Continuar.
    Aparecerán la ubicación de Cloud Storage y el panel Parámetros de la canalización.
    • Obligatorio: introduce el directorio de salida de Cloud Storage. Por ejemplo: gs://location_of_directory.
    • Opcional: Especifica los parámetros que quieras usar en esta ejecución de la canalización.
  7. Haz clic en Enviar para crear la ejecución de la canalización.
  8. Una vez que se envía la canalización, aparece en la tabla de la Google Cloud consola de la canalización.
  9. En la fila asociada a tu canalización, haz clic en  Ver más > Añadir al experimento.
    • Selecciona un experimento que ya tengas o crea uno.
    • Opcional: Si las ejecuciones del experimento están asociadas al experimento, se mostrarán en el menú desplegable. Selecciona un experimento que ya tengas.
  10. Haz clic en Guardar.

Comparar una ejecución de un flujo de trabajo con ejecuciones de experimentos mediante la Google Cloud consola

  1. En la Google Cloud consola, vaya a la página Experimentos.
    Vaya a Experimentos.
    Aparecerá una lista de experimentos en la página Experimentos.
  2. Selecciona el experimento al que quieras añadir la ejecución de la canalización.
    Aparecerá una lista de ejecuciones.
  3. Selecciona las carreras que quieras comparar y, a continuación, haz clic en Comparar
    .
  4. Haz clic en el botón Añadir ejecución. Aparecerá una lista de carreras.
  5. Seleccione la ejecución de la canalización que quiera añadir. Se añade la carrera.

SDK de Vertex AI para Python {:#sdk-add-pipeline-run}

En los siguientes ejemplos se usa la API PipelineJob.

Asociar una ejecución de flujo de trabajo a un experimento

En este ejemplo se muestra cómo asociar una ejecución de una canalización a un experimento. Si quiere comparar ejecuciones de una canalización, debe asociarlas a un experimento. Consulta init en la documentación de referencia del SDK de Vertex AI para Python.

Python

from typing import Any, Dict, Optional

from google.cloud import aiplatform


def log_pipeline_job_to_experiment_sample(
    experiment_name: str,
    pipeline_job_display_name: str,
    template_path: str,
    pipeline_root: str,
    project: str,
    location: str,
    parameter_values: Optional[Dict[str, Any]] = None,
):
    aiplatform.init(project=project, location=location)

    pipeline_job = aiplatform.PipelineJob(
        display_name=pipeline_job_display_name,
        template_path=template_path,
        pipeline_root=pipeline_root,
        parameter_values=parameter_values,
    )

    pipeline_job.submit(experiment=experiment_name)

  • experiment_name: ponle un nombre al experimento. Puedes consultar la lista de experimentos en la consola. Para ello, selecciona Experimentos en la barra de navegación de la sección. Google Cloud
  • pipeline_job_display_name: nombre definido por el usuario de este flujo de procesamiento.
  • template_path: ruta del archivo JSON o YAML de PipelineJob o PipelineSpec. Puede ser una ruta local o un URI de Cloud Storage. Ejemplo: "gs://project.name"
  • pipeline_root: la raíz de las salidas de la canalización. El valor predeterminado es el segmento de almacenamiento provisional.
  • parameter_values: la asignación de nombres de parámetros de tiempo de ejecución a sus valores, que controlan la ejecución de la canalización.
  • project: . Puedes encontrar estos IDs en la página de bienvenida de la Google Cloud consola.
  • location: consulta la lista de ubicaciones disponibles.

Asociar una ejecución de un flujo de trabajo con una ejecución de un experimento

El ejemplo proporcionado incluye la asociación de una ejecución de una canalización con una ejecución de un experimento.

Casos prácticos:

  • Cuando se entrena un modelo local y, después, se evalúa (la evaluación se realiza mediante una canalización). En este caso, querrás escribir las métricas de evaluación de tu ejecución de la canalización en un ExperimentRun.
  • Cuando se vuelve a ejecutar la misma canalización varias veces. Por ejemplo, si cambias los parámetros de entrada o si falla un componente y tienes que volver a ejecutarlo.

Cuando se asocia una ejecución de una canalización a una ejecución de un experimento, los parámetros y las métricas no se muestran automáticamente y deben registrarse manualmente mediante las APIs de registro.

Nota: Cuando el parámetro opcional resume se especifica como TRUE, se reanuda la ejecución que se había iniciado anteriormente. Si no se especifica, resume se define de forma predeterminada como FALSE y se crea una nueva ejecución.

Consulta init, start_run y log en la documentación de referencia del SDK de Vertex AI para Python.

Python

from google.cloud import aiplatform


def log_pipeline_job_sample(
    experiment_name: str,
    run_name: str,
    pipeline_job: aiplatform.PipelineJob,
    project: str,
    location: str,
):
    aiplatform.init(experiment=experiment_name, project=project, location=location)

    aiplatform.start_run(run=run_name, resume=True)

    aiplatform.log(pipeline_job=pipeline_job)

  • experiment_name: ponle un nombre al experimento. Puedes consultar la lista de experimentos en la consola. Para ello, selecciona Experimentos en la barra de navegación de la sección. Google Cloud
  • run_name: especifica un nombre de ejecución.
  • pipeline_job: un Vertex AI PipelineJob
  • project: . Puedes encontrarlos en la página de Google Cloud bienvenida de la consola.
  • location: consulta la lista de ubicaciones disponibles.

Ver la lista de ejecuciones de flujos de procesamiento en la consola de Google Cloud

  1. En la Google Cloud consola, en la sección Vertex AI, ve a la página Pipelines (Pipelines).

    Ve a la página Pipelines (Flujos de procesamiento).

  2. Comprueba que estés en el proyecto correcto.

  3. En las columnas Experimento y Ejecución de experimento se muestra una lista de los experimentos y las ejecuciones asociados a las ejecuciones de la canalización de tu proyecto.

Vertex AILista de experimentos

Codelab

Siguientes pasos

Cuaderno de ejemplo pertinente