Raciocínio em Modelos de Linguagem Pré-treinados (PLMs)

Alysson Guimarães
Data Hackers
Published in
11 min readJan 19, 2024

--

Generated with AI ∙ January 15, 2024 at 12:16 PM

Introdução

O advento de aplicações baseadas em modelos de linguagem pré-treinados a partir do lançamento do chatgpt em novembro de 2022, tem atraído um interesse de uma grande parte da população, desde curiosos early adopters de novas tecnologias, grandes empresas e também novos pesquisadores e novas áreas de pesquisa. Quase que diariamente novos modelos com diferente número de parâmetros, e uma infinidade de variações e evoluções de modelos e formas de treinamento são lançados quase que diariamente desde então. Com o crescimento e evolução dos modelos, novos focos de pesquisa foram surgindo, como os evidenciados na detecção das chamadas “habilidades emergentes” de large language models (LLM), como compreensão de linguagem (natural language understanding), codificação de conhecimentos implícitos nos parâmetros, aprendizado contextual (in-context learning), resolução de tarefas mais complexas e também, a habilidade de raciocinar, que será o foco deste post. Natural Language Reasoning (NLR) é o campo de Natural Language Process (NLP) em que se estuda e utiliza o raciocínio em linguagem natural para resolução de tarefas, em que a conclusão é um conhecimento novo. Este post abordará os estudos sobre NLR, as abordagens existentes, técnicas utilizadas para potencializar essa habilidade de raciocinar e como essa habilidade é avaliada.

Modelos de Linguagem Pré-treinados

Modelos de linguagem pre-treinados (PLMs) são baseados na arquitetura transformers e treinados com uma quantidade massiva de textos via aprendizado não supervisionado. Eles podem ser divididos em encoder-only, decoder-only e encoder-decoder, como o BERT, GPT e o T5 respectivamente. Além disso, também são bidirecionais (encoder-only) ou causais (decoder-only e encoder-decoder). Os modelos bidirecionais são utilizados para tasks discriminativas, ou seja, classificação entre diferentes categorias ou classes (ex. classificação de frases ou NER). Enquanto que os modelos causais são geralmente usados em tarefas generativas.

Devido à sua forma de treinamento, que resulta na criação de representações numéricas contextuais (pragmáticas) de palavras e frases, e à tendência recente de aumentar consideravelmente o número de parâmetros, alguns estudos revelaram que PLMs suficientemente grandes, como aqueles com mais de 100 bilhões de parâmetros, exibem habilidades emergentes. Estas incluem a capacidade de compreender linguagem (natural langauge understanding), assimilar conhecimentos implícitos em seus parâmetros, in-context learning e habilidades para resolver tarefas mais complexas. Outra habilidade emergente observada foi a capacidade de “raciocinar”, demonstrando padrões de raciocínio semelhantes aos descritos na literatura cognitiva humana. No entanto, a razão por trás dessa habilidade emergente ainda não é completamente compreendida.

Além disso, esses modelos demonstraram a capacidade de aprender por meio de poucas demonstrações (few-shot learning). Isso resultou na popularização do in-context learning como um paradigma, no qual previsões podem ser feitas com apenas algumas demonstrações, sem a necessidade de ajuste fino de hiperparâmetros. Diante desse grande potencial, esses modelos têm sido amplamente aplicados em tarefas de raciocínio.

Natural Language Reasoning

Raciocinar é o processo de pensar sobre algo de maneira lógica e sistemática, utilizando evidências e experiências passadas para chegar a conclusões ou tomar decisões. Esse processo engloba a realização de inferências, a avaliação de argumentos e a formulação de conclusões lógicas com base nas informações disponíveis. Essa atividade desempenha um papel crucial em diversas atividades intelectuais, incluindo a resolução de problemas, a tomada de decisões e o pensamento crítico.

O estudo do raciocínio é fundamental em diferentes campos, tais como psicologia, filosofia, ciência da computação, ciência cognitiva, entre outros. Ele fornece insights valiosos sobre como os seres humanos processam informações, tomam decisões e enfrentam desafios intelectuais. Compreender o raciocínio é essencial não apenas para o avanço dessas disciplinas acadêmicas, mas também para aplicação prática em diversas áreas da vida.

