Exportar artefatos de modelo para previsão

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:

  1. Crie e treine um modelo de previsão direcionado a um dos contêineres compatíveis.
  2. Se você não tiver um projeto, configure um para a Vertex AI.
  3. 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.

  4. Crie um bucket de armazenamento para seu projeto.

  5. 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.

  6. 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.

  7. 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.

  8. 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ê 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.