7 passos para criar uma Inteligência Artificial no Google Vertex AI

Criar soluções inovadoras é essencial para manter a sua empresa ou projeto competitivos, uma das melhores formas de fazer isso é utilizando dados. Seja para criação de uma análise preditiva, Processamento de Linguagem Natural ou reconhecimento de imagem, iremos precisar de uma equipe super completa para começar a implementação, certo?!

Na verdade, não necessariamente!

Nesse artigo, iremos te guiar no desenvolvimento de uma solução simples de Análise Sentimental, utilizando a nova ferramenta da Google, a Vertex AI. Nela, é possível desenvolver soluções de Machine Learning de ponta a ponta, desde a ETL até a previsão de novos dados, utilizando o mínimo de código possível!

Mas o que é Vertex AI?

Vertex AI é uma ferramenta que unifica os serviços para criação de ML do Google Cloud em uma única UI e API. Assim, é possível criar pipelines completas e escaláveis, contemplando da ETL ao Endpoint de previsão. Isso tudo é feito de forma super flexível, permitindo o uso de dados em diversos formatos (texto, tabular, imagem, vídeo), sendo modelados utilizando AutoML ou códigos customizados de treinamento.

Ah, o projeto que faremos hoje vai utilizar o AutoML para definir o modelo de treinamento, sendo a escolha ideal para pôr um MVP (Mínimo Produto Viável) no ar e começar a avalir se o projeto funciona. Com o tempo, após validação do MVP, será necessário aprimorar a IA. O melhor de tudo é que, como o Vertex AI é super flexível, o processo de experimentação e melhoria da pipelene é bem mais simples!

Sobre os dados que utilizaremos

Suponha que você tem como objetivo ajudar pessoas que estão passando por dificuldades emocionais. Você percebeu que é possível reconhecer, por meio de suas postagens no Twitter, aqueles que precisam de ajuda. Imagine também que você é um profissional super capacitado para ajudar essas pessoas, e sua técnica funciona muito bem. Agora, “SÓ” falta encontrar elas!

Se buscar essas pessoas apenas olhando, literalmente, por tweets, o processo vai ser beeem lento e, provavelmente, inviável. Mas imagine agora que você pode passar milhões de comentários por um “filtro”, tendo que ler somente aqueles que têm grande chance de ser relacionados à uma pessoa que pode, de alguma forma, estar deprimida. Bem melhor, não?

Com o intuito de reconhecer essas pessoas de forma rápida e eficaz, iremos usar uma IA, treinada a partir de uma lista de textos já categorizados, para avaliar se os posts de um usuário podem refletir um comportamento depressivo.

Para isso, utilizaremos uma tabela disponibilizada no Kaggle neste link.

Observação: apesar de ser possível detectar padrões de comportamento utilizando Machine Learning, a identificação e diagnóstico de doenças mentais devem ser feitos por um profissional certificado da área da saúde.

De forma resumida, esses serão os passos que seguiremos:

  • Etapa 0: Configuração do projeto e ambiente

Configuração do projeto e ambiente

Para desenvolver esse projeto, você deve ter acesso à Google Cloud Platform, utilizando uma conta com créditos disponíveis. Se você estiver começando agora, pode criar uma conta na GCP de forma gratuíta, e ainda ganha $300 para testar as ferramentas.

Para configurar o seu ambiente e habilitar a API do Vertex AI, siga o tutorial do Google nesse link.

Acessando os dados

Você pode baixar os dados que utilizaremos neste exemplo por meio desse link do Kaggle.

Precisaremos fazer algumas pequenas modificações na estrutura dos dados, de forma que ele esteja adequado para ser usado no AutoML. Você pode ler mais sobre a formatação, de acordo com o tipo de projeto, nesse link.

‘Jogando’ os dados para o Cloud Storage

Para armazenar nossos dados na Cloud, e então utilizá-los no treinamento do modelo, precisamos criar um Bucket na Cloud Store. Como prometemos fazer o processo com o mínimo de código possível, utilizaremos apenas o console da GCP.

  • Preencha as informações conforme sua necessidade. Para mais informações sobre cada um dos campos, acesse esse link.

    Tendo criado o Bucket, abra-o e clique em “Fazer Upload de Arquivos“. Selecione o arquivo ‘sentiment_tweets_new.csv’, contendo os dados que iremos usar.

Criar um conjunto de dados

Agora, montaremos o nosso conjunto de dados. É aqui que definiremos o tipo de análise que será utilizada. Nesse caso, faremos uma análise de sentimento em texto.