O Natural Language Reasoning (NLR) ou raciocínio em linguagem natural é um processo que integra diversos conhecimentos para derivar novas conclusões sobre o mundo, seja ele realista ou hipotético, utilizando modelos de linguagem pré-treinados (PLMs). Esse processo envolve inferir conclusões a partir de um conjunto de premissas, que consistem em uma ou mais etapas (inference steps), onde as premissas afirmam a veracidade ou falsidade de algo. O conhecimento utilizado nesse processo pode ser proveniente de fontes explícitas e implícitas.

Ao contrário de outras tarefas, como Question-Answer ou Information Retrieval, em que a resposta está contida nas informações existentes, no raciocínio, a conclusão representa uma nova informação. Esse aspecto destaca a capacidade dos modelos de linguagem pré-treinados em realizar inferências mais complexas e gerar insights que não estão diretamente expressos nas premissas. O Natural Language Reasoning desempenha um papel crucial em diversas aplicações, contribuindo para uma compreensão mais profunda e abrangente das relações e implicações presentes nos dados linguísticos, além de trazer explicabilidade para os outputs e potencializar a interação homem-maquina já que está sendo utilizado linguagem natural, coisa que era difícil ao utilizar linguagem formal ou simbólica.

(Yu, et al. 2023)

O processo de inferência pode ser dividido em (pelo menos) três: Dedução, indução e abdução.

(Yu, et al. 2023)
  • Uma inferência dedutiva é inferir conhecimentos válidos (conclusão) do conhecimento dado (premissas). Ou seja, a conclusão é desenhada baseado na validade das premissas. Se as premissas são verdadeiras, obrigatoriamente a conclusão também o será.
  • Inferência indutiva é inferir um conhecimento provável, que descreve uma regra geral, extrapolada do conhecimento dado. É o tipo de raciocínio em que a conclusão é baeado nas observações ou evidencias. A conclusão é provavelmente verdadeira baseado nas evidências disponíveis.
  • Inferência abdutiva é inferir um conhecimento plausível, como a melhor explicação (causa), para dado conhecimento (fenômeno). É o tipo de raciocínio em que a conclusão é baseada na melhor explicação para um conjunto de observações, é baseado na plausabilidade.

Além disso, as inferências podem ser monotônicas (dedução) e defeasible (indução e abdução) ou revogável. A primeira busca derivar conclusões válidas, ou seja, suportado pelas premissas, e a segunda busca produzir conclusões plausíveis. Essa diferença entre esses dois tipos acarreta diferentes características, como as relações de inferência entre premissas e conclusões, qualidade da inferência, e o conhecimento requerido, e o reasoning path para chegar na conclusão.

É importante frisar que quando falamos de raciocínio em PLMs, não é exatamente o mesmo raciocíonio performado por humanos, e sim uma capacidade de mimetização dele, mas o funcionamento em si não tem nada em comum com o raciocínio humano, assim como uma rede neural é simplesmente uma representação simplificada e bioinspirada, e não é igual e não funciona igual aos neuronios humanos.

Abordagens de NLR

Existem três abordagens de NLR, o end-to-end reasoning, forward reasoning e backward reasoning. A principal diferença entre cada método está na etapa de raciocínio que é criado.

(Yu, et al. 2023)
  • End-to-end reasoning somente gera o output, sem nenhuma explicação ou conclusão intermediária, reasoning path, ou se foi necessário um ou vários passos para gerar o output. É uma abordagem black box, já que não temos acesso a forma em que o output foi gerado. Para um modelo executar essa abordagem, é preciso agregar multiplos conhecimentos e raciocinar sobre eles.
  • Forward reasoning compõem o conhecimento existente (codificado no modelo) repetidamente para derivar novos conhecimentos até alcançar as respostas. Esse processo gera as etapas de raciocínio, criando confiabilidade e interpretabilidade dos outputs
  • Backward reasoning quebra o problema em vários subproblemas, e os resolve até encontrar a resposta. Assim como o forward reasoning, pode ser usado para criar confiabilidade com as etapas de raciocínio, além de aumentar a performace do output.
(Yu, et al. 2023)

Técnicas para impulsionar o raciocínio em PLMs

Com base em pesquisas que identificaram e demonstraram as capacidades de aprendizado contextual e raciocínio, foram elaboradas técnicas visando expandir o aproveitamento dessas habilidades.

