Este guia descreve como importar modelos para o Registo de modelos da Vertex AI. Depois de importar o modelo, este fica visível no Model Registry. No Model Registry, pode implementar o modelo importado num ponto final e executar inferências.
Funções necessárias
Para receber as autorizações de que
precisa para importar modelos,
peça ao seu administrador para lhe conceder a função de IAM de
utilizador da Vertex AI (roles/aiplatform.user
)
no projeto.
Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.
Também pode conseguir as autorizações necessárias através de funções personalizadas ou outras funções predefinidas.
Contentores pré-criados ou personalizados
Quando importa um modelo, associa-o a um contentor para que o Vertex AI execute pedidos de inferência. Pode usar contentores pré-criados fornecidos pelo Vertex AI ou usar os seus próprios contentores personalizados que cria e envia para o Artifact Registry.
Pode usar um contentor pré-criado se o seu modelo cumprir os seguintes requisitos:
- Formado no Python 3.7 ou posterior
- Preparados com o TensorFlow, o PyTorch, o scikit-learn ou o XGBoost
- Exportado para cumprir os requisitos específicos da framework para um dos contentores de inferência pré-criados
Se estiver a importar um modelo AutoML tabular que tenha exportado anteriormente, tem de usar um contentor personalizado específico fornecido pelo Vertex AI.
Caso contrário, crie um novo contentor personalizado ou use um contentor personalizado existente que tenha no Artifact Registry.
Carregue artefactos do modelo para o Cloud Storage
Tem de armazenar os artefactos do modelo num contentor do Cloud Storage, onde a região do contentor corresponde ao ponto final de localização que está a usar.
Se o seu contentor do Cloud Storage estiver num Google Cloud projeto diferente, tem de conceder acesso ao Vertex AI para ler os artefactos do modelo.
Se estiver a usar um contentor pré-criado, certifique-se de que os nomes dos ficheiros dos artefactos do modelo correspondem exatamente aos seguintes exemplos:
- TensorFlow SavedModel:
saved_model.pb
- PyTorch:
model.mar
- scikit-learn:
model.joblib
- XGBoost:
model.bst
oumodel.joblib
Saiba mais sobre a exportação de artefactos de modelos para inferência.
Importe um modelo através da Google Cloud consola
Para importar um modelo através da Google Cloud consola:
Na Google Cloud consola, aceda à página Modelos do Vertex AI.
Clique em Importar.
Selecione Importar como novo modelo para importar um novo modelo.
Selecione Importar como nova versão para importar um modelo como uma versão de um modelo existente. Para saber mais sobre o controlo de versões de modelos, consulte o artigo Controlo de versões de modelos.
Nome e região: introduza um nome para o modelo. Selecione a região que corresponde à região do seu contentor e ao ponto final de localização do Vertex AI que está a usar. Clique em Continuar.
Se expandir as Opções avançadas, pode optar por adicionar uma chave de encriptação gerida pelo cliente.
Consoante o tipo de contentor que estiver a usar, selecione o separador adequado abaixo.
Contentor pré-criado
Selecione Importar artefactos do modelo para um novo contentor pré-criado.
Selecione o Framework do modelo e a Versão do framework do modelo que usou para preparar o seu modelo.
Se quiser usar GPUs para publicar inferências, defina o tipo de acelerador como GPUs.
Seleciona o tipo de GPU mais tarde, quando implementar o modelo num ponto final.
Especifique o caminho do Cloud Storage para o diretório que contém os artefactos do modelo.
Por exemplo,
gs://BUCKET_NAME/models/
.Deixe o campo Predict schemata em branco.
Para importar o seu modelo sem as definições do Vertex AI explicável, clique em Importar.
Após a conclusão da importação, o modelo é apresentado na página Modelos.
Caso contrário, continue a configurar o modelo introduzindo as definições de explicabilidade no separador Explicabilidade. Saiba mais acerca das definições de explicabilidade.
Contentor personalizado
Selecione Importar um contentor personalizado existente.
Defina o URI da imagem de contentor.
Se quiser fornecer artefactos do modelo além de uma imagem do contentor, especifique o caminho do Cloud Storage para o diretório que contém os artefactos do modelo.
Por exemplo,
gs://BUCKET_NAME/models/
.Especifique valores para qualquer um dos outros campos.
Saiba mais sobre estes campos opcionais.
Para importar o seu modelo sem as definições do Vertex AI explicável, clique em Importar.
Após a conclusão da importação, o modelo é apresentado na página Modelos.
Caso contrário, continue a configurar o modelo introduzindo as definições de explicabilidade no separador Explicabilidade. Saiba mais acerca das definições de explicabilidade.
Recipiente tabular do AutoML
Selecione Importar um contentor personalizado existente.
No campo Imagem do contentor, introduza
MULTI_REGION-docker.pkg.dev/vertex-ai/automl-tabular/prediction-server-v1:latest
.Substitua
MULTI_REGION
porus
,europe
ouasia
para selecionar o repositório Docker do qual quer extrair a imagem de Docker. Cada repositório fornece a mesma imagem Docker, mas escolher o Artifact Registry multirregião mais próximo da máquina onde está a executar o Docker pode reduzir a latência.No campo Localização do pacote, especifique o caminho do Cloud Storage para o diretório que contém os artefactos do modelo.
O caminho é semelhante ao seguinte exemplo:
gs://BUCKET_NAME/models-MODEL_ID/tf-saved-model/TIMESTAMP/
Deixe todos os outros campos em branco.
Clique em Importar.
Após a conclusão da importação, o modelo é apresentado na página Modelos. Pode usar este modelo tal como outros modelos tabulares do AutoML, exceto que os modelos tabulares do AutoML importados não suportam a IA explicável do Vertex.
Importe um modelo através de programação
Os exemplos seguintes mostram como importar um modelo usando várias ferramentas:
gcloud
O exemplo seguinte usa o comando gcloud ai models upload
:
gcloud ai models upload \
--region=LOCATION \
--display-name=MODEL_NAME \
--container-image-uri=IMAGE_URI \
--artifact-uri=PATH_TO_MODEL_ARTIFACT_DIRECTORY
Substitua o seguinte:
- LOCATION_ID: a região onde está a usar o Vertex AI.
-
MODEL_NAME: um nome a apresentar para o
Model
. -
IMAGE_URI: o URI da imagem do contentor a usar para publicar inferências.
Por exemplo,
us-docker.pkg.dev/vertex-ai/prediction/tf2-cpu.2-1:latest
. Use um contentor pré-criado ou um contentor personalizado. -
PATH_TO_MODEL_ARTIFACT_DIRECTORY: o URI do Cloud Storage (a começar por
gs://
) de um diretório no Cloud Storage que contém os seus artefactos do modelo.
O exemplo anterior demonstra todas as flags necessárias para importar a maioria dos modelos. Se não estiver a usar um contentor pré-criado para a inferência, é provável que tenha de especificar algumas flags opcionais adicionais para que o Vertex AI possa usar a sua imagem de contentor. Estas flags, que começam
com --container-
, correspondem aos campos do Model
containerSpec
.
REST
Use o seguinte exemplo de código para carregar um modelo através do método upload
do recurso model
.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- LOCATION_ID: a região onde está a usar o Vertex AI.
- PROJECT_ID: o seu ID do projeto.
-
MODEL_NAME: um nome a apresentar para o
Model
. - MODEL_DESCRIPTION: opcional. Uma descrição do modelo.
-
IMAGE_URI: o URI da imagem do contentor a usar para publicar inferências.
Por exemplo,
us-docker.pkg.dev/vertex-ai/prediction/tf2-cpu.2-1:latest
. Use um contentor pré-criado ou um contentor personalizado. -
PATH_TO_MODEL_ARTIFACT_DIRECTORY: o URI do Cloud Storage (a começar por
gs://
) de um diretório no Cloud Storage que contém os seus artefactos do modelo. Esta variável e o campoartifactUri
são opcionais se estiver a usar um contentor personalizado. labels
: opcional. Qualquer conjunto de pares de chave-valor para organizar os seus modelos. Por exemplo:- "env": "prod"
- "tier": "backend"
- Especifique o LABEL_NAME e o LABEL_VALUE para todas as etiquetas que quer aplicar a este pipeline de preparação.
Método HTTP e URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/models:upload
Corpo JSON do pedido:
{ "model": { "displayName": "MODEL_NAME", "predictSchemata": {}, "containerSpec": { "imageUri": "IMAGE_URI" }, "artifactUri": "PATH_TO_MODEL_ARTIFACT_DIRECTORY", "labels": { "LABEL_NAME_1": "LABEL_VALUE_1", "LABEL_NAME_2": "LABEL_VALUE_2" } } }
Para enviar o seu pedido, escolha uma destas opções:
curl
Guarde o corpo do pedido num ficheiro com o nome request.json
,
e execute o seguinte comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/models:upload"
PowerShell
Guarde o corpo do pedido num ficheiro com o nome request.json
,
e execute o seguinte comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/models:upload" | Select-Object -Expand Content
Java
Antes de experimentar este exemplo, siga as Javainstruções de configuração no início rápido do Vertex AI com bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Java Vertex AI.
Para se autenticar no Vertex AI, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Node.js
Antes de experimentar este exemplo, siga as Node.jsinstruções de configuração no início rápido do Vertex AI com bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Node.js Vertex AI.
Para se autenticar no Vertex AI, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Python
Para saber como instalar ou atualizar o SDK Vertex AI para Python, consulte o artigo Instale o SDK Vertex AI para Python. Para mais informações, consulte a Python documentação de referência da API.
Para importar um modelo com as definições do Vertex Explainable AI ativadas, consulte os exemplos de importação de modelos do Vertex Explainable AI.
Obtenha o estado da operação
Alguns pedidos iniciam operações de longa duração que requerem tempo para serem concluídas. Estes pedidos devolvem um nome da operação, que pode usar para ver o estado da operação ou cancelar a operação. A Vertex AI fornece métodos auxiliares para fazer chamadas contra operações de longa duração. Para mais informações, consulte o artigo Trabalhar com operações de longa duração.
Limitações
- O tamanho máximo do modelo suportado pelo registo de modelos é de 1 TB.
O que se segue?
- Implemente o seu modelo num ponto final, programaticamente ou usando Google Cloud a consola.