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.
AutoMLForecastingTrainingJob.run
AutoMLImageTrainingJob.run
AutoMLTabularTrainingJob.run
AutoMLTextTrainingJob.run
AutoMLVideoTrainingJob.run
CustomContainerTrainingJob.run
CustomPythonPackageTrainingJob.run
CustomTrainingJob.run
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.
Model.upload
Model.upload_scikit_learn_model_file
Model.upload_tensorflow_saved_model
Model.upload_xgboost_model_file
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
- Consulta información sobre el SDK de Vertex AI.