Como o ChatGPT funciona e o que a Neoway tem a ver com isso

Vitor Hugo Medeiros De Luca
Neoway Labs | Tech
10 min readFeb 3, 2023

--

Imagem criada a partir do aplicativo MindJourney

Não é novidade que a inteligência artificial (IA) tem evoluído exponencialmente nos últimos anos. Nesse período, os modelos de IA direcionados à interpretação de linguagem, como é o caso do ChatGPT, cresceram em tamanho e complexidade a uma taxa anual de 10 vezes em média, conforme apurado pela Nvidia.

Em um artigo publicado na prestigiada revista Science, Tom M. Mitchell e Michael I. Jordan citam que este desenvolvimento se deve a três principais fatores: primeiro, pelo desenvolvimento de novos algoritmos de aprendizagem, segundo, pela explosão de dados disponíveis e, terceiro, pela computação de baixo custo. Cada fator citado daria um texto à parte, mas, neste artigo, vamos nos ater ao primeiro.

Dentre as várias áreas da IA, a tarefa de aprender é aquela que mais tem encontrado aplicações e a que mais fascina o ser humano.

Pense: calcular um determinante de ordem 10 rapidamente pode parecer interessante (uma tarefa que não envolve aprendizado), mas falar com a Alexa e pedir um som do Dazaranha chama muito mais atenção do público geral. Além de mimetizar o comportamento humano, na era do Big Data o aprendizado de máquina pode encontrar padrões que um ser humano não enxergaria. O Score de Compliance oferecido pela Neoway é uma prova disso.

Um mergulho no aprendizado profundo

O aprendizado profundo ou deep learning é uma das áreas do aprendizado de máquina bastante conhecida porque gera resultados cada vez melhores para dados não estruturados como imagens, sons, vídeos, textos ou a transcrição entre estes “mundos”. E isso tudo se torna mais interessante porque, segundo a Gartner, estes tipos de dados representam aproximadamente 80% dos dados de hoje.

No início, o aprendizado profundo — que é uma rede neural com várias camadas — se mostrou muito popular por reconhecer objetos em imagens. Um tipo de algoritmo chamado de CNN (Convolutional Neural Network) tem se mostrado muito eficiente para este tipo de tarefa. No entanto, para o caso de tarefas relacionadas a textos (tradução, classificação, etc), os algoritmos disponíveis se mostravam bastante limitados e restritos a tarefas muito específicas.

Images criadas a partir do prompt ‘deep learning computer creating’ no aplicativo MindJourney

O processamento de linguagem natural ou NLP (Natural Language Processing) começou a se desenvolver de forma mais robusta a partir de um algoritmo chamado de RNN (Recurrent Neural Network) e suas demais arquiteturas. Várias tarefas se tornaram mais eficientes, inclusive tarefas não associadas ao NLP, como predição de séries temporais, por exemplo.

Para quem já é familiarizado com o assunto, a arquitetura LSTM (Long Short-Term Memory), bastante conhecida nesta área, é um tipo de RNN. No entanto, segundo este artigo (e várias outras referências na web), as RNN possuem ao menos dois problemas principais.

  • Primeiro: não são boas para textos longos, sendo comum se “esquecerem” do início de um parágrafo ao chegar no final do mesmo.
  • Segundo: é difícil paralelizar o seu treinamento, exigindo uma grande capacidade computacional para tal tarefa.

A virada de jogo para o NLP começa com uma palavrinha mágica para quem é da área: Transformers! Não por acaso, a letra “T” termina o nome das principais tecnologias que iremos apresentar. Criado por pesquisadores do Google e pela Universidade de Toronto em 2017, os Transformers surgiram inicialmente para a tradução de textos.

Enquanto as RNNs processam os dados de maneira sequencial, os Transformers são capazes de extrair informações de uma sequência de palavras de forma paralela através do mecanismo de attention e self-attention. Tais mecanismos analisam uma palavra em relação a todas as outras presentes na sentença.

Dessa forma, o modelo adquire o conhecimento da relação entre as palavras gerando um mapa de importância entre elas. Esse aparato é um dos principais responsáveis por solucionar em grande parte o problema do esquecimento em longas sentenças.

Outro benefício é a possibilidade de treiná-los em enormes quantidade de texto independente da tarefa final.

Em suma, é possível treinar os Transformers para gerar conhecimento sobre as relações das palavras de uma língua, assim o conhecimento adquirido não se limita a uma tarefa específica e sim a todas as possibilidades de aplicação daquela língua.

Foto: Pexels

