Classes de modelo

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.

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.

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