O Google Distributed Cloud (GDC) air-gapped oferece contêineres pré-criados para veicular previsões on-line de modelos treinados com os seguintes frameworks de machine learning (ML):
- TensorFlow
- PyTorch
Para usar um desses contêineres predefinidos, salve seu modelo como um ou mais artefatos de modelo que atendam aos requisitos do contêiner pré-criado. Esses requisitos se aplicam, independentemente de os artefatos do modelo serem criados no Distributed Cloud.
Antes de começar
Antes de exportar artefatos de modelo, siga estas etapas:
- Crie e treine um modelo de previsão direcionado a um dos contêineres compatíveis.
- Se você não tiver um projeto, configure um para a Vertex AI.
Trabalhe com seu operador de infraestrutura (IO) para criar o cluster de previsão.
A IO cria o cluster para você, associa ao seu projeto e atribui os pools de nós adequados dentro do cluster, considerando os recursos necessários para previsões on-line.
Crie a conta de serviço padrão da Vertex AI (
vai-default-serving-sa
) no seu projeto. Para informações sobre contas de serviço, consulte Configurar contas de serviço.Conceda o papel de Leitor de objetos do bucket do projeto (
project-bucket-object-viewer
) à conta de serviço padrão da Vertex AI (vai-default-serving-sa
) para o bucket de armazenamento que você criou. Para informações sobre como conceder acesso a buckets para contas de serviço, consulte Conceder acesso a buckets.Para receber as permissões necessárias para acessar a previsão on-line, peça ao administrador do IAM do projeto para conceder a você a função de usuário de previsão da Vertex AI (
vertex-ai-prediction-user
). Para informações sobre esse papel, consulte Preparar permissões do IAM.
Requisitos específicos do framework para exportar para contêineres pré-criados
Dependendo de qual framework de ML você pretende usar para previsão, exporte artefatos de modelo em formatos diferentes. As seções a seguir descrevem os formatos de modelo aceitáveis para cada framework de ML.
TensorFlow
Se você usar o TensorFlow para treinar um modelo, exporte-o como um diretório SavedModel do TensorFlow.
Há várias maneiras de exportar SavedModels
do código de treinamento do TensorFlow. Na lista a seguir, você verá algumas maneiras diferentes que funcionam para várias APIs TensorFlow:
Se você usa o Keras para treinamento, use
tf.keras.Model.save
para exportar um SavedModel.Se você usa um Estimator para treinamento, use
tf.estimator.Estimator.export_saved_model
para exportar um SavedModel.Caso contrário, use
tf.saved_model.save
ou usetf.compat.v1.saved_model.SavedModelBuilder
.
Se você não estiver usando Keras ou um Estimator, use a tag serve
e a assinatura serving_default
ao exportar o SavedModel para garantir que a Vertex AI possa usar os artefatos do modelo para exibir predições. O Keras e o Estimator processam essa tarefa automaticamente.
Saiba mais sobre
como especificar assinaturas durante a exportação.
Para exibir previsões usando esses artefatos, crie um Model
com o
contêiner pré-criado para previsão
que corresponda à versão do TensorFlow usada para treinamento.
PyTorch
Se você usar o PyTorch para treinar um modelo,
é preciso empacotar os artefatos do modelo, incluindo um gerenciador
padrão ou
personalizado
criando um arquivo com o
arquivador de modelo do Torch.
As imagens do PyTorch pré-criadas esperam que o arquivo seja nomeado como model.mar
, portanto,
defina o nome do modelo como model.
Para informações sobre a otimização do uso de memória, a latência ou a capacidade de processamento de um modelo do PyTorch fornecido com o TorchServe, consulte o Guia de desempenho do PyTorch.
Fazer upload do modelo
Faça upload do modelo para o bucket de armazenamento que você criou. Para mais informações sobre como fazer upload de objetos para buckets de armazenamento, consulte Fazer upload e download de objetos de armazenamento em projetos.
O caminho para o bucket de armazenamento do modelo precisa ter a seguinte estrutura:
s3://BUCKET_NAME/MODEL_ID/MODEL_VERSION_ID
Para detalhes da exportação, consulte os requisitos específicos do framework para exportar para contêineres pré-criados.