De forma prática, isso se dá pelo uso dos Transformers como um codificador onde qualquer modelo de aprendizagem de máquina é capaz de ler essa codificação e aprender de maneira menos complexa uma certa tarefa.

Esta capacidade de paralelização citada faz com que modelos realmente grandes sejam treinados em quantidades massivas de texto. A seguir, dois LLMs (Large Language Models) baseados em Transformers serão apresentados: BERT e ChatGPT.

BERT

Talvez um dos trabalhos mais citados sobre arquitetura Transformers se deve ao modelo BERT (Bidirectional Encoder Representations from Transformers) desenvolvido e publicado pela Google em 2018. O modelo foi treinado em um corpo de 3,3 bilhões de palavras, gerando um dos principais modelos pré-treinados para uso público.

De maneira mais esclarecedora, o BERT é capaz de transformar a frase em uma forma mais “aprendível” por um modelo de aprendizado de máquina. Observe a figura a seguir:

Porém, as milhões de frases apresentadas para o BERT em sua grande maioria foram da língua inglesa, devido a isso frases na língua portuguesa podem gerar codificações confusas que não representem bem o contexto de cada palavra. Com o intuito de contornar esse problema, a Universidade Estadual de Campinas treinou sua própria versão do BERT, o BERTimbau, em uma base com 2,68 bilhões de palavras de textos em português coletadas da internet.

O BERTimbau abre portas para várias soluções de problemas em NLP na língua portuguesa trazendo um modelo rico e poderoso capaz de extrair contextos precisos.

Tendo isso em vista, a Neoway identificou uma potencial aplicação de tal modelo no problema de pesquisa midiática. Para muitos gestores é importante obter conhecimento da reputação de uma pessoa ou empresa específica. Como por exemplo, gostaríamos de saber se a empresa A possui algum problema com difamação. Uma rápida pesquisa numa plataforma de busca retornaria milhares de resultados com a palavra “difamação” e “empresa A”, porém é extremamente trabalhoso ler cada notícia e chegar a uma conclusão. Um exemplo clássico de um caso seria:

“Empresa A processa Empresa B por difamação”

É visível que a palavra difamação está presente na frase, contudo a responsável pela difamação é a empresa “B”. Logo, a notícia seria uma mídia adversa para a empresa B onde a empresa A não cometeu o ato de difamação.

Como solução, a Neoway oferece o Mídias Adversas, um modelo que se utiliza do BERTimbau, juntamente com algoritmos de classificação, para reconhecer quando uma mídia realmente se direciona a uma pessoa ou empresa pesquisada. Apresentando novamente um exemplo:

“Pessoa A” condenou “Pessoa B” à prisão por fraude.

Se estivéssemos buscando por fraude, o Mídias Adversas retornaria a pesquisa para a “B” afirmando que a fraude realmente foi efetuada pela pessoa B e para o caso da pessoa A não teria tal notícia como resultado.

A ferramenta Mídias Adversas se apresenta como um filtro poderoso utilizando uma das tecnologias de ponta do NLP para entregar resultados mais precisos numa busca reputacional em mídias da internet.

ChatGPT

ChatGPT é provavelmente o LLM ou chatbot mais falado do momento. Lançado pela OpenAI em novembro de 2022, ele atingiu 1 milhão de usuários em apenas 5 dias. Baseado na família GPT-3 (Generative Pre-trained Transformer 3), ele é refinado usando técnicas de aprendizado supervisionado e aprendizado por reforço.

Segundo este artigo, o aprendizado por reforço, mais especificamente o Reinforcement Learning from Human Feedback (RLHF) é o que faz o ChatGPT único. Mas antes de explicar como o RLHF funciona, vamos tentar entender o problema que o GPT-3 vinha enfrentando.

Isso é uma rede neural em estilo “cartoon”, segundo o MindJourney

Segundo o próprio artigo, modelos como o GPT-3 são treinados usando duas técnicas principais: predição da próxima palavra e predição da palavra mascarada (em tradução livre). No primeiro caso, a tarefa consiste em predizer quais palavras têm mais probabilidade de formarem corretamente uma frase. Por exemplo:

“O gato está sentado na X”

Neste caso, palavras como “sala”, “rua”, “calçada”, etc, têm alta probabilidade de serem posicionadas no lugar de “X”. No segundo caso, a tarefa consiste em predizer quais palavras têm mais probabilidade de preencherem corretamente uma frase. Por exemplo:

“O X está sentado no tapete.”

Neste caso, “X” poderia ser “gato”, “cachorro”, “homem”, etc.

Uma dúvida que surge neste momento é a seguinte: como tarefas tão fáceis de serem propostas (mas nem tão fáceis de serem resolvidas) podem fazer com que um modelo saiba conversar com um ser humano?

