O SDK da Vertex AI inclui a classe Model
para trabalhar com um modelo que você treina e usa para previsões. O SDK também
inclui a classe ModelEvaluation
para avaliar
métricas em modelos treinados do AutoML. Para mais informações sobre modelos, consulte Treinar e usar seus próprios modelos.
Model
A classe Model
representa um modelo treinado que é
registrado no Registro de Modelos da Vertex AI. Você usa um modelo treinado para gerar previsões.
Use o método aiplatform.Model()
para encontrar e retornar uma referência a um modelo. É possível especificar um modelo usando o nome ou o ID dele.
Como mais de um modelo em um projeto pode compartilhar o mesmo nome, recomendamos
especificar um modelo com o ID dele. Veja no exemplo de código a seguir como usar um ID de modelo para encontrar e retornar uma referência a um modelo atual:
MODEL_ID="my-sample-model-ID"
model = aiplatform.Model(model_name=MODEL_ID)
Depois de fazer referência a um modelo treinado, use as
propriedades e os
métodos do Model
para trabalhar com ele e receber previsões.
Criar um modelo registrado
Para criar um recurso de modelo que esteja registrado no
Vertex AI Model Registry, chame o método run
em uma classe de job de treinamento.
Os métodos a seguir criam um modelo, treinam, registram o modelo no
Vertex AI Model Registry e retornam uma referência ao modelo.
AutoMLForecastingTrainingJob.run
AutoMLImageTrainingJob.run
AutoMLTabularTrainingJob.run
AutoMLTextTrainingJob.run
AutoMLVideoTrainingJob.run
CustomContainerTrainingJob.run
CustomPythonPackageTrainingJob.run
CustomTrainingJob.run
O exemplo de código a seguir mostra como criar um recurso CustomTrainingJob
e usar o método run
para criar um modelo, treinar o modelo, registrar o
modelo no Vertex AI Model Registry e retorne uma referência ao 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,
)
Criar um modelo não registrado
Para criar um modelo que não esteja registrado no Vertex AI Model Registry,
use a classe CustomJob
e o método run
dela. O método
CustomJob.run
treina um modelo, mas não o registra no
Vertex AI Model Registry e não retorna uma referência ao modelo.
Se você usar a classe CustomJob
, precisará usar um script para gravar o modelo em um local como um bucket do Cloud Storage. Para mais informações, consulte Exportar um modelo de ML treinado.
Registrar um modelo
Se você tiver um modelo que não está registrado no Vertex AI Model Registry, é necessário registrá-lo para gerenciar o ciclo de vida dele. O Vertex AI Model Registry é um repositório central que fornece uma visão geral dos modelos para que você possa gerenciá-los. Para mais informações, consulte Introdução ao Vertex AI Model Registry.
O SDK da Vertex AI inclui os métodos a seguir para importar um modelo para o Registro de modelos da Vertex AI. Clique em um dos métodos para saber mais sobre ele no guia de referência do SDK da Vertex AI.
Model.upload
Model.upload_scikit_learn_model_file
Model.upload_tensorflow_saved_model
Model.upload_xgboost_model_file
Implantar um modelo
Depois de registrar um modelo, é preciso implantá-lo em um endpoint antes
de usá-lo para previsões. Use o método
Model.deploy
para implantar o modelo em um
Endpoint
. Para mais informações, consulte Implantar um modelo em um endpoint.
ModelEvaluation
Use a classe ModelEvaluation
para receber métricas de avaliação dos modelos do AutoML, como precisão e recall, além de ajudar a determinar o desempenho dos modelos. Para mais
informações, consulte Avaliação de modelos na Vertex AI.
No exemplo de código a seguir, mostramos como listar todas as avaliações de um modelo com o ID model-id
que está em um projeto com o ID my-project
e está na região us-central1
:
model = aiplatform.Model('projects/my-project/locations/us-central1/models/{model-id}')
evaluations = model.list_model_evaluations()
No exemplo de código a seguir, mostramos como receber a avaliação de um modelo com o ID model-id
que está em um projeto com o ID my-project
e que está na região 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 criar uma referência a uma avaliação de modelo, use o nome de recurso ou o ID do modelo e o ID da avaliação. Veja no exemplo de código a seguir como criar uma referência a uma avaliação de modelo usando o nome do recurso:
evaluation = aiplatform.ModelEvaluation(
evaluation_name='projects/my-project/locations/us-central1/
models/{model-id}/evaluations/{evaluation-id}')
eval_metrics = evaluation.metrics
No exemplo de código a seguir, mostramos como criar uma referência a uma avaliação de modelo usando o ID do modelo e o ID de avaliação:
evaluation.metrics = aiplatform.ModelEvaluation(
evaluation_name={evaluation-id},
model_id={model-id})
eval_metrics = evaluation.metrics
A seguir
- Saiba mais sobre o SDK Vertex AI.