O Google Distributed Cloud (GDC) com isolamento físico oferece contêineres pré-criados para disponibilizar previsões on-line de modelos treinados usando 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 o operador de infraestrutura (IO) para criar o cluster de previsão.
O IO cria o cluster para você, o associa ao seu projeto e atribui os pools de nós apropriados 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 mais 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 mais informações sobre como conceder acesso ao bucket para contas de serviço, consulte Conceder acesso ao bucket.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ê o papel de usuário de previsão da Vertex AI (
vertex-ai-prediction-user). Para mais informações sobre esse papel, consulte Preparar permissões do IAM.Para receber as permissões necessárias para implantar modelos de previsão on-line, peça ao administrador do IAM do projeto para conceder a você o papel de administrador de previsão da Vertex AI (
vertex-ai-prediction-Admin). Para mais informações sobre esse papel, consulte Preparar permissões do IAM.
Requisitos específicos do framework para exportar para contêineres pré-criados
Dependendo do framework de ML que 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, exportá-lo como um diretório SavedModel do TensorFlow.
Há várias maneiras de exportar SavedModels do código de treinamento do TensorFlow. A lista a seguir descreve algumas maneiras que funcionam para várias APIs do TensorFlow:
Se você usar o Keras para treinamento, use
tf.keras.Model.savepara exportar um SavedModel.Se você usar um Estimator para treinamento, use
tf.estimator.Estimator.export_saved_modelpara exportar um SavedModel.Caso contrário, use
tf.saved_model.saveou usetf.compat.v1.saved_model.SavedModelBuilder.
Se você não estiver usando o 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 disponibilizar
previsões. O Keras e o Estimator processam essa tarefa automaticamente.
Saiba mais sobre
como especificar assinaturas durante a exportação.
Para disponibilizar previsões usando esses artefatos, crie um Model com o
contêiner pré-criado para previsão
correspondente à 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
padrão ou
personalizado
gerenciador, criando um arquivo com o
arquivador de modelo do Torch.
As imagens pré-criadas do PyTorch 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 da 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
É necessário fazer 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.