As ofertas isoladas do Google Distributed Cloud (GDC) incluem contentores pré-criados para publicar previsões online a partir de modelos preparados com as seguintes frameworks de aprendizagem automática (AA):
- TensorFlow
- PyTorch
Para usar um destes contentores pré-criados, tem de guardar o seu modelo como um ou mais artefactos do modelo que estejam em conformidade com os requisitos do contentor pré-criado. Estes requisitos aplicam-se independentemente de os artefactos do modelo serem criados ou não no Distributed Cloud.
Antes de começar
Antes de exportar os artefactos do modelo, execute os seguintes passos:
- Crie e prepare um modelo de previsão que segmente um dos contentores suportados.
- Se não tiver um projeto, configure um projeto para o Vertex AI.
Colabore com o seu operador de infraestrutura (IO) para criar o cluster de previsão.
A IO cria o cluster por si, associa-o ao seu projeto e atribui os conjuntos de nós adequados no cluster, tendo em conta os recursos de que precisa para as previsões online.
Crie a conta de serviço de fornecimento predefinido do Vertex AI (
vai-default-serving-sa
) no seu projeto. Para ver informações sobre contas de serviço, consulte o artigo Configure contas de serviço.Conceda a função Project Bucket Object Viewer (
project-bucket-object-viewer
) à conta de serviço Vertex AI Default Serving (vai-default-serving-sa
) para o contentor de armazenamento que criou. Para obter informações sobre como conceder acesso ao contentor a contas de serviço, consulte o artigo Conceda acesso ao contentor.Para receber as autorizações necessárias para aceder à previsão online, peça ao administrador de IAM do projeto para lhe conceder a função de utilizador de previsão do Vertex AI (
vertex-ai-prediction-user
). Para informações sobre esta função, consulte o artigo Prepare as autorizações de IAM.
Requisitos específicos da framework para exportar para contentores pré-criados
Consoante a estrutura de aprendizagem automática que planeia usar para a previsão, tem de exportar os artefactos do modelo em formatos diferentes. As secções seguintes descrevem os formatos de modelos aceitáveis para cada framework de ML.
TensorFlow
Se usar o TensorFlow para preparar um modelo, exporte o modelo como um diretório TensorFlow SavedModel.
Existem várias formas de exportar SavedModels
a partir do código de preparação do TensorFlow. A lista seguinte descreve algumas formas que funcionam para várias APIs TensorFlow:
Se usar o Keras para a preparação, use
tf.keras.Model.save
para exportar um SavedModel.Se usar um Estimator para a preparação, 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 não estiver a usar o Keras ou um Estimator, certifique-se de que
usa a etiqueta serve
e a assinatura serving_default
quando exporta o seu SavedModel
para garantir que o Vertex AI pode usar os artefactos do seu modelo para fornecer
previsões. O Keras e o Estimator processam esta tarefa automaticamente.
Saiba mais sobre como
especificar assinaturas durante a exportação.
Para publicar previsões com estes artefactos, crie um Model
com o
contentor pré-criado para previsão
que corresponda à versão do TensorFlow que usou para a preparação.
PyTorch
Se usar o PyTorch para preparar um modelo, tem de criar um pacote com os artefactos do modelo, incluindo um controlador predefinido ou personalizado, criando um ficheiro de arquivo com o arquivador de modelos do Torch.
As imagens do PyTorch pré-criadas esperam que o arquivo se chame model.mar
, por isso, certifique-se de que define o nome do modelo como model.
Para obter informações sobre a otimização da utilização de memória, da latência ou do débito de um modelo do PyTorch publicado com o TorchServe, consulte o guia de desempenho do PyTorch.
Carregue o seu modelo
Tem de carregar o modelo para o contentor de armazenamento que criou. Para mais informações sobre como carregar objetos para contentores de armazenamento, consulte o artigo Carregue e transfira objetos de armazenamento em projetos.
O caminho para o contentor de armazenamento do seu modelo tem de ter a seguinte estrutura:
s3://BUCKET_NAME/MODEL_ID/MODEL_VERSION_ID
Para ver detalhes de exportação, consulte os requisitos específicos da framework para exportar para contentores pré-criados.