Aulas de modelagem

O SDK do Vertex AI inclui a classe Model para trabalhar com um modelo que prepara e, em seguida, usa para previsões. O SDK também inclui a classe ModelEvaluation para avaliar as métricas em modelos do AutoML preparados. Para mais informações sobre modelos, consulte o artigo Prepare e use os seus próprios modelos.

Model

A classe Model representa um modelo preparado que está registado no Registo de modelos Vertex AI. Usa um modelo preparado para gerar previsões.

Use o método aiplatform.Model() para encontrar e devolver uma referência a um modelo. Pode especificar um modelo através do respetivo nome ou ID. Uma vez que mais do que um modelo num projeto pode partilhar o mesmo nome, recomendamos que especifique um modelo com o respetivo ID do modelo. O seguinte exemplo de código mostra como usar um ID do modelo para encontrar e devolver uma referência a um modelo existente:

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

Depois de ter uma referência a um modelo preparado, pode usar as propriedades e os métodos do Model para trabalhar com ele e receber previsões.

Crie um modelo registado

Para criar um recurso de modelo registado no Registo de modelos da Vertex AI, chame o método run numa classe de tarefa de preparação. Os métodos seguintes criam um modelo, preparam o modelo, registam o modelo no Registo de modelos do Vertex AI e, em seguida, devolvem uma referência ao modelo.

O exemplo de código seguinte mostra como criar um recurso CustomTrainingJob e, em seguida, usar o respetivo método run para criar um modelo, preparar o modelo, registar o modelo no Vertex AI Model Registry e devolver 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,
)

Crie um modelo não registado

Para criar um modelo que não esteja registado no Vertex AI Model Registry, use a classe CustomJob e o respetivo método run. O método CustomJob.run prepara um modelo, mas não regista o modelo no Vertex AI Model Registry e não devolve uma referência ao modelo.

Se usar a classe CustomJob, tem de usar um script para escrever o seu modelo numa localização, como um contentor do Cloud Storage. Para mais informações, consulte o artigo Exporte um modelo de ML preparado.

Registe um modelo

Se tiver um modelo que não esteja registado no Vertex AI Model Registry, tem de o registar para poder gerir o ciclo de vida do modelo. O Registo de modelos Vertex AI é um repositório central que oferece uma vista geral dos seus modelos para que os possa gerir. Para mais informações, consulte o artigo Introdução ao Registo de modelos Vertex AI.

O SDK do Vertex AI inclui os seguintes métodos para importar um modelo para o Registo de modelos do Vertex AI. Clique num dos métodos para saber mais sobre o mesmo no guia de referência do SDK da Vertex AI.

Implemente um modelo

Depois de registar um modelo, tem de o implementar num ponto final antes de o poder usar para previsões. Use o método Model.deploy para implementar o seu modelo num Endpoint. Para mais informações, consulte o artigo Implemente um modelo num ponto final.

ModelEvaluation

Use a classe ModelEvaluation para obter métricas de avaliação para modelos do AutoML, como a precisão e a revocação, para ajudar a determinar o desempenho dos seus modelos. Para mais informações, consulte o artigo Avaliação de modelos no Vertex AI.

O exemplo de código seguinte mostra como listar todas as avaliações de um modelo com o ID do modelo model-id que está num projeto com um ID do projeto de my-project e que está na região us-central1:

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

evaluations = model.list_model_evaluations()

O exemplo de código seguinte mostra como obter a avaliação do modelo para um modelo com o ID do modelo model-id que está num projeto com um ID do projeto de 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 respetivo nome do recurso ou ID do modelo e o ID da avaliação. O exemplo de código seguinte mostra como criar uma referência a uma avaliação de modelo através do respetivo nome do recurso:

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

eval_metrics = evaluation.metrics

O seguinte exemplo de código mostra como criar uma referência a uma avaliação do modelo usando o ID do modelo e o ID da avaliação:

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

eval_metrics = evaluation.metrics

O que se segue?