A essa altura é muito provável que você já tenha se deparado com alguma aplicação que lhe pareceu quase que miraculosa com o uso de alguma inteligência artificial (IA), seja a geração de uma lista de compras de supermercado de maneira automatizada, ou imagens ultra complexas e detalhistas a partir de frases simples ditadas num prompt.
Seja qual for a aplicação, o aperfeiçoamento do processamento de linguagem natural (PLN) por softwares cada vez mais sofisticados, ou seja, aqueles ‘códigos’ que usamos no dia a dia, como “Bom dia!”, “Você está bem?” ou ainda “Consegue me enviar aquele arquivo?”, com certeza desempenhou um grande papel nisso.
Dos assistentes pessoais à escrita de código
Em anos recentes, vimos assistentes pessoais como a Alexa desempenharem um papel já quase rotineiro nas tarefas do dia a dia. Aplicativos como o “Google Tradutor” passaram a não mais fazer traduções literais e sem sentido, mas sim entregar contexto e até mesmo sugestões precisas quanto ao significado de frases e por vezes parágrafos inteiros.
Porém, acredito que grande parte do público que não acompanha os desenvolvimentos recentes em IA foi tomada de surpresa quando, de repente, IAs começaram a não só ler e interpretar significados de textos complexos, como também responder em forma textual (e com imagens) à solicitações das mais diversas, reproduzir padrões de escrita e até mesmo escreverem blocos inteiros de código funcionais em múltiplas linguagens de programação.
A evolução dos modelos de Processamento de Linguagem Natural
Talvez você já tenha lido inúmeros textos tratando do mesmo assunto, e previsões (por vezes catastróficas) do impacto que essas mudanças terão na nossa sociedade. Mas a pergunta que fica é: Como chegamos até aqui? Ninguém estava esperando por isso mesmo? A resposta dessas perguntas tem várias nuances e, para respondê-las, precisamos voltar alguns anos atrás e entender como estava a pesquisa em IA nessa última década.
Em quase todo modelo de processamento de linguagem natural, uma característica importante é o parâmetro que atribui qual é o peso ou probabilidade da próxima palavra com relação à anterior. Um dos primeiros modelos de aprendizagem de máquina e processamento de linguagem natural é creditado à Frank Rosenblatt em 1957, que propôs o Perceptron e foi um dos primeiros modelos amplamente conhecidos para processamento de texto.
O Perceptron foi um algoritmo de aprendizado supervisionado que podia ser usado para classificar objetos em categorias binárias. Embora inicialmente tenha sido aplicado principalmente em tarefas de visão computacional, também foi usado para PLN. O Perceptron tratava cada palavra em um texto como uma característica e aprendia pesos associados a essas características para fazer a classificação.
Outros modelos com abordagens diferentes também surgiram, mas sempre com a premissa de desenvolver uma “matriz de probabilidades” para cada elemento do texto a ser processado. Algoritmos como o Naive Bayes, por exemplo, que utilizavam o teorema de Bayes para calcular a chances de uma palavra aparecer numa passagem, foram aplicados com sucesso em tarefas como classificação de texto e filtragem de spam.
Entretanto, nas últimas décadas o desenvolvimento de modelos de PLN evoluiu significativamente, especialmente com o advento das redes neurais e dos modelos baseados em deep learning. Modelos de Redes Neurais Recorrentes (Recurrent Neural Networks – RNN), por exemplo, são excepcionalmente bons em prever a ocorrência de palavras, frases e até parágrafos inteiros dentro de um contexto e, com isso, conseguem ‘aprender’, de acordo com a base em que são treinados, como gerar textos completos, traduzir sentenças e até mesmo copiar estilos literários.
Dos modelos de aprendizagem de máquina ao desenvolvimento de Redes Neurais Recorrentes
As RNNs são projetadas para processar dados em sequência, onde cada elemento é processado um de cada vez, e a saída é alimentada de volta para a rede como entrada para o próximo elemento. Ou seja, como num ciclo, onde cada saída é utilizada como entrada, até que seja obtido o nível de refinamento desejado. Essa característica de feedback permite que as RNNs capturem informações contextuais e sejam aplicadas em diversas tarefas de geração textual.
Porém, em 2017 ocorreu uma enorme quebra de paradigma e um salto importante no estudo de modelos de PLN. Num artigo intitulado “Attention is All You Need“, publicado em 2017, Vaswani et al. introduziram os modelos Transformers. O trabalho descreveu esta arquitetura como um novo paradigma para o processamento de sequências, com aplicação inicialmente focada na tradução automática. Este modelo foi apresentado como uma alternativa inovadora às abordagens de modelos de linguagem existentes baseadas em Redes Neurais Recorrentes (RNNs) para capturar relacionamentos em sequências.
O surgimento dos modelos Transformers e a quebra de paradigma
A arquitetura Transformer se destaca por sua capacidade de capturar relações de dependência em sequências de maneira eficiente. Usando camadas de codificadores e decodificadores que funcionam em paralelo, esta arquitetura permite que o modelo processe informações de contexto em diferentes níveis de profundidade, baseando-se em mecanismos de autoatenção (self-attention) para capturar as relações entre as palavras em uma sequência.
Uma característica importante da arquitetura Transformer é a codificação de posição, que fornece informações sobre a posição relativa das palavras em uma sequência. Isso ajuda o modelo a entender a estrutura e a ordem das palavras no texto, fornecendo um entendimento mais amplo do contexto geral de um trecho.
Outro mecanismo muito importante da arquitetura Transformer é a auto-atenção. Ela permite a captura de relações de dependência entre as palavras, permitindo assim que o modelo atribua pesos diferentes às palavras em uma sequência, com base em sua relevância para a previsão da próxima palavra. Dessa forma, o modelo pode levar em consideração o contexto global e local ao gerar o texto.
Aplicações atuais e desafios futuros
Pouco tempo depois da introdução da arquitetura Transformer, ainda em 2018, a empresa OpenAI começou a trabalhar numa aplicação desta arquitetura e assim surgiram os primeiros modelos GPT (Generative Pré-trained Transformers). A principal diferença é que pré-treinamento e ajuste fino específicos para tarefas específicas permitiram que os GPTs tivessem uma compreensão mais aprofundada da linguagem e fossem mais adaptados para tarefas específicas de geração e compreensão de texto.
Desde seu lançamento em 2018, os modelos GPT já passaram por alguns versionamentos que alteraram drasticamente tanto seu desempenho quanto suas funcionalidades. Desde o GPT-1 até o GPT-4, ainda não disponível gratuitamente pela empresa, os modelos GPT já alcançaram uma enorme popularidade e, em seu estado atual, já fornecem resultados indistinguíveis de um humano para certos assuntos.
Conclusão – Evolução dos modelos de linguagem natural
A segunda década do século XXI talvez seja lembrada no futuro não somente pela pandemia de um vírus que afetou todo o planeta, mas também pelo início da massificação do uso de IA para as mais diversas tarefas do cotidiano. É inegável o impacto que a IA já possui em diversas tarefas corporativas ,acadêmicas e até mesmo do dia-a-dia, e a maior parte dos especialistas concordam que esta influência só irá aumentar daqui pra frente.
Por fim, uma curiosidade que talvez ainda demore um tempo para nos acostumar, mas quase todo o conteúdo desse texto foi pesquisado pelo autor num prompt de IA. Ou seja, dessa vez foi uma IA que ensinou um ser humano a falar sobre Ias, e se só de pensar nisso já deixa a gente apreensivo, faça um exercício de tentar imaginar o que ainda está por vir.
Quem é a Aquarela Analytics?
A Aquarela Analytics é vencedora do Prêmio CNI de Inovação e referência nacional na aplicação de Inteligência Artificial Corporativa na indústria e em grandes empresas. Por meio da plataforma Vorteris, da metodologia DCM e o Canvas Analítico (Download e-book gratuito), atende clientes importantes, como: Embraer (aeroespacial), Scania, Mercedes-Benz, Grupo Randon (automotivo), SolarBR Coca-Cola (varejo alimentício), Hospital das Clínicas (saúde), NTS-Brasil (óleo e gás), Auren, SPIC Brasil (energia), Telefônica Vivo (telecomunicações), dentre outros.
Acompanhe os novos conteúdos da Aquarela Analytics no Linkedin e assinando a nossa Newsletter mensal!
Autor
Cientista de Dados na Aquarela. Graduado em Física Licenciatura pela Universidade Federal de Uberlândia (2017). Atuou como professor de Matemática e Física na rede pública de educação básica. Possui Mestrado em Física Teórica pela Universidade Federal do Rio Grande do Sul (2020) e é Doutorando pela mesma instituição. Tem experiência na área de Física de Partículas e Cosmologia com interesse na modelagem teórica e busca experimental da matéria escura.