Além da alucinação: usando o ChatGPT da maneira certa

A

O ChatGPT tornou-se o software adotado mais rapidamente, e há muitos outros algoritmos da família dos Grandes Modelos de Linguagem fazendo sucesso. Esses algoritmos são fascinantes, mas eles também falham de forma estridente! Alguns casos recentes foram muito notórios:

  • Advogados foram repreendidos por apresentaram à corte citações de casos judiciais inventadas.
  • A Air Canada foi obrigada pela justiça a cumprir com uma política de reembolso inexistente.
  • Cidadãos de Nova York receberam respostas erradas sobre leis e regulamentações locais no site oficial do governo.

Em todos esses casos, essa nova geração de algoritmos foi responsável pelas informações incorretas. Os Modelos de Linguagem falham e admitem isso em seus disclaimers: “O ChatGPT pode cometer erros. Considere verificar informações importantes”. Mas, então, qual é a utilidade desses algoritmos? Como confiar neles?

A velha piada em desenvolvimento de software é que “o problema sempre está entre a cadeira e o teclado”. O computador só faz o que é programado para fazer e os problemas costumam ser causados pela sua incorreta programação e uso, como nesses casos. Modelos de Linguagem são ferramentas incríveis — se entendermos seu uso adequado.

Neste artigo, vamos explorar quais são as limitações desses algoritmos e como podemos extrair o máximo deles.

Uma tecnologia em sua infância

Inteligência artificial generativa é uma tecnologia recém-nascida. O estudo científico principal por trás dos Grandes Modelos de Linguagem foi publicado em 2017, e os primeiros modelos mais competentes foram divulgados ao público só em 2022. Também é uma tecnologia que está no início da sua trajetória — é difícil dizer até onde os modelos podem chegar e se são suficientemente promissores para se aproximarem de uma Inteligência Artificial Geral, mas seus rápidos avanços em qualidade e escala deixam claro que sim, ainda há muito espaço para evolução!

Tecnologias novas trazem desafios de maturidade e de entendimento. Vamos começar, então, entendendo as principais limitações da atual geração de algoritmos.

Alucinações e vieses

Modelos de Linguagem não se restringem ao conteúdo que foi usado para seu treinamento, eles são capazes de ter ideias novas! Essa característica pode ser muito útil, e já foi usada pelo Google para resolver questões matemáticas até então sem solução, mas também pode ser um problema.

Uma alucinação de um modelo de linguagem ocorre quando a resposta inclui informações incorretas ou completamente fabricadas, normalmente apresentadas com um grande grau de confiança. As alucinações podem ser entendidas através da lente do processo de treinamento do modelo e seus mecanismos operacionais. Modelos de linguagem são treinados com grandes conjuntos de dados. Durante o treinamento, o modelo aprende padrões estatísticos na linguagem, incluindo sintaxe, semântica e algum nível de conhecimento do mundo. O objetivo do modelo é prever a próxima palavra em uma sequência, dado o contexto anterior, sendo essencialmente uma máquina estatística.

No entanto, o modelo não “entende” o conteúdo da forma como nós fazemos; ele opera com base em padrões e associações aprendidas durante o treinamento. Esta abordagem leva a vários desafios:

  • Generalização excessiva: O modelo pode aplicar padrões aprendidos de maneira inadequada a contextos onde eles não se encaixam, levando a saídas plausíveis, mas incorretas ou sem sentido.
  • Vieses no conjunto de dados: Se os dados de treinamento contêm imprecisões, vieses ou informações desatualizadas, o modelo pode replicar ou até amplificar esses problemas em suas saídas.
  • Correlações espúrias: O modelo pode gerar conteúdo baseado em correlações superficiais nos dados de treinamento sem fundamentação em fatos reais ou lógica.

Suponha que um usuário pergunte ao modelo de linguagem sobre o inventor de um dispositivo fictício chamado “Regulador de Fluxo Quântico”. O modelo, baseando-se em seus dados de treinamento, pode gerar uma história detalhada atribuindo a invenção a um cientista real, completa com datas, locais e descrições técnicas de como o dispositivo supostamente funciona. Esse texto, embora convincente em sua apresentação, seria inteiramente um produto da “imaginação” do modelo, já que o dispositivo não existe. O modelo pode confundir elementos reais (como cientistas conhecidos e conceitos de mecânica quântica) com detalhes fabricados, criando uma história crível, mas falsa.

Informações defasadas

Treinar um grande Modelo de Linguagem não é barato ou rápido. Cada versão nova custa milhões de dólares, devido à grande demanda por recursos computacionais avançados, e leva meses para ser finalizada. Isso quer dizer que todos os modelos disponíveis possuem uma defasagem significativa, a chamada “data de corte”. Logo, sua utilização tem que sempre levar em conta que as informações estão desatualizadas.

Existe uma barreira tecnológica real aqui: a capacidade de atualizar esses modelos de maneira eficiente, para que reflitam o estado atual da informação do mundo, requer inovações que ainda não temos.

Probabilidade, não precisão

Quando conversamos com um Modelo de Linguagem, ele gera palavra por palavra de sua resposta, procurando a mais provável estatisticamente, com base nas anteriores. Contudo, há formas diversas de parametrizar essa busca estatística, e esses parâmetros flutuam entre cada conversa. Em outras palavras, a resposta para a mesma pergunta em conversas diferentes do ChatGPT raramente será a mesma. Isso quer dizer que esses algoritmos não são ferramentas determinísticas, como os mecanismos de busca, que sempre retornam as mesmas respostas em cada busca, variando minimamente de acordo com a região e histórico do usuário. Essa característica dos Modelos de Linguagem é ótima para escrever uma poesia, mas não tão boa para escrever um artigo técnico.

