Gerenciar modelos

Nesta página, você verá como gerenciar, copiar e renomear modelos de ML do BigQuery ML.

Renomear modelos

Não é possível alterar o nome de um modelo atual. Caso precise fazer essa alteração, siga as etapas para copiar o modelo. Quando for especificar o destino na operação de cópia, use o novo nome.

Copiar modelos

É possível copiar um ou mais modelos de um conjunto de dados de origem para um conjunto de dados de destino do seguinte modo:

  • Usando o Console do Google Cloud.
  • Use o comando bq cp da ferramenta de linha de comando bq.
  • Com o método de API jobs.insert diretamente, configurando um job de cópia ou usando as bibliotecas de cliente

Limitações ao copiar um modelo

Os jobs de cópia dos modelos estão sujeitos às limitações abaixo:

  • Quando você faz uma cópia, o nome do modelo de destino precisa seguir as mesmas convenções de nomenclatura de quando você cria um modelo.
  • As cópias do modelo estão sujeitas aos limites do BigQuery em jobs de cópia.
  • No momento, não é possível copiar um modelo usando o console do Google Cloud.
  • O conjunto de dados de destino e o que contém o modelo a ser copiado precisam estar no mesmo local. Por exemplo, não é possível copiar um modelo de um conjunto de dados com base na UE e gravá-lo em um conjunto de dados com base nos EUA.
  • Não é possível copiar modelos de origens diversas com um único comando.
  • No momento, cópias de modelos usando a CLI não são compatíveis com a sinalização --destination_kms_key.

Copiar um modelo

É possível copiar um modelo das seguintes formas:

  • use o comando bq cp da ferramenta de linha de comando;
  • Com o método de API jobs.insert, configurando um job de cópia ou usando as bibliotecas de cliente

Veja como copiar um modelo:

Console

No momento, não é possível copiar um modelo usando o console do Google Cloud.

bq

Emita o comando bq cp. Sinalizações opcionais:

  • -f ou --force substitui um modelo atual no conjunto de dados de destino e não solicita confirmação.
  • -n ou --no_clobber retorna a seguinte mensagem de erro se o modelo existir no conjunto de dados de destino: '[PROJECT_ID]:[DATASET].[MODEL]' already exists, skipping.

    Se -n não estiver especificada, o comportamento padrão é perguntar se você quer substituir o modelo de destino.

Se o conjunto de dados de origem ou de destino estiver em um projeto diferente do padrão, adicione o ID do projeto aos nomes dos conjuntos de dados no seguinte formato: [PROJECT_ID]:[DATASET].

Forneça a sinalização --location e defina o valor para o local.

bq --location=[LOCATION] cp -f -n [PROJECT_ID]:[DATASET].[SOURCE_MODEL] [PROJECT_ID]:[DATASET].[DESTINATION_MODEL]

Em que:

  • [LOCATION] é o nome do local. A sinalização --location é opcional. Por exemplo, se estiver usando o BigQuery na região de Tóquio, defina o valor da sinalização como asia-northeast1. É possível definir um valor padrão para o local usando o arquivo .bigqueryrc;
  • [PROJECT_ID] é o ID do projeto;
  • [DATASET] é o nome do conjunto de dados de origem ou de destino;
  • [SOURCE_MODEL] é o modelo que você está copiando;
  • [DESTINATION_MODEL] é o nome do modelo no conjunto de dados de destino.

Exemplos:

Digite o comando a seguir para copiar mydataset.mymodel para mydataset2. Os dois conjuntos de dados estão no projeto padrão e foram criados no local multirregional US.

bq --location=US cp mydataset.mymodel mydataset2.mymodel

Digite o comando a seguir para copiar mydataset.mymodel e substituir um modelo de destino por outro com o mesmo nome. O conjunto de dados de origem está no projeto padrão. O conjunto de dados de destino está em myotherproject. O atalho -f é usado para substituir o modelo de destino sem um prompt. mydataset e myotherdataset foram criados no local multirregional US.

bq --location=US cp -f mydataset.mymodel myotherproject:myotherdataset.mymodel

Digite o comando a seguir para copiar mydataset.mymodel e retornar um erro se o conjunto de dados de destino tiver um modelo com o mesmo nome. O conjunto de dados de origem está no projeto padrão. O conjunto de dados de destino está em myotherproject. O atalho -n é usado para evitar que um modelo seja substituído por outro com o mesmo nome. Os dois conjuntos de dados foram criados no local multirregional US.

bq --location=US cp -n mydataset.mymodel myotherproject:myotherdataset.mymodel

Digite o comando a seguir para copiar mydataset.mymodel para mydataset2 e renomear o modelo mymodel2. Os dois conjuntos de dados estão no projeto padrão. Os dois conjuntos de dados foram criados na região asia-northeast1.

bq --location=asia-northeast1 cp mydataset.mymodel mydataset2.mymodel2

API

Para copiar um modelo usando a API, chame o método bigquery.jobs.insert e configure um job copy. Especifique seu local na location propriedade jobReference da seção do recurso do job.

Especifique os valores a seguir na configuração do job:

"copy": {
      "sourceTable": {       // Required
        "projectId": string, // Required
        "datasetId": string, // Required
        "tableId": string    // Required
      },
      "destinationTable": {  // Required
        "projectId": string, // Required
        "datasetId": string, // Required
        "tableId": string    // Required
      },
      "createDisposition": string,  // Optional
      "writeDisposition": string,   // Optional
    },

Em que:

  • sourceTable dá informações sobre o modelo que deve ser copiado.
  • destinationTable dá informações sobre o novo modelo.
  • createDisposition especifica se o modelo precisa ser criado, caso ainda não exista.
  • writeDisposition especifica se deve substituir um modelo atual.

Criptografar modelos

Para mais informações sobre como usar uma chave de criptografia gerenciada pelo cliente (CMEK, na sigla em inglês) para criptografar um modelo, consulte Usar CMEK para proteger modelos do BigQuery ML.

A seguir