Gerenciar modelos do BigQuery ML na Vertex AI

É possível registrar modelos do BigQuery ML com o Vertex AI Model Registry e gerenciá-los com modelos da Vertex AI sem precisar exportá-los. Ao registrar modelos com o Model Registry, é possível controlar versões, avaliar e implantar os modelos para previsão on-line usando uma única interface e sem precisar de um contêiner de exibição. Se você não conhece a Vertex AI e como ela se integra ao BigQuery ML, consulte Usuários da Vertex AI para BigQuery.

Para saber mais sobre a previsão da Vertex AI, consulte Visão geral de como receber previsões na Vertex AI.

Para saber como gerenciar os modelos do BigQuery ML da Vertex AI Model Registry, consulte Introdução à Vertex AI Model Registry.

Antes de começar

Enable the Vertex AI API.

Roles required to enable APIs

To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

Enable the API

Permissões necessárias

Para receber as permissões necessárias para registrar modelos do BigQuery ML no Registro de modelos, peça ao administrador para conceder a você o papel do IAM de Administrador da Vertex AI (roles/aiplatform.admin) no seu projeto. Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Também é possível conseguir as permissões necessárias usando papéis personalizados ou outros papéis predefinidos.

Registrar modelos

Ao criar um modelo do BigQuery ML, é possível registrá-lo no Model Registry das seguintes maneiras:

  • No Google Cloud console, selecione o modelo no painel Explorer e clique em Registrar na guia Registro. (Prévia)
  • Use a instrução CREATE MODEL. Na instrução CREATE MODEL, é possível usar as seguintes opções para registrar o modelo no Model Registry:

    • MODEL_REGISTRY: registre o modelo no Model Registry.
    • VERTEX_AI_MODEL_ID: especifique um ID de modelo para usar no Model Registry. O ID do modelo está associado ao seu modelo do BigQuery ML e pode ser visto no Model Registry. Cada modelo do BigQuery ML só pode ser registrado em um ID de modelo no Model Registry.
    • VERTEX_AI_MODEL_VERSION_ALIASES: especifique um ou mais aliases de versão do modelo, que podem ser usados para simplificar a implantação, gerenciar modelos e ativar a Vertex Explainable AI em modelos.

    Se você definir a opção MODEL_REGISTRY ao criar um modelo, ele será registrado no Model Registry e aparecerá automaticamente depois de concluir o treinamento no BigQuery ML. Você pode usar a coluna Origem na página Model Registry do console doGoogle Cloud para saber a origem de um modelo.

Depois que um modelo do BigQuery ML é registrado, é possível usar os seguintes recursos do Model Registry com ele:

Todos os modelos criados com o BigQuery ML ainda são exibidos na interface do usuário do BigQuery, mesmo que não estejam registrados no Model Registry.

O exemplo a seguir mostra como criar e registrar um modelo de k-means:

CREATE OR REPLACE MODEL `mydataset.my_kmeans_model`
  MODEL_TYPE = 'KMEANS',
  MODEL_REGISTRY = 'VERTEX_AI',
  VERTEX_AI_MODEL_ID = 'customer_clustering';

Registrar um modelo atual do BigQuery ML no Model Registry

Se você não registrar um modelo na Vertex AI ao criá-lo, use SQL, a ferramenta de linha de comando bq ou a API BigQuery para registrar o modelo depois.

Os exemplos a seguir mostram como registrar um modelo existente:

Console

  1. Acessar a página do BigQuery.

    Acessar o BigQuery

  2. No painel à esquerda, clique em Explorer:

    Botão destacado para o painel "Explorer".

    Se o painel esquerdo não aparecer, clique em Expandir painel esquerdo para abrir.

  3. No painel Explorer, clique em Conjuntos de dados e selecione um conjunto que contenha seu modelo.

  4. Clique na guia Modelos e selecione o modelo que você quer registrar.

  5. No painel de detalhes do modelo, selecione a guia Registro.

  6. Clique em Registrar.

  7. No painel Registrar modelo no Vertex Model Registry, faça uma das seguintes ações:

    • Selecione Registrar como novo modelo. Em Nome do modelo, digite um nome.

    • Selecione Registrar como uma nova versão de um modelo atual.

      1. Em Nome do modelo, digite um nome.
      2. Opcional. Se quiser usar um alias de versão, selecione Alias de versão e digite um nome.
  8. Clique em Registrar.

