Home / Programação / Como fazer deploy de modelos com Google Vertex AI

Como fazer deploy de modelos com Google Vertex AI

Servidor de computador com nuvem e logo do Google.

O universo da Inteligência Artificial tem se expandido rapidamente, e muitas empresas buscam aplicar soluções de Machine Learning para melhorar seus produtos. No entanto, colocar modelos de Machine Learning em produção pode ser complicado, especialmente para quem está começando. Felizmente, o Google Vertex AI oferece uma plataforma para treinar, testar e fazer o deploy de modelos em grande escala, sem a necessidade de gerenciar a infraestrutura. Neste texto, vamos ver como realizar um Google Vertex AI deploy de um modelo, usando ferramentas como Docker e FastAPI. Ao final, você terá uma boa ideia de como usar o Vertex AI para colocar seu próprio modelo em produção.

Principais Pontos

  • A preparação do modelo para o Google Vertex AI deploy envolve a criação de uma API e o armazenamento da imagem Docker no Artifact Registry, o que garante que o modelo esteja pronto para ser usado.
  • O registro do modelo no Vertex AI Model Registry é um passo importante, permitindo o controle de versões e a organização dos modelos antes do Google Vertex AI deploy.
  • Fazer o Google Vertex AI deploy do modelo em um endpoint é o último passo para que ele possa ser acessado e utilizado por meio de requisições, tornando-o funcional para aplicações.

Preparando Seu Modelo Para Google Vertex AI Deploy

Antes de mergulharmos no deploy propriamente dito, é crucial preparar seu modelo para o Vertex AI. Essa etapa garante que o modelo funcione corretamente no ambiente de produção e que você possa gerenciá-lo de forma eficiente. Essencialmente, estamos falando de empacotar seu modelo em um formato que o Vertex AI entenda e possa executar.

Construindo Uma API Para Seu Modelo

O primeiro passo é criar uma API para interagir com seu modelo. Essa API atuará como a interface entre o mundo externo e seu modelo, permitindo que aplicativos e outros serviços enviem dados para inferência e recebam previsões.

Considere os seguintes pontos ao construir sua API:

  • Escolha da Linguagem: Python, com frameworks como Flask ou FastAPI, é uma escolha comum devido à sua facilidade de uso e vasta biblioteca de suporte para machine learning. Veja este guia sobre as melhores linguagens para IA para mais informações.
  • Formato de Entrada/Saída: Defina claramente o formato dos dados que sua API aceitará (por exemplo, JSON) e o formato das previsões que ela retornará. Isso garante a compatibilidade com os clientes que usarão sua API.
  • Lógica de Pré-processamento/Pós-processamento: Inclua qualquer lógica necessária para preparar os dados de entrada para o modelo e para formatar as previsões de saída. Isso pode envolver normalização de dados, conversão de tipos ou outras transformações.

Uma boa prática é usar um arquivo Dockerfile para definir o ambiente da sua API. Isso garante que sua API seja executada de forma consistente em diferentes ambientes, incluindo o Vertex AI.

Armazenando A Imagem Docker No Artifact Registry

Depois de construir sua API, você precisará empacotá-la em uma imagem Docker e armazená-la no Artifact Registry. O Artifact Registry é um serviço do Google Cloud que permite armazenar e gerenciar imagens Docker e outros artefatos.

Siga estas etapas para armazenar sua imagem Docker no Artifact Registry:

  1. Crie um repositório no Artifact Registry: Escolha um nome para seu repositório e especifique o tipo de repositório como “Docker”.
  2. Autentique-se no Artifact Registry: Use o comando gcloud auth configure-docker para autenticar sua máquina local no Artifact Registry.
  3. Construa sua imagem Docker: Use o comando docker build para construir sua imagem Docker a partir do seu Dockerfile.
  4. Marque sua imagem Docker: Use o comando docker tag para marcar sua imagem Docker com o nome do seu repositório no Artifact Registry.
  5. Envie sua imagem Docker: Use o comando docker push para enviar sua imagem Docker para o Artifact Registry. O registro do modelo é um passo fundamental.

Com sua imagem Docker armazenada no Artifact Registry, você está pronto para registrar seu modelo no Vertex AI Model Registry e realizar o deploy.

Registrando Seu Modelo No Google Vertex AI

Para disponibilizar seu modelo para uso, é necessário registrá-lo no Vertex AI Model Registry. Pense nisso como organizar seus modelos em um catálogo, facilitando o versionamento, o rastreamento de dados e o deploy em endpoints. O registro pode ser feito tanto pela interface do Google Cloud Console quanto pela linha de comando (GCloud CLI), sendo que demonstraremos o uso do GCloud CLI.

Registro Do Modelo No Vertex AI Model Registry A Partir De Imagem Docker

Antes de tudo, certifique-se de que sua imagem Docker já está armazenada no Artifact Registry, conforme demonstrado anteriormente. Este é um passo fundamental para que o Vertex AI possa acessar e registrar seu modelo.

Para registrar o modelo, execute o seguinte comando:

gcloud ai models upload \
    --container-image-uri=$IMAGE_URI \
    --display-name=$IMAGE_NAME \
    --project=$PROJECT_ID \
    --region=$REGION \
    --container-health-route=/health