Diversas estratégias são empregadas para aprimorar e potencializar os resultados do modelo, estimulando as capacidades de raciocínio dos Modelos de Linguagem Pré-treinados (PLMs). Isso inclui o ajuste fino supervisionado completo (Fully Supervised Finetuning), técnicas de engenharia de prompts direcionadas às habilidades de aprendizado contextual, como o chain-of-thought e suas variantes, engenharia de justificativas (rationale engineering) e decomposição de problemas (problem decomposition).

Fully Supervised Finetuning

Os modelos podem ser ajustados pare gerarem justificativas, etapas de raciocínio, que levam as respostas certas, levando a aumentar a capacidade de raciocínio dos modelos. Além disso, existem pesquisas focadas em melhorar a capacidade de raciocínio de modelos de linguagem menores através de fully supervised finetuning em datasets. Essa abordagem varia muito foca em modelos menores, treinados em datasets específicos.

Chain-of-thougt (CoT)

Modelos suficientemente grandes como o GPT-3 demonstraram desempenhos superiores em diversas tasks ao utilizar in-context learning. Para encorajar os modelos a raciocinar em vez de simplesmente responder diretamente (end-to-end reasoning), podemos guiar o modelo para gerar “raciocínio” explícitamente. A abordagem de chain of thougt (CoT) faz exatamente isso.

(Wei, et al. 2022)

Essa abordagem envolve dar alguns exemplos de “chain of thought”, com passos intermediários de raciocínio em linguagem natural (NLR) para o modelo. Desse modo, dado uma pergunta, o modelo aprende a gerar justificativas antes da resposta final.

Rationale Engineering

Rationale Engineering é criar exemplos manualmente de etapas intermediárias de raciocínio e aplicar um greedy decoding em sua geração. O objetivo é aumentar efetivamente ou utilizar o raciocínio dos LLMs. Isso pode ser alcançado através de rationale refinement, que é a criação de exemplos mais efetivos ou rationale exploration e rationale verification, que é a exploração e verificação das justificativas criadas pelos modelos de linguagem

Problem Decomposition

Problem decomposition busca resolver o problema de tarefas complexas, em que os modelos tem problemas com abordagens de in-context learning. Consiste em quebrar o problema em problema menores, e ao resolver cada subproblema, podemos efetivamente resolver um problema complexo.

Métodos Híbridos

Os métodos híbridos (propmpt + problem decomposition) foram desenvolvidos para melhorar a performace das capacidades de raciocínio (não somente utilizá-las através de prompts) e fazer um moelhor uso desses modelos para resolução de tarefas complexas. Ou seja, são feitas modificações nos parâmetros dos modelos, para ajustálos de forma a melhorar a capacidade de raciocínio. Essa abordagem envolve tanto a melhoria das capacidades de raciocínio e o uso de técnicas de prompt para efetivamente utilizar essas capacidades.

Uma abordagem é o reasoning-enhanced training, que consiste no pre treino ou finetune do modelo em datasets que incluem “raciocínio”.

Outra abordagem híbrida é o Bootstrapping & Self-improving, que é o auto-aperfeiçoamento das habilidades de raciocínio através de bootstrapping. Nessa abordagem, um LLM é treinado e refinado iterativamente com seu próprio output, como o Self-Taught Reasoner (STaR). O modelo gera as primeiras justificativas com CoT, e depois ele é ajustado nas justificativas que levam a respostas corretas, esse processo pode ser repetido, em que cada iteração resulta numa melhoria do modelo que pode gerar melhores dados de treinamento.

Avaliação e Análises do Raciocínio

As principais formas de mensurar o raciocínio dos modelos são através da performace nas tasks e da análise do raciocínio.

End Task Performace

A análise da performace em tarefas envolve a avaliação de métricas como acurácia em benchmarks comuns, como raciocínio aritmético, commonsense reasoning, racionínio simbólico, entre outros.

Raciocínio Aritmético é a habilidade de entender e aplicar conceitos e princípios matemáticos para resolver problemas que envolvem operações aritméticas. Existem diversos datasets com o objetivo de mensurar essa habilidade como GSM8K, MathQA, SVAMP, ASDIV e AQuA.

Pergunta traduzida e adaptada do Winegrad Challeng Schema (WCS) testada no ChatGPT da task de Commonsense Reasoning