Na hora de definir a importação dos dados, iremos selecionar o arquivo .csv presente no Bucket que criado no início do projeto.

Tendo montado o conjunto de dados, é muito importante avaliarmos a dispersão deles e como são constituídos. Na aba “Analisar”, é possível ter a visão de todas as variáveis que constituiem o seu modelo de dados, inclusive aquelas que serão preditas.

 

Treinando o modelo

Tendo o conjunto de dados criado, podemos treinar o nosso modelo. Para isso, clicamos em Criar Novo Modelo.


Como optamos por desenvolver um projeto com o mínimo de código possível, iremos utilizar o AutoML para o treinamento.

Por fim, basta definir a quantidade de dados que serão destinados para treinamento, validação e teste dos resultados. Neste projeto, usamos os valores padrões sugeridos.

Para treinar o modelo, basta clicar em Iniciar Treinamento e esperar até que o processo seja concluído!

Avaliação do modelo

Quando o treinamento estiver finalizado, podemos avaliar a performance resultante. Para isso, basta abrir a aba Modelos e clicar no que acabamos de treinar.

Na aba Avaliar, conseguimos ver de cara a Precisão:

Mas o mais importante é considerar os valores apresentados na Matriz de confusão. Nela, vemos os valores previstos corretamente e incorretamente para cada rótulo definido.

Para você entender um pouco a importância da matriz de confusão, vamos imaginar o seguinte exemplo:

Foi proposto desenvolver uma IA para avaliar se uma pessoa tem determinada doença. 1% das pessoas no grupo de estudo possuem essa doença.

Após os treinamentos, a aplicação está atingindo 99% de acerto. Isso é bom? Depende!

Se um médico, de “olhos vendados”, afirmar que todas aquelas pessoas no grupo de estudo NÃO têm a doença, qual será a precisão do médico? Também 99%.

Ou seja, o médico de “olhos vendados”, mesmo com 99% de acerto, não previu, corretamente, nenhum paciente com a doença!

Isso acontece porque estamos apenas olhando para o desempenho geral, e não para cada um dos rótulos. Nesse exemplo, “Ter a doença” e “Não ter a doença”.

Deploy

Depois de ter avaliado o seu modelo, para fazer o deploy, basta trocar de aba para “Implante e Teste”.


Para criar o Endpoint, precisamos apenas definir o nome. O tráfego fica em 100% pois temos apenas um modelo. Em casos mais avançados, podemos dividir os tráfegos entre mais de um modelo, de forma que seja possível a validação de novas soluções.

Fazer previsões

Pronto!

Temos nosso modelo treinado e preparado para receber novas previsões. Antes de sairmos para fazer a conexão de alguma aplicação ao nosso Endpoint, vamos fazer um teste.

Parece que está funcionando!!

Agora, iremos testar o nosso Endpoint com uma conexão utilizando Python. Para que essa etapa funcione, você deve ter autenticado as credenciais do seu projeto. Para saber mais sobre, leia aqui.

Utilizaremos o seguinte código exemplo, sugerido pela Google, para acessar nossa API:

Atenção!

Nesse projeto, utilizamos um banco de dados público, tendo em vista que é somente um exemplo. Deixa eu te mostrar o que pode acontecer quando sua base não é bem preparada:

Nesse caso, o termo depressão foi usado em um contexto de geologia, todavia, foi categorizado como o estado emocional!

Este projeto foi desenvolvido com o objetivo de demonstrar o desenvolvimento de uma solução no Vertex AI. Em um projeto real, deve-se atentar para qualidade dos dados. O seu conjunto de dados deve abranger todos os casos que seu negócio atinge, e deve ter uma quantidade razoável de linhas para cada um deles.

Resumindo

Utilizar inteligência de dados em um projeto é o “sonho de consumo” de todo empreendedor. Todavia, implantar tecnologias nessa área pode parecer difícil e custoso. Mas depois desse tutorial, você já percebeu que não é bem assim, né?!

Como vimos nesse artigo, criar um modelo de predição utilizando Vertex AI pode ser extremamente simples e eficaz. E a partir de hoje, você já pode colocar em prática as ideias que ficam “pipocando” em sua mente!

Ah, quando seu projeto começar a crescer e você sentir que é necessário aprimorar seu modelo preditivo, pode ser interessante utilizar a ajuda de uma consultoria com conhecimento na área. Quer saber como colocar esses projetos em prática?  Entre em contato com o nosso time, ficaremos muito felizes em ajudar com projetos na área de Data Science, Data Engineering e Business Intelligence!

Escrito por Vittorio Giardi