SQL

Use a instrução ALTER MODEL:

ALTER MODEL IF EXISTS mymodel SET OPTIONS (vertex_ai_model_id='my_vertex_ai_model_id');

bq

Use o comando bq update com a sinalização --model.

  bq update --model --vertex_ai_model_id 'my_vertex_ai_model_id' myproject:mydataset.mymodel

API

Use o método models.patch. Transmita um objeto Model que contenha um objeto trainingRuns com um campo vertexAiModelId preenchido:

{
  "trainingRuns": [
    {
      "vertexAiModelId": my_vertex_ai_model_id
    }
}

Registrar várias versões de modelos do BigQuery ML

O primeiro modelo do BigQuery ML registrado com um determinado ID de modelo aparece como a versão 1 desse modelo no Model Registry. É possível registrar outros modelos do BigQuery ML como versões diferentes do modelo registrado especificando o mesmo ID do modelo da Vertex AI ao criar ou alterar esses modelos do BigQuery ML.

Por exemplo, você pode criar model1 no BigQuery ML e registrar no Model Registry como regression_model. model1 aparece como a versão 1 de regression_model no Model Registry. Se você criar model2 no BigQuery ML e registrá-lo no Model Registry como regression_model, model2 vai aparecer como a versão 2 de regression_model no Model Registry.

Se você criar ou substituir um modelo do BigQuery ML e usar um nome de modelo do BigQuery ML que já esteja associado a um modelo no Model Registry, a versão atual do modelo do Model Registry será excluída e substituída pelo novo modelo. Com base no exemplo anterior, se você criar ou substituir model2 no BigQuery ML usando a instrução CREATE OR REPLACE MODEL com as opções MODEL_REGISTRY e VERTEX_AI_MODEL_ID, a versão 2 de regression_model no Model Registry será substituída, e o Model Registry vai mostrar a versão 1 e a versão 3 do modelo regression_model.

Mudar o ID de um modelo registrado do BigQuery ML

Depois que um modelo do BigQuery ML é registrado no Model Registry, não será possível alterar o valor VERTEX_AI_MODEL_ID. Para registrar o modelo com um novo VERTEX_AI_MODEL_ID, use uma das seguintes opções:

  • Exclua o modelo e recrie-o, especificando um novo valor para a opção VERTEX_AI_MODEL_ID. Essa abordagem gera custos de retreinamento.

  • Copie o modelo e use a instrução ALTER MODEL para registrar o novo modelo com um novo valor VERTEX_AI_MODEL_ID.

Considerações sobre o local

Se você registrar um modelo multirregional do BigQuery ML no Model Registry, o modelo se torna um modelo regional na Vertex AI. Um modelo multirregional dos EUA do BigQuery ML é sincronizado com a Vertex AI (us-central1), e um modelo multirregional da UE do BigQuery é sincronizado com a Vertex AI (europe-west4). Para os modelos de região única, não há mudanças.

Para informações sobre como atualizar locais de modelos, consulte Como escolher seu local.

Implantar um modelo na Vertex AI

É possível usar vários métodos para implantar um modelo em um endpoint na Vertex AI. Para mais informações, consulte Implantar um modelo em um endpoint.

Excluir modelos do BigQuery ML do Model Registry

Para excluir um modelo do BigQuery ML do Model Registry, exclua o modelo no BigQuery ML. O modelo é removido automaticamente do Model Registry.

Há várias maneiras de excluir um modelo do BigQuery ML. Para mais informações, consulte Excluir modelos.

Se você quiser excluir um modelo no BigQuery ML que foi registrado no Model Registry e implantado em um endpoint, primeiro use o Model Registry para cancelar a implantação do modelo. Em seguida, você pode retornar ao BigQuery ML e excluir o modelo. Para mais informações sobre como cancelar a implantação de um modelo, consulte Excluir um endpoint.

Limitações