Em suma, Modelos de Linguagem são intrinsicamente desatualizados, não determinísticos e não confiáveis! Isso quer dizer que eles são inúteis? Longe disso. Eles são excepcionalmente úteis, só precisamos usá-los adequadamente.

A ferramenta certa para cada tarefa

A primeira experiência com o ChatGPT lembra um teste de Turing. Primeiro, nós fazemos perguntas simples e nos encantamos com a competência da máquina nas respostas. Depois, entramos em questões mais difíceis de alguma área de conhecimento e rapidamente detectamos problemas nas respostas, sejam erros, generalizações, ou até diferenças de opinião. Pronto! A máquina não passou no teste, pois não é tão inteligente quanto a gente, e não é como se houvesse um ser humano do outro lado.

É um erro encarar os Modelos de Linguagem como protótipos de inteligências avançadas que vão nos substituir. Esses algoritmos são ferramentas poderosas que podem aumentar nossa produtividade, quando usadas para as tarefas corretas. Vamos entender alguns cenários para o melhor uso dos modelos.

Apoio criativo

Modelos de Linguagem oferecem excelente apoio criativo em diversas tarefas. Por exemplo, ao escrever este texto, o GPT-4 me deu ideias de estrutura e continuidade, com sugestões direcionadas ao meu estilo de escrita. Em casos como esse, não há muita preocupação com erros nas respostas do algoritmo, pois é um processo interativo. Esse apoio criativo também é muito poderoso para brainstorming. Utilizando o recurso de voz do ChatGPT, nós discutimos ideias de conteúdo antes de eu começar a escrever.

Respostas rápidas

Apesar das alucinações, os Modelos de Linguagem mais avançados têm uma taxa de acerto muito boa para a maioria das questões que pesquisamos em mecanismos de buscas. O importante é utilizá-los com cuidado, e com muito cuidado quando a resposta é sobre uma área de conhecimento que não dominamos, onde não somos capazes de reconhecer erros — ou quando a resposta será utilizada para fins importantes.

Extração, sumarização e transformação

Os Modelos de Linguagem são muito mais certeiros quando trabalham em tarefas com informações providas diretamente nas perguntas que fazemos, em vez do seu próprio conhecimento. Podemos agrupar essas tarefas em:

  • Extração de dados. Quais são as partes mencionadas na minuta de contrato? Quais são as cotações dos ativos que constam no artigo? Quais são as datas de entrega das obrigações listadas pela norma?
  • Sumarização. Do que as partes ativas acusam as outras partes no processo? Quais são os pontos principais do keynote? Qual é o nível de satisfação do cliente com base nos últimos e-mails trocados?
  • Transformação. Qual é a tradução desse texto para português do Brasil? Qual é a visão simplificada do exame médico e seus termos complexos? Como esse texto ficaria se adaptado para o padrão de comunicação da minha empresa?

Nesse tipo de atividade, o risco de alucinações é removida e a da data de corte do treinamento não importa, já que o algoritmo está trabalhando com o conteúdo fornecido.

Geração aumentada por recuperação

Uma vez que os Modelos de Linguagem são excepcionalmente competentes em extrair dados e transformar textos, há uma técnica simples para torná-los certeiros com suas respostas a perguntas abertas sobre um tema: fornecer o material que precisam para consultar as respostas.

Essa técnica é chamada de RAG (Retrieval-Augumented Generation), ou Geração Aumentada por Recuperação, e permite que o modelo fundamente suas respostas em conhecimento pré-existente, até mesmo citando suas referências. A “recuperação” é uma operação realizada antes do Modelo de Linguagem gerar sua resposta, em que os textos de referência são obtidos de algum repositório e fornecidos para o algoritmo.

Voltando ao infortúnio da Air Canada e sua política de reembolso alucinada, com RAG o bot teria consultado e extraído as políticas de reembolso de um documento detalhado, antes de responder ao usuário, transformando a tarefa principal de geração de texto em uma tarefa de transformação de texto.

Ganhando confiança

Agora que já entendemos os fortes e os fracos dos Modelos de Linguagem, sabemos que é uma má ideia pedir para um Modelo de Linguagem fazer citações para serem usadas em casos jurídicos, mas é uma ótima ideia adaptá-lo para buscar citações jurídicas em uma base de dados de casos!

Na Okai nós temos algumas soluções que utilizam Modelos de Linguagem. Por trás de todas elas, está a Aila, nossa inteligência artificial, que passamos mais de um ano treinando para garantir que ela forneça informações confiáveis. Nós combinamos bases de dados oficiais (com regulamentações do Banco Central, por exemplo) e conteúdo técnico produzido pela nossa rede de especialistas, além de realizar testes muito amplos nos parâmetros dos algoritmos, implementando redundâncias e outras técnicas para obter respostas confiáveis. Com isso, nós conseguimos produzir análises e extrair insights de normas complexas, garantindo uma alta velocidade de divulgação de informações que são fundamentadas em conteúdo de alta qualidade.

Esse é um dos principais desafios da atual geração de algoritmos: faltam aplicativos que integrem de forma eficaz a intenção e os dados necessários para otimizar o funcionamento desses modelos, restando um pequeno conjunto de casos de uso para o nosso cotidiano. Cabe aos empreendedores encontrar essas oportunidades, integrando propriedade intelectual especializada e de alta qualidade com o tunning adequado dos Modelos de Linguagem.

Sobre o Autor

Bruno Rodrigues
Por Bruno Rodrigues