Clases de modelo

El SDK de Vertex AI incluye la clase Model para trabajar con un modelo que entrenes y, luego, uses para predicciones. El SDK también incluye la clase ModelEvaluation para evaluar las métricas de los modelos entrenados de AutoML. Para obtener más información sobre los modelos, consulta Entrena y usa tus propios modelos.

Model

La clase Model representa un modelo entrenado que se registra en Vertex AI Model Registry. Usas un modelo entrenado para generar predicciones.

Usa el método aiplatform.Model() para encontrar y mostrar una referencia a un modelo. Puedes especificar un modelo con su nombre o ID. Debido a que más de un modelo en un proyecto puede compartir el mismo nombre, te recomendamos que especifiques un modelo con su ID de modelo. En la siguiente muestra de código, se indica cómo usar un ID de modelo para buscar y mostrar una referencia a un modelo existente:

MODEL_ID="my-sample-model-ID"
model = aiplatform.Model(model_name=MODEL_ID)

Después de hacer referencia a un modelo entrenado, puedes usar las propiedades y los métodos de Model para trabajar con él y obtener predicciones.

Crea un modelo registrado

Para crear un recurso de modelo que esté registrado en Vertex AI Model Registry, llama al método run en una clase de trabajo de entrenamiento. Los siguientes métodos crean un modelo, lo entrenan, lo registran en Vertex AI Model Registry y, luego, muestran una referencia al modelo.

En el siguiente código de muestra, se muestra cómo crear un recurso CustomTrainingJob y, luego, usar su método run para crear un modelo, entrenarlo, registrarlo en Vertex AI Model Registry y mostrar una referencia al modelo:

# Create a custom training job using a script
job = aiplatform.CustomTrainingJob(
    display_name="my-training-job",
    script_path="task.py",
    container_uri="us-docker.pkg.dev/vertex-ai/training/tf-cpu.2-8:latest",
    requirements=["google-cloud-bigquery>=2.20.0", "db-dtypes", "protobuf<3.20.0"],
    model_serving_container_image_uri="us-docker.pkg.dev/vertex-ai/prediction/tf2-cpu.2-8:latest",
)

# Create and train your model using a BigQuery dataset. The method
# returns a reference to the trained model.
model = job.run(
    dataset=dataset,
    model_display_name="my-model-name",
    bigquery_destination=f"bq://{project_id}",
    args=CMDARGS,
)

Crea un modelo no registrado

Para crear un modelo que no esté registrado en Vertex AI Model Registry, usa la clase CustomJob y su método run. El método CustomJob.run entrena un modelo, pero no lo registra en la Vertex AI Model Registry y no muestra una referencia al modelo.

Si usas la clase CustomJob, debes usar una secuencia de comandos para escribir tu modelo en una ubicación, como un bucket de Cloud Storage. Para obtener más información, consulta Exporta un modelo de AA entrenado.

Registra un modelo

Si tienes un modelo que no está registrado con Vertex AI Model Registry, debes registrarlo para que puedas administrar el ciclo de vida del modelo. Vertex AI Model Registry es un repositorio central que proporciona una descripción general de tus modelos para que puedas administrarlos. Para obtener más información, consulta Introducción a Vertex AI Model Registry.

El SDK de Vertex AI incluye los siguientes métodos para importar un modelo a Vertex AI Model Registry. Haz clic en uno de los métodos para obtener más información sobre él en la guía de referencia del SDK de Vertex AI.

Implementar un modelo

Después de registrar un modelo, debes implementarlo en un extremo antes de poder usarlo para predicciones. Usa el método Model.deploy para implementar tu modelo en un Endpoint. Para obtener más información, consulta Implementa un modelo en un extremo.

ModelEvaluation

Usa la clase ModelEvaluation a fin de obtener métricas de evaluación para los modelos de AutoML, como la precisión y la recuperación, a fin de determinar el rendimiento de tus modelos. Para obtener más información, consulta Evaluación de modelos en Vertex AI.

En la siguiente muestra de código, se indica cómo enumerar todas las evaluaciones de un modelo con el ID model-id que está en un proyecto con ID my-project y que se encuentra en la región us-central1:

model = aiplatform.Model('projects/my-project/locations/us-central1/models/{model-id}')

evaluations = model.list_model_evaluations()

En la siguiente muestra de código, se indica cómo obtener la evaluación del modelo con el ID del modelo model-id que se encuentra en un proyecto con ID my-project y que se encuentra en la región us-central1:

model = aiplatform.Model('projects/my-project/locations/us-central1/models/{model-id}')

# Return the first evaluation with no arguments. You can also specify a model
# using its model ID.
evaluation = model.get_model_evaluation()

eval_metrics = evaluation.metrics

Para crear una referencia a una evaluación de modelo, usa el nombre del recurso o ID de modelo y el ID de evaluación. En la siguiente muestra de código, se indica cómo crear una referencia para una evaluación de modelo con su nombre de recurso:

evaluation = aiplatform.ModelEvaluation(
  evaluation_name='projects/my-project/locations/us-central1/
    models/{model-id}/evaluations/{evaluation-id}')

eval_metrics = evaluation.metrics

En la siguiente muestra de código, se indica cómo crear una referencia a una evaluación de modelo mediante el ID de modelo y el ID de evaluación:

evaluation.metrics = aiplatform.ModelEvaluation(
  evaluation_name={evaluation-id},
  model_id={model-id})

eval_metrics = evaluation.metrics

¿Qué sigue?