É claro que estamos simplificando bastante as técnicas utilizadas na prática, mas isto serve para ilustrar a dificuldade principal: como entender todas as camadas de conhecimento que um ser humano tem e como treinar um modelo de diferentes formas para isso? Este problema é chamado de “desalinhamento” por vários artigos da área. O modelo é treinado para uma tarefa X e testado em uma tarefa Y.

Obviamente, este problema é conhecido pelos pesquisadores. E isto passa por aumentar a capacidade de generalização destes modelos. Tanto é que a quantidade de tarefas diferentes que o ChatGPT pode fazer é bastante ampla: tradutor, sumarizador, analisador de sentimentos, programador, entre outras.

Uma das formas de treinamento utilizadas no ChatGPT para aumentar esta capacidade de generalização é o RLHF. Diga-se de passagem, não é somente a OpenAI que está pesquisando esta tecnologia, empresas como DeepMind e Anthropic também estão. A seguir, uma breve explicação do RLHF será feita tomando como base a técnica utilizada no ChatGPT.

O primeiro passo é pegar um modelo pré-treinado (no caso do ChatGPT, o GPT-3.5) e treiná-lo de forma supervisionada. Este trabalho precisa de bastante interação humana.

Para cada pergunta ou tarefa, uma pessoa produz a resposta esperada.

Um exemplo de pergunta é ilustrado pelo próprio blog do ChatGPT: “Explique Aprendizado por Reforço para uma pessoa de 6 anos de idade”. E então uma pessoa produz uma resposta para esta tarefa. É óbvio que não é possível treinar todas as perguntas possíveis, mas este refinamento gera um conjunto de respostas de alta confiança. Este modelo refinado inicial é chamado de SFT (Supervised Fine-Tuning).

O segundo passo também precisa de bastante interação humana, mas, desta vez, para classificar diferentes saídas do modelo treinado anteriormente. Dada uma tarefa, o modelo poderia responder com, por exemplo, quatro respostas. A pessoa teria o papel de dizer qual a melhor resposta, depois a segunda e assim por diante até a última.

Estas classificações são utilizadas para treinar o modelo de recompensa ou RM (Reward Model).

O terceiro e último passo é provavelmente o mais complexo porque não envolve interação humana direta, mas sim bastante cálculo, estatística e otimização.

Mais especificamente, um algoritmo chamado PPO (Proximal Policy Optimization). Juntamente com o modelo de recompensa RM citado anteriormente, o PPO age para refinar ainda mais o modelo SFT treinado inicialmente por seres humanos em um processo interativo de vários passos. E é justamente este processo interativo que faz com que o modelo como um todo tenha a capacidade de generalização suficiente para realizar todas as tarefas que conhecemos.

É evidente que o ChatGPT possui limitações, erra e não pode ser utilizado como fonte única das informações providas, o que se acredita ser normal e esperado. Difícil seria vir aqui e escrever que ele nunca erra!

Neste sentido, é plausível citar que ele pode ser utilizado como auxiliar em várias tarefas no qual ele se propõe a fazer. Um comparativo poderia ser feito com um tradutor de texto, por exemplo. Todos os tradutores de texto erram e não é prudente traduzir um texto tendo como base somente o tradutor. No entanto, o tradutor ajuda e muito no processo de tradução de textos dando ideias e oferecendo possibilidades.

Conclusões

Este artigo inicia falando de uma abordagem mais geral para a IA, entrando rapidamente no aprendizado de máquina e, posteriormente, no aprendizado profundo ou deep learning.

Dentre as várias evoluções desta área, os Transformers se destacam por sua capacidade de paralelização e por mecanismos como attention e self-attention, entre outros. E é justamente esta tecnologia que está por trás dos dois principais LLMs aqui apresentados: BERT e ChatGPT.

O BERT e a sua variação em português, o BERTimbau, é responsável pelo desenvolvimento do produto Mídias Adversas pela Neoway. O ChatGPT é um produto desenvolvido pela OpenAI.

É importante salientar que tanto o Mídias Adversas quanto o ChatGPT são produtos que visam auxiliar o usuário na tomada de decisões e não podem ou deveriam ser utilizados como fonte única das informações fornecidas.

Por fim, e como brincadeira, os autores garantem que este texto não foi escrito com ajuda do ChatGPT.

Autores: Vitor Hugo, Khalil Nascimento e Eduardo Morais

🚨URGENTE🚨Estamos contratando! Saiba mais sobre as vagas disponíveis no nosso perfil oficial na Gupy.

--

--