Onde:

  • $IMAGE_URI é o URI da sua imagem Docker no Artifact Registry.
  • $IMAGE_NAME é o nome que você deseja dar ao seu modelo no Vertex AI Model Registry.
  • $PROJECT_ID é o ID do seu projeto no Google Cloud.
  • $REGION é a região onde você deseja registrar o modelo.

Este comando cria um novo modelo no Vertex AI Model Registry, utilizando a imagem Docker especificada. O parâmetro –container-health-route=/health define um endpoint de verificação de saúde para o contêiner, garantindo que o Vertex AI possa monitorar a disponibilidade do seu modelo.

Entendendo O Vertex AI Model Registry

O Vertex AI Model Registry é uma ferramenta poderosa para gerenciar seus modelos de machine learning. Ele oferece:

  • Versionamento: Permite manter o controle sobre diferentes versões do seu modelo, facilitando o rollback para versões anteriores, se necessário.
  • Metadados: Armazena informações importantes sobre o modelo, como os dados utilizados para treinamento, as métricas de desempenho e os parâmetros de configuração. Isso ajuda a entender e reproduzir os resultados do modelo.
  • Deploy: Facilita o deploy do modelo em endpoints do Vertex AI, permitindo que ele seja acessado por aplicações externas. Para auxiliar no deploy, você pode consultar a documentação sobre OpenAI Operator no Brasil.

Para implantar o modelo registrado em um endpoint, você precisará do ID do modelo. Exporte-o usando:

export MODEL_ID=id do modelo registrado no Vertex AI Model Registry

Realizando O Google Vertex AI Deploy

Agora que seu modelo está devidamente preparado e registrado, podemos prosseguir com o deploy no Google Vertex AI. Este processo envolve a criação de um endpoint e a implantação do modelo registrado nesse endpoint, tornando-o acessível para previsões.

Deploy Do Modelo Registrado Em Um Endpoint Do Vertex AI

O deploy do modelo é o passo final para disponibilizá-lo para uso. Este processo envolve a criação de um endpoint no Vertex AI e a associação do modelo registrado a esse endpoint.

Para realizar o deploy, siga os seguintes passos:

  1. Crie um Endpoint: Utilize o console do Google Cloud ou a Google Cloud CLI (gcloud) para criar um novo endpoint. Defina o nome, a região e outras configurações conforme necessário.
  2. Implante o Modelo: Associe o modelo registrado no Vertex AI Model Registry ao endpoint criado. Especifique a versão do modelo que deseja implantar.
  3. Configure o Tráfego: Defina a porcentagem de tráfego que será direcionada para o modelo recém-implantado. Isso permite testar o modelo em produção com um subconjunto de dados antes de liberar totalmente o tráfego.

É importante monitorar o desempenho do modelo após o deploy. Utilize as ferramentas de monitoramento do Vertex AI para acompanhar métricas como latência, taxa de erros e precisão das previsões. Ajustes podem ser necessários para otimizar o desempenho do modelo em produção.

Gerenciando Seu Endpoint No Vertex AI

Após o deploy, o gerenciamento do endpoint é crucial para garantir o desempenho e a disponibilidade do seu modelo. O Vertex AI oferece diversas ferramentas para monitorar e gerenciar seus endpoints.

  • Monitoramento: Acompanhe as métricas de desempenho do endpoint, como latência, taxa de erros e utilização de recursos.
  • Escalabilidade: Ajuste a capacidade do endpoint para lidar com variações na demanda. O Vertex AI oferece opções de escalabilidade automática para garantir que o endpoint possa lidar com picos de tráfego.
  • Atualizações: Implante novas versões do modelo no endpoint sem interromper o serviço. Utilize o Vertex AI Model Registry para gerenciar as versões do modelo e realizar rollbacks, se necessário.

Para mais informações sobre o gerenciamento de endpoints, consulte a documentação do Vertex AI.

Perguntas Frequentes

Por que preciso de uma API para meu modelo no Vertex AI?

Para que seu modelo possa ser usado no Vertex AI, é preciso criar uma “porta de entrada” para ele, que chamamos de API. Essa API permite que outros programas conversem com seu modelo, enviando dados para ele analisar e recebendo os resultados. É como um garçom que leva o pedido para a cozinha (seu modelo) e traz o prato pronto de volta.

O que é o Vertex AI Model Registry e qual sua utilidade?

O Vertex AI Model Registry é como uma biblioteca ou um catálogo para seus modelos de inteligência artificial. Lá, você guarda seus modelos já prontos, podendo organizá-los, ver suas diferentes versões e até mesmo quais dados eles usam. É um lugar central para gerenciar todos os seus modelos antes de colocá-los para funcionar de verdade.

O que significa “fazer o deploy” de um modelo no Vertex AI?

Fazer o “deploy” de um modelo significa colocá-lo para funcionar de forma que outras pessoas ou sistemas possam usá-lo. No Vertex AI, isso acontece quando você pega seu modelo registrado e o “liga” em um “Endpoint”. Esse Endpoint é como uma tomada onde seu modelo fica conectado, pronto para receber pedidos e dar respostas. Assim, ele pode ser acessado e utilizado por qualquer um que tenha permissão no seu projeto do Google Cloud.

Deixe um Comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *