Clases de modelo

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

Model

La clase Model representa un modelo entrenado que se ha registrado en el registro de modelos de Vertex AI. Usas un modelo entrenado para generar predicciones.

Usa el método aiplatform.Model() para buscar y devolver una referencia a un modelo. Puedes especificar un modelo usando su nombre o su ID. Como más de un modelo de un proyecto puede tener el mismo nombre, te recomendamos que especifiques un modelo con su ID. En el siguiente ejemplo de código se muestra cómo usar un ID de modelo para buscar y devolver una referencia a un modelo que ya existe:

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

Una vez que tengas una referencia a un modelo entrenado, puedes usar las propiedades y los métodos de Model para trabajar con él y obtener predicciones.

Crear un modelo registrado

Para crear un recurso de modelo registrado en el registro de modelos de Vertex AI, llama al método run en una clase de tarea de entrenamiento. Los siguientes métodos crean un modelo, lo entrenan, lo registran en el registro de modelos de Vertex AI y, a continuación, devuelven una referencia al modelo.

El siguiente código de ejemplo muestra cómo crear un recurso CustomTrainingJob y, a continuación, usar su método run para crear un modelo, entrenarlo, registrarlo en Vertex AI Model Registry y devolver 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,
)

Crear 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 el registro de modelos de Vertex AI ni devuelve 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 segmento de Cloud Storage. Para obtener más información, consulta Exportar un modelo de aprendizaje automático entrenado.

Registrar un modelo

Si tienes un modelo que no está registrado en el registro de modelos de Vertex AI, debes registrarlo para poder gestionar su ciclo de vida. Vertex AI Model Registry es un repositorio central que ofrece una vista general de tus modelos para que puedas gestionarlos. Para obtener más información, consulta la introducción a Vertex AI Model Registry.

El SDK de Vertex AI incluye los siguientes métodos para importar un modelo al registro de modelos de Vertex AI. 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.

Desplegar un modelo

Una vez que hayas registrado un modelo, debes desplegarlo en un endpoint para poder usarlo en predicciones. Usa el método Model.deploy para desplegar tu modelo en un Endpoint. Para obtener más información, consulta Desplegar un modelo en un endpoint.

ModelEvaluation

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

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

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

evaluations = model.list_model_evaluations()

En el siguiente ejemplo de código se muestra cómo obtener la evaluación de un modelo con el ID model-id que está en un proyecto con el ID my-project y 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 un modelo, usa su nombre de recurso o ID de modelo y el ID de evaluación. En el siguiente código de ejemplo se muestra cómo crear una referencia a una evaluación de modelo mediante 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 el siguiente ejemplo de código se muestra cómo crear una referencia a una evaluación de modelo mediante el ID del modelo y el ID de la evaluación:

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

eval_metrics = evaluation.metrics

Siguientes pasos