Commonsense reasoning é o uso de conhecimento diário, conhecimento comum, e entender e fazer julgamentos e predições sobre novas situações. Esse conhecimento é geralmente entendido como um conhecimento externo sobre o mundo que é presumido que todos os humanos possuem; Por definição, commonsense reasoning requere conhecimento externo, que pode surgir de várias fontes. Algum conhecimento externo é capturado durante o treinamento de forma implícita nos dados utilizados.

Raciocínio simbólico é envolve a manipulação de sombolos de acordo com regras formais. É o uso de simbolos abstratos que representam conceitos e relacionamentos, e a manipulação deles de acordo com regras precisas para gerar conclusões e resolver problemas

Análise do Raciocínio

Apesar do alto desempenho em várias tasks e benchmarks de raciocínio, não fica claro se ele é resultado de um raciocínio real do modelo ou se simplesmente segue heurísticas simples para solucionar as tarefas.

Em estudos, foi verificado que LLMs podem produzir justificativas inválidas mesmo performando reasoning nas tasks. Isso porquê a maioria das avaliações existentes foca na acurácia das tasks, em vez de avaliar diretamente as etapas de raciocínio. Mas já existem pesquisas e desenvolvimentos para suprir esse gap, como o ROSCOE e o dataset PrOntoQA.

Esse gap de avaliação de etapas de raciocínio deixa em aberto se os modelos realmente são capazes de raciocinar de forma similar a humanos, ou se são simplesmente capazes de alcançar um bom desempenho nas tarefas através de outros meios. Por isso, mais pesquisas são necessárias para analisar mais formalmente as habilidades de raciocínio dos LLMs.

Para aprofundar cada task citada e outras, datasets e estudos feitos, recomendo a leitura das referências citadas.

Afinal, os modelos raciocinam ou não ?

Apesar das semelhanças, ainda que mínimas, e de algumas evidências, estas não são suficientes para concluir que os Modelos de Linguagem Pré-treinados (LLMs) são capazes de realizar um verdadeiro raciocínio. Não está claro se esses modelos fazem previsões com base no raciocínio ou em heurísticas. Para a maioria dos benchmarks de raciocínio, é possível resolvê-los por meio de programas com heurísticas, alcançando alta performance, sem que consideremos que o programa está efetivamente “raciocinando”.

Embora os LLMs demonstrem padrões de raciocínio semelhantes aos humanos, isso não implica necessariamente que eles estejam se comportando como humanos; muitas vezes, estão simplesmente imitando a estrutura linguística-lógica-racional. Além disso, os LLMs enfrentam desafios em tarefas que demandam um raciocínio mais complexo. Contudo, mesmo diante dessas limitações, ainda não está claro se os modelos atuais são incapazes de raciocinar de maneira robusta.

Apesar dos progressos significativos, a capacidade real de raciocínio desses modelos não está clara, sendo uma incógnita se eles a possuem verdadeiramente ou se estão apenas utilizando informações memorizadas por meio de heurísticas. É evidente que são necessárias mais pesquisas para uma compreensão completa das habilidades de raciocínio, aprimorar suas capacidades e determinar o potencial de seu uso em diversas aplicações.

Conclusão

Neste artigo foi abordado de forma introdutória o Natural Language Reasoning (NLR), assim como os conceitos relacionados a ele, como as abordagens existentes, técnicas utilizadas para potencializar essa habilidade de raciocinar e como essa habilidade é avaliada. Também, falamos brevemente sobre a real ou aparente capacidade de raciocinar, mas é evidente que mais estudos precisam ser feitos, principalmente a criação de novas formas de avaliação de raciocínio, como avaliação dos reasoning paths para compreensão da capacidade de raciocinar.

Me siga clicando aqui para acompanhar mais blog posts aprofundando sobre o tema.

Referências

Yu, F., Zhang, H., Tiwari, P., & Wang, B. Natural Language Reasoning, A Survey. DOI: https://doi.org/10.48550/arXiv.2303.14725

HUANG, Jie; CHANG, Kevin Chen-Chuan. Towards Reasoning in Large Language Models: A Survey. Findings of the Association for Computational Linguistics: ACL 2023, pages 1049–1065, Toronto, Canada. Association for Computational Linguistics. DOI: 10.18653/v1/2023.findings-acl.67

--

--

Alysson Guimarães
Data Hackers

Data Scientist. MBA Competitive Intelligence, Bachelor of Business Administration.