Exportar artefatos de modelo para previsão

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:

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

  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 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 informações sobre como conceder acesso a buckets para contas de serviço, consulte Conceder acesso a